Skip to content

Commit

Permalink
Now have @minOccurs and @maxOccurs working on <sequence> (and thus <i…
Browse files Browse the repository at this point in the history
…nterleave>), too. Passes tests, so *may* be eligible to merge into dev, but not really ready, yet, as need to work on repeatability of <alternate>.
  • Loading branch information
sydb committed Oct 8, 2023
1 parent f280564 commit 7ef0c0e
Show file tree
Hide file tree
Showing 4 changed files with 363 additions and 82 deletions.
10 changes: 10 additions & 0 deletions Test2/expected-results/testAttValQuant.rng
Original file line number Diff line number Diff line change
Expand Up @@ -3921,6 +3921,16 @@ Suggested values include: 1] deprecationInfo (deprecation information)</a:docume
<ref name="model.choicePart"/>
<ref name="choice"/>
</choice>
<choice>
<ref name="model.choicePart"/>
<ref name="choice"/>
</choice>
<zeroOrMore>
<choice>
<ref name="model.choicePart"/>
<ref name="choice"/>
</choice>
</zeroOrMore>
<ref name="att.global.attributes"/>
<empty/>
</element>
Expand Down
254 changes: 240 additions & 14 deletions Test2/expected-results/testPure1.rng
Original file line number Diff line number Diff line change
Expand Up @@ -3577,6 +3577,9 @@ Suggested values include: 1] volume (volume); 2] issue; 3] page (page); 4] line;
<define name="t_model.entryPart">
<notAllowed/>
</define>
<define name="t_model.eventLike">
<notAllowed/>
</define>
<define name="t_model.global.edit">
<choice>
<ref name="t_gap"/>
Expand Down Expand Up @@ -3681,6 +3684,11 @@ Suggested values include: 1] volume (volume); 2] issue; 3] page (page); 4] line;
<ref name="t_model.placeNamePart_sequenceRepeatable"/>
</oneOrMore>
</define>
<define name="t_model.orgPart">
<choice>
<ref name="t_model.eventLike"/>
</choice>
</define>
<define name="t_model.publicationStmtPart.agency">
<choice>
<ref name="t_publisher"/>
Expand Down Expand Up @@ -3898,6 +3906,9 @@ Suggested values include: 1] volume (volume); 2] issue; 3] page (page); 4] line;
<define name="t_model.catDescPart">
<notAllowed/>
</define>
<define name="t_model.textDescPart">
<notAllowed/>
</define>
<define name="t_model.addressLike">
<choice>
<ref name="t_email"/>
Expand Down Expand Up @@ -4034,6 +4045,20 @@ Suggested values include: 1] volume (volume); 2] issue; 3] page (page); 4] line;
<ref name="t_model.global.edit"/>
</choice>
</define>
<define name="t_model.biblPart">
<choice>
<ref name="t_model.respLike"/>
<ref name="t_model.imprintPart"/>
<ref name="t_series"/>
<ref name="t_citedRange"/>
<ref name="t_bibl"/>
<ref name="t_relatedItem"/>
<ref name="t_textLang"/>
<ref name="t_edition"/>
<ref name="t_extent"/>
<ref name="t_availability"/>
</choice>
</define>
<define name="t_model.frontPart">
<choice>
<ref name="t_model.frontPart.drama"/>
Expand Down Expand Up @@ -4326,6 +4351,9 @@ Suggested values include: 1] volume (volume); 2] issue; 3] page (page); 4] line;
<ref name="t_TEI"/>
</choice>
</define>
<define name="t_model.objectLike">
<notAllowed/>
</define>
<define name="t_att.personal.attributes">
<ref name="t_att.naming.attributes"/>
<ref name="t_att.personal.attribute.full"/>
Expand Down Expand Up @@ -5588,6 +5616,28 @@ Elements]</a:documentation>
<empty/>
</element>
</define>
<define name="t_series">
<element name="series">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series information) contains information about the series in which a book or other bibliographic item has appeared. [3.12.2.1. Analytic, Monographic, and Series Levels]</a:documentation>
<zeroOrMore>
<choice>
<text/>
<ref name="t_model.gLike"/>
<ref name="t_title"/>
<ref name="t_model.ptrLike"/>
<ref name="t_editor"/>
<ref name="t_respStmt"/>
<ref name="t_biblScope"/>
<ref name="t_idno"/>
<ref name="t_textLang"/>
<ref name="t_model.global"/>
<ref name="t_availability"/>
</choice>
</zeroOrMore>
<ref name="t_att.global.attributes"/>
<empty/>
</element>
</define>
<define name="t_author">
<element name="author">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(author) in a bibliographic reference, contains the name(s) of an author, personal or corporate, of a work; for example in the same form as that provided by a recognized bibliographic name authority. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement]</a:documentation>
Expand Down Expand Up @@ -5756,6 +5806,16 @@ Elements]</a:documentation>
<empty/>
</element>
</define>
<define name="t_citedRange">
<element name="citedRange">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(cited range) defines the range of cited content, often represented by pages or other units [3.12.2.5. Scopes and Ranges in Bibliographic Citations]</a:documentation>
<ref name="t_macro.phraseSeq"/>
<ref name="t_att.global.attributes"/>
<ref name="t_att.pointing.attributes"/>
<ref name="t_att.citing.attributes"/>
<empty/>
</element>
</define>
<define name="t_pubPlace">
<element name="pubPlace">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(publication place) contains the name of the place where a bibliographic item was published. [3.12.2.4. Imprint, Size of a Document, and Reprint Information]</a:documentation>
Expand Down Expand Up @@ -6435,28 +6495,194 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7]
</define>
<define name="t_seriesStmt">
<element name="seriesStmt">
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series statement) groups information about the series, if any, to which a publication belongs. [2.2.5. The Series Statement 2.2. The File Description]</a:documentation>
<a:documentation xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">(series statement) [2.2.5. The Series Statement 2.2. The File Description]</a:documentation>
<choice>
<optional>
<group>
<ref name="t_label"/>
<ref name="t_said"/>
<ref name="t_pc"/>
</group>
</optional>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.biblPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.biblPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.biblPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.biblPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<zeroOrMore>
<group>
<ref name="t_label"/>
<ref name="t_pc"/>
</group>
</zeroOrMore>
<group>
<ref name="t_label"/>
<ref name="t_orgName"/>
<ref name="t_pc"/>
</group>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.orgPart"/>
</optional>
<ref name="t_pc"/>
</group>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.orgPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.orgPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.orgPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<oneOrMore>
<ref name="t_model.pLike"/>
<group>
<ref name="t_label"/>
<ref name="t_model.objectLike"/>
<ref name="t_pc"/>
</group>
</oneOrMore>
<group>
<oneOrMore>
<ref name="t_title"/>
</oneOrMore>
<ref name="t_label"/>
<ref name="t_term"/>
<ref name="t_pc"/>
</group>
<group>
<ref name="t_label"/>
<ref name="t_term"/>
<ref name="t_pc"/>
</group>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.textDescPart"/>
</optional>
<ref name="t_pc"/>
</group>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.textDescPart"/>
</optional>
<ref name="t_pc"/>
</group>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.textDescPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<optional>
<group>
<ref name="t_label"/>
<optional>
<ref name="t_model.textDescPart"/>
</optional>
<ref name="t_pc"/>
</group>
</optional>
<group>
<ref name="t_label"/>
<ref name="t_model.teiHeaderPart"/>
<ref name="t_pc"/>
</group>
<group>
<ref name="t_label"/>
<ref name="t_model.teiHeaderPart"/>
<ref name="t_pc"/>
</group>
<zeroOrMore>
<group>
<ref name="t_label"/>
<ref name="t_model.teiHeaderPart"/>
<ref name="t_pc"/>
</group>
</zeroOrMore>
<interleave>
<ref name="t_label"/>
<zeroOrMore>
<choice>
<ref name="t_editor"/>
<ref name="t_respStmt"/>
</choice>
<ref name="t_idno"/>
</zeroOrMore>
<ref name="t_pc"/>
</interleave>
<interleave>
<ref name="t_label"/>
<zeroOrMore>
<choice>
<ref name="t_idno"/>
<ref name="t_biblScope"/>
</choice>
<ref name="t_idno"/>
</zeroOrMore>
</group>
<ref name="t_pc"/>
</interleave>
<optional>
<interleave>
<ref name="t_label"/>
<zeroOrMore>
<ref name="t_idno"/>
</zeroOrMore>
<ref name="t_pc"/>
</interleave>
</optional>
<optional>
<interleave>
<ref name="t_label"/>
<zeroOrMore>
<ref name="t_idno"/>
</zeroOrMore>
<ref name="t_pc"/>
</interleave>
</optional>
</choice>
<ref name="t_att.global.attributes"/>
<ref name="t_att.declarable.attributes"/>
Expand Down
Loading

0 comments on commit 7ef0c0e

Please sign in to comment.