diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng')
105 files changed, 29916 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-bib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-bib.rng new file mode 100644 index 00000000000..b44216f22d0 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-bib.rng @@ -0,0 +1,900 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-bib.rnc | + | RelaxNG model for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Would be nice to use somebody elses already-developed DTD... --> + <!-- + Some notes: + There're two classes of things here: + bibentry : which would be the translation of a .bib file + bibitem : which would be the formatted items in a latex bibliography environment. + This latter has typically lost much information during formatting. + --> + <define name="biblist"> + <element name="biblist"> + <a:documentation>A list of bibliographic \elementref{bibentry} or \elementref{bibitem}.</a:documentation> + <interleave> + <ref name="biblist_attributes"/> + <ref name="biblist_model"/> + </interleave> + </element> + </define> + <define name="biblist_attributes"> + <a:documentation>Attributes for \elementref{biblist}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="biblist_model"> + <a:documentation>Content model for \elementref{biblist}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="bibentry"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bibitem"/> + </zeroOrMore> + </interleave> + </define> + <!-- + ====================================================================== + bibitem is the formatted, presentation, form, typically information has been lost; + it basically contains a biblabel and several bibblock's + ====================================================================== + --> + <define name="bibitem"> + <element name="bibitem"> + <a:documentation>A formatted bibliographic item, typically as written explicit +in a LaTeX article. This has generally lost most of the semantics +present in the BibTeX data.</a:documentation> + <interleave> + <ref name="bibitem_attributes"/> + <ref name="bibitem_model"/> + </interleave> + </element> + </define> + <define name="bibitem_attributes"> + <a:documentation>Attributes for \elementref{bibitem}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="key"> + <a:documentation>The unique key for this object; this key is referenced by the +\attr{bibrefs} attribute of \elementref{bibref}.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="bibitem_model"> + <a:documentation>Content model for \elementref{bibitem}.</a:documentation> + <zeroOrMore> + <ref name="bibtag"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bibblock"/> + </zeroOrMore> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bibtag"> + <element name="bibtag"> + <a:documentation>Various formatted tags for bibliographic items. +Typically @role refnum is shown in the displayed bibliography, +as the beginning of the item. Other roles +(eg. number, authors, fullauthors, year, title) record formatted +info to be used for filling in citations (\elementref{bibref}).</a:documentation> + <interleave> + <ref name="bibtag_attributes"/> + <ref name="bibtag_model"/> + </interleave> + </element> + </define> + <define name="bibtag_attributes"> + <a:documentation>Attributes for \elementref{bibtag}.</a:documentation> + <interleave> + <optional> + <attribute name="role"> + <choice> + <value>number</value> + <value>authors</value> + <value>fullauthors</value> + <value>key</value> + <value>year</value> + <value>bibtype</value> + <value>title</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="open"> + <a:documentation>A delimiter for formatting the refnum in the bibliography</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="close"> + <a:documentation>A delimiter for formatting the refnum in the bibliography</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="bibtag_model"> + <a:documentation>Content model for \elementref{bibtag}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bibblock"> + <element name="bibblock"> + <a:documentation>A block of data appearing within a \elementref{bibitem}.</a:documentation> + <interleave> + <ref name="bibblock_attributes"/> + <ref name="bibblock_model"/> + </interleave> + </element> + </define> + <define name="bibblock_attributes"> + <a:documentation>Attributes for \elementref{bibblock}.</a:documentation> + <empty/> + </define> + <define name="bibblock_model"> + <a:documentation>Content model for \elementref{bibblock}.</a:documentation> + <ref name="Flow.model"/> + </define> + <!-- + bibblock's model was this: + Inline.model } + --> + <!-- + ====================================================================== + bibentry is the (more) semantic form, typically extracted from bibtex. + ====================================================================== + --> + <define name="bibentry"> + <element name="bibentry"> + <a:documentation>Semantic representation of a bibliography entry, +typically resulting from parsing BibTeX</a:documentation> + <interleave> + <ref name="bibentry_attributes"/> + <ref name="bibentry_model"/> + </interleave> + </element> + </define> + <define name="bibentry.type"> + <choice> + <value>article</value> + <value>book</value> + <value>booklet</value> + <value>conference</value> + <value>inbook</value> + <value>incollection</value> + <value>inproceedings</value> + <value>manual</value> + <value>mastersthesis</value> + <value>misc</value> + <value>phdthesis</value> + <value>proceedings</value> + <value>techreport</value> + <value>unpublished</value> + <value>report</value> + <value>thesis</value> + <value>website</value> + <value>software</value> + <value>periodical</value> + <value>collection</value> + <value>collection.article</value> + <value>proceedings.article</value> + <text/> + </choice> + </define> + <define name="bibentry_attributes"> + <a:documentation>Attributes for \elementref{bibentry}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <attribute name="key"> + <a:documentation>The unique key for this object; this key is referenced by the +\attr{bibrefs} attribute of \elementref{bibref}.</a:documentation> + </attribute> + <attribute name="type"> + <a:documentation>The type of the referenced object. The values are a superset of +those types recognized by BibTeX, but is also open-ended for extensibility.</a:documentation> + <ref name="bibentry.type"/> + </attribute> + </interleave> + </define> + <define name="bibentry_model"> + <a:documentation>Content model for \elementref{bibentry}.</a:documentation> + <ref name="Bibentry.class"/> + </define> + <!-- ====================================================================== --> + <!-- Name related information --> + <define name="bib-name"> + <element name="bib-name"> + <a:documentation>Name of some participant in creating a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-name_attributes"/> + <ref name="bib-name_model"/> + </interleave> + </element> + </define> + <define name="bib-name_attributes"> + <a:documentation>Attributes for \elementref{bib-name}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>The role that this participant played in creating the entry.</a:documentation> + <choice> + <value>author</value> + <value>editor</value> + <value>translator</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-name_model"> + <a:documentation>Content model for \elementref{bib-name}.</a:documentation> + <ref name="Bibname.model"/> + </define> + <define name="Bibname.model"> + <a:documentation>The content model of the bibliographic name fields (\elementref{bib-name})</a:documentation> + <interleave> + <ref name="surname"/> + <optional> + <ref name="givenname"/> + </optional> + <optional> + <ref name="lineage"/> + </optional> + </interleave> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="surname"> + <element name="surname"> + <a:documentation>Surname of a participant (\elementref{bib-name}).</a:documentation> + <interleave> + <ref name="surname_attributes"/> + <ref name="surname_model"/> + </interleave> + </element> + </define> + <define name="surname_attributes"> + <a:documentation>Attributes for \elementref{surname}.</a:documentation> + <empty/> + </define> + <define name="surname_model"> + <a:documentation>Content model for \elementref{surname}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="givenname"> + <element name="givenname"> + <a:documentation>Given name of a participant (\elementref{bib-name}).</a:documentation> + <interleave> + <ref name="givenname_attributes"/> + <ref name="givenname_model"/> + </interleave> + </element> + </define> + <define name="givenname_attributes"> + <a:documentation>Attributes for \elementref{givenname}.</a:documentation> + <empty/> + </define> + <define name="givenname_model"> + <a:documentation>Content model for \elementref{givenname}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="lineage"> + <element name="lineage"> + <a:documentation>Lineage of a participant (\elementref{bib-name}), eg. Jr. or similar.</a:documentation> + <interleave> + <ref name="lineage_attributes"/> + <ref name="lineage_model"/> + </interleave> + </element> + </define> + <define name="lineage_attributes"> + <a:documentation>Attributes for \elementref{lineage}.</a:documentation> + <empty/> + </define> + <define name="lineage_model"> + <a:documentation>Content model for \elementref{lineage}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <!-- Title related information --> + <define name="bib-title"> + <element name="bib-title"> + <a:documentation>Title of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-title_attributes"/> + <ref name="bib-title_model"/> + </interleave> + </element> + </define> + <define name="bib-title_attributes"> + <a:documentation>Attributes for \elementref{bib-title}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-title_model"> + <a:documentation>Content model for \elementref{bib-title}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-subtitle"> + <element name="bib-subtitle"> + <a:documentation>Subtitle of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-subtitle_attributes"/> + <ref name="bib-subtitle_model"/> + </interleave> + </element> + </define> + <define name="bib-subtitle_attributes"> + <a:documentation>Attributes for \elementref{bib-subtitle}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-subtitle_model"> + <a:documentation>Content model for \elementref{bib-subtitle}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-key"> + <element name="bib-key"> + <a:documentation>Unique key of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-key_attributes"/> + <ref name="bib-key_model"/> + </interleave> + </element> + </define> + <define name="bib-key_attributes"> + <a:documentation>Attributes for \elementref{bib-key}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-key_model"> + <a:documentation>Content model for \elementref{bib-key}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-type"> + <element name="bib-type"> + <a:documentation>Type of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-type_attributes"/> + <ref name="bib-type_model"/> + </interleave> + </element> + </define> + <define name="bib-type_attributes"> + <a:documentation>Attributes for \elementref{bib-type}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-type_model"> + <a:documentation>Content model for \elementref{bib-type}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-date"> + <element name="bib-date"> + <a:documentation>Date of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-date_attributes"/> + <ref name="bib-date_model"/> + </interleave> + </element> + </define> + <define name="bib-date_attributes"> + <a:documentation>Attributes for \elementref{bib-date}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>characterizes what happened on the given date</a:documentation> + <choice> + <value>publication</value> + <value>copyright</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-date_model"> + <a:documentation>Content model for \elementref{bib-date}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-publisher"> + <element name="bib-publisher"> + <a:documentation>Publisher of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-publisher_attributes"/> + <ref name="bib-publisher_model"/> + </interleave> + </element> + </define> + <define name="bib-publisher_attributes"> + <a:documentation>Attributes for \elementref{bib-publisher}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-publisher_model"> + <a:documentation>Content model for \elementref{bib-publisher}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-organization"> + <element name="bib-organization"> + <a:documentation>Organization responsible for a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-organization_attributes"/> + <ref name="bib-organization_model"/> + </interleave> + </element> + </define> + <define name="bib-organization_attributes"> + <a:documentation>Attributes for \elementref{bib-organization}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-organization_model"> + <a:documentation>Content model for \elementref{bib-organization}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-place"> + <element name="bib-place"> + <a:documentation>Location of publisher or event</a:documentation> + <interleave> + <ref name="bib-place_attributes"/> + <ref name="bib-place_model"/> + </interleave> + </element> + </define> + <define name="bib-place_attributes"> + <a:documentation>Attributes for \elementref{bib-place}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-place_model"> + <a:documentation>Content model for \elementref{bib-place}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-related"> + <element name="bib-related"> + <a:documentation>A Related bibliographic object, such as the book or journal +that the current item is related to.</a:documentation> + <interleave> + <ref name="bib-related_attributes"/> + <ref name="bib-related_model"/> + </interleave> + </element> + </define> + <define name="bib-related_attributes"> + <a:documentation>Attributes for \elementref{bib-related}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="type"> + <a:documentation>The type of this related entry.</a:documentation> + <ref name="bibentry.type"/> + </attribute> + </optional> + <optional> + <attribute name="role"> + <a:documentation>How this object relates to the containing object. +Particularly important is \attrval{host} which indicates that +the outer object is a part of this object.</a:documentation> + <choice> + <value>host</value> + <value>event</value> + <value>original</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="bibrefs"> + <a:documentation>If the bibrefs attribute is given, it is the key of another object in the bibliography, +and this element should be empty; otherwise the object should be described by +the content of the element.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-related_model"> + <a:documentation>Content model for \elementref{bib-related}.</a:documentation> + <ref name="Bibentry.class"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-part"> + <element name="bib-part"> + <a:documentation>Describes how the current object is related to a related (\elementref{bib-related}) +object, in particular page, part, volume numbers and similar.</a:documentation> + <interleave> + <ref name="bib-part_attributes"/> + <ref name="bib-part_model"/> + </interleave> + </element> + </define> + <define name="bib-part_attributes"> + <a:documentation>Attributes for \elementref{bib-part}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>indicates how the value partitions the containing object.</a:documentation> + <choice> + <value>pages</value> + <value>part</value> + <value>volume</value> + <value>issue</value> + <value>number</value> + <value>chapter</value> + <value>section</value> + <value>paragraph</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-part_model"> + <a:documentation>Content model for \elementref{bib-part}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + --> + <define name="bib-edition"> + <element name="bib-edition"> + <a:documentation>Edition of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-edition_attributes"/> + <ref name="bib-edition_model"/> + </interleave> + </element> + </define> + <define name="bib-edition_attributes"> + <a:documentation>Attributes for \elementref{bib-edition}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-edition_model"> + <a:documentation>Content model for \elementref{bib-edition}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-status"> + <element name="bib-status"> + <a:documentation>Status of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-status_attributes"/> + <ref name="bib-status_model"/> + </interleave> + </element> + </define> + <define name="bib-status_attributes"> + <a:documentation>Attributes for \elementref{bib-status}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-status_model"> + <a:documentation>Content model for \elementref{bib-status}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-identifier"> + <element name="bib-identifier"> + <a:documentation>Some form of document identfier. The content is descriptive.</a:documentation> + <interleave> + <ref name="bib-identifier_attributes"/> + <ref name="bib-identifier_model"/> + </interleave> + </element> + </define> + <define name="bib-identifier_attributes"> + <a:documentation>Attributes for \elementref{bib-identifier}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="scheme"> + <a:documentation>indicates what sort of identifier it is; it is open-ended for extensibility.</a:documentation> + <choice> + <value>doi</value> + <value>issn</value> + <value>isbn</value> + <value>mr</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="id"> + <a:documentation>the identifier.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="href"> + <a:documentation>a url to the document, if available</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-identifier_model"> + <a:documentation>Content model for \elementref{bib-identifier}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-review"> + <element name="bib-review"> + <a:documentation>Review of a bibliographic entry. The content is descriptive.</a:documentation> + <interleave> + <ref name="bib-review_attributes"/> + <ref name="bib-review_model"/> + </interleave> + </element> + </define> + <define name="bib-review_attributes"> + <a:documentation>Attributes for \elementref{bib-review}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="scheme"> + <a:documentation>indicates what sort of identifier it is; it is open-ended for extensibility.</a:documentation> + <choice> + <value>doi</value> + <value>issn</value> + <value>isbn</value> + <value>mr</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="id"> + <a:documentation>the identifier.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="href"> + <a:documentation>a url to the review, if available</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-review_model"> + <a:documentation>Content model for \elementref{bib-review}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-links"> + <element name="bib-links"> + <a:documentation>Links to other things like preprints, source code, etc.</a:documentation> + <interleave> + <ref name="bib-links_attributes"/> + <ref name="bib-links_model"/> + </interleave> + </element> + </define> + <define name="bib-links_attributes"> + <a:documentation>Attributes for \elementref{bib-links}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-links_model"> + <a:documentation>Content model for \elementref{bib-links}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-language"> + <element name="bib-language"> + <a:documentation>Language of a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-language_attributes"/> + <ref name="bib-language_model"/> + </interleave> + </element> + </define> + <define name="bib-language_attributes"> + <a:documentation>Attributes for \elementref{bib-language}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bib-language_model"> + <a:documentation>Content model for \elementref{bib-language}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-url"> + <element name="bib-url"> + <a:documentation>A URL for a bibliographic entry. The content is descriptive</a:documentation> + <interleave> + <ref name="bib-url_attributes"/> + <ref name="bib-url_model"/> + </interleave> + </element> + </define> + <define name="bib-url_attributes"> + <a:documentation>Attributes for \elementref{bib-url}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="href"/> + </optional> + </interleave> + </define> + <define name="bib-url_model"> + <a:documentation>Content model for \elementref{bib-url}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-extract"> + <element name="bib-extract"> + <a:documentation>An extract from the referenced object.</a:documentation> + <interleave> + <ref name="bib-extract_attributes"/> + <ref name="bib-extract_model"/> + </interleave> + </element> + </define> + <define name="bib-extract_attributes"> + <a:documentation>Attributes for \elementref{bib-extract}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>Classify what kind of extract</a:documentation> + <choice> + <value>keywords</value> + <value>abstract</value> + <value>contents</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-extract_model"> + <a:documentation>Content model for \elementref{bib-extract}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-note"> + <element name="bib-note"> + <a:documentation>Notes about a bibliographic entry.</a:documentation> + <interleave> + <ref name="bib-note_attributes"/> + <ref name="bib-note_model"/> + </interleave> + </element> + </define> + <define name="bib-note_attributes"> + <a:documentation>Attributes for \elementref{bib-note}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>Classify the kind of note</a:documentation> + <choice> + <value>annotation</value> + <value>publication</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-note_model"> + <a:documentation>Content model for \elementref{bib-note}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="bib-data"> + <element name="bib-data"> + <a:documentation>Random data, not necessarily even text. +(future questions: should model be text or ANY? maybe should have encoding attribute?).</a:documentation> + <interleave> + <ref name="bib-data_attributes"/> + <ref name="bib-data_model"/> + </interleave> + </element> + </define> + <define name="bib-data_attributes"> + <a:documentation>Attributes for \elementref{bib-data}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>Classify the relationship of the data to the entry.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="type"> + <a:documentation>Classify the type of the data.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="bib-data_model"> + <a:documentation>Content model for \elementref{bib-data}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="Bibentry.class"> + <interleave> + <zeroOrMore> + <ref name="bib-name"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-title"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-subtitle"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-key"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-type"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-date"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-publisher"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-organization"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-place"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-part"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-related"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-edition"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-status"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-language"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-url"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-note"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-extract"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-identifier"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-review"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-links"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bib-data"/> + </zeroOrMore> + </interleave> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-block.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-block.rng new file mode 100644 index 00000000000..bb3b97ed755 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-block.rng @@ -0,0 +1,589 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-block.rnc | + | RelaxNG model for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="Block.class" combine="interleave"> + <a:documentation>The block module defines the following `physical' block elements.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="p"/> + </zeroOrMore> + <zeroOrMore> + <ref name="equation"/> + </zeroOrMore> + <zeroOrMore> + <ref name="equationgroup"/> + </zeroOrMore> + <zeroOrMore> + <ref name="quote"/> + </zeroOrMore> + <zeroOrMore> + <ref name="block"/> + </zeroOrMore> + <zeroOrMore> + <ref name="listingblock"/> + </zeroOrMore> + <zeroOrMore> + <ref name="itemize"/> + </zeroOrMore> + <zeroOrMore> + <ref name="enumerate"/> + </zeroOrMore> + <zeroOrMore> + <ref name="description"/> + </zeroOrMore> + </interleave> + </define> + <define name="Misc.class" combine="interleave"> + <a:documentation>Additionally, it defines these miscellaneous elements that can appear +in both inline and block contexts.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="inline-block"/> + </zeroOrMore> + <zeroOrMore> + <ref name="verbatim"/> + </zeroOrMore> + <zeroOrMore> + <ref name="break"/> + </zeroOrMore> + <zeroOrMore> + <ref name="graphics"/> + </zeroOrMore> + <zeroOrMore> + <ref name="svg"/> + </zeroOrMore> + </interleave> + </define> + <define name="EquationMeta.class"> + <a:documentation>Additional Metadata that can be present in equations.</a:documentation> + <ref name="constraint"/> + </define> + <!-- ====================================================================== --> + <define name="p"> + <element name="p"> + <a:documentation>A physical paragraph.</a:documentation> + <interleave> + <ref name="p_attributes"/> + <ref name="p_model"/> + </interleave> + </element> + </define> + <define name="p_attributes"> + <a:documentation>Attributes for \elementref{p}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </interleave> + </define> + <define name="p_model"> + <a:documentation>Content model for \elementref{p}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="constraint"> + <element name="constraint"> + <a:documentation>A constraint upon an equation.</a:documentation> + <interleave> + <ref name="constraint_attributes"/> + <ref name="constraint_model"/> + </interleave> + </element> + </define> + <define name="constraint_attributes"> + <a:documentation>Attributes for \elementref{constraint}.</a:documentation> + <optional> + <attribute name="hidden"> + <data type="boolean"/> + </attribute> + </optional> + </define> + <define name="constraint_model"> + <a:documentation>Content model for \elementref{constraint}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="equation"> + <element name="equation"> + <a:documentation>An Equation. The model is just Inline which includes \elementref{Math}, +the main expected ingredient. +However, other things can end up in display math, too, so we use Inline. +Note that tabular is here only because it's a common, if misguided, idiom; +the processor will lift such elements out of math, when possible</a:documentation> + <interleave> + <ref name="equation_attributes"/> + <ref name="equation_model"/> + </interleave> + </element> + </define> + <define name="equation_attributes"> + <a:documentation>Attributes for \elementref{equation}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </interleave> + </define> + <define name="equation_model"> + <a:documentation>Content model for \elementref{equation}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="Math"/> + </zeroOrMore> + <zeroOrMore> + <ref name="MathFork"/> + </zeroOrMore> + <zeroOrMore> + <ref name="text"/> + </zeroOrMore> + <zeroOrMore> + <ref name="tabular"/> + </zeroOrMore> + <ref name="Meta.class"/> + <ref name="EquationMeta.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="equationgroup"> + <element name="equationgroup"> + <a:documentation>A group of equations, perhaps aligned (Though this is nowhere recorded).</a:documentation> + <interleave> + <ref name="equationgroup_attributes"/> + <ref name="equationgroup_model"/> + </interleave> + </element> + </define> + <define name="equationgroup_attributes"> + <a:documentation>Attributes for \elementref{equationgroup}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </interleave> + </define> + <define name="equationgroup_model"> + <a:documentation>Content model for \elementref{equationgroup}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="equationgroup"/> + </zeroOrMore> + <zeroOrMore> + <ref name="equation"/> + </zeroOrMore> + <zeroOrMore> + <ref name="p"/> + </zeroOrMore> + <ref name="Meta.class"/> + <ref name="EquationMeta.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="MathFork"> + <element name="MathFork"> + <a:documentation>A wrapper for Math that provides alternative, +but typically less semantically meaningful, +formatted representations. +The first child is the meaningful form, +the extra children provide formatted forms, +for example being table rows or cells arising from an eqnarray.</a:documentation> + <interleave> + <ref name="MathFork_attributes"/> + <ref name="MathFork_model"/> + </interleave> + </element> + </define> + <define name="MathFork_attributes"> + <a:documentation>Attributes for \elementref{MathFork}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="MathFork_model"> + <a:documentation>Content model for \elementref{MathFork}.</a:documentation> + <ref name="Math"/> + <zeroOrMore> + <ref name="MathBranch"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="MathBranch"> + <element name="MathBranch"> + <a:documentation>A container for an alternatively formatted math representation.</a:documentation> + <interleave> + <ref name="MathBranch_attributes"/> + <ref name="MathBranch_model"/> + </interleave> + </element> + </define> + <define name="MathBranch_attributes"> + <a:documentation>Attributes for \elementref{MathBranch}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="format"/> + </optional> + </interleave> + </define> + <define name="MathBranch_model"> + <a:documentation>Content model for \elementref{MathBranch}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="Math"/> + </zeroOrMore> + <zeroOrMore> + <ref name="tr"/> + </zeroOrMore> + <zeroOrMore> + <ref name="td"/> + </zeroOrMore> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="quote"> + <element name="quote"> + <a:documentation>A quotation.</a:documentation> + <interleave> + <ref name="quote_attributes"/> + <ref name="quote_model"/> + </interleave> + </element> + </define> + <define name="quote_attributes"> + <a:documentation>Attributes for \elementref{quote}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="quote_model"> + <a:documentation>Content model for \elementref{quote}.</a:documentation> + <ref name="Block.model"/> + </define> + <!-- + This was Inline.model, but since quotes can be arbitrarily complex + including equations, etc, not just verse, should be Block.model, perhaps even Para.model? + --> + <!-- ====================================================================== --> + <define name="block"> + <element name="block"> + <a:documentation>A generic block (fallback).</a:documentation> + <interleave> + <ref name="block_attributes"/> + <ref name="block_model"/> + </interleave> + </element> + </define> + <define name="block_attributes"> + <a:documentation>Attributes for \elementref{block}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </interleave> + </define> + <define name="block_model"> + <a:documentation>Content model for \elementref{block}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="listingblock"> + <element name="listingblock"> + <a:documentation>An in-block Listing, without caption</a:documentation> + <interleave> + <ref name="listingblock_attributes"/> + <ref name="listingblock_model"/> + </interleave> + </element> + </define> + <define name="listingblock_attributes"> + <a:documentation>Attributes for \elementref{listingblock}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </interleave> + </define> + <define name="listingblock_model"> + <a:documentation>Content model for \elementref{listingblock}.</a:documentation> + <zeroOrMore> + <ref name="Block.model"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="break"> + <element name="break"> + <a:documentation>A forced line break.</a:documentation> + <interleave> + <ref name="break_attributes"/> + <ref name="break_model"/> + </interleave> + </element> + </define> + <define name="break_attributes"> + <a:documentation>Attributes for \elementref{break}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="break_model"> + <a:documentation>Content model for \elementref{break}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="inline-block"> + <element name="inline-block"> + <a:documentation>An inline block. Actually, can appear in inline or block mode, but +typesets its contents as a block.</a:documentation> + <interleave> + <ref name="inline-block_attributes"/> + <ref name="inline-block_model"/> + </interleave> + </element> + </define> + <define name="inline-block_attributes"> + <a:documentation>Attributes for \elementref{inline-block}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </interleave> + </define> + <define name="inline-block_model"> + <a:documentation>Content model for \elementref{inline-block}.</a:documentation> + <ref name="Block.model"/> + </define> + <!-- ====================================================================== --> + <define name="verbatim"> + <element name="verbatim"> + <a:documentation>Verbatim content</a:documentation> + <interleave> + <ref name="verbatim_attributes"/> + <ref name="verbatim_model"/> + </interleave> + </element> + </define> + <define name="verbatim_attributes"> + <a:documentation>Attributes for \elementref{verbatim}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="font"> + <a:documentation>the font to use; generally typewriter.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="size"> + <a:documentation>Indicates the text size to use. (See \elementref{text})</a:documentation> + <choice> + <value>Huge</value> + <value>huge</value> + <value>LARGE</value> + <value>Large</value> + <value>large</value> + <value>normal</value> + <value>small</value> + <value>footnote</value> + <value>tiny</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="color"> + <a:documentation>the color to use; any CSS compatible color specification.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="verbatim_model"> + <a:documentation>Content model for \elementref{verbatim}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="itemize"> + <element name="itemize"> + <a:documentation>An itemized list.</a:documentation> + <interleave> + <ref name="itemize_attributes"/> + <ref name="itemize_model"/> + </interleave> + </element> + </define> + <define name="itemize_attributes"> + <a:documentation>Attributes for \elementref{itemize}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="itemize_model"> + <a:documentation>Content model for \elementref{itemize}.</a:documentation> + <zeroOrMore> + <ref name="item"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="enumerate"> + <element name="enumerate"> + <a:documentation>An enumerated list.</a:documentation> + <interleave> + <ref name="enumerate_attributes"/> + <ref name="enumerate_model"/> + </interleave> + </element> + </define> + <define name="enumerate_attributes"> + <a:documentation>Attributes for \elementref{enumerate}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="enumerate_model"> + <a:documentation>Content model for \elementref{enumerate}.</a:documentation> + <zeroOrMore> + <ref name="item"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="description"> + <element name="description"> + <a:documentation>A description list. The \elementref{item}s within are expected to have a \elementref{tag} +which represents the term being described in each \elementref{item}.</a:documentation> + <interleave> + <ref name="description_attributes"/> + <ref name="description_model"/> + </interleave> + </element> + </define> + <define name="description_attributes"> + <a:documentation>Attributes for \elementref{description}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="description_model"> + <a:documentation>Content model for \elementref{description}.</a:documentation> + <zeroOrMore> + <ref name="item"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="item"> + <element name="item"> + <a:documentation>An item within a list.</a:documentation> + <interleave> + <ref name="item_attributes"/> + <ref name="item_model"/> + </interleave> + </element> + </define> + <define name="item_attributes"> + <a:documentation>Attributes for \elementref{item}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </interleave> + </define> + <define name="item_model"> + <a:documentation>Content model for \elementref{item}.</a:documentation> + <interleave> + <optional> + <ref name="tag"/> + </optional> + <ref name="Para.model"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="tag"> + <element name="tag"> + <a:documentation>A tag within an item indicating the term or bullet for a given item.</a:documentation> + <interleave> + <ref name="tag_attributes"/> + <ref name="tag_model"/> + </interleave> + </element> + </define> + <define name="tag_attributes"> + <a:documentation>Attributes for \elementref{tag}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="open"> + <a:documentation>specifies an open delimiters used to display the tag.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="close"> + <a:documentation>specifies an close delimiters used to display the tag.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="tag_model"> + <a:documentation>Content model for \elementref{tag}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="graphics"> + <element name="graphics"> + <a:documentation>A graphical insertion of an external file. </a:documentation> + <interleave> + <ref name="graphics_attributes"/> + <ref name="graphics_model"/> + </interleave> + </element> + </define> + <define name="graphics_attributes"> + <a:documentation>Attributes for \elementref{graphics}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Imageable.attributes"/> + <optional> + <attribute name="graphic"> + <a:documentation>the path to the graphics file. This is the (often minimally specified) path +to a graphics file omitting the type extension. Once resolved to a specific +image file, the \attr{imagesrc} (from Imageable.attributes) is used.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="candidates"> + <a:documentation>a comma separated list of candidate graphics files that could be used to +for \attr{graphic}. A post-processor or application may choose from these, +or may make its own selection or synthesis to implement the graphic for a given target.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="options"> + <a:documentation>an encoding of the scaling and positioning options +to be used in processing the graphic.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="graphics_model"> + <a:documentation>Content model for \elementref{graphics}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="svg"> + <grammar> + <a:documentation>An SVG (Scalable Vector Graphics) object +[eventually must adapt to put LaTeXML objects in foreignObject]</a:documentation> + <include href="svg11.rng"> + <define name="SVG.foreignObject.content"> + <parentRef name="Flow.model"/> + </define> + </include> + </grammar> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-common.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-common.rng new file mode 100644 index 00000000000..a46741628a9 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-common.rng @@ -0,0 +1,235 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-classes.rnc | + | Document Type for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- Basic element classes: --> + <define name="Inline.class"> + <a:documentation>All strictly inline elements.</a:documentation> + <empty/> + </define> + <define name="Block.class"> + <a:documentation>All `physical' block elements. +A physical block is typically displayed as a block, but +may not constitute a complete logical unit.</a:documentation> + <empty/> + </define> + <define name="Misc.class"> + <a:documentation>Additional miscellaneous elements that can appear in +both inline and block contexts.</a:documentation> + <empty/> + </define> + <define name="Para.class"> + <a:documentation>All logical block level elements. +A logical block typically contains one or more physical block elements. +For example, a common situation might be \elementref{p},\elementref{equation},\elementref{p}, +where the entire sequence comprises a single sentence.</a:documentation> + <empty/> + </define> + <define name="Meta.class"> + <a:documentation>All metadata elements, typically representing hidden data.</a:documentation> + <empty/> + </define> + <!-- + ====================================================================== + Attribute types + --> + <define name="Length.type"> + <a:documentation>The type for attributes specifying a length. +Should be a number followed by a length, typically px. +NOTE: To be narrowed later.</a:documentation> + <text/> + </define> + <define name="Color.type"> + <a:documentation>The type for attributes specifying a color. +NOTE: To be narrowed later.</a:documentation> + <text/> + </define> + <!-- ====================================================================== --> + <define name="Common.attributes"> + <a:documentation>Attributes shared by ALL elements.</a:documentation> + <optional> + <!-- + ## provides for namespace declaration. + attribute xmlns { text }? & + --> + <attribute name="class"> + <a:documentation>a space separated list of tokens, as in CSS. +The \attr{class} can be used to add differentiate different instances of elements +without introducing new element declarations. +However, this generally shouldn't be used for deep semantic distinctions. +This attribute is carried over to HTML and can be used for CSS selection. +[Note that the default XSLT stylesheets for html and xhtml +add the latexml element names to the class of html elements +for more convenience in using CSS.]</a:documentation> + <data type="NMTOKENS"/> + </attribute> + </optional> + </define> + <define name="ID.attributes"> + <a:documentation>Attributes for elements that can be cross-referenced +from inside or outside the document.</a:documentation> + <optional> + <attribute name="xml:id"> + <a:documentation>the unique identifier of the element, +usually generated automatically by the latexml.</a:documentation> + <data type="ID"/> + </attribute> + </optional> + </define> + <define name="IDREF.attributes"> + <a:documentation>Attributes for elements that can cross-reference other elements.</a:documentation> + <optional> + <attribute name="idref"> + <a:documentation>the identifier of the referred-to element.</a:documentation> + <data type="IDREF"/> + </attribute> + </optional> + </define> + <define name="Labelled.attributes"> + <a:documentation>Attributes for elements that can be labelled from within LaTeX. +These attributes deal with assigning a label and generating cross references.</a:documentation> + <interleave> + <ref name="ID.attributes"/> + <optional> + <attribute name="labels"> + <a:documentation>Records the various labels that LaTeX uses for crossreferencing. +(note that \cs{label} can associate more than one label with an object!) +It consists of space separated labels for the element. +The \cs{label} macro provides the label prefixed by \texttt{LABEL:}; +Spaces in a label are replaced by underscore. +Other mechanisms (like acro?) might use other prefixes (but \texttt{ID:} is reserved!)</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="refnum"> + <a:documentation>the reference number (ie. section number, equation number, etc) of the object.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="frefnum"> + <a:documentation>the formatted reference number of the object, typically this is the refnum with +the object type prepended, such as "Chapter 2"</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="Positionable.attributes"> + <a:documentation>Attributes shared by low-level, generic inline and block elements +that can be sized or shifted.</a:documentation> + <interleave> + <optional> + <attribute name="width"> + <a:documentation>the desired width of the box</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <a:documentation>the desired height of the box</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + <optional> + <attribute name="depth"> + <a:documentation>the desired depth of the box</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + <optional> + <attribute name="pad-width"> + <a:documentation>extra width beyond the boxes natural size.</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + <optional> + <attribute name="pad-height"> + <a:documentation>extra height beyond the boxes natural size.</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + <optional> + <attribute name="xoffset"> + <a:documentation>horizontal shift the position of the box.</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + <optional> + <attribute name="yoffset"> + <a:documentation>vertical shift the position of the box.</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + <optional> + <attribute name="align"> + <a:documentation>alignment of material within the box.</a:documentation> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>justified</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="vattach"> + <a:documentation>specifies which line of the box is aligned to the baseline of the containing object.</a:documentation> + <choice> + <value>top</value> + <value>middle</value> + <value>bottom</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="float"> + <a:documentation>the horizontal floating placement parameter that determines where the object is displayed.</a:documentation> + <choice> + <value>right</value> + <value>left</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="Imageable.attributes"> + <a:documentation>Attributes for elements that may be converted to image form +during postprocessing, such as math, graphics, pictures, etc.</a:documentation> + <interleave> + <optional> + <attribute name="imagesrc"> + <a:documentation>the file, possibly generated from other data.</a:documentation> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="imagewidth"> + <a:documentation>the width in pixels of \attr{imagesrc}.</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <attribute name="imageheight"> + <a:documentation>the height in pixels of \attr{imagesrc}.</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <attribute name="description"> + <a:documentation>a description of the image</a:documentation> + </attribute> + </optional> + </interleave> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-inline.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-inline.rng new file mode 100644 index 00000000000..01cb51dcae1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-inline.rng @@ -0,0 +1,514 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-inline.rnc | + | RelaxNG model for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="Inline.class" combine="interleave"> + <a:documentation>The inline module defines basic inline elements used throughout </a:documentation> + <interleave> + <zeroOrMore> + <ref name="text"/> + </zeroOrMore> + <zeroOrMore> + <ref name="emph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="acronym"/> + </zeroOrMore> + <zeroOrMore> + <ref name="rule"/> + </zeroOrMore> + <zeroOrMore> + <ref name="anchor"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ref"/> + </zeroOrMore> + <zeroOrMore> + <ref name="cite"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bibref"/> + </zeroOrMore> + </interleave> + </define> + <define name="Meta.class" combine="interleave"> + <a:documentation>Additionally, it defines these meta elements. These are generally hidden, +and can appear in inline and block contexts.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="note"/> + </zeroOrMore> + <zeroOrMore> + <ref name="indexmark"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ERROR"/> + </zeroOrMore> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="text"> + <element name="text"> + <a:documentation>General container for styled text. +Attributes cover a variety of styling and position shifting properties.</a:documentation> + <interleave> + <ref name="text_attributes"/> + <ref name="text_model"/> + </interleave> + </element> + </define> + <define name="text_attributes"> + <a:documentation>Attributes for \elementref{text}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Positionable.attributes"/> + <optional> + <attribute name="font"> + <a:documentation>Indicates the font to use. It consists of a space separated sequence +of values representing the +family (\texttt{serif}, \texttt{sansserif}, \texttt{math}, \texttt{typewriter}, + \texttt{caligraphic}, \texttt{fraktur}, \texttt{script}, \ldots), +series (\texttt{medium}, \texttt{bold}, \ldots), +and shape (\texttt{upright}, \texttt{italic}, \texttt{slanted}, \texttt{smallcaps}, \ldots). +Only the values differing from the current context are given. +Each component is open-ended, for extensibility; it is thus unclear +whether unknown values specify family, series or shape. +In postprocessing, these values are carried to the \attr{class} attribute, +and can thus be effected by CSS.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="size"> + <a:documentation>Indicates the text size to use. The values are modeled after the +more abstract \LaTeX\ font size switches, rather than point-sizes. +The values are open-ended for extensibility; +In postprocessing, these values are carried to the \attr{class} attribute, +and can thus be effected by CSS.</a:documentation> + <choice> + <value>Huge</value> + <value>huge</value> + <value>LARGE</value> + <value>Large</value> + <value>large</value> + <value>normal</value> + <value>small</value> + <value>footnote</value> + <value>tiny</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="color"> + <a:documentation>the color to use; any CSS compatible color specification. +In postprocessing, these values are carried to the \attr{class} attribute, +and can thus be effected by CSS.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="framed"> + <a:documentation>the kind of frame or outline for the text.</a:documentation> + <choice> + <value>rectangle</value> + <value>underline</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="text_model"> + <a:documentation>Content model for \elementref{text}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="emph"> + <element name="emph"> + <a:documentation>Emphasized text.</a:documentation> + <interleave> + <ref name="emph_attributes"/> + <ref name="emph_model"/> + </interleave> + </element> + </define> + <define name="emph_attributes"> + <a:documentation>Attributes for \elementref{emph}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="emph_model"> + <a:documentation>Content model for \elementref{emph}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="acronym"> + <element name="acronym"> + <a:documentation>Represents an acronym.</a:documentation> + <interleave> + <ref name="acronym_attributes"/> + <ref name="acronym_model"/> + </interleave> + </element> + </define> + <define name="acronym_attributes"> + <a:documentation>Attributes for \elementref{acronym}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="name"> + <a:documentation>should be used to indicate the expansion of the acronym.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="acronym_model"> + <a:documentation>Content model for \elementref{acronym}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="rule"> + <element name="rule"> + <a:documentation>A Rule.</a:documentation> + <interleave> + <ref name="rule_attributes"/> + <ref name="rule_model"/> + </interleave> + </element> + </define> + <define name="rule_attributes"> + <a:documentation>Attributes for \elementref{rule}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Positionable.attributes"/> + </interleave> + </define> + <define name="rule_model"> + <a:documentation>Content model for \elementref{rule}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="ref"> + <element name="ref"> + <a:documentation>A hyperlink reference to some other object. +When converted to HTML, the content would be the content of the anchor. +The destination can be specified by one of the +attributes \attr{labelref}, \attr{idref} or \attr{href}; +Missing fields will usually be filled in during postprocessing, +based on data extracted from the document(s).</a:documentation> + <interleave> + <ref name="ref_attributes"/> + <ref name="ref_model"/> + </interleave> + </element> + </define> + <define name="ref_attributes"> + <a:documentation>Attributes for \elementref{ref}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="IDREF.attributes"> + <a:documentation>reference to an internal identifier.</a:documentation> + </ref> + <optional> + <attribute name="labelref"> + <a:documentation>reference to a LaTeX labelled object; +See the \attr{labels} attribute of \patternref{Labelled.attributes}.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="href"> + <a:documentation>reference to an arbitrary url.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="show"> + <a:documentation>a pattern encoding how the text content should be filled in during +postprocessing, if it is empty. +It consists of the words + \texttt{type} (standing for the object type, eg. Ch.), + \texttt{refnum} and \texttt{title} +mixed with arbitrary characters. The +It can also be \texttt{fulltitle}, which indicates the title +with prefix and type if section numbering is enabled.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="title"> + <a:documentation>gives a longer form description of the target, +this would typically appear as a tooltip in HTML. +Typically filled in by postprocessor.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="ref_model"> + <a:documentation>Content model for \elementref{ref}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="anchor"> + <element name="anchor"> + <a:documentation>Inline anchor.</a:documentation> + <interleave> + <ref name="anchor_attributes"/> + <ref name="anchor_model"/> + </interleave> + </element> + </define> + <define name="anchor_attributes"> + <a:documentation>Attributes for \elementref{anchor}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="anchor_model"> + <a:documentation>Content model for \elementref{anchor}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="cite"> + <element name="cite"> + <a:documentation>A container for a bibliographic citation. The model is inline to +allow arbitrary comments before and after the expected \elementref{bibref}(s) +which are the specific citation.</a:documentation> + <interleave> + <ref name="cite_attributes"/> + <ref name="cite_model"/> + </interleave> + </element> + </define> + <define name="cite_attributes"> + <a:documentation>Attributes for \elementref{cite}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="cite_model"> + <a:documentation>Content model for \elementref{cite}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="bibref"> + <element name="bibref"> + <a:documentation>A bibliographic citation refering to a specific bibliographic item.</a:documentation> + <interleave> + <ref name="bibref_attributes"/> + <ref name="bibref_model"/> + </interleave> + </element> + </define> + <define name="bibref_attributes"> + <a:documentation>Attributes for \elementref{bibref}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="IDREF.attributes"/> + <optional> + <attribute name="bibrefs"> + <a:documentation>a comma separated list of bibliographic keys. +(See the \attr{key} attribute of \elementref{bibitem} and \elementref{bibentry})</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="show"> + <a:documentation>a pattern encoding how the text content (of an empty bibref) will be filled in. +Consists of strings \texttt{author}, \texttt{fullauthor}, \texttt{year}, +\texttt{number} and \texttt{title} +(to be replaced by data from the bibliographic item) +mixed with arbitrary characters.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="separator"> + <a:documentation>separator between formatted references</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="yyseparator"> + <a:documentation>separator between formatted years when duplicate authors are combined.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="bibref_model"> + <a:documentation>Content model for \elementref{bibref}.</a:documentation> + <zeroOrMore> + <ref name="bibrefphrase"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="bibrefphrase"> + <element name="bibrefphrase"> + <a:documentation>A preceding or following phrase used in composing a bibliographic reference, +such as listing pages or chapter.</a:documentation> + <interleave> + <ref name="bibrefphrase_attributes"/> + <ref name="bibrefphrase_model"/> + </interleave> + </element> + </define> + <define name="bibrefphrase_attributes"> + <a:documentation>Attributes for \elementref{bibrefphrase}</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="bibrefphrase_model"> + <a:documentation>Content model for \elementref{bibrefphrase}</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="note"> + <element name="note"> + <a:documentation>Metadata that covers several `out of band' annotations. +It's content allows both inline and block-level content.</a:documentation> + <interleave> + <ref name="note_attributes"/> + <ref name="note_model"/> + </interleave> + </element> + </define> + <define name="note_attributes"> + <a:documentation>Attributes for \elementref{note}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="mark"> + <a:documentation>indicates the desired visible marker to be linked to the note.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="role"> + <a:documentation>indicates the kind of note</a:documentation> + <choice> + <value>footnote</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="note_model"> + <a:documentation>Content model for \elementref{note}.</a:documentation> + <ref name="Flow.model"/> + </define> + <!-- should mark be more like label/refnum ? --> + <!-- ====================================================================== --> + <define name="ERROR"> + <element name="ERROR"> + <a:documentation>error object for undefined control sequences, or whatever</a:documentation> + <interleave> + <ref name="ERROR_attributes"/> + <ref name="ERROR_model"/> + </interleave> + </element> + </define> + <define name="ERROR_attributes"> + <a:documentation>Attributes for \elementref{ERROR}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="ERROR_model"> + <a:documentation>Content model for \elementref{ERROR}.</a:documentation> + <zeroOrMore> + <text/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="indexmark"> + <element name="indexmark"> + <a:documentation>Metadata to record an indexing position. The content is +a sequence of \elementref{indexphrase}, each representing a level in +a multilevel indexing entry.</a:documentation> + <interleave> + <ref name="indexmark_attributes"/> + <ref name="indexmark_model"/> + </interleave> + </element> + </define> + <define name="indexmark_attributes"> + <a:documentation>Attributes for \elementref{indexmark}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="see_also"> + <a:documentation>a flattened form (like \attr{key}) of another \elementref{indexmark}, +used to crossreference.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="style"> + <a:documentation>NOTE: describe this.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="indexmark_model"> + <a:documentation>Content model for \elementref{indexmark}.</a:documentation> + <zeroOrMore> + <ref name="indexphrase"/> + </zeroOrMore> + <zeroOrMore> + <ref name="indexsee"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="indexphrase"> + <element name="indexphrase"> + <a:documentation>A phrase within an \elementref{indexmark}</a:documentation> + <interleave> + <ref name="indexphrase_attributes"/> + <ref name="indexphrase_model"/> + </interleave> + </element> + </define> + <define name="indexphrase_attributes"> + <a:documentation>Attributes for \elementref{indexphrase}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="key"> + <a:documentation>a flattened form of the phrase for generating an \attr{ID}.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="indexphrase_model"> + <a:documentation>Content model for \elementref{indexphrase}.</a:documentation> + <ref name="Inline.model"/> + </define> + <define name="indexsee"> + <element name="indexsee"> + <a:documentation>A see-also phrase within an \elementref{indexmark}</a:documentation> + <interleave> + <ref name="indexsee_attributes"/> + <ref name="indexsee_model"/> + </interleave> + </element> + </define> + <define name="indexsee_attributes"> + <a:documentation>Attributes for \elementref{indexsee}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="key"> + <a:documentation>a flattened form of the phrase for generating an \attr{ID}.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="name"> + <a:documentation>a name for the see phrase, such as "see also".</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="indexsee_model"> + <a:documentation>Content model for \elementref{indexsee}.</a:documentation> + <ref name="Inline.model"/> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-math.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-math.rng new file mode 100644 index 00000000000..b88c8d11194 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-math.rng @@ -0,0 +1,613 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-math.rnc | + | RelaxNG model for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="Inline.class" combine="interleave"> + <a:documentation>The math module defines LaTeXML's internal representation of mathematical +content, including the basic math container \elementref{Math}. This element is +considered inline, as it will be contained within some other block-level +element, eg. \elementref{equation} for display-math.</a:documentation> + <zeroOrMore> + <ref name="Math"/> + </zeroOrMore> + </define> + <define name="Math.class"> + <a:documentation>This class defines the content of the \elementref{Math} element. +Additionally, it could contain MathML or OpenMath, after postprocessing.</a:documentation> + <ref name="XMath"/> + </define> + <define name="XMath.class"> + <a:documentation>These elements comprise the internal math representation, being +the content of the \elementref{XMath} element.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="XMApp"/> + </zeroOrMore> + <zeroOrMore> + <ref name="XMTok"/> + </zeroOrMore> + <zeroOrMore> + <ref name="XMRef"/> + </zeroOrMore> + <zeroOrMore> + <ref name="XMHint"/> + </zeroOrMore> + <zeroOrMore> + <ref name="XMArg"/> + </zeroOrMore> + <zeroOrMore> + <ref name="XMWrap"/> + </zeroOrMore> + <zeroOrMore> + <ref name="XMDual"/> + </zeroOrMore> + <zeroOrMore> + <ref name="XMText"/> + </zeroOrMore> + <zeroOrMore> + <ref name="XMArray"/> + </zeroOrMore> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="Math"> + <element name="Math"> + <a:documentation>Outer container for all math. This holds the internal +\elementref{XMath} representation, as well as image data and other representations.</a:documentation> + <interleave> + <ref name="Math_attributes"/> + <ref name="Math_model"/> + </interleave> + </element> + </define> + <define name="Math_attributes"> + <a:documentation>Attributes for \elementref{Math}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Imageable.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="mode"> + <a:documentation>display or inline mode.</a:documentation> + <choice> + <value>display</value> + <value>inline</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="tex"> + <a:documentation>reconstruction of the \TeX\ that generated the math.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="content-tex"> + <a:documentation>more semantic version of \attr{tex}.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="text"> + <a:documentation>a textified representation of the math.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="Math_model"> + <a:documentation>Content model for \elementref{Math}.</a:documentation> + <ref name="Math.class"/> + </define> + <!-- ====================================================================== --> + <define name="XMath.attributes"> + <interleave> + <optional> + <attribute name="role"> + <a:documentation>The role that this item plays in the Grammar.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="open"> + <a:documentation>an open delimiter to enclose the object;</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="close"> + <a:documentation>an close delimiter to enclose the object;</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="argopen"> + <a:documentation>an open delimiter to enclose the argument list, +when this token is applied to arguments with \elementref{XMApp}.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="argclose"> + <a:documentation>a close delimiter to enclose the argument list, +when this token is applied to arguments with \elementref{XMApp}.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="separators"> + <a:documentation>characters to separate arguments, +when this token is applied to arguments with \elementref{XMApp}. +Can be multiple characters for different argument positions; +the last character is repeated if there aren't enough.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="punctuation"> + <a:documentation>trailing (presumably non-semantic) punctuation.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="possibleFunction"> + <a:documentation>an annotation placed by the parser when it suspects this token may be used as a function.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="XMath"> + <element name="XMath"> + <a:documentation>Internal representation of mathematics.</a:documentation> + <interleave> + <ref name="XMath_attributes"/> + <ref name="XMath_model"/> + </interleave> + </element> + </define> + <define name="XMath_attributes"> + <a:documentation>Attributes for \elementref{XMath}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="XMath_model"> + <a:documentation>Content model for \elementref{XMath}.</a:documentation> + <ref name="XMath.class"/> + </define> + <!-- ====================================================================== --> + <define name="XMTok"> + <element name="XMTok"> + <a:documentation>General mathematical token.</a:documentation> + <interleave> + <ref name="XMTok_attributes"/> + <ref name="XMTok_model"/> + </interleave> + </element> + </define> + <define name="XMTok_attributes"> + <a:documentation>Attributes for \elementref{XMTok}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="name"> + <a:documentation>The name of the token, typically the control sequence that created it.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="meaning"> + <a:documentation>A more semantic name corresponding to the intended meaning, +such as the OpenMath name.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="omcd"> + <a:documentation>The OpenMath CD for which \attr{meaning} is a symbol.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="style"> + <a:documentation>Various random styling information. NOTE This needs to be made consistent.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="font"> + <a:documentation>The font, size a used for the symbol.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="size"> + <a:documentation>The size for the symbol, not presumed to be meaningful(?)</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="color"> + <a:documentation>The color (CSS format) for the symbol, not presumed to be meaningful(?)</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="scriptpos"> + <a:documentation>An encoding of the position of this token as a sub/superscript, used +to handle aligned and nested scripts, both pre and post. +It is a concatenation of (pre|mid|post), which indicates the horizontal +positioning of the script with relation to it's base, and a counter +indicating the level. These are used to position the scripts, +and to pair up aligned sub- and superscripts. +NOTE: Clarify where this appears: token, base, script operator, apply?</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="thickness"> + <a:documentation>NOTE: How is this used?</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="XMTok_model"> + <a:documentation>Content model for \elementref{XMTok}.</a:documentation> + <zeroOrMore> + <text/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="XMApp"> + <element name="XMApp"> + <a:documentation>Generalized application of a function, operator, whatever (the first child) +to arguments (the remaining children). +The attributes are a subset of those for \elementref{XMTok}.</a:documentation> + <interleave> + <ref name="XMApp_attributes"/> + <ref name="XMApp_model"/> + </interleave> + </element> + </define> + <define name="XMApp_attributes"> + <a:documentation>Attributes for \elementref{XMApp}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="name"> + <a:documentation>The name of the token, typically the control sequence that created it.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="meaning"> + <a:documentation>A more semantic name corresponding to the intended meaning, +such as the OpenMath name.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="scriptpos"> + <a:documentation>An encoding of the position of this token as a sub/superscript, used +to handle aligned and nested scripts, both pre and post. +(See \elementref{XMTok} for details)</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="XMApp_model"> + <a:documentation>Content model for \elementref{XMApp}.</a:documentation> + <ref name="XMath.class"/> + </define> + <!-- ====================================================================== --> + <define name="XMDual"> + <element name="XMDual"> + <a:documentation>Parallel markup of content (first child) and presentation (second child) +of a mathematical object. +Typically, the arguments are shared between the two branches: +they appear in the content branch, with \attr{id}'s, +and \elementref{XMRef} is used in the presentation branch</a:documentation> + <interleave> + <ref name="XMDual_attributes"/> + <ref name="XMDual_model"/> + </interleave> + </element> + </define> + <define name="XMDual_attributes"> + <a:documentation>Attributes for \elementref{XMDual}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="XMDual_model"> + <a:documentation>Content model for \elementref{XMDual}.</a:documentation> + <ref name="XMath.class"/> + <ref name="XMath.class"/> + </define> + <!-- ====================================================================== --> + <define name="XMHint"> + <element name="XMHint"> + <a:documentation>Various spacing items, generally ignored in parsing. +The attributes are a subset of those for \elementref{XMTok}.</a:documentation> + <interleave> + <ref name="XMHint_attributes"/> + <ref name="XMHint_model"/> + </interleave> + </element> + </define> + <define name="XMHint_attributes"> + <a:documentation>Attributes for \elementref{XMHint}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="name"/> + </optional> + <optional> + <attribute name="meaning"/> + </optional> + <optional> + <attribute name="style"/> + </optional> + </interleave> + </define> + <define name="XMHint_model"> + <a:documentation>Content model for \elementref{XMHint}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="XMText"> + <element name="XMText"> + <a:documentation>Text appearing within math.</a:documentation> + <interleave> + <ref name="XMText_attributes"/> + <ref name="XMText_model"/> + </interleave> + </element> + </define> + <define name="XMText_attributes"> + <a:documentation>Attributes for \elementref{XMText}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="scriptpos"> + <a:documentation>An encoding of the position of this token as a sub/superscript, used +to handle aligned and nested scripts, both pre and post. +(See \elementref{XMTok} for details)</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="XMText_model"> + <a:documentation>Content model for \elementref{XMText}.</a:documentation> + <interleave> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="XMWrap"> + <element name="XMWrap"> + <a:documentation>Wrapper for a sequence of tokens used to assert the role of the +contents in its parent. This element generally disappears after parsing. +The attributes are a subset of those for \elementref{XMTok}.</a:documentation> + <interleave> + <ref name="XMWrap_attributes"/> + <ref name="XMWrap_model"/> + </interleave> + </element> + </define> + <define name="XMWrap_attributes"> + <a:documentation>Attributes for \elementref{XMWrap}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="name"/> + </optional> + <optional> + <attribute name="meaning"> + <a:documentation>A more semantic name corresponding to the intended meaning, +such as the OpenMath name.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="style"/> + </optional> + <optional> + <attribute name="scriptpos"> + <a:documentation>An encoding of the position of this token as a sub/superscript, used +to handle aligned and nested scripts, both pre and post. +(See \elementref{XMTok} for details)</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="XMWrap_model"> + <a:documentation>Content model for \elementref{XMWrap}.</a:documentation> + <ref name="XMath.class"/> + </define> + <!-- ====================================================================== --> + <define name="XMArg"> + <element name="XMArg"> + <a:documentation>Wrapper for an argument to a structured macro. +It implies that its content can be parsed independently of its parent, +and thus generally disappears after parsing.</a:documentation> + <interleave> + <ref name="XMArg_attributes"/> + <ref name="XMArg_model"/> + </interleave> + </element> + </define> + <define name="XMArg_attributes"> + <a:documentation>Attributes for \elementref{XMArg}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="rule"/> + </optional> + <optional> + <attribute name="scriptpos"> + <a:documentation>An encoding of the position of this token as a sub/superscript, used +to handle aligned and nested scripts, both pre and post. +(See \elementref{XMTok} for details)</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="XMArg_model"> + <a:documentation>Content model for \elementref{XMArg}.</a:documentation> + <ref name="XMath.class"/> + </define> + <!-- ====================================================================== --> + <define name="XMRef"> + <element name="XMRef"> + <a:documentation>Structure sharing element typically used in the presentation +branch of an \elementref{XMDual} to refer to the arguments present in the content branch.</a:documentation> + <interleave> + <ref name="XMRef_attributes"/> + <ref name="XMRef_model"/> + </interleave> + </element> + </define> + <define name="XMRef_attributes"> + <a:documentation>Attributes for \elementref{XMRef}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <ref name="IDREF.attributes"/> + </interleave> + </define> + <define name="XMRef_model"> + <a:documentation>Content model for \elementref{XMRef}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="XMArray"> + <!-- The attributes are a subset of those for \elementref{XMTok} or of \elementref{tabular}. --> + <element name="XMArray"> + <a:documentation>Math Array/Alignment structure.</a:documentation> + <interleave> + <ref name="XMArray_attributes"/> + <ref name="XMArray_model"/> + </interleave> + </element> + </define> + <define name="XMArray_attributes"> + <a:documentation>Attributes for \elementref{XMArray}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="name"/> + </optional> + <optional> + <attribute name="meaning"/> + </optional> + <optional> + <attribute name="style"/> + </optional> + <optional> + <attribute name="vattach"> + <choice> + <value>top</value> + <value>bottom</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="width"/> + </optional> + </interleave> + </define> + <define name="XMArray_model"> + <a:documentation>Content model for \elementref{XMArray}.</a:documentation> + <zeroOrMore> + <ref name="XMRow"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="XMRow"> + <element name="XMRow"> + <a:documentation>A row in a math alignment.</a:documentation> + <interleave> + <ref name="XMRow_attributes"/> + <ref name="XMRow_model"/> + </interleave> + </element> + </define> + <define name="XMRow_attributes"> + <a:documentation>Attributes for \elementref{XMRow}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="XMRow_model"> + <a:documentation>Content model for \elementref{XMRow}.</a:documentation> + <zeroOrMore> + <ref name="XMCell"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="XMCell"> + <element name="XMCell"> + <a:documentation>A cell in a row of a math alignment.</a:documentation> + <interleave> + <ref name="XMCell_attributes"/> + <ref name="XMCell_model"/> + </interleave> + </element> + </define> + <define name="XMCell_attributes"> + <a:documentation>Attributes for \elementref{XMCell}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="colspan"> + <a:documentation>indicates how many columns this cell spans or covers.</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <attribute name="rowpan"> + <a:documentation>indicates how many rows this cell spans or covers.</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <!-- + This would have been clearer, but messes up conversion to dtd + attribute align { "left" | "right" | "center" | "justify" | text }? & + --> + <attribute name="align"> + <a:documentation> specifies the alignment of the content.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="width"> + <a:documentation>specifies the desired width for the column.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="border"> + <a:documentation>records a sequence of t or tt, r or rr, b or bb and l or ll +for borders or doubled borders on any side of the cell.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="thead"> + <a:documentation>whether this cell corresponds to a table head or foot.</a:documentation> + <data type="boolean"/> + </attribute> + </optional> + </interleave> + </define> + <define name="XMCell_model"> + <a:documentation>Content model for \elementref{XMCell}.</a:documentation> + <ref name="XMath.class"/> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-para.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-para.rng new file mode 100644 index 00000000000..5b54f77ddfe --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-para.rng @@ -0,0 +1,370 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-para.rnc | + | RelaxNG model for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="Para.class" combine="interleave"> + <a:documentation>This module defines the following `logical' block elements.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="para"/> + </zeroOrMore> + <zeroOrMore> + <ref name="theorem"/> + </zeroOrMore> + <zeroOrMore> + <ref name="proof"/> + </zeroOrMore> + <zeroOrMore> + <ref name="figure"/> + </zeroOrMore> + <zeroOrMore> + <ref name="table"/> + </zeroOrMore> + <zeroOrMore> + <ref name="float"/> + </zeroOrMore> + <zeroOrMore> + <ref name="listing"/> + </zeroOrMore> + </interleave> + </define> + <define name="Misc.class" combine="interleave"> + <a:documentation>Additionally, it defines these miscellaneous elements that can appear +in both inline and block contexts.</a:documentation> + <zeroOrMore> + <ref name="inline-para"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="para"> + <element name="para"> + <a:documentation>A Logical paragraph. It has an \attr{id}, but not a \attr{label}.</a:documentation> + <interleave> + <ref name="para_attributes"/> + <ref name="para_model"/> + </interleave> + </element> + </define> + <define name="para_attributes"> + <a:documentation>Attributes for \elementref{para}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="para_model"> + <a:documentation>Content model for \elementref{para}.</a:documentation> + <ref name="Block.model"/> + </define> + <!-- ====================================================================== --> + <define name="inline-para"> + <element name="inline-para"> + <a:documentation>An inline para. Actually, can appear in inline or block mode, but +typesets its contents as para.</a:documentation> + <interleave> + <ref name="inline-para_attributes"/> + <ref name="inline-para_model"/> + </interleave> + </element> + </define> + <define name="inline-para_attributes"> + <a:documentation>Attributes for \elementref{inline-para}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Positionable.attributes"/> + </interleave> + </define> + <define name="inline-para_model"> + <a:documentation>Content model for \elementref{inline-para}.</a:documentation> + <ref name="Para.model"/> + </define> + <!-- ====================================================================== --> + <define name="theorem"> + <element name="theorem"> + <a:documentation>A theorem or similar object. The \attr{class} attribute can be used to distinguish +different kinds of theorem.</a:documentation> + <interleave> + <ref name="theorem_attributes"/> + <ref name="theorem_model"/> + </interleave> + </element> + </define> + <define name="theorem_attributes"> + <a:documentation>Attributes for \elementref{theorem}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </interleave> + </define> + <define name="theorem_model"> + <a:documentation>Content model for \elementref{theorem}.</a:documentation> + <interleave> + <optional> + <ref name="title"/> + </optional> + <ref name="Para.model"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="proof"> + <element name="proof"> + <a:documentation>A proof or similar object. The \attr{class} attribute can be used to distinguish +different kinds of proof.</a:documentation> + <interleave> + <ref name="proof_attributes"/> + <ref name="proof_model"/> + </interleave> + </element> + </define> + <define name="proof_attributes"> + <a:documentation>Attributes for \elementref{proof}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </interleave> + </define> + <define name="proof_model"> + <a:documentation>Content model for \elementref{proof}.</a:documentation> + <interleave> + <optional> + <ref name="title"/> + </optional> + <ref name="Para.model"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="Caption.class"> + <a:documentation>These are the additional elements representing figure and +table captions. +NOTE: Could title sensibly be reused here, instead? +Or, should caption be used for theorem and proof?</a:documentation> + <choice> + <ref name="caption"/> + <ref name="toccaption"/> + </choice> + </define> + <!-- ====================================================================== --> + <define name="figure"> + <element name="figure"> + <a:documentation>A figure, possibly captioned.</a:documentation> + <interleave> + <ref name="figure_attributes"/> + <ref name="figure_model"/> + </interleave> + </element> + </define> + <define name="figure_attributes"> + <a:documentation>Attributes for \elementref{figure}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + <ref name="Positionable.attributes"/> + <optional> + <attribute name="placement"> + <a:documentation>the vertical floating placement parameter that determines where the object is displayed.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="figure_model"> + <a:documentation>MiKo: only allowing one caption, is this right? same for table, float, and listing below +Content model for \elementref{figure}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="figure"/> + </zeroOrMore> + <ref name="Block.model"/> + <ref name="Caption.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="table"> + <element name="table"> + <a:documentation>A Table, possibly captioned. This is not necessarily a \elementref{tabular}.</a:documentation> + <interleave> + <ref name="table_attributes"/> + <ref name="table_model"/> + </interleave> + </element> + </define> + <define name="table_attributes"> + <a:documentation>Attributes for \elementref{table}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + <ref name="Positionable.attributes"/> + <optional> + <attribute name="placement"> + <a:documentation>the vertical floating placement parameter that determines where the object is displayed.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="table_model"> + <a:documentation>Content model for \elementref{table}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="table"/> + </zeroOrMore> + <ref name="Block.model"/> + <ref name="Caption.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="float"> + <element name="float"> + <a:documentation>A generic float, possibly captioned, something other than a table, figure or listing</a:documentation> + <interleave> + <ref name="float_attributes"/> + <ref name="float_model"/> + </interleave> + </element> + </define> + <define name="float_attributes"> + <a:documentation>Attributes for \elementref{float}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + <ref name="Positionable.attributes"/> + <optional> + <attribute name="placement"> + <a:documentation>the vertical floating placement parameter that determines where the object is displayed.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="float_model"> + <a:documentation>Content model for \elementref{float}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="float"/> + </zeroOrMore> + <ref name="Block.model"/> + <ref name="Caption.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="listing"> + <element name="listing"> + <a:documentation>A Listing, possibly captioned.</a:documentation> + <interleave> + <ref name="listing_attributes"/> + <ref name="listing_model"/> + </interleave> + </element> + </define> + <define name="listing_attributes"> + <a:documentation>Attributes for \elementref{listing}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + <ref name="Positionable.attributes"/> + <optional> + <attribute name="placement"> + <a:documentation>the floating placement parameter that determines where the object is displayed.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="listing_model"> + <a:documentation>Content model for \elementref{listing}.</a:documentation> + <interleave> + <ref name="Block.model"/> + <ref name="Caption.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="caption"> + <element name="caption"> + <a:documentation>A caption for a \elementref{table} or \elementref{figure}.</a:documentation> + <interleave> + <ref name="caption_attributes"/> + <ref name="caption_model"/> + </interleave> + </element> + </define> + <define name="caption_attributes"> + <a:documentation>Attributes for \elementref{caption}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="font"/> + </optional> + <optional> + <attribute name="size"> + <a:documentation>Indicates the text size to use. (See \elementref{text})</a:documentation> + <choice> + <value>Huge</value> + <value>huge</value> + <value>LARGE</value> + <value>Large</value> + <value>large</value> + <value>normal</value> + <value>small</value> + <value>footnote</value> + <value>tiny</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="color"> + <a:documentation>the color to use; any CSS compatible color specification.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="caption_model"> + <a:documentation>Content model for \elementref{caption}, +basically Inline.model with tag included (normally, but not necessarily, tag would come first).</a:documentation> + <interleave> + <zeroOrMore> + <ref name="tag"/> + </zeroOrMore> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="toccaption"> + <element name="toccaption"> + <a:documentation>A short form of \elementref{table} or \elementref{figure} caption, +used for lists of figures or similar.</a:documentation> + <interleave> + <ref name="toccaption_attributes"/> + <ref name="toccaption_model"/> + </interleave> + </element> + </define> + <define name="toccaption_attributes"> + <a:documentation>Attributes for \elementref{toccaption}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="toccaption_model"> + <a:documentation>MiKo: here we allowed multiple tags, but now we can restrict, do we want that? +Content model for \elementref{toccaption}.</a:documentation> + <interleave> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + <zeroOrMore> + <ref name="tag"/> + </zeroOrMore> + </interleave> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-picture.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-picture.rng new file mode 100644 index 00000000000..d5f5ea15dc3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-picture.rng @@ -0,0 +1,594 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-picture.rnc | + | RelaxNG model for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<!-- + ====================================================================== + Picture; Experimental, possibly should evolve to SVG? + ====================================================================== +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="Misc.class" combine="interleave"> + <a:documentation>This module defines a picture environment, roughly a subset of SVG. +NOTE: Consider whether it is sensible to drop this and incorporate SVG itself.</a:documentation> + <zeroOrMore> + <ref name="picture"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="Picture.class"> + <interleave> + <zeroOrMore> + <ref name="g"/> + </zeroOrMore> + <zeroOrMore> + <ref name="rect"/> + </zeroOrMore> + <zeroOrMore> + <ref name="line"/> + </zeroOrMore> + <zeroOrMore> + <ref name="circle"/> + </zeroOrMore> + <zeroOrMore> + <ref name="path"/> + </zeroOrMore> + <zeroOrMore> + <ref name="arc"/> + </zeroOrMore> + <zeroOrMore> + <ref name="wedge"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ellipse"/> + </zeroOrMore> + <zeroOrMore> + <ref name="polygon"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bezier"/> + </zeroOrMore> + <zeroOrMore> + <ref name="parabola"/> + </zeroOrMore> + <zeroOrMore> + <ref name="curve"/> + </zeroOrMore> + <zeroOrMore> + <ref name="dots"/> + </zeroOrMore> + <zeroOrMore> + <ref name="grid"/> + </zeroOrMore> + <zeroOrMore> + <ref name="clip"/> + </zeroOrMore> + </interleave> + </define> + <define name="Picture.attributes"> + <a:documentation>These attributes correspond roughly to SVG, but need documentation.</a:documentation> + <interleave> + <optional> + <attribute name="x"/> + </optional> + <optional> + <attribute name="y"/> + </optional> + <optional> + <attribute name="r"/> + </optional> + <optional> + <attribute name="rx"/> + </optional> + <optional> + <attribute name="ry"/> + </optional> + <optional> + <attribute name="width"/> + </optional> + <optional> + <attribute name="height"/> + </optional> + <optional> + <attribute name="fill"/> + </optional> + <optional> + <attribute name="stroke"/> + </optional> + <optional> + <attribute name="stroke-width"/> + </optional> + <optional> + <attribute name="stroke-dasharray"/> + </optional> + <optional> + <attribute name="transform"/> + </optional> + <optional> + <attribute name="terminators"/> + </optional> + <optional> + <attribute name="arrowlength"/> + </optional> + <optional> + <attribute name="points"/> + </optional> + <optional> + <attribute name="showpoints"/> + </optional> + <optional> + <attribute name="displayedpoints"/> + </optional> + <optional> + <attribute name="arc"/> + </optional> + <optional> + <attribute name="angle1"/> + </optional> + <optional> + <attribute name="angle2"/> + </optional> + <optional> + <attribute name="arcsepA"/> + </optional> + <optional> + <attribute name="arcsepB"/> + </optional> + <optional> + <attribute name="curvature"/> + </optional> + </interleave> + </define> + <define name="PictureGroup.attributes"> + <a:documentation>These attributes correspond roughly to SVG, but need documentation.</a:documentation> + <interleave> + <optional> + <attribute name="pos"/> + </optional> + <optional> + <attribute name="framed"> + <data type="boolean"/> + </attribute> + </optional> + <optional> + <attribute name="frametype" a:defaultValue="rect"> + <choice> + <value>rect</value> + <value>circle</value> + <value>oval</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="fillframe"> + <data type="boolean"/> + </attribute> + </optional> + <optional> + <attribute name="boxsep"/> + </optional> + <optional> + <attribute name="shadowbox"> + <data type="boolean"/> + </attribute> + </optional> + <optional> + <attribute name="doubleline"> + <data type="boolean"/> + </attribute> + </optional> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="picture"> + <element name="picture"> + <a:documentation>A picture environment.</a:documentation> + <interleave> + <ref name="picture_attributes"/> + <ref name="picture_model"/> + </interleave> + </element> + </define> + <define name="picture_attributes"> + <a:documentation>Attributes for \elementref{picture}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Picture.attributes"/> + <ref name="Imageable.attributes"/> + <optional> + <attribute name="clip"> + <data type="boolean"/> + </attribute> + </optional> + <optional> + <attribute name="baseline"/> + </optional> + <optional> + <attribute name="unitlength"/> + </optional> + <optional> + <attribute name="xunitlength"/> + </optional> + <optional> + <attribute name="yunitlength"/> + </optional> + <optional> + <attribute name="tex"/> + </optional> + <optional> + <attribute name="content-tex"/> + </optional> + </interleave> + </define> + <define name="picture_model"> + <a:documentation>Content model for \elementref{picture}.</a:documentation> + <interleave> + <ref name="Picture.class"/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="g"> + <element name="g"> + <a:documentation>A graphical grouping; the content is inherits by the transformations, +positioning and other properties.</a:documentation> + <interleave> + <ref name="g_attributes"/> + <ref name="g_model"/> + </interleave> + </element> + </define> + <define name="g_attributes"> + <a:documentation>Attributes for \elementref{g}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + <ref name="PictureGroup.attributes"/> + </interleave> + </define> + <define name="g_model"> + <a:documentation>Content model for \elementref{g}.</a:documentation> + <interleave> + <ref name="Picture.class"/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="rect"> + <element name="rect"> + <a:documentation>A rectangle within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="rect_attributes"/> + <ref name="rect_model"/> + </interleave> + </element> + </define> + <define name="rect_attributes"> + <a:documentation>Attributes for \elementref{rect}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="rect_model"> + <a:documentation>Content model for \elementref{rect}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="line"> + <element name="line"> + <a:documentation>A line within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="line_attributes"/> + <ref name="line_model"/> + </interleave> + </element> + </define> + <define name="line_attributes"> + <a:documentation>Attributes for \elementref{line}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="line_model"> + <a:documentation>Content model for \elementref{line}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="polygon"> + <element name="polygon"> + <a:documentation>A polygon within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="polygon_attributes"/> + <ref name="polygon_model"/> + </interleave> + </element> + </define> + <define name="polygon_attributes"> + <a:documentation>Attributes for \elementref{polygon}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="polygon_model"> + <a:documentation>Content model for \elementref{polygon}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="wedge"> + <element name="wedge"> + <a:documentation>A wedge within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="wedge_attributes"/> + <ref name="wedge_model"/> + </interleave> + </element> + </define> + <define name="wedge_attributes"> + <a:documentation>Attributes for \elementref{wedge}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="wedge_model"> + <a:documentation>Content model for \elementref{wedge}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="arc"> + <element name="arc"> + <a:documentation>An arc within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="arc_attributes"/> + <ref name="arc_model"/> + </interleave> + </element> + </define> + <define name="arc_attributes"> + <a:documentation>Attributes for \elementref{arc}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="arc_model"> + <a:documentation>Content model for \elementref{arc}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="circle"> + <element name="circle"> + <a:documentation>A circle within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="circle_attributes"/> + <ref name="circle_model"/> + </interleave> + </element> + </define> + <define name="circle_attributes"> + <a:documentation>Attributes for \elementref{circle}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="circle_model"> + <a:documentation>Content model for \elementref{circle}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="ellipse"> + <element name="ellipse"> + <a:documentation>An ellipse within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="ellipse_attributes"/> + <ref name="ellipse_model"/> + </interleave> + </element> + </define> + <define name="ellipse_attributes"> + <a:documentation>Attributes for \elementref{ellipse}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="ellipse_model"> + <a:documentation>Content model for \elementref{ellipse}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="path"> + <element name="path"> + <a:documentation>A path within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="path_attributes"/> + <ref name="path_model"/> + </interleave> + </element> + </define> + <define name="path_attributes"> + <a:documentation>Attributes for \elementref{path}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="path_model"> + <a:documentation>Content model for \elementref{path}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="bezier"> + <element name="bezier"> + <a:documentation>A bezier curve within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="bezier_attributes"/> + <ref name="bezier_model"/> + </interleave> + </element> + </define> + <define name="bezier_attributes"> + <a:documentation>Attributes for \elementref{bezier}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="bezier_model"> + <a:documentation>Content model for \elementref{bezier}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="curve"> + <element name="curve"> + <a:documentation>A curve within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="curve_attributes"/> + <ref name="curve_model"/> + </interleave> + </element> + </define> + <define name="curve_attributes"> + <a:documentation>Attributes for \elementref{curve}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="curve_model"> + <a:documentation>Content model for \elementref{curve}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="parabola"> + <element name="parabola"> + <a:documentation>A parabola curve within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="parabola_attributes"/> + <ref name="parabola_model"/> + </interleave> + </element> + </define> + <define name="parabola_attributes"> + <a:documentation>Attributes for \elementref{parabola}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="parabola_model"> + <a:documentation>Content model for \elementref{parabola}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="dots"> + <element name="dots"> + <a:documentation>A sequence of dots (?) within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="dots_attributes"/> + <ref name="dots_model"/> + </interleave> + </element> + </define> + <define name="dots_attributes"> + <a:documentation>Attributes for \elementref{dots}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="dots_model"> + <a:documentation>Content model for \elementref{dots}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="grid"> + <element name="grid"> + <a:documentation>A grid within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="grid_attributes"/> + <ref name="grid_model"/> + </interleave> + </element> + </define> + <define name="grid_attributes"> + <a:documentation>Attributes for \elementref{grid}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="grid_model"> + <a:documentation>Content model for \elementref{grid}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="clip"> + <element name="clip"> + <a:documentation>Establishes a clipping region within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="clip_attributes"/> + <ref name="clip_model"/> + </interleave> + </element> + </define> + <define name="clip_attributes"> + <a:documentation>Attributes for \elementref{clip}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="clip_model"> + <a:documentation>Content model for \elementref{clip}.</a:documentation> + <zeroOrMore> + <ref name="clippath"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="clippath"> + <element name="clippath"> + <a:documentation>Establishes a clipping region within a \elementref{picture}.</a:documentation> + <interleave> + <ref name="clippath_attributes"/> + <ref name="clippath_model"/> + </interleave> + </element> + </define> + <define name="clippath_attributes"> + <a:documentation>Attributes for \elementref{clippath}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </interleave> + </define> + <define name="clippath_model"> + <a:documentation>Content model for \elementref{clippath}.</a:documentation> + <interleave> + <ref name="Picture.class"/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </interleave> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng new file mode 100644 index 00000000000..dae5c993de1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng @@ -0,0 +1,1039 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-structure.rnc | + | RelaxNG model for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- ====================================================================== --> + <define name="document"> + <element name="document"> + <a:documentation>The document root.</a:documentation> + <interleave> + <ref name="document_attributes"/> + <ref name="document_model"/> + </interleave> + </element> + </define> + <define name="document.body.class"> + <a:documentation>The content allowable as the main body of the document.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="paragraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsubsection"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsection"/> + </zeroOrMore> + <zeroOrMore> + <ref name="section"/> + </zeroOrMore> + <zeroOrMore> + <ref name="chapter"/> + </zeroOrMore> + <zeroOrMore> + <ref name="part"/> + </zeroOrMore> + </interleave> + </define> + <define name="document_attributes"> + <a:documentation>Attributes for \elementref{document}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="document_model"> + <a:documentation>Content model for \elementref{document}.</a:documentation> + <!-- + (FrontMatter.class & SectionalFrontMatter.class & Meta.class & titlepage*), + document.body.class, + --> + <ref name="BackMatter.class"/> + </define> + <!-- ====================================================================== --> + <define name="part"> + <element name="part"> + <a:documentation>A part within a document.</a:documentation> + <interleave> + <ref name="part_attributes"/> + <ref name="part_model"/> + </interleave> + </element> + </define> + <define name="part.body.class"> + <a:documentation>The content allowable as the main body of a part.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="chapter"/> + </zeroOrMore> + </interleave> + </define> + <define name="part_attributes"> + <a:documentation>Attributes for \elementref{part}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="part_model"> + <a:documentation>Content model for \elementref{part}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="part.body.class"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="chapter"> + <element name="chapter"> + <a:documentation>A Chapter within a document.</a:documentation> + <interleave> + <ref name="chapter_attributes"/> + <ref name="chapter_model"/> + </interleave> + </element> + </define> + <define name="chapter.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="subparagraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="paragraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsubsection"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsection"/> + </zeroOrMore> + <zeroOrMore> + <ref name="section"/> + </zeroOrMore> + </interleave> + </define> + <define name="chapter_attributes"> + <a:documentation>Attributes for \elementref{chapter}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="chapter_model"> + <a:documentation>Content model for \elementref{chapter}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="chapter.body.class"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="section"> + <element name="section"> + <a:documentation>A Section within a document.</a:documentation> + <interleave> + <ref name="section_attributes"/> + <ref name="section_model"/> + </interleave> + </element> + </define> + <define name="section.body.class"> + <a:documentation>The content allowable as the main body of a section.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="subparagraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="paragraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsubsection"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsection"/> + </zeroOrMore> + </interleave> + </define> + <define name="section_attributes"> + <a:documentation>Attributes for \elementref{section}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="section_model"> + <a:documentation>Content model for \elementref{section}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="section.body.class"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="subsection"> + <element name="subsection"> + <a:documentation>A Subsection within a document.</a:documentation> + <interleave> + <ref name="subsection_attributes"/> + <ref name="subsection_model"/> + </interleave> + </element> + </define> + <define name="subsection.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="subparagraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="paragraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsubsection"/> + </zeroOrMore> + </interleave> + </define> + <define name="subsection_attributes"> + <a:documentation>Attributes for \elementref{subsection}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="subsection_model"> + <a:documentation>Content model for \elementref{subsection}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="subsection.body.class"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="subsubsection"> + <element name="subsubsection"> + <a:documentation>A Subsubsection within a document.</a:documentation> + <interleave> + <ref name="subsubsection_attributes"/> + <ref name="subsubsection_model"/> + </interleave> + </element> + </define> + <define name="subsubsection.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="subparagraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="paragraph"/> + </zeroOrMore> + </interleave> + </define> + <define name="subsubsection_attributes"> + <a:documentation>Attributes for \elementref{subsubsection}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="subsubsection_model"> + <a:documentation>Content model for \elementref{subsubsection}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="subsubsection.body.class"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="paragraph"> + <element name="paragraph"> + <a:documentation>A Paragraph within a document. This corresponds to a `formal' marked, possibly labelled +LaTeX Paragraph, in distinction from an unlabelled logical paragraph.</a:documentation> + <interleave> + <ref name="paragraph_attributes"/> + <ref name="paragraph_model"/> + </interleave> + </element> + </define> + <define name="paragraph.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="subparagraph"/> + </zeroOrMore> + </interleave> + </define> + <define name="paragraph_attributes"> + <a:documentation>Attributes for \elementref{paragraph}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="paragraph_model"> + <a:documentation>Content model for \elementref{paragraph}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="paragraph.body.class"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="subparagraph"> + <element name="subparagraph"> + <a:documentation>A Subparagraph within a document.</a:documentation> + <interleave> + <ref name="subparagraph_attributes"/> + <ref name="subparagraph_model"/> + </interleave> + </element> + </define> + <define name="subparagraph.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <ref name="Para.model"/> + </define> + <define name="subparagraph_attributes"> + <a:documentation>Attributes for \elementref{subparagraph}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="subparagraph_model"> + <a:documentation>Content model for \elementref{subparagraph}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="subparagraph.body.class"/> + </define> + <!-- ====================================================================== --> + <define name="appendix"> + <element name="appendix"> + <a:documentation>An Appendix within a document.</a:documentation> + <interleave> + <ref name="appendix_attributes"/> + <ref name="appendix_model"/> + </interleave> + </element> + </define> + <define name="appendix.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="subparagraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="paragraph"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsubsection"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsection"/> + </zeroOrMore> + <zeroOrMore> + <ref name="section"/> + </zeroOrMore> + </interleave> + </define> + <define name="appendix_attributes"> + <a:documentation>Attributes for \elementref{appendix}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="appendix_model"> + <a:documentation>Content model for \elementref{appendix}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="appendix.body.class"/> + </define> + <!-- ====================================================================== --> + <define name="bibliography"> + <element name="bibliography"> + <a:documentation>A Bibliography within a document.</a:documentation> + <interleave> + <ref name="bibliography_attributes"/> + <ref name="bibliography_model"/> + </interleave> + </element> + </define> + <define name="bibliography.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <interleave> + <ref name="Para.model"/> + <ref name="biblist"/> + </interleave> + </define> + <define name="bibliography_attributes"> + <a:documentation>Attributes for \elementref{bibliography}.</a:documentation> + <interleave> + <ref name="Sectional.attributes"/> + <optional> + <attribute name="files"> + <a:documentation>the list of bib files used to create the bibliograph.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="bibliography_model"> + <a:documentation>Content model for \elementref{bibliography}.</a:documentation> + <ref name="FrontMatter.class"/> + <ref name="SectionalFrontMatter.class"/> + <ref name="bibliography.body.class"/> + </define> + <!-- ====================================================================== --> + <define name="index"> + <element name="index"> + <a:documentation>An Index within a document.</a:documentation> + <interleave> + <ref name="index_attributes"/> + <ref name="index_model"/> + </interleave> + </element> + </define> + <define name="index.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <interleave> + <ref name="Para.model"/> + <zeroOrMore> + <ref name="indexlist"/> + </zeroOrMore> + </interleave> + </define> + <define name="index_attributes"> + <a:documentation>Attributes for \elementref{index}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="index_model"> + <a:documentation>Content model for \elementref{index}.</a:documentation> + <ref name="SectionalFrontMatter.class"/> + <ref name="index.body.class"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="indexlist"> + <element name="indexlist"> + <a:documentation>A heirarchical index generated. Typically generated during postprocessing +from the collection of \elementref{indexmark} in the document +(or document collection).</a:documentation> + <interleave> + <ref name="indexlist_attributes"/> + <ref name="indexlist_model"/> + </interleave> + </element> + </define> + <define name="indexlist_attributes"> + <a:documentation>Attributes for \elementref{indexlist}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="indexlist_model"> + <a:documentation>Content model for \elementref{indexlist}.</a:documentation> + <zeroOrMore> + <ref name="indexentry"/> + </zeroOrMore> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="indexentry"> + <element name="indexentry"> + <a:documentation>An entry in an \elementref{indexlist} consisting of a phrase, references to +points in the document where the phrase was found, and possibly +a nested \elementref{indexlist} represented index levels below this one.</a:documentation> + <interleave> + <ref name="indexentry_attributes"/> + <ref name="indexentry_model"/> + </interleave> + </element> + </define> + <define name="indexentry_attributes"> + <a:documentation>Attributes for \elementref{indexentry}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </interleave> + </define> + <define name="indexentry_model"> + <a:documentation>Content model for \elementref{indexentry}.</a:documentation> + <ref name="indexphrase"/> + <optional> + <ref name="indexrefs"/> + </optional> + <optional> + <ref name="indexlist"/> + </optional> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="indexrefs"> + <element name="indexrefs"> + <a:documentation>A container for the references (\elementref{ref}) to where an \elementref{indexphrase} was +encountered in the document. The model is Inline to allow +arbitrary text, in addition to the expected \elementref{ref}'s.</a:documentation> + <interleave> + <ref name="indexrefs_attributes"/> + <ref name="indexrefs_model"/> + </interleave> + </element> + </define> + <define name="indexrefs_attributes"> + <a:documentation>Attributes for \elementref{indexrefs}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="indexrefs_model"> + <a:documentation>Content model for \elementref{indexrefs}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="title"> + <element name="title"> + <a:documentation>The title of a document, section or similar document structure container.</a:documentation> + <interleave> + <ref name="title_attributes"/> + <ref name="title_model"/> + </interleave> + </element> + </define> + <define name="title_attributes"> + <a:documentation>Attributes for \elementref{title}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="font"> + <a:documentation>The font prefered for the title.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="size"> + <a:documentation>Indicates the text size to use. (See \elementref{text})</a:documentation> + <choice> + <value>Huge</value> + <value>huge</value> + <value>LARGE</value> + <value>Large</value> + <value>large</value> + <value>normal</value> + <value>small</value> + <value>footnote</value> + <value>tiny</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="color"> + <a:documentation>the color to use; any CSS compatible color specification.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="title_model"> + <a:documentation>Content model for \elementref{title}, +basically Inline.model with tag included (normally, but not necessarily, tag would come first).</a:documentation> + <interleave> + <zeroOrMore> + <ref name="tag"/> + </zeroOrMore> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="toctitle"> + <element name="toctitle"> + <a:documentation>The short form of a title, for use in tables of contents or similar.</a:documentation> + <interleave> + <ref name="toctitle_attributes"/> + <ref name="toctitle_model"/> + </interleave> + </element> + </define> + <define name="toctitle_attributes"> + <a:documentation>Attributes for \elementref{toctitle}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="toctitle_model"> + <a:documentation>Content model for \elementref{toctitle}.</a:documentation> + <interleave> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + <zeroOrMore> + <ref name="tag"/> + </zeroOrMore> + </interleave> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="subtitle"> + <element name="subtitle"> + <a:documentation>A subtitle, or secondary title.</a:documentation> + <interleave> + <ref name="subtitle_attributes"/> + <ref name="subtitle_model"/> + </interleave> + </element> + </define> + <define name="subtitle_attributes"> + <a:documentation>Attributes for \elementref{subtitle}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="subtitle_model"> + <a:documentation>Content model for \elementref{subtitle}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="creator"> + <element name="creator"> + <a:documentation>Generalized document creator.</a:documentation> + <interleave> + <ref name="creator_attributes"/> + <ref name="creator_model"/> + </interleave> + </element> + </define> + <define name="Person.class"> + <a:documentation>The content allowed in authors, editors, etc.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="personname"/> + </zeroOrMore> + <zeroOrMore> + <ref name="contact"/> + </zeroOrMore> + </interleave> + </define> + <define name="creator_attributes"> + <a:documentation>Attributes for \elementref{creator}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>indicates the role of the person in creating the docment. +Commonly useful values are specified, but is open-ended to support extension.</a:documentation> + <choice> + <value>author</value> + <value>editor</value> + <value>translator</value> + <value>contributor</value> + <value>translator</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="creator_model"> + <a:documentation>Content model for \elementref{creator}.</a:documentation> + <interleave> + <ref name="Person.class"/> + <ref name="Misc.class"/> + </interleave> + </define> + <!-- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + NOTE: This should be aligned with Bibname. + --> + <define name="personname"> + <element name="personname"> + <a:documentation>A person's name.</a:documentation> + <interleave> + <ref name="personname_attributes"/> + <ref name="personname_model"/> + </interleave> + </element> + </define> + <define name="personname_attributes"> + <a:documentation>Attributes for \elementref{personname}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="personname_model"> + <a:documentation>Content model for \elementref{personname}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="contact"> + <element name="contact"> + <a:documentation>Generalized contact information for a document creator. +Note that this element can be repeated to give different types +of contact information (using \attr{role}) for the same creator.</a:documentation> + <interleave> + <ref name="contact_attributes"/> + <ref name="contact_model"/> + </interleave> + </element> + </define> + <define name="contact_attributes"> + <a:documentation>Attributes for \elementref{contact}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>indicates the type of contact information contained. +Commonly useful values are specified, but is open-ended to support extension.</a:documentation> + <choice> + <value>affiliation</value> + <value>address</value> + <value>current_address</value> + <value>email</value> + <value>url</value> + <value>thanks</value> + <value>dedicatory</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="contact_model"> + <a:documentation>Content model for \elementref{contact}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="date"> + <element name="date"> + <a:documentation>Generalized document date. +Note that this element can be repeated to give the dates +of different events (using \attr{role}) for the same document.</a:documentation> + <interleave> + <ref name="date_attributes"/> + <ref name="date_model"/> + </interleave> + </element> + </define> + <define name="date_attributes"> + <a:documentation>Attributes for \elementref{date}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>indicates the relevance of the date to the document. +Commonly useful values are specified, but is open-ended to support extension.</a:documentation> + <choice> + <value>creation</value> + <value>conversion</value> + <value>posted</value> + <value>received</value> + <value>revised</value> + <value>accepted</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="date_model"> + <a:documentation>Content model for \elementref{date}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="abstract"> + <element name="abstract"> + <a:documentation>A document abstract.</a:documentation> + <interleave> + <ref name="abstract_attributes"/> + <ref name="abstract_model"/> + </interleave> + </element> + </define> + <define name="abstract_attributes"> + <a:documentation>Attributes for \elementref{abstract}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + </interleave> + </define> + <define name="abstract_model"> + <a:documentation>Content model for \elementref{abstract}.</a:documentation> + <ref name="Block.model"/> + </define> + <!-- ====================================================================== --> + <define name="acknowledgements"> + <element name="acknowledgements"> + <a:documentation>Acknowledgements for the document.</a:documentation> + <interleave> + <ref name="acknowledgements_attributes"/> + <ref name="acknowledgements_model"/> + </interleave> + </element> + </define> + <define name="acknowledgements_attributes"> + <a:documentation>Attributes for \elementref{acknowledgements}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + </interleave> + </define> + <define name="acknowledgements_model"> + <a:documentation>Content model for \elementref{acknowledgements}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="keywords"> + <element name="keywords"> + <a:documentation>Keywords for the document. The content is freeform.</a:documentation> + <interleave> + <ref name="keywords_attributes"/> + <ref name="keywords_model"/> + </interleave> + </element> + </define> + <define name="keywords_attributes"> + <a:documentation>Attributes for \elementref{keywords}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + </interleave> + </define> + <define name="keywords_model"> + <a:documentation>Content model for \elementref{keywords}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="classification"> + <element name="classification"> + <a:documentation>A classification of the document.</a:documentation> + <interleave> + <ref name="classification_attributes"/> + <ref name="classification_model"/> + </interleave> + </element> + </define> + <define name="classification_attributes"> + <a:documentation>Attributes for \elementref{classification}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + <optional> + <attribute name="scheme"> + <a:documentation>indicates what classification scheme was used.</a:documentation> + </attribute> + </optional> + </interleave> + </define> + <define name="classification_model"> + <a:documentation>Content model for \elementref{classification}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- + ====================================================================== + Fallback + --> + <define name="titlepage"> + <element name="titlepage"> + <a:documentation>block of random stuff marked as a titlepage</a:documentation> + <interleave> + <ref name="titlepage_attributes"/> + <ref name="titlepage_model"/> + </interleave> + </element> + </define> + <define name="titlepage_attributes"> + <a:documentation>Attributes for \elementref{titlepage}.</a:documentation> + <ref name="Sectional.attributes"/> + </define> + <define name="titlepage_model"> + <a:documentation>Content model for \elementref{titlepage}.</a:documentation> + <interleave> + <ref name="FrontMatter.class"/> + <ref name="SectionalFrontMatter.class"/> + <ref name="Block.class"/> + </interleave> + </define> + <!-- + ====================================================================== + TOC & Navigation; generally added by postprocessing + --> + <define name="TOC"> + <element name="TOC"> + <a:documentation>(Generalized) Table Of Contents, represents table of contents +as well as list of figures, tables, and other such things. +This will generally be placed by a \cs{tableofcontents} command +and filled in by postprocessing.</a:documentation> + <interleave> + <ref name="TOC_attributes"/> + <ref name="TOC_model"/> + </interleave> + </element> + </define> + <define name="TOC_attributes"> + <a:documentation>Attributes for \elementref{TOC}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + <optional> + <attribute name="role"> + <a:documentation>indicates the kind of list</a:documentation> + <choice> + <value>contents</value> + <value>figures</value> + <value>tables</value> + <text/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="select"> + <a:documentation>indicates what kind of document elements to list, in the form of +one or more tags such as \texttt{ltx:chapter} separated by \texttt{|} +(suggestive of an xpath expression).</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="format"> + <a:documentation>indicates how to format the listing</a:documentation> + <choice> + <value>normal</value> + <value>short</value> + <value>veryshort</value> + <text/> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="TOC_model"> + <a:documentation>Content model for \elementref{TOC}.</a:documentation> + <optional> + <ref name="toclist"/> + </optional> + </define> + <define name="toclist"> + <element name="toclist"> + <a:documentation>The actual table of contents list, filled in.</a:documentation> + <interleave> + <ref name="toclist_attributes"/> + <ref name="toclist_model"/> + </interleave> + </element> + </define> + <define name="toclist_attributes"> + <a:documentation>Attributes for \elementref{toclist}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="toclist_model"> + <a:documentation>Content model for \elementref{toclist}.</a:documentation> + <zeroOrMore> + <ref name="tocentry"/> + </zeroOrMore> + </define> + <define name="tocentry"> + <element name="tocentry"> + <a:documentation>An entry in a \elementref{toclist}.</a:documentation> + <interleave> + <ref name="tocentry_attributes"/> + <ref name="tocentry_model"/> + </interleave> + </element> + </define> + <define name="tocentry_attributes"> + <a:documentation>Attributes for \elementref{tocentry}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="tocentry_model"> + <a:documentation>Content model for \elementref{tocentry}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="ref"/> + </zeroOrMore> + <zeroOrMore> + <ref name="toclist"/> + </zeroOrMore> + </interleave> + </define> + <define name="navigation"> + <element name="navigation"> + <a:documentation>Records navigation cross-referencing information, links from the +current page or document to related ones, up, down, previous, next, +and so forth; these relations are recorded in the \attr{class} attribute +of the \elementref{ref}. + +\emph{Really?}; overload the class attribute!? +This should be \attr{role}! +Could also use a navigation name text or something?</a:documentation> + <interleave> + <ref name="navigation_attributes"/> + <ref name="navigation_model"/> + </interleave> + </element> + </define> + <define name="navigation_attributes"> + <a:documentation>Attributes for \elementref{navigation}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="navigation_model"> + <a:documentation>Content model for \elementref{navigation}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="ref"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TOC"/> + </zeroOrMore> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="Sectional.attributes"> + <a:documentation>Attributes shared by all sectional elements</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </interleave> + </define> + <define name="FrontMatter.attributes"> + <a:documentation>Attributes for other elements that can be used in frontmatter.</a:documentation> + <optional> + <attribute name="name"> + <a:documentation>Records the name of the type of object this is to be used when composing the +presentation. The value of this attribute is often set by language localization packages.</a:documentation> + </attribute> + </optional> + </define> + <define name="SectionalFrontMatter.class"> + <a:documentation>The content allowed for the front matter of each sectional unit, +and the document.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="title"/> + </zeroOrMore> + <zeroOrMore> + <ref name="toctitle"/> + </zeroOrMore> + <zeroOrMore> + <ref name="creator"/> + </zeroOrMore> + </interleave> + </define> + <define name="FrontMatter.class"> + <a:documentation>The content allowed (in addition to \patternref{SectionalFrontMatter.class}) +for the front matter of a document.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="subtitle"/> + </zeroOrMore> + <zeroOrMore> + <ref name="date"/> + </zeroOrMore> + <zeroOrMore> + <ref name="abstract"/> + </zeroOrMore> + <zeroOrMore> + <ref name="acknowledgements"/> + </zeroOrMore> + <zeroOrMore> + <ref name="keywords"/> + </zeroOrMore> + <ref name="classification"/> + </interleave> + </define> + <define name="BackMatter.class"> + <a:documentation>The content allowed a the end of a document. +Note that this includes random trailing Block and Para material, +to support articles with figures and similar data appearing `at end'.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="bibliography"/> + </zeroOrMore> + <zeroOrMore> + <ref name="appendix"/> + </zeroOrMore> + <zeroOrMore> + <ref name="index"/> + </zeroOrMore> + <zeroOrMore> + <ref name="acknowledgements"/> + </zeroOrMore> + <ref name="Para.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <define name="Para.class" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="TOC"/> + </zeroOrMore> + <zeroOrMore> + <ref name="navigation"/> + </zeroOrMore> + </interleave> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-tabular.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-tabular.rng new file mode 100644 index 00000000000..c7c653612a4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-tabular.rng @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-tabular.rnc | + | RelaxNG model for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="Misc.class" combine="interleave"> + <a:documentation>This module defines the basic tabular, or alignment, structure. +It is roughly parallel to the HTML model.</a:documentation> + <zeroOrMore> + <ref name="tabular"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="tabular"> + <element name="tabular"> + <a:documentation>An alignment structure corresponding to tabular or various similar forms. +The model is basically a copy of HTML4's table.</a:documentation> + <interleave> + <ref name="tabular_attributes"/> + <ref name="tabular_model"/> + </interleave> + </element> + </define> + <define name="tabular_attributes"> + <a:documentation>Attributes for \elementref{tabular}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="vattach"> + <a:documentation>which row's baseline aligns with the container's baseline.</a:documentation> + <choice> + <value>top</value> + <value>middle</value> + <value>bottom</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="width"> + <a:documentation>the desired width of the tabular.</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + </interleave> + </define> + <define name="tabular_model"> + <a:documentation>MiKo: this can be tightened. Is it really true that we have more than one body? +Content model for \elementref{tabular}.</a:documentation> + <interleave> + <zeroOrMore> + <ref name="thead"/> + </zeroOrMore> + <zeroOrMore> + <ref name="tfoot"/> + </zeroOrMore> + <zeroOrMore> + <ref name="tbody"/> + </zeroOrMore> + <zeroOrMore> + <ref name="tr"/> + </zeroOrMore> + </interleave> + </define> + <!-- ====================================================================== --> + <define name="thead"> + <element name="thead"> + <a:documentation>A container for a set of rows that correspond to the header of the tabular.</a:documentation> + <interleave> + <ref name="thead_attributes"/> + <ref name="thead_model"/> + </interleave> + </element> + </define> + <define name="thead_attributes"> + <a:documentation>Attributes for \elementref{thead}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="thead_model"> + <a:documentation>Content model for \elementref{thead}.</a:documentation> + <zeroOrMore> + <ref name="tr"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="tfoot"> + <element name="tfoot"> + <a:documentation>A container for a set of rows that correspond to the footer of the tabular.</a:documentation> + <interleave> + <ref name="tfoot_attributes"/> + <ref name="tfoot_model"/> + </interleave> + </element> + </define> + <define name="tfoot_attributes"> + <a:documentation>Attributes for \elementref{tfoot}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="tfoot_model"> + <a:documentation>Content model for \elementref{tfoot}.</a:documentation> + <zeroOrMore> + <ref name="tr"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="tbody"> + <element name="tbody"> + <a:documentation>A container for a set of rows corresponding to the body of the tabular.</a:documentation> + <interleave> + <ref name="tbody_attributes"/> + <ref name="tbody_model"/> + </interleave> + </element> + </define> + <define name="tbody_attributes"> + <a:documentation>Attributes for \elementref{tbody}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="tbody_model"> + <a:documentation>Content model for \elementref{tbody}.</a:documentation> + <zeroOrMore> + <ref name="tr"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="tr"> + <element name="tr"> + <a:documentation>A row of a tabular.</a:documentation> + <interleave> + <ref name="tr_attributes"/> + <ref name="tr_model"/> + </interleave> + </element> + </define> + <define name="tr_attributes"> + <a:documentation>Attributes for \elementref{tr}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="tr_model"> + <a:documentation>Content model for \elementref{tr}.</a:documentation> + <zeroOrMore> + <ref name="td"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="td"> + <element name="td"> + <a:documentation>A cell in a row of a tabular.</a:documentation> + <interleave> + <ref name="td_attributes"/> + <ref name="td_model"/> + </interleave> + </element> + </define> + <define name="td_attributes"> + <a:documentation>Attributes for \elementref{td}.</a:documentation> + <interleave> + <ref name="Common.attributes"/> + <optional> + <attribute name="colspan"> + <a:documentation>indicates how many columns this cell spans or covers.</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <attribute name="rowspan"> + <a:documentation>indicates how many rows this cell spans or covers.</a:documentation> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <!-- + This would have been clearer, but messes up conversion to dtd + attribute align { "left" | "right" | "center" | "justify" | text }? & + --> + <attribute name="align"> + <a:documentation> specifies the alignment of the content.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="width"> + <a:documentation>specifies the desired width for the column.</a:documentation> + <ref name="Length.type"/> + </attribute> + </optional> + <optional> + <attribute name="border"> + <a:documentation>records a sequence of t or tt, r or rr, b or bb and l or ll +for borders or doubled borders on any side of the cell.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="thead"> + <a:documentation>whether this cell corresponds to a table head or foot.</a:documentation> + <data type="boolean"/> + </attribute> + </optional> + </interleave> + </define> + <define name="td_model"> + <a:documentation>Content model for \elementref{td}.</a:documentation> + <ref name="Flow.model"/> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML.rng new file mode 100644 index 00000000000..646aea4b6ce --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML.rng @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML.rnc | + | Document Type for LaTeXML generated documents | + |=====================================================================| + | Part of LaTeXML: | + | Public domain software, produced as part of work done by the | + | United States Government & not subject to copyright in the US. | + |=====================================================================| + | Bruce Miller <bruce.miller@nist.gov> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar xmlns:svg="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://relaxng.org/ns/structure/1.0"> + <include href="LaTeXML-common.rng"/> + <include href="LaTeXML-inline.rng"/> + <include href="LaTeXML-block.rng"/> + <include href="LaTeXML-para.rng"/> + <include href="LaTeXML-math.rng"/> + <include href="LaTeXML-tabular.rng"/> + <include href="LaTeXML-picture.rng"/> + <include href="LaTeXML-structure.rng"/> + <include href="LaTeXML-bib.rng"/> + <define name="Inline.model"> + <a:documentation>Combined model for inline content.</a:documentation> + <interleave> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <define name="Block.model"> + <a:documentation>Combined model for physical block-level content.</a:documentation> + <interleave> + <ref name="Block.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <define name="Flow.model"> + <a:documentation>Combined model for general flow containing both inline and block level content.</a:documentation> + <interleave> + <text/> + <ref name="Inline.class"/> + <ref name="Block.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <define name="Para.model"> + <a:documentation>Combined model for logical block-level context.</a:documentation> + <interleave> + <ref name="Para.class"/> + <ref name="Meta.class"/> + </interleave> + </define> + <start> + <ref name="document"/> + </start> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/MARCRelators.rng b/Master/texmf-dist/source/latex/stex/schema/rng/MARCRelators.rng new file mode 100644 index 00000000000..44a616795dd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/MARCRelators.rng @@ -0,0 +1,190 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- the MARC relator set; see http://www.loc.gov/marc/relators --> + <define name="MARCRelators"> + <choice> + <value>act</value> + <value>adp</value> + <value>aft</value> + <value>ann</value> + <value>ant</value> + <value>app</value> + <value>aqt</value> + <value>arc</value> + <value>arr</value> + <value>art</value> + <value>asg</value> + <value>asn</value> + <value>att</value> + <value>auc</value> + <value>aud</value> + <value>aui</value> + <value>aus</value> + <value>aut</value> + <value>bdd</value> + <value>bjd</value> + <value>bkd</value> + <value>bkp</value> + <value>bnd</value> + <value>bpd</value> + <value>bsl</value> + <value>ccp</value> + <value>chr</value> + <value>clb</value> + <value>cli</value> + <value>cll</value> + <value>clt</value> + <value>cmm</value> + <value>cmp</value> + <value>cmt</value> + <value>cnd</value> + <value>cns</value> + <value>coe</value> + <value>col</value> + <value>com</value> + <value>cos</value> + <value>cot</value> + <value>cov</value> + <value>cpc</value> + <value>cpe</value> + <value>cph</value> + <value>cpl</value> + <value>cpt</value> + <value>cre</value> + <value>crp</value> + <value>crr</value> + <value>csl</value> + <value>csp</value> + <value>cst</value> + <value>ctb</value> + <value>cte</value> + <value>ctg</value> + <value>ctr</value> + <value>cts</value> + <value>ctt</value> + <value>cur</value> + <value>cwt</value> + <value>dfd</value> + <value>dfe</value> + <value>dft</value> + <value>dgg</value> + <value>dis</value> + <value>dln</value> + <value>dnc</value> + <value>dnr</value> + <value>dpc</value> + <value>dpt</value> + <value>drm</value> + <value>drt</value> + <value>dsr</value> + <value>dst</value> + <value>dte</value> + <value>dto</value> + <value>dub</value> + <value>edt</value> + <value>egr</value> + <value>elt</value> + <value>eng</value> + <value>etr</value> + <value>exp</value> + <value>fac</value> + <value>flm</value> + <value>fmo</value> + <value>fnd</value> + <value>fpy</value> + <value>frg</value> + <value>hnr</value> + <value>hst</value> + <value>ill</value> + <value>ilu</value> + <value>ins</value> + <value>inv</value> + <value>itr</value> + <value>ive</value> + <value>ivr</value> + <value>lbt</value> + <value>lee</value> + <value>lel</value> + <value>len</value> + <value>let</value> + <value>lie</value> + <value>lil</value> + <value>lit</value> + <value>lsa</value> + <value>lse</value> + <value>lso</value> + <value>ltg</value> + <value>lyr</value> + <value>mdc</value> + <value>mod</value> + <value>mon</value> + <value>mrk</value> + <value>mte</value> + <value>mus</value> + <value>nrt</value> + <value>opn</value> + <value>org</value> + <value>orm</value> + <value>oth</value> + <value>own</value> + <value>pat</value> + <value>pbd</value> + <value>pbl</value> + <value>pfr</value> + <value>pht</value> + <value>plt</value> + <value>pop</value> + <value>ppm</value> + <value>prc</value> + <value>prd</value> + <value>prf</value> + <value>prg</value> + <value>prm</value> + <value>pro</value> + <value>prt</value> + <value>pta</value> + <value>pte</value> + <value>ptf</value> + <value>pth</value> + <value>ptt</value> + <value>rbr</value> + <value>rce</value> + <value>rcp</value> + <value>red</value> + <value>ren</value> + <value>res</value> + <value>rev</value> + <value>rpt</value> + <value>rpy</value> + <value>rse</value> + <value>rsp</value> + <value>rst</value> + <value>rth</value> + <value>rtm</value> + <value>sad</value> + <value>sce</value> + <value>scl</value> + <value>scr</value> + <value>sec</value> + <value>sgn</value> + <value>sng</value> + <value>spk</value> + <value>spn</value> + <value>spy</value> + <value>srv</value> + <value>stl</value> + <value>stn</value> + <value>str</value> + <value>ths</value> + <value>trc</value> + <value>trl</value> + <value>tyd</value> + <value>tyg</value> + <value>voc</value> + <value>wam</value> + <value>wdc</value> + <value>wde</value> + <value>wit</value> + </choice> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/Makefile b/Master/texmf-dist/source/latex/stex/schema/rng/Makefile new file mode 100644 index 00000000000..051561e50af --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/Makefile @@ -0,0 +1,23 @@ +RNCDIR = ../rnc +BUT.rnc = +OMDOC.rnc = $(shell ls $(RNCDIR)/omdoc/*rnc) +LATEXML.rnc = $(shell ls $(RNCDIR)/LaTeXML/*rnc) +SRC.rnc = $(RNCDIR)/omdoc+ltxml.rnc #$(filter-out $(BUT.rnc), $(shell ls $(RNCDIR)/*.rnc)) +SRC.rng = $(SRC.rnc:%.rnc=%.rng) + +all: $(SRC.rng) #$(TARGET.xsd) + +clean: + rm -f *~ +distclean: clean + +# for the moment we do not install +# install: $(SRC.rnc) $(SRC.rng) +# cp $(SRC.rnc) $(SRC.rng) $(HOME)/vc/svn/omdoc.org/www/rnc + +test: + +$(SRC.rng): %.rng: %.rnc $(OMDOC.rnc) $(LATEXML.rnc) +# rnc2rng $< $@ + trang -I rnc -O rng $< $@ + mv ../rnc/*.rng . diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/creativecommons.rng b/Master/texmf-dist/source/latex/stex/schema/rng/creativecommons.rng new file mode 100644 index 00000000000..3b5080e9653 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/creativecommons.rng @@ -0,0 +1,390 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG for Creative Commons License Specifications + $Id: creativecommons.rnc 8550 2009-11-07 06:38:23Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/trunk/schema/rnc/pragmatic/creativecommons.rnc $ + Copyright (c) 2008 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://creativecommons.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="iana.tld"> + <choice> + <value>ac</value> + <value>ad</value> + <value>ae</value> + <value>af</value> + <value>ag</value> + <value>ai</value> + <value>al</value> + <value>am</value> + <value>an</value> + <value>ao</value> + <value>aq</value> + <value>ar</value> + <value>as</value> + <value>at</value> + <value>au</value> + <value>aw</value> + <value>ax</value> + <value>az</value> + <value>ba</value> + <value>bb</value> + <value>bd</value> + <value>be</value> + <value>bf</value> + <value>bg</value> + <value>bh</value> + <value>bi</value> + <value>bj</value> + <value>bm</value> + <value>bn</value> + <value>bo</value> + <value>br</value> + <value>bs</value> + <value>bt</value> + <value>bv</value> + <value>bw</value> + <value>by</value> + <value>bz</value> + <value>ca</value> + <value>cc</value> + <value>cd</value> + <value>cf</value> + <value>cg</value> + <value>ch</value> + <value>ci</value> + <value>ck</value> + <value>cl</value> + <value>cm</value> + <value>cn</value> + <value>co</value> + <value>cr</value> + <value>cs</value> + <value>cu</value> + <value>cv</value> + <value>cx</value> + <value>cy</value> + <value>cz</value> + <value>de</value> + <value>dj</value> + <value>dk</value> + <value>dm</value> + <value>do</value> + <value>dz</value> + <value>ec</value> + <value>ee</value> + <value>eg</value> + <value>eh</value> + <value>er</value> + <value>es</value> + <value>et</value> + <value>fi</value> + <value>fj</value> + <value>fk</value> + <value>fm</value> + <value>fo</value> + <value>fr</value> + <value>ga</value> + <value>gb</value> + <value>gd</value> + <value>ge</value> + <value>gf</value> + <value>gg</value> + <value>gh</value> + <value>gi</value> + <value>gl</value> + <value>gm</value> + <value>gn</value> + <value>gp</value> + <value>gq</value> + <value>gr</value> + <value>gs</value> + <value>gt</value> + <value>gu</value> + <value>gw</value> + <value>gy</value> + <value>hk</value> + <value>hm</value> + <value>hn</value> + <value>hr</value> + <value>ht</value> + <value>hu</value> + <value>id</value> + <value>ie</value> + <value>il</value> + <value>im</value> + <value>in</value> + <value>io</value> + <value>iq</value> + <value>ir</value> + <value>is</value> + <value>it</value> + <value>je</value> + <value>jm</value> + <value>jo</value> + <value>jp</value> + <value>ke</value> + <value>kg</value> + <value>kh</value> + <value>ki</value> + <value>km</value> + <value>kn</value> + <value>kp</value> + <value>kr</value> + <value>kw</value> + <value>ky</value> + <value>kz</value> + <value>la</value> + <value>lb</value> + <value>lc</value> + <value>li</value> + <value>lk</value> + <value>lr</value> + <value>ls</value> + <value>lt</value> + <value>lu</value> + <value>lv</value> + <value>ly</value> + <value>ma</value> + <value>mc</value> + <value>md</value> + <value>mg</value> + <value>mh</value> + <value>mk</value> + <value>ml</value> + <value>mm</value> + <value>mn</value> + <value>mo</value> + <value>mp</value> + <value>mq</value> + <value>mr</value> + <value>ms</value> + <value>mt</value> + <value>mu</value> + <value>mv</value> + <value>mw</value> + <value>mx</value> + <value>my</value> + <value>mz</value> + <value>na</value> + <value>nc</value> + <value>ne</value> + <value>nf</value> + <value>ng</value> + <value>ni</value> + <value>nl</value> + <value>no</value> + <value>np</value> + <value>nr</value> + <value>nu</value> + <value>nz</value> + <value>om</value> + <value>pa</value> + <value>pe</value> + <value>pf</value> + <value>pg</value> + <value>ph</value> + <value>pk</value> + <value>pl</value> + <value>pm</value> + <value>pn</value> + <value>pr</value> + <value>ps</value> + <value>pt</value> + <value>pw</value> + <value>py</value> + <value>qa</value> + <value>re</value> + <value>ro</value> + <value>ru</value> + <value>rw</value> + <value>sa</value> + <value>sb</value> + <value>sc</value> + <value>sd</value> + <value>se</value> + <value>sg</value> + <value>sh</value> + <value>si</value> + <value>sj</value> + <value>sk</value> + <value>sl</value> + <value>sm</value> + <value>sn</value> + <value>so</value> + <value>sr</value> + <value>st</value> + <value>sv</value> + <value>sy</value> + <value>sz</value> + <value>tc</value> + <value>td</value> + <value>tf</value> + <value>tg</value> + <value>th</value> + <value>tj</value> + <value>tk</value> + <value>tl</value> + <value>tm</value> + <value>tn</value> + <value>to</value> + <value>tp</value> + <value>tr</value> + <value>tt</value> + <value>tv</value> + <value>tw</value> + <value>tz</value> + <value>ua</value> + <value>ug</value> + <value>uk</value> + <value>um</value> + <value>us</value> + <value>uy</value> + <value>uz</value> + <value>va</value> + <value>vc</value> + <value>ve</value> + <value>vg</value> + <value>vi</value> + <value>vn</value> + <value>vu</value> + <value>wf</value> + <value>ws</value> + <value>ye</value> + <value>yt</value> + <value>yu</value> + <value>za</value> + <value>zm</value> + <value>zw</value> + </choice> + </define> + <define name="license.attribs"> + <interleave> + <optional> + <attribute name="jurisdiction"> + <ref name="iana.tld"/> + </attribute> + </optional> + <optional> + <attribute name="version"> + <data type="string"/> + </attribute> + </optional> + </interleave> + </define> + <define name="license.model"> + <ref name="permissions"/> + <ref name="prohibitions"/> + <ref name="requirements"/> + <ref name="description"/> + </define> + <define name="license"> + <element name="license"> + <interleave> + <ref name="license.attribs"/> + <ref name="license.model"/> + </interleave> + </element> + </define> + <define name="permissions.attribs"> + <interleave> + <attribute name="reproduction"> + <choice> + <value>permitted</value> + <value> prohibited</value> + </choice> + </attribute> + <attribute name="distribution"> + <choice> + <value>permitted</value> + <value> prohibited</value> + </choice> + </attribute> + <attribute name="derivative_works"> + <choice> + <value>permitted</value> + <value>prohibited</value> + </choice> + </attribute> + </interleave> + </define> + <define name="permissions.model"> + <ref name="description"/> + </define> + <define name="permissions"> + <element name="permissions"> + <interleave> + <ref name="permissions.attribs"/> + <ref name="permissions.model"/> + </interleave> + </element> + </define> + <define name="prohibitions.attribs"> + <attribute name="commercial_use"> + <choice> + <value>prohibited</value> + <value>permitted</value> + </choice> + </attribute> + </define> + <define name="prohibitions.model"> + <ref name="description"/> + </define> + <define name="prohibitions"> + <element name="prohibitions"> + <interleave> + <ref name="prohibitions.attribs"/> + <ref name="prohibitions.model"/> + </interleave> + </element> + </define> + <define name="requirements.attribs"> + <interleave> + <attribute name="notice"> + <choice> + <value>required</value> + <value>not_required</value> + </choice> + </attribute> + <attribute name="attribution"> + <choice> + <value>required</value> + <value>not_required</value> + </choice> + </attribute> + <attribute name="copyleft"> + <choice> + <value>required</value> + <value>not_required</value> + </choice> + </attribute> + </interleave> + </define> + <define name="requirements.model"> + <ref name="description"/> + </define> + <define name="requirements"> + <element name="requirements"> + <interleave> + <ref name="requirements.attribs"/> + <ref name="requirements.model"/> + </interleave> + </element> + </define> + <define name="description.attribs"> + <empty/> + </define> + <define name="description.model"> + <text/> + </define> + <define name="description"> + <element name="description"> + <interleave> + <ref name="description.attribs"/> + <ref name="description.model"/> + </interleave> + </element> + </define> + <start> + <ref name="license"/> + </start> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/dublincore.rng b/Master/texmf-dist/source/latex/stex/schema/rng/dublincore.rng new file mode 100644 index 00000000000..e9841803f4d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/dublincore.rng @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for the Dublin Core elements + $Id: dublincore.rnc 8550 2009-11-07 06:38:23Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/trunk/schema/rnc/pragmatic/dublincore.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2008 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://purl.org/dc/elements/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="dc.person"> + <a:documentation>the various content models, specialize for integration</a:documentation> + <text/> + </define> + <define name="dc.publisher"> + <text/> + </define> + <define name="dc.text"> + <text/> + </define> + <define name="dc.inline"> + <text/> + </define> + <define name="dc.format"> + <text/> + </define> + <define name="dc.source"> + <text/> + </define> + <define name="dc.language"> + <text/> + </define> + <define name="dc.rights"> + <text/> + </define> + <define name="dc.relation"> + <text/> + </define> + <define name="dc.date"> + <data type="dateTime"/> + </define> + <define name="dc.type"> + <text/> + </define> + <define name="dc.identifier"> + <text/> + </define> + <!-- the model of the Dublin Metadata initiative (http://purl.org/dc) --> + <start> + <interleave> + <zeroOrMore> + <ref name="contributor"/> + </zeroOrMore> + <zeroOrMore> + <ref name="creator"/> + </zeroOrMore> + <zeroOrMore> + <ref name="rights"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subject"/> + </zeroOrMore> + <zeroOrMore> + <ref name="title"/> + </zeroOrMore> + <zeroOrMore> + <ref name="description"/> + </zeroOrMore> + <zeroOrMore> + <ref name="publisher"/> + </zeroOrMore> + <zeroOrMore> + <ref name="date"/> + </zeroOrMore> + <zeroOrMore> + <ref name="type"/> + </zeroOrMore> + <zeroOrMore> + <ref name="format"/> + </zeroOrMore> + <zeroOrMore> + <ref name="identifier"/> + </zeroOrMore> + <zeroOrMore> + <ref name="source"/> + </zeroOrMore> + <zeroOrMore> + <ref name="language"/> + </zeroOrMore> + <zeroOrMore> + <ref name="relation"/> + </zeroOrMore> + </interleave> + </start> + <define name="contributor"> + <element name="contributor"> + <ref name="dc.person"/> + </element> + </define> + <define name="creator"> + <element name="creator"> + <ref name="dc.person"/> + </element> + </define> + <define name="title"> + <element name="title"> + <ref name="dc.inline"/> + </element> + </define> + <define name="subject"> + <element name="subject"> + <ref name="dc.inline"/> + </element> + </define> + <define name="description"> + <element name="description"> + <ref name="dc.text"/> + </element> + </define> + <define name="publisher"> + <element name="publisher"> + <ref name="dc.publisher"/> + </element> + </define> + <define name="type"> + <element name="type"> + <ref name="dc.type"/> + </element> + </define> + <define name="format"> + <element name="format"> + <ref name="dc.format"/> + </element> + </define> + <define name="source"> + <element name="source"> + <ref name="dc.source"/> + </element> + </define> + <define name="language"> + <element name="language"> + <ref name="dc.language"/> + </element> + </define> + <define name="relation"> + <element name="relation"> + <ref name="dc.relation"/> + </element> + </define> + <define name="rights"> + <element name="rights"> + <ref name="dc.rights"/> + </element> + </define> + <define name="date"> + <element name="date"> + <ref name="dc.date"/> + </element> + </define> + <define name="identifier"> + <element name="identifier"> + <ref name="dc.identifier"/> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-cds-pragmatic.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-cds-pragmatic.rng new file mode 100644 index 00000000000..4c46d7ce35d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-cds-pragmatic.rng @@ -0,0 +1,2899 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="opel.application" combine="choice"> + <ref name="lcm_arith1_elt"/> + </define> + <define name="lcm_arith1_elt" combine="choice"> + <element name="m:lcm"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="lcm_arith1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="gcd_arith1_elt"/> + </define> + <define name="gcd_arith1_elt" combine="choice"> + <element name="m:gcd"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="gcd_arith1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="plus_arith1_elt"/> + </define> + <define name="plus_arith1_elt" combine="choice"> + <element name="m:plus"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="minus_arith1_elt"/> + </define> + <define name="minus_arith1_elt" combine="choice"> + <element name="m:minus"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="times_arith1_elt"/> + </define> + <define name="times_arith1_elt" combine="choice"> + <element name="m:times"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="divide_arith1_elt"/> + </define> + <define name="divide_arith1_elt" combine="choice"> + <element name="m:divide"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="power_arith1_elt"/> + </define> + <define name="power_arith1_elt" combine="choice"> + <element name="m:power"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="abs_arith1_elt"/> + </define> + <define name="abs_arith1_elt" combine="choice"> + <element name="m:abs"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="root_arith1_elt"/> + </define> + <define name="root_arith1_elt" combine="choice"> + <element name="m:root"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>real</value> + <value>complex</value> + <value>principal_branch</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="sum_arith1_elt"/> + </define> + <define name="sum_arith1_elt" combine="choice"> + <element name="m:sum"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="sum_arith1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="product_arith1_elt"/> + </define> + <define name="product_arith1_elt" combine="choice"> + <element name="m:product"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="product_arith1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="diff_calculus1_elt"/> + </define> + <define name="diff_calculus1_elt" combine="choice"> + <element name="m:diff"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>function</value> + <value>algebraic</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="diff_calculus1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="partialdiff_calculus1_elt"/> + </define> + <define name="partialdiff_calculus1_elt" combine="choice"> + <element name="m:partialdiff"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>function</value> + <value>algebraic</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="int_calculus1_elt"/> + </define> + <define name="int_calculus1_elt" combine="choice"> + <element name="m:int"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="defint_calculus1_elt"/> + </define> + <define name="defint_calculus1_elt" combine="choice"> + <element name="m:defint"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="diff_calculus3_elt"/> + </define> + <define name="diff_calculus3_elt" combine="choice"> + <element name="m:diff"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>function</value> + <value>algebraic</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="diff_calculus3_elt"/> + </define> + <define name="opel.binder" combine="choice"> + <ref name="partialdiff_calculus3_elt"/> + </define> + <define name="partialdiff_calculus3_elt" combine="choice"> + <element name="m:partialdiff"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>function</value> + <value>algebraic</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="int_calculus3_elt"/> + </define> + <define name="int_calculus3_elt" combine="choice"> + <element name="m:int"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="defint_calculus3_elt"/> + </define> + <define name="defint_calculus3_elt" combine="choice"> + <element name="m:defint"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="real_complex1_elt"/> + </define> + <define name="real_complex1_elt" combine="choice"> + <element name="m:real"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="imaginary_complex1_elt"/> + </define> + <define name="imaginary_complex1_elt" combine="choice"> + <element name="m:imaginary"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="argument_complex1_elt"/> + </define> + <define name="argument_complex1_elt" combine="choice"> + <element name="m:arg"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="conjugate_complex1_elt"/> + </define> + <define name="conjugate_complex1_elt" combine="choice"> + <element name="m:conjugate"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="domain_fns1_elt"/> + </define> + <define name="domain_fns1_elt" combine="choice"> + <element name="m:domain"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="range_fns1_elt"/> + </define> + <define name="range_fns1_elt" combine="choice"> + <element name="m:codomain"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="image_fns1_elt"/> + </define> + <define name="image_fns1_elt" combine="choice"> + <element name="m:image"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="identity_fns1_elt"/> + </define> + <define name="identity_fns1_elt" combine="choice"> + <element name="m:ident"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="inverse_fns1_elt"/> + </define> + <define name="inverse_fns1_elt" combine="choice"> + <element name="m:inverse"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="left_compose_fns1_elt"/> + </define> + <define name="left_compose_fns1_elt" combine="choice"> + <element name="m:compose"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="compose_fns1_elt"/> + </define> + <define name="compose_fns1_elt" combine="choice"> + <element name="m:compose"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="lambda_fns1_elt"/> + </define> + <define name="lambda_fns1_elt" combine="choice"> + <element name="m:lambda"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="lambda_fns1_elt" combine="choice"> + <element name="m:lambda"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="lambda_fns1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="condition_fns1_elt"/> + </define> + <define name="condition_fns1_elt" combine="choice"> + <element name="m:lambda"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="condition_fns1_elt" combine="choice"> + <element name="m:lambda"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="condition_fns1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="factorof_integer1_elt"/> + </define> + <define name="factorof_integer1_elt" combine="choice"> + <element name="m:factorof"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="factorial_integer1_elt"/> + </define> + <define name="factorial_integer1_elt" combine="choice"> + <element name="m:factorial"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="quotient_integer1_elt"/> + </define> + <define name="quotient_integer1_elt" combine="choice"> + <element name="m:quotient"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="remainder_integer1_elt"/> + </define> + <define name="remainder_integer1_elt" combine="choice"> + <element name="m:rem"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="interval_interval1_elt"/> + </define> + <define name="interval_interval1_elt" combine="choice"> + <element name="m:interval"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>closed</value> + <value>open</value> + <value>open-closed</value> + <value>closed-open</value> + <value>integer</value> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="interval_interval1_elt" combine="choice"> + <element name="m:interval"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>closed</value> + <value>open</value> + <value>open-closed</value> + <value>closed-open</value> + <value>integer</value> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="interval_interval1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="interval_oo_interval1_elt"/> + </define> + <define name="interval_oo_interval1_elt" combine="choice"> + <element name="m:interval"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="closure"> + <value>open</value> + </attribute> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="interval_cc_interval1_elt"/> + </define> + <define name="interval_cc_interval1_elt" combine="choice"> + <element name="m:interval"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="closure"> + <value>closed</value> + </attribute> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="interval_oc_interval1_elt"/> + </define> + <define name="interval_oc_interval1_elt" combine="choice"> + <element name="m:interval"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="closure"> + <value>open-closed</value> + </attribute> + <ref name="ContExp"/> + <ref name="ContExp"/> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="interval_co_interval1_elt"/> + </define> + <define name="interval_co_interval1_elt" combine="choice"> + <element name="m:interval"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="closure"> + <value>closed-open</value> + </attribute> + <ref name="ContExp"/> + <ref name="ContExp"/> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="limit_limit1_elt"/> + </define> + <define name="limit_limit1_elt" combine="choice"> + <element name="m:limit"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="limit_limit1_elt"/> + </define> + <define name="opel.constant" combine="choice"> + <ref name="above_limit1_elt"/> + </define> + <define name="above_limit1_elt" combine="choice"> + <element name="m:above"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="below_limit1_elt"/> + </define> + <define name="below_limit1_elt" combine="choice"> + <element name="m:below"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="null_limit1_elt"/> + </define> + <define name="null_limit1_elt" combine="choice"> + <element name="m:null"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="tendsto_limit1_elt"/> + </define> + <define name="tendsto_limit1_elt" combine="choice"> + <element name="m:tendsto"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>above</value> + <value>below</value> + <value>two-sided</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="vectorproduct_linalg1_elt"/> + </define> + <define name="vectorproduct_linalg1_elt" combine="choice"> + <element name="m:vectorproduct"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="scalarproduct_linalg1_elt"/> + </define> + <define name="scalarproduct_linalg1_elt" combine="choice"> + <element name="m:scalarproduct"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="scalarproduct_linalg1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="outerproduct_linalg1_elt"/> + </define> + <define name="outerproduct_linalg1_elt" combine="choice"> + <element name="m:outerproduct"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="outerproduct_linalg1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="transpose_linalg1_elt"/> + </define> + <define name="transpose_linalg1_elt" combine="choice"> + <element name="m:transpose"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="determinant_linalg1_elt"/> + </define> + <define name="determinant_linalg1_elt" combine="choice"> + <element name="m:determinant"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="vector_selector_linalg1_elt"/> + </define> + <define name="vector_selector_linalg1_elt" combine="choice"> + <element name="m:selector"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="vector_linalg2_elt"/> + </define> + <define name="vector_linalg2_elt" combine="choice"> + <element name="m:vector"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>row</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="vector_linalg2_elt" combine="choice"> + <element name="m:vector"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>row</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="vector_linalg2_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="matrixrow_linalg2_elt"/> + </define> + <define name="matrixrow_linalg2_elt" combine="choice"> + <element name="m:matrixrow"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="matrixrow_linalg2_elt" combine="choice"> + <element name="m:matrixrow"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="matrixrow_linalg2_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="matrix_linalg2_elt"/> + </define> + <define name="matrix_linalg2_elt" combine="choice"> + <element name="m:matrix"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>real</value> + <value>complex</value> + <value>integer</value> + <value>symbolic</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="matrix_linalg2_elt" combine="choice"> + <element name="m:matrix"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>real</value> + <value>complex</value> + <value>integer</value> + <value>symbolic</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="matrix_linalg2_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="vector_linalg3_elt"/> + </define> + <define name="vector_linalg3_elt" combine="choice"> + <element name="m:vector"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>column</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="vector_linalg3_elt" combine="choice"> + <element name="m:vector"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>column</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="vector_linalg3_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="matrixcolumn_linalg3_elt"/> + </define> + <define name="matrixcolumn_linalg3_elt" combine="choice"> + <element name="m:matrixcolumn"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="matrix_linalg3_elt"/> + </define> + <define name="matrix_linalg3_elt" combine="choice"> + <element name="m:matrix"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="vector_linalg6_elt"/> + </define> + <define name="vector_linalg6_elt" combine="choice"> + <element name="m:vector"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>row</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="vector_linalg6_elt" combine="choice"> + <element name="m:vector"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>row</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="vector_linalg6_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="matrix_linalg6_elt"/> + </define> + <define name="matrix_linalg6_elt" combine="choice"> + <element name="m:matrix"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>real</value> + <value>complex</value> + <value>integer</value> + <value>symbolic</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="matrix_linalg6_elt" combine="choice"> + <element name="m:matrix"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>real</value> + <value>complex</value> + <value>integer</value> + <value>symbolic</value> + <ref name="MathMLType"/> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="matrix_linalg6_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="list_list1_elt"/> + </define> + <define name="list_list1_elt" combine="choice"> + <element name="m:list"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="order"> + <choice> + <value>lexicographic</value> + <value>numeric</value> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="list_list1_elt" combine="choice"> + <element name="m:list"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="order"> + <choice> + <value>lexicographic</value> + <value>numeric</value> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="list_list1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="list_selector_list2_elt"/> + </define> + <define name="list_selector_list2_elt" combine="choice"> + <element name="m:selector"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="equivalent_logic1_elt"/> + </define> + <define name="equivalent_logic1_elt" combine="choice"> + <element name="m:equivalent"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="equivalent_logic1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="not_logic1_elt"/> + </define> + <define name="not_logic1_elt" combine="choice"> + <element name="m:not"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="and_logic1_elt"/> + </define> + <define name="and_logic1_elt" combine="choice"> + <element name="m:and"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="and_logic1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="xor_logic1_elt"/> + </define> + <define name="xor_logic1_elt" combine="choice"> + <element name="m:xor"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="xor_logic1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="or_logic1_elt"/> + </define> + <define name="or_logic1_elt" combine="choice"> + <element name="m:or"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="or_logic1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="implies_logic1_elt"/> + </define> + <define name="implies_logic1_elt" combine="choice"> + <element name="m:implies"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="true_logic1_elt"/> + </define> + <define name="true_logic1_elt" combine="choice"> + <element name="m:true"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="false_logic1_elt"/> + </define> + <define name="false_logic1_elt" combine="choice"> + <element name="m:false"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.semantic-attribution" combine="choice"> + <ref name="type_mathmltypes_elt"/> + </define> + <define name="type_mathmltypes_elt" combine="choice"> + <element name="m:type"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="min_minmax1_elt"/> + </define> + <define name="min_minmax1_elt" combine="choice"> + <element name="m:min"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="min_minmax1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="max_minmax1_elt"/> + </define> + <define name="max_minmax1_elt" combine="choice"> + <element name="m:max"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="max_minmax1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="cartesian_product_multiset1_elt"/> + </define> + <define name="cartesian_product_multiset1_elt" combine="choice"> + <element name="m:cartesianproduct"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="cartesian_product_multiset1_elt"/> + </define> + <define name="opel.constant" combine="choice"> + <ref name="emptyset_multiset1_elt"/> + </define> + <define name="emptyset_multiset1_elt" combine="choice"> + <element name="m:emptyset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="map_multiset1_elt"/> + </define> + <define name="map_multiset1_elt" combine="choice"> + <element name="m:map"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="size_multiset1_elt"/> + </define> + <define name="size_multiset1_elt" combine="choice"> + <element name="m:card"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="suchthat_multiset1_elt"/> + </define> + <define name="suchthat_multiset1_elt" combine="choice"> + <element name="m:suchthat"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="multiset_multiset1_elt"/> + </define> + <define name="multiset_multiset1_elt" combine="choice"> + <element name="m:multiset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="multiset_multiset1_elt" combine="choice"> + <element name="m:multiset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="multiset_multiset1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="intersect_multiset1_elt"/> + </define> + <define name="intersect_multiset1_elt" combine="choice"> + <element name="m:intersect"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="intersect_multiset1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="union_multiset1_elt"/> + </define> + <define name="union_multiset1_elt" combine="choice"> + <element name="m:union"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="union_multiset1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="setdiff_multiset1_elt"/> + </define> + <define name="setdiff_multiset1_elt" combine="choice"> + <element name="m:setdiff"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="subset_multiset1_elt"/> + </define> + <define name="subset_multiset1_elt" combine="choice"> + <element name="m:subset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="subset_multiset1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="in_multiset1_elt"/> + </define> + <define name="in_multiset1_elt" combine="choice"> + <element name="m:in"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="notin_multiset1_elt"/> + </define> + <define name="notin_multiset1_elt" combine="choice"> + <element name="m:notin"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="prsubset_multiset1_elt"/> + </define> + <define name="prsubset_multiset1_elt" combine="choice"> + <element name="m:prsubset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="prsubset_multiset1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="notsubset_multiset1_elt"/> + </define> + <define name="notsubset_multiset1_elt" combine="choice"> + <element name="m:notsubset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="notprsubset_multiset1_elt"/> + </define> + <define name="notprsubset_multiset1_elt" combine="choice"> + <element name="m:notprsubset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <attribute name="type"> + <value>multiset</value> + </attribute> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="rational_nums1_elt"/> + </define> + <define name="rational_nums1_elt" combine="choice"> + <element name="m:rational"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="infinity_nums1_elt"/> + </define> + <define name="infinity_nums1_elt" combine="choice"> + <element name="m:infinity"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="e_nums1_elt"/> + </define> + <define name="e_nums1_elt" combine="choice"> + <element name="m:exponentiale"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="i_nums1_elt"/> + </define> + <define name="i_nums1_elt" combine="choice"> + <element name="m:imaginaryi"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="pi_nums1_elt"/> + </define> + <define name="pi_nums1_elt" combine="choice"> + <element name="m:pi"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="gamma_nums1_elt"/> + </define> + <define name="gamma_nums1_elt" combine="choice"> + <element name="m:eulergamma"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="NaN_nums1_elt"/> + </define> + <define name="NaN_nums1_elt" combine="choice"> + <element name="m:notanumber"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="omtype_omtypes_elt"/> + </define> + <define name="omtype_omtypes_elt" combine="choice"> + <element name="m:omtype"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="integer_omtypes_elt"/> + </define> + <define name="integer_omtypes_elt" combine="choice"> + <element name="m:integer"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="float_omtypes_elt"/> + </define> + <define name="float_omtypes_elt" combine="choice"> + <element name="m:float"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="string_omtypes_elt"/> + </define> + <define name="string_omtypes_elt" combine="choice"> + <element name="m:string"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="bytearray_omtypes_elt"/> + </define> + <define name="bytearray_omtypes_elt" combine="choice"> + <element name="m:bytearray"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="piecewise_piece1_elt"/> + </define> + <define name="piecewise_piece1_elt" combine="choice"> + <element name="m:piecewise"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="piecewise_piece1_elt" combine="choice"> + <element name="m:piecewise"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="piecewise_piece1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="piece_piece1_elt"/> + </define> + <define name="piece_piece1_elt" combine="choice"> + <element name="m:piece"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="piece_piece1_elt" combine="choice"> + <element name="m:piece"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="piece_piece1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="otherwise_piece1_elt"/> + </define> + <define name="otherwise_piece1_elt" combine="choice"> + <element name="m:otherwise"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="otherwise_piece1_elt" combine="choice"> + <element name="m:otherwise"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="otherwise_piece1_elt"/> + </define> + <define name="opel.binder" combine="choice"> + <ref name="forall_quant1_elt"/> + </define> + <define name="forall_quant1_elt" combine="choice"> + <element name="m:forall"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="exists_quant1_elt"/> + </define> + <define name="exists_quant1_elt" combine="choice"> + <element name="m:exists"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="eq_relation1_elt"/> + </define> + <define name="eq_relation1_elt" combine="choice"> + <element name="m:eq"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="eq_relation1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="lt_relation1_elt"/> + </define> + <define name="lt_relation1_elt" combine="choice"> + <element name="m:lt"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="lt_relation1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="gt_relation1_elt"/> + </define> + <define name="gt_relation1_elt" combine="choice"> + <element name="m:gt"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="gt_relation1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="neq_relation1_elt"/> + </define> + <define name="neq_relation1_elt" combine="choice"> + <element name="m:neq"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="leq_relation1_elt"/> + </define> + <define name="leq_relation1_elt" combine="choice"> + <element name="m:leq"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="leq_relation1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="geq_relation1_elt"/> + </define> + <define name="geq_relation1_elt" combine="choice"> + <element name="m:geq"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="geq_relation1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="approx_relation1_elt"/> + </define> + <define name="approx_relation1_elt" combine="choice"> + <element name="m:approx"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="approx_relation1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="ceiling_rounding1_elt"/> + </define> + <define name="ceiling_rounding1_elt" combine="choice"> + <element name="m:ceiling"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="floor_rounding1_elt"/> + </define> + <define name="floor_rounding1_elt" combine="choice"> + <element name="m:floor"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <ref name="MathMLType"/> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="trunc_rounding1_elt"/> + </define> + <define name="trunc_rounding1_elt" combine="choice"> + <element name="m:trunc"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="round_rounding1_elt"/> + </define> + <define name="round_rounding1_elt" combine="choice"> + <element name="m:round"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="mean_s_data1_elt"/> + </define> + <define name="mean_s_data1_elt" combine="choice"> + <element name="m:mean"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="sdev_s_data1_elt"/> + </define> + <define name="sdev_s_data1_elt" combine="choice"> + <element name="m:sdev"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="variance_s_data1_elt"/> + </define> + <define name="variance_s_data1_elt" combine="choice"> + <element name="m:variance"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="mode_s_data1_elt"/> + </define> + <define name="mode_s_data1_elt" combine="choice"> + <element name="m:mode"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="median_s_data1_elt"/> + </define> + <define name="median_s_data1_elt" combine="choice"> + <element name="m:median"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="moment_s_data1_elt"/> + </define> + <define name="moment_s_data1_elt" combine="choice"> + <element name="m:moment"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="mean_s_dist1_elt"/> + </define> + <define name="mean_s_dist1_elt" combine="choice"> + <element name="m:mean"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="sdev_s_dist1_elt"/> + </define> + <define name="sdev_s_dist1_elt" combine="choice"> + <element name="m:sdev"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="variance_s_dist1_elt"/> + </define> + <define name="variance_s_dist1_elt" combine="choice"> + <element name="m:variance"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="moment_s_dist1_elt"/> + </define> + <define name="moment_s_dist1_elt" combine="choice"> + <element name="m:moment"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="cartesian_product_set1_elt"/> + </define> + <define name="cartesian_product_set1_elt" combine="choice"> + <element name="m:cartesianproduct"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="cartesian_product_set1_elt"/> + </define> + <define name="opel.constant" combine="choice"> + <ref name="emptyset_set1_elt"/> + </define> + <define name="emptyset_set1_elt" combine="choice"> + <element name="m:emptyset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="map_set1_elt"/> + </define> + <define name="map_set1_elt" combine="choice"> + <element name="m:map"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="size_set1_elt"/> + </define> + <define name="size_set1_elt" combine="choice"> + <element name="m:card"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="suchthat_set1_elt"/> + </define> + <define name="suchthat_set1_elt" combine="choice"> + <element name="m:suchthat"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="set_set1_elt"/> + </define> + <define name="set_set1_elt" combine="choice"> + <element name="m:set"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="set_set1_elt" combine="choice"> + <element name="m:set"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="container" combine="choice"> + <ref name="set_set1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="intersect_set1_elt"/> + </define> + <define name="intersect_set1_elt" combine="choice"> + <element name="m:intersect"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="intersect_set1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="union_set1_elt"/> + </define> + <define name="union_set1_elt" combine="choice"> + <element name="m:union"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="union_set1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="setdiff_set1_elt"/> + </define> + <define name="setdiff_set1_elt" combine="choice"> + <element name="m:setdiff"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="subset_set1_elt"/> + </define> + <define name="subset_set1_elt" combine="choice"> + <element name="m:subset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="subset_set1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="in_set1_elt"/> + </define> + <define name="in_set1_elt" combine="choice"> + <element name="m:in"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="notin_set1_elt"/> + </define> + <define name="notin_set1_elt" combine="choice"> + <element name="m:notin"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="prsubset_set1_elt"/> + </define> + <define name="prsubset_set1_elt" combine="choice"> + <element name="m:prsubset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.binder" combine="choice"> + <ref name="prsubset_set1_elt"/> + </define> + <define name="opel.application" combine="choice"> + <ref name="notsubset_set1_elt"/> + </define> + <define name="notsubset_set1_elt" combine="choice"> + <element name="m:notsubset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="notprsubset_set1_elt"/> + </define> + <define name="notprsubset_set1_elt" combine="choice"> + <element name="m:notprsubset"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>normal</value> + <value>multiset</value> + </choice> + </attribute> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="P_setname1_elt"/> + </define> + <define name="P_setname1_elt" combine="choice"> + <element name="m:primes"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="N_setname1_elt"/> + </define> + <define name="N_setname1_elt" combine="choice"> + <element name="m:naturalnumbers"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="Z_setname1_elt"/> + </define> + <define name="Z_setname1_elt" combine="choice"> + <element name="m:integers"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="rationials_setname1_elt"/> + </define> + <define name="rationials_setname1_elt" combine="choice"> + <element name="m:rationals"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="R_setname1_elt"/> + </define> + <define name="R_setname1_elt" combine="choice"> + <element name="m:reals"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.constant" combine="choice"> + <ref name="complexes_setname1_elt"/> + </define> + <define name="complexes_setname1_elt" combine="choice"> + <element name="m:complexes"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="log_transc1_elt"/> + </define> + <define name="log_transc1_elt" combine="choice"> + <element name="m:log"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="ln_transc1_elt"/> + </define> + <define name="ln_transc1_elt" combine="choice"> + <element name="m:ln"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="exp_transc1_elt"/> + </define> + <define name="exp_transc1_elt" combine="choice"> + <element name="m:exp"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="sin_transc1_elt"/> + </define> + <define name="sin_transc1_elt" combine="choice"> + <element name="m:sin"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="cos_transc1_elt"/> + </define> + <define name="cos_transc1_elt" combine="choice"> + <element name="m:cos"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="tan_transc1_elt"/> + </define> + <define name="tan_transc1_elt" combine="choice"> + <element name="m:tan"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="sec_transc1_elt"/> + </define> + <define name="sec_transc1_elt" combine="choice"> + <element name="m:sec"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="csc_transc1_elt"/> + </define> + <define name="csc_transc1_elt" combine="choice"> + <element name="m:csc"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="cot_transc1_elt"/> + </define> + <define name="cot_transc1_elt" combine="choice"> + <element name="m:cot"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="sinh_transc1_elt"/> + </define> + <define name="sinh_transc1_elt" combine="choice"> + <element name="m:sinh"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="cosh_transc1_elt"/> + </define> + <define name="cosh_transc1_elt" combine="choice"> + <element name="m:cosh"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="tanh_transc1_elt"/> + </define> + <define name="tanh_transc1_elt" combine="choice"> + <element name="m:tanh"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="sech_transc1_elt"/> + </define> + <define name="sech_transc1_elt" combine="choice"> + <element name="m:sech"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="csch_transc1_elt"/> + </define> + <define name="csch_transc1_elt" combine="choice"> + <element name="m:csch"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="coth_transc1_elt"/> + </define> + <define name="coth_transc1_elt" combine="choice"> + <element name="m:coth"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arcsin_transc1_elt"/> + </define> + <define name="arcsin_transc1_elt" combine="choice"> + <element name="m:arcsin"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arccos_transc1_elt"/> + </define> + <define name="arccos_transc1_elt" combine="choice"> + <element name="m:arccos"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arctan_transc1_elt"/> + </define> + <define name="arctan_transc1_elt" combine="choice"> + <element name="m:arctan"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arcsec_transc1_elt"/> + </define> + <define name="arcsec_transc1_elt" combine="choice"> + <element name="m:arcsec"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arccsc_transc1_elt"/> + </define> + <define name="arccsc_transc1_elt" combine="choice"> + <element name="m:arccsc"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arccot_transc1_elt"/> + </define> + <define name="arccot_transc1_elt" combine="choice"> + <element name="m:arccot"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arcsinh_transc1_elt"/> + </define> + <define name="arcsinh_transc1_elt" combine="choice"> + <element name="m:arcsinh"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arccosh_transc1_elt"/> + </define> + <define name="arccosh_transc1_elt" combine="choice"> + <element name="m:arccosh"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arctanh_transc1_elt"/> + </define> + <define name="arctanh_transc1_elt" combine="choice"> + <element name="m:arctanh"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arcsech_transc1_elt"/> + </define> + <define name="arcsech_transc1_elt" combine="choice"> + <element name="m:arcsech"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arccsch_transc1_elt"/> + </define> + <define name="arccsch_transc1_elt" combine="choice"> + <element name="m:arccsch"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="arccoth_transc1_elt"/> + </define> + <define name="arccoth_transc1_elt" combine="choice"> + <element name="m:arccoth"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="divergence_veccalc1_elt"/> + </define> + <define name="divergence_veccalc1_elt" combine="choice"> + <element name="m:divergence"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="grad_veccalc1_elt"/> + </define> + <define name="grad_veccalc1_elt" combine="choice"> + <element name="m:grad"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="curl_veccalc1_elt"/> + </define> + <define name="curl_veccalc1_elt" combine="choice"> + <element name="m:curl"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> + <define name="opel.application" combine="choice"> + <ref name="Laplacian_veccalc1_elt"/> + </define> + <define name="Laplacian_veccalc1_elt" combine="choice"> + <element name="m:laplacian"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="Definition.attrib"/> + </optional> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-common.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-common.rng new file mode 100644 index 00000000000..612e635a83d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-common.rng @@ -0,0 +1,257 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + This is the Mathematical Markup Language (MathML) 3.0, an XML + application for describing mathematical notation and capturing + both its structure and content. + + Copyright 1998-2009 W3C (MIT, ERCIM, Keio) + + Use and distribution of this code are permitted under the terms + W3C Software Notice and License + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +--> +<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <ref name="math"/> + </start> + <define name="math"> + <element name="math"> + <ref name="math.attributes"/> + <zeroOrMore> + <ref name="MathExpression"/> + </zeroOrMore> + </element> + </define> + <define name="MathExpression"> + <ref name="semantics"/> + </define> + <define name="NonMathMLAtt"> + <attribute> + <anyName> + <except> + <nsName ns=""/> + <nsName/> + </except> + </anyName> + <data type="string"/> + </attribute> + </define> + <define name="CommonDeprecatedAtt"> + <optional> + <attribute name="other"/> + </optional> + </define> + <define name="CommonAtt"> + <optional> + <attribute name="id"> + <data type="ID"/> + </attribute> + </optional> + <optional> + <attribute name="xref"/> + </optional> + <optional> + <attribute name="class"> + <data type="NMTOKENS"/> + </attribute> + </optional> + <optional> + <attribute name="style"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="href"> + <data type="anyURI"/> + </attribute> + </optional> + <ref name="CommonDeprecatedAtt"/> + <zeroOrMore> + <ref name="NonMathMLAtt"/> + </zeroOrMore> + </define> + <define name="math.attributes"> + <ref name="CommonAtt"/> + <optional> + <attribute name="display"> + <choice> + <value>block</value> + <value>inline</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="maxwidth"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="overflow"> + <choice> + <value>linebreak</value> + <value>scroll</value> + <value>elide</value> + <value>truncate</value> + <value>scale</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="altimg"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="altimg-width"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="altimg-height"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="altimg-valign"> + <choice> + <ref name="length"/> + <value>top</value> + <value>middle</value> + <value>bottom</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="alttext"/> + </optional> + <optional> + <attribute name="cdgroup"> + <data type="anyURI"/> + </attribute> + </optional> + <ref name="math.deprecatedattributes"/> + </define> + <!-- + the mathml3-presentation schema adds additional attributes + to the math element, all those valid on mstyle + --> + <define name="math.deprecatedattributes"> + <optional> + <attribute name="mode"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="macros"> + <data type="string"/> + </attribute> + </optional> + </define> + <define name="name"> + <attribute name="name"> + <data type="NCName"/> + </attribute> + </define> + <define name="cd"> + <attribute name="cd"> + <data type="NCName"/> + </attribute> + </define> + <define name="src"> + <optional> + <attribute name="src"> + <data type="anyURI"/> + </attribute> + </optional> + </define> + <define name="annotation"> + <element name="annotation"> + <ref name="annotation.attributes"/> + <text/> + </element> + </define> + <define name="annotation-xml.model"> + <zeroOrMore> + <choice> + <ref name="MathExpression"/> + <ref name="anyElement"/> + </choice> + </zeroOrMore> + </define> + <define name="anyElement"> + <element> + <anyName> + <except> + <nsName/> + </except> + </anyName> + <zeroOrMore> + <choice> + <attribute> + <anyName/> + </attribute> + <text/> + <ref name="anyElement"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="annotation-xml"> + <element name="annotation-xml"> + <ref name="annotation.attributes"/> + <ref name="annotation-xml.model"/> + </element> + </define> + <define name="annotation.attributes"> + <ref name="CommonAtt"/> + <optional> + <ref name="cd"/> + </optional> + <optional> + <ref name="name"/> + </optional> + <ref name="DefEncAtt"/> + <optional> + <ref name="src"/> + </optional> + </define> + <define name="DefEncAtt"> + <optional> + <attribute name="encoding"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="definitionURL"> + <data type="anyURI"/> + </attribute> + </optional> + </define> + <define name="semantics"> + <element name="semantics"> + <ref name="semantics.attributes"/> + <ref name="MathExpression"/> + <zeroOrMore> + <choice> + <ref name="annotation"/> + <ref name="annotation-xml"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="semantics.attributes"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <optional> + <ref name="cd"/> + </optional> + <optional> + <ref name="name"/> + </optional> + </define> + <define name="length"> + <data type="string"> + <param name="pattern">\s*((-?[0-9]*(\.[0-9]*)?(e[mx]|in|cm|mm|p[xtc]|%)?)|(negative)?((very){0,2}thi(n|ck)|medium)mathspace)\s*</param> + </data> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-content.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-content.rng new file mode 100644 index 00000000000..f32cf7b023b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-content.rng @@ -0,0 +1,1543 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- + This is the Mathematical Markup Language (MathML) 3.0, an XML + application for describing mathematical notation and capturing + both its structure and content. + + Copyright 1998-2010 W3C (MIT, ERCIM, Keio) + + Use and distribution of this code are permitted under the terms + W3C Software Notice and License + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + --> + <include href="mathml3-strict-content.rng"> + <define name="cn.content"> + <zeroOrMore> + <choice> + <text/> + <ref name="mglyph"/> + <ref name="sep"/> + <ref name="PresentationExpression"/> + </choice> + </zeroOrMore> + </define> + <define name="cn.attributes"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <optional> + <attribute name="type"/> + </optional> + <optional> + <ref name="base"/> + </optional> + </define> + <define name="ci.attributes"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <optional> + <ref name="ci.type"/> + </optional> + </define> + <define name="ci.type"> + <attribute name="type"/> + </define> + <define name="ci.content"> + <zeroOrMore> + <choice> + <text/> + <ref name="mglyph"/> + <ref name="PresentationExpression"/> + </choice> + </zeroOrMore> + </define> + <define name="csymbol.attributes"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <optional> + <attribute name="type"/> + </optional> + <optional> + <ref name="cd"/> + </optional> + </define> + <define name="csymbol.content"> + <zeroOrMore> + <choice> + <text/> + <ref name="mglyph"/> + <ref name="PresentationExpression"/> + </choice> + </zeroOrMore> + </define> + <define name="bvar"> + <element name="bvar"> + <interleave> + <choice> + <ref name="ci"/> + <ref name="semantics-ci"/> + </choice> + <optional> + <ref name="degree"/> + </optional> + </interleave> + </element> + </define> + <define name="cbytes.attributes"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + </define> + <define name="cs.attributes"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + </define> + <define name="apply.content"> + <choice> + <oneOrMore> + <ref name="ContExp"/> + </oneOrMore> + <group> + <ref name="ContExp"/> + <ref name="BvarQ"/> + <zeroOrMore> + <ref name="Qualifier"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </group> + </choice> + </define> + <define name="bind.content"> + <ref name="apply.content"/> + </define> + </include> + <define name="base"> + <attribute name="base"/> + </define> + <define name="sep"> + <element name="sep"> + <empty/> + </element> + </define> + <define name="PresentationExpression" combine="choice"> + <notAllowed/> + </define> + <define name="DomainQ"> + <zeroOrMore> + <choice> + <ref name="domainofapplication"/> + <ref name="condition"/> + <ref name="interval"/> + <group> + <ref name="lowlimit"/> + <optional> + <ref name="uplimit"/> + </optional> + </group> + </choice> + </zeroOrMore> + </define> + <define name="domainofapplication"> + <element name="domainofapplication"> + <ref name="ContExp"/> + </element> + </define> + <define name="condition"> + <element name="condition"> + <ref name="ContExp"/> + </element> + </define> + <define name="uplimit"> + <element name="uplimit"> + <ref name="ContExp"/> + </element> + </define> + <define name="lowlimit"> + <element name="lowlimit"> + <ref name="ContExp"/> + </element> + </define> + <define name="Qualifier"> + <choice> + <ref name="DomainQ"/> + <ref name="degree"/> + <ref name="momentabout"/> + <ref name="logbase"/> + </choice> + </define> + <define name="degree"> + <element name="degree"> + <ref name="ContExp"/> + </element> + </define> + <define name="momentabout"> + <element name="momentabout"> + <ref name="ContExp"/> + </element> + </define> + <define name="logbase"> + <element name="logbase"> + <ref name="ContExp"/> + </element> + </define> + <define name="type"> + <attribute name="type"/> + </define> + <define name="order"> + <attribute name="order"> + <choice> + <value>numeric</value> + <value>lexicographic</value> + </choice> + </attribute> + </define> + <define name="closure"> + <attribute name="closure"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="piecewise"/> + </define> + <define name="piecewise"> + <element name="piecewise"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <interleave> + <zeroOrMore> + <ref name="piece"/> + </zeroOrMore> + <optional> + <ref name="otherwise"/> + </optional> + </interleave> + </element> + </define> + <define name="piece"> + <element name="piece"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <ref name="ContExp"/> + <ref name="ContExp"/> + </element> + </define> + <define name="otherwise"> + <element name="otherwise"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <ref name="ContExp"/> + </element> + </define> + <define name="DeprecatedContExp"> + <choice> + <ref name="reln"/> + <ref name="fn"/> + <ref name="declare"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="DeprecatedContExp"/> + </define> + <define name="reln"> + <element name="reln"> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="fn"> + <element name="fn"> + <ref name="ContExp"/> + </element> + </define> + <define name="declare"> + <element name="declare"> + <optional> + <attribute name="type"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="scope"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="nargs"> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <attribute name="occurrence"> + <choice> + <value>prefix</value> + <value>infix</value> + <value>function-model</value> + </choice> + </attribute> + </optional> + <ref name="DefEncAtt"/> + <oneOrMore> + <ref name="ContExp"/> + </oneOrMore> + </element> + </define> + <define name="interval.class"> + <ref name="interval"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="interval.class"/> + </define> + <define name="interval"> + <element name="interval"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <optional> + <ref name="closure"/> + </optional> + <ref name="ContExp"/> + <ref name="ContExp"/> + </element> + </define> + <define name="unary-functional.class"> + <choice> + <ref name="inverse"/> + <ref name="ident"/> + <ref name="domain"/> + <ref name="codomain"/> + <ref name="image"/> + <ref name="ln"/> + <ref name="log"/> + <ref name="moment"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="unary-functional.class"/> + </define> + <define name="inverse"> + <element name="inverse"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="ident"> + <element name="ident"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="domain"> + <element name="domain"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="codomain"> + <element name="codomain"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="image"> + <element name="image"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="ln"> + <element name="ln"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="log"> + <element name="log"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="moment"> + <element name="moment"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="lambda.class"> + <ref name="lambda"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="lambda.class"/> + </define> + <define name="lambda"> + <element name="lambda"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <ref name="BvarQ"/> + <ref name="DomainQ"/> + <ref name="ContExp"/> + </element> + </define> + <define name="nary-functional.class"> + <ref name="compose"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-functional.class"/> + </define> + <define name="compose"> + <element name="compose"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="binary-arith.class"> + <choice> + <ref name="quotient"/> + <ref name="divide"/> + <ref name="minus"/> + <ref name="power"/> + <ref name="rem"/> + <ref name="root"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="binary-arith.class"/> + </define> + <define name="quotient"> + <element name="quotient"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="divide"> + <element name="divide"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="minus"> + <element name="minus"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="power"> + <element name="power"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="rem"> + <element name="rem"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="root"> + <element name="root"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="unary-arith.class"> + <choice> + <ref name="factorial"/> + <ref name="minus"/> + <ref name="root"/> + <ref name="abs"/> + <ref name="conjugate"/> + <ref name="arg"/> + <ref name="real"/> + <ref name="imaginary"/> + <ref name="floor"/> + <ref name="ceiling"/> + <ref name="exp"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="unary-arith.class"/> + </define> + <define name="factorial"> + <element name="factorial"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="abs"> + <element name="abs"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="conjugate"> + <element name="conjugate"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arg"> + <element name="arg"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="real"> + <element name="real"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="imaginary"> + <element name="imaginary"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="floor"> + <element name="floor"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="ceiling"> + <element name="ceiling"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="exp"> + <element name="exp"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-minmax.class"> + <choice> + <ref name="max"/> + <ref name="min"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-minmax.class"/> + </define> + <define name="max"> + <element name="max"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="min"> + <element name="min"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-arith.class"> + <choice> + <ref name="plus"/> + <ref name="times"/> + <ref name="gcd"/> + <ref name="lcm"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-arith.class"/> + </define> + <define name="plus"> + <element name="plus"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="times"> + <element name="times"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="gcd"> + <element name="gcd"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="lcm"> + <element name="lcm"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-logical.class"> + <choice> + <ref name="and"/> + <ref name="or"/> + <ref name="xor"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-logical.class"/> + </define> + <define name="and"> + <element name="and"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="or"> + <element name="or"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="xor"> + <element name="xor"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="unary-logical.class"> + <ref name="not"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="unary-logical.class"/> + </define> + <define name="not"> + <element name="not"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="binary-logical.class"> + <choice> + <ref name="implies"/> + <ref name="equivalent"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="binary-logical.class"/> + </define> + <define name="implies"> + <element name="implies"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="equivalent"> + <element name="equivalent"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="quantifier.class"> + <choice> + <ref name="forall"/> + <ref name="exists"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="quantifier.class"/> + </define> + <define name="forall"> + <element name="forall"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="exists"> + <element name="exists"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-reln.class"> + <choice> + <ref name="eq"/> + <ref name="gt"/> + <ref name="lt"/> + <ref name="geq"/> + <ref name="leq"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-reln.class"/> + </define> + <define name="eq"> + <element name="eq"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="gt"> + <element name="gt"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="lt"> + <element name="lt"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="geq"> + <element name="geq"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="leq"> + <element name="leq"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="binary-reln.class"> + <choice> + <ref name="neq"/> + <ref name="approx"/> + <ref name="factorof"/> + <ref name="tendsto"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="binary-reln.class"/> + </define> + <define name="neq"> + <element name="neq"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="approx"> + <element name="approx"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="factorof"> + <element name="factorof"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="tendsto"> + <element name="tendsto"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <optional> + <ref name="type"/> + </optional> + <empty/> + </element> + </define> + <define name="int.class"> + <ref name="int"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="int.class"/> + </define> + <define name="int"> + <element name="int"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="Differential-Operator.class"> + <ref name="diff"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="Differential-Operator.class"/> + </define> + <define name="diff"> + <element name="diff"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="partialdiff.class"> + <ref name="partialdiff"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="partialdiff.class"/> + </define> + <define name="partialdiff"> + <element name="partialdiff"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="unary-veccalc.class"> + <choice> + <ref name="divergence"/> + <ref name="grad"/> + <ref name="curl"/> + <ref name="laplacian"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="unary-veccalc.class"/> + </define> + <define name="divergence"> + <element name="divergence"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="grad"> + <element name="grad"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="curl"> + <element name="curl"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="laplacian"> + <element name="laplacian"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-setlist-constructor.class"> + <choice> + <ref name="set"/> + <ref name="list"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-setlist-constructor.class"/> + </define> + <define name="set"> + <element name="set"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <optional> + <ref name="type"/> + </optional> + <zeroOrMore> + <ref name="BvarQ"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DomainQ"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="list"> + <element name="list"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <optional> + <ref name="order"/> + </optional> + <zeroOrMore> + <ref name="BvarQ"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DomainQ"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="nary-set.class"> + <choice> + <ref name="union"/> + <ref name="intersect"/> + <ref name="cartesianproduct"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-set.class"/> + </define> + <define name="union"> + <element name="union"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="intersect"> + <element name="intersect"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="cartesianproduct"> + <element name="cartesianproduct"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="binary-set.class"> + <choice> + <ref name="in"/> + <ref name="notin"/> + <ref name="notsubset"/> + <ref name="notprsubset"/> + <ref name="setdiff"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="binary-set.class"/> + </define> + <define name="in"> + <element name="in"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="notin"> + <element name="notin"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="notsubset"> + <element name="notsubset"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="notprsubset"> + <element name="notprsubset"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="setdiff"> + <element name="setdiff"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-set-reln.class"> + <choice> + <ref name="subset"/> + <ref name="prsubset"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-set-reln.class"/> + </define> + <define name="subset"> + <element name="subset"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="prsubset"> + <element name="prsubset"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="unary-set.class"> + <ref name="card"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="unary-set.class"/> + </define> + <define name="card"> + <element name="card"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="sum.class"> + <ref name="sum"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="sum.class"/> + </define> + <define name="sum"> + <element name="sum"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="product.class"> + <ref name="product"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="product.class"/> + </define> + <define name="product"> + <element name="product"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="limit.class"> + <ref name="limit"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="limit.class"/> + </define> + <define name="limit"> + <element name="limit"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="unary-elementary.class"> + <choice> + <ref name="sin"/> + <ref name="cos"/> + <ref name="tan"/> + <ref name="sec"/> + <ref name="csc"/> + <ref name="cot"/> + <ref name="sinh"/> + <ref name="cosh"/> + <ref name="tanh"/> + <ref name="sech"/> + <ref name="csch"/> + <ref name="coth"/> + <ref name="arcsin"/> + <ref name="arccos"/> + <ref name="arctan"/> + <ref name="arccosh"/> + <ref name="arccot"/> + <ref name="arccoth"/> + <ref name="arccsc"/> + <ref name="arccsch"/> + <ref name="arcsec"/> + <ref name="arcsech"/> + <ref name="arcsinh"/> + <ref name="arctanh"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="unary-elementary.class"/> + </define> + <define name="sin"> + <element name="sin"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="cos"> + <element name="cos"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="tan"> + <element name="tan"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="sec"> + <element name="sec"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="csc"> + <element name="csc"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="cot"> + <element name="cot"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="sinh"> + <element name="sinh"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="cosh"> + <element name="cosh"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="tanh"> + <element name="tanh"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="sech"> + <element name="sech"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="csch"> + <element name="csch"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="coth"> + <element name="coth"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arcsin"> + <element name="arcsin"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arccos"> + <element name="arccos"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arctan"> + <element name="arctan"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arccosh"> + <element name="arccosh"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arccot"> + <element name="arccot"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arccoth"> + <element name="arccoth"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arccsc"> + <element name="arccsc"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arccsch"> + <element name="arccsch"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arcsec"> + <element name="arcsec"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arcsech"> + <element name="arcsech"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arcsinh"> + <element name="arcsinh"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="arctanh"> + <element name="arctanh"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-stats.class"> + <choice> + <ref name="mean"/> + <ref name="sdev"/> + <ref name="variance"/> + <ref name="median"/> + <ref name="mode"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-stats.class"/> + </define> + <define name="mean"> + <element name="mean"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="sdev"> + <element name="sdev"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="variance"> + <element name="variance"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="median"> + <element name="median"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="mode"> + <element name="mode"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-constructor.class"> + <choice> + <ref name="vector"/> + <ref name="matrix"/> + <ref name="matrixrow"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-constructor.class"/> + </define> + <define name="vector"> + <element name="vector"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <ref name="BvarQ"/> + <ref name="DomainQ"/> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="matrix"> + <element name="matrix"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <ref name="BvarQ"/> + <ref name="DomainQ"/> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="matrixrow"> + <element name="matrixrow"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <ref name="BvarQ"/> + <ref name="DomainQ"/> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="unary-linalg.class"> + <choice> + <ref name="determinant"/> + <ref name="transpose"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="unary-linalg.class"/> + </define> + <define name="determinant"> + <element name="determinant"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="transpose"> + <element name="transpose"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="nary-linalg.class"> + <ref name="selector"/> + </define> + <define name="ContExp" combine="choice"> + <ref name="nary-linalg.class"/> + </define> + <define name="selector"> + <element name="selector"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="binary-linalg.class"> + <choice> + <ref name="vectorproduct"/> + <ref name="scalarproduct"/> + <ref name="outerproduct"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="binary-linalg.class"/> + </define> + <define name="vectorproduct"> + <element name="vectorproduct"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="scalarproduct"> + <element name="scalarproduct"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="outerproduct"> + <element name="outerproduct"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="constant-set.class"> + <choice> + <ref name="integers"/> + <ref name="reals"/> + <ref name="rationals"/> + <ref name="naturalnumbers"/> + <ref name="complexes"/> + <ref name="primes"/> + <ref name="emptyset"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="constant-set.class"/> + </define> + <define name="integers"> + <element name="integers"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="reals"> + <element name="reals"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="rationals"> + <element name="rationals"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="naturalnumbers"> + <element name="naturalnumbers"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="complexes"> + <element name="complexes"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="primes"> + <element name="primes"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="emptyset"> + <element name="emptyset"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="constant-arith.class"> + <choice> + <ref name="exponentiale"/> + <ref name="imaginaryi"/> + <ref name="notanumber"/> + <ref name="true"/> + <ref name="false"/> + <ref name="pi"/> + <ref name="eulergamma"/> + <ref name="infinity"/> + </choice> + </define> + <define name="ContExp" combine="choice"> + <ref name="constant-arith.class"/> + </define> + <define name="exponentiale"> + <element name="exponentiale"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="imaginaryi"> + <element name="imaginaryi"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="notanumber"> + <element name="notanumber"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="true"> + <element name="true"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="false"> + <element name="false"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="pi"> + <element name="pi"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="eulergamma"> + <element name="eulergamma"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> + <define name="infinity"> + <element name="infinity"> + <ref name="CommonAtt"/> + <ref name="DefEncAtt"/> + <empty/> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-pragmatic.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-pragmatic.rng new file mode 100644 index 00000000000..c137293e3ca --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-pragmatic.rng @@ -0,0 +1,290 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + This is the Mathematical Markup Language (MathML) 3.0, an XML + application for describing mathematical notation and capturing + both its structure and content. + + Copyright 1998-2008 W3C (MIT, ERCIM, Keio) + + Use and distribution of this code are permitted under the terms + W3C Software Notice and License + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + + + Revision: $Id: mathml3-pragmatic.rnc 8515 2009-08-17 13:51:36Z kohlhase $ + + Update to MathML3 and Relax NG: David Carlisle and Michael Kohlhase + + This is the RelaxNG schema module for the pragmatic content part of + MathML (but without the presentation in token elements). +--> +<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="sep"> + <a:documentation>the content of "cn" may have <sep> elements in it</a:documentation> + <element name="sep"> + <empty/> + </element> + </define> + <define name="cn.content" combine="choice"> + <zeroOrMore> + <choice> + <ref name="sep"/> + <text/> + <ref name="Glyph-alignmark"/> + </choice> + </zeroOrMore> + </define> + <define name="cn.type.vals" combine="choice"> + <choice> + <value>e-notation</value> + <value>rational</value> + <value>complex-cartesian</value> + <value>complex-polar</value> + <value>constant</value> + </choice> + </define> + <define name="degree"> + <a:documentation>allow degree in bvar</a:documentation> + <element name="degree"> + <ref name="MathML.Common.attrib"/> + <ref name="ContExp"/> + </element> + </define> + <define name="logbase"> + <element name="logbase"> + <ref name="MathML.Common.attrib"/> + <ref name="ContExp"/> + </element> + </define> + <define name="momentabout"> + <element name="momentabout"> + <ref name="MathML.Common.attrib"/> + <ref name="ContExp"/> + </element> + </define> + <define name="bvar-head" combine="choice"> + <choice> + <group> + <optional> + <ref name="degree"/> + </optional> + <ref name="ci"/> + </group> + <group> + <ref name="ci"/> + <optional> + <ref name="degree"/> + </optional> + </group> + </choice> + </define> + <define name="apply.content" combine="choice"> + <a:documentation>allow degree to modify <root/></a:documentation> + <ref name="root_arith1_elt"/> + <ref name="degree"/> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </define> + <define name="apply.content" combine="choice"> + <ref name="moment_s_data1_elt"/> + <interleave> + <optional> + <ref name="degree"/> + </optional> + <optional> + <ref name="momentabout"/> + </optional> + </interleave> + <zeroOrMore> + <ref name="ContInPres"/> + </zeroOrMore> + </define> + <define name="apply.content" combine="choice"> + <ref name="log_transc1_elt"/> + <ref name="logbase"/> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </define> + <define name="apply.content" combine="choice"> + <a:documentation>allow apply to act as a binder</a:documentation> + <ref name="bind.content"/> + </define> + <define name="domainofapplication"> + <element name="domainofapplication"> + <ref name="Definition.attrib"/> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <ref name="ContExp"/> + </element> + </define> + <define name="lowlimit"> + <element name="lowlimit"> + <ref name="Definition.attrib"/> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <oneOrMore> + <ref name="ContExp"/> + </oneOrMore> + </element> + </define> + <define name="uplimit"> + <element name="uplimit"> + <ref name="Definition.attrib"/> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <oneOrMore> + <ref name="ContExp"/> + </oneOrMore> + </element> + </define> + <define name="condition"> + <element name="condition"> + <ref name="Definition.attrib"/> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <ref name="ContExp"/> + </element> + </define> + <define name="qualifier" combine="choice"> + <a:documentation>allow the non-strict qualifiers</a:documentation> + <choice> + <ref name="domainofapplication"/> + <group> + <ref name="uplimit"/> + <optional> + <ref name="lowlimit"/> + </optional> + </group> + <group> + <ref name="lowlimit"/> + <optional> + <ref name="uplimit"/> + </optional> + </group> + <ref name="degree"/> + <ref name="condition"/> + </choice> + </define> + <define name="opel.constant"> + <a:documentation>we collect the operator elements by role</a:documentation> + <notAllowed/> + </define> + <define name="opel.binder"> + <notAllowed/> + </define> + <define name="opel.application"> + <notAllowed/> + </define> + <define name="opel.semantic-attribution"> + <notAllowed/> + </define> + <define name="opel.attribution"> + <notAllowed/> + </define> + <define name="opel.error"> + <notAllowed/> + </define> + <define name="opels"> + <choice> + <ref name="opel.constant"/> + <ref name="opel.binder"/> + <ref name="opel.application"/> + <ref name="opel.semantic-attribution"/> + <ref name="opel.attribution"/> + <ref name="opel.error"/> + </choice> + </define> + <define name="container"> + <notAllowed/> + </define> + <define name="MathMLType" combine="choice"> + <a:documentation>the values of the MathML type attributes; </a:documentation> + <choice> + <value>real</value> + <value>complex</value> + <value>function</value> + <value>algebraic</value> + <value>integer</value> + </choice> + </define> + <define name="apply-binder-head"> + <a:documentation>we instantiate the strict content model by structure checking</a:documentation> + <choice> + <ref name="semantics-apply-binder"/> + <ref name="opel.binder"/> + </choice> + </define> + <define name="apply.content" combine="choice"> + <ref name="apply-binder-head"/> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </define> + <define name="semantics-apply-binder"> + <element name="semantics"> + <ref name="semantics.attribs"/> + <ref name="apply-binder-head"/> + <zeroOrMore> + <ref name="semantics-annotation"/> + </zeroOrMore> + </element> + </define> + <define name="apply-head" combine="choice"> + <ref name="opel.application"/> + </define> + <define name="bind-head" combine="choice"> + <ref name="opel.binder"/> + </define> + <define name="cerror-head" combine="choice"> + <ref name="opel.error"/> + </define> + <define name="ContExp" combine="choice"> + <a:documentation>allow all functions, constants, and containers to be content expressions on their own</a:documentation> + <choice> + <ref name="opel.constant"/> + <ref name="opel.application"/> + <ref name="container"/> + </choice> + </define> + <!-- allow no body --> + <define name="bind.content" combine="choice"> + <ref name="bind-head"/> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + </define> + <!-- + not sure what a sequence of things is supposed to map to in strict/OM + but is definitely allowed in pragmatic + see Content/SequencesAndSeries/product/rec-product3 + --> + <define name="math.content" combine="choice"> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </define> + <define name="opel.content" combine="choice"> + <choice> + <ref name="PresExp"/> + <ref name="Glyph-alignmark"/> + </choice> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-presentation.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-presentation.rng new file mode 100644 index 00000000000..047524afda5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-presentation.rng @@ -0,0 +1,2265 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + This is the Mathematical Markup Language (MathML) 3.0, an XML + application for describing mathematical notation and capturing + both its structure and content. + + Copyright 1998-2010 W3C (MIT, ERCIM, Keio) + + Use and distribution of this code are permitted under the terms + W3C Software Notice and License + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +--> +<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="MathExpression" combine="choice"> + <ref name="PresentationExpression"/> + </define> + <define name="ImpliedMrow"> + <zeroOrMore> + <ref name="MathExpression"/> + </zeroOrMore> + </define> + <define name="TableRowExpression"> + <choice> + <ref name="mtr"/> + <ref name="mlabeledtr"/> + </choice> + </define> + <define name="TableCellExpression"> + <ref name="mtd"/> + </define> + <define name="MstackExpression"> + <choice> + <ref name="MathExpression"/> + <ref name="mscarries"/> + <ref name="msline"/> + <ref name="msrow"/> + <ref name="msgroup"/> + </choice> + </define> + <define name="MsrowExpression"> + <choice> + <ref name="MathExpression"/> + <ref name="none"/> + </choice> + </define> + <define name="MultiScriptExpression"> + <choice> + <ref name="MathExpression"/> + <ref name="none"/> + </choice> + <choice> + <ref name="MathExpression"/> + <ref name="none"/> + </choice> + </define> + <define name="mpadded-length"> + <data type="string"> + <param name="pattern">\s*([\+\-]?[0-9]*(\.[0-9]*)?\s*((%?\s*(height|depth|width)?)|e[mx]|in|cm|mm|p[xtc]|((negative)?((very){0,2}thi(n|ck)|medium)mathspace)))\s*</param> + </data> + </define> + <define name="linestyle"> + <choice> + <value>none</value> + <value>solid</value> + <value>dashed</value> + </choice> + </define> + <define name="verticalalign"> + <choice> + <value>top</value> + <value>bottom</value> + <value>center</value> + <value>baseline</value> + <value>axis</value> + </choice> + </define> + <define name="columnalignstyle"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + </choice> + </define> + <define name="notationstyle"> + <choice> + <value>longdiv</value> + <value>actuarial</value> + <value>radical</value> + <value>box</value> + <value>roundedbox</value> + <value>circle</value> + <value>left</value> + <value>right</value> + <value>top</value> + <value>bottom</value> + <value>updiagonalstrike</value> + <value>downdiagonalstrike</value> + <value>verticalstrike</value> + <value>horizontalstrike</value> + <value>madruwb</value> + </choice> + </define> + <define name="idref"> + <text/> + </define> + <define name="unsigned-integer"> + <data type="unsignedLong"/> + </define> + <define name="integer"> + <data type="integer"/> + </define> + <define name="number"> + <data type="decimal"/> + </define> + <define name="character"> + <data type="string"> + <param name="pattern">\s*\S\s*</param> + </data> + </define> + <define name="color"> + <data type="string"> + <param name="pattern">\s*((#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?)|[aA][qQ][uU][aA]|[bB][lL][aA][cC][kK]|[bB][lL][uU][eE]|[fF][uU][cC][hH][sS][iI][aA]|[gG][rR][aA][yY]|[gG][rR][eE][eE][nN]|[lL][iI][mM][eE]|[mM][aA][rR][oO][oO][nN]|[nN][aA][vV][yY]|[oO][lL][iI][vV][eE]|[pP][uU][rR][pP][lL][eE]|[rR][eE][dD]|[sS][iI][lL][vV][eE][rR]|[tT][eE][aA][lL]|[wW][hH][iI][tT][eE]|[yY][eE][lL][lL][oO][wW])\s*</param> + </data> + </define> + <define name="group-alignment"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>decimalpoint</value> + </choice> + </define> + <define name="group-alignment-list"> + <list> + <oneOrMore> + <ref name="group-alignment"/> + </oneOrMore> + </list> + </define> + <define name="group-alignment-list-list"> + <data type="string"> + <param name="pattern">(\s*\{\s*(left|center|right|decimalpoint)(\s+(left|center|right|decimalpoint))*\})*\s*</param> + </data> + </define> + <define name="positive-integer"> + <data type="positiveInteger"/> + </define> + <define name="TokenExpression"> + <choice> + <ref name="mi"/> + <ref name="mn"/> + <ref name="mo"/> + <ref name="mtext"/> + <ref name="mspace"/> + <ref name="ms"/> + </choice> + </define> + <define name="token.content"> + <choice> + <ref name="mglyph"/> + <ref name="malignmark"/> + <text/> + </choice> + </define> + <define name="mi"> + <element name="mi"> + <ref name="mi.attributes"/> + <zeroOrMore> + <ref name="token.content"/> + </zeroOrMore> + </element> + </define> + <define name="mi.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <ref name="TokenAtt"/> + </define> + <define name="mn"> + <element name="mn"> + <ref name="mn.attributes"/> + <zeroOrMore> + <ref name="token.content"/> + </zeroOrMore> + </element> + </define> + <define name="mn.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <ref name="TokenAtt"/> + </define> + <define name="mo"> + <element name="mo"> + <ref name="mo.attributes"/> + <zeroOrMore> + <ref name="token.content"/> + </zeroOrMore> + </element> + </define> + <define name="mo.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <ref name="TokenAtt"/> + <optional> + <attribute name="form"> + <choice> + <value>prefix</value> + <value>infix</value> + <value>postfix</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="fence"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="separator"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="lspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="rspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="stretchy"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="symmetric"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="maxsize"> + <choice> + <ref name="length"/> + <value>infinity</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="minsize"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="largeop"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="movablelimits"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="accent"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="linebreak"> + <choice> + <value>auto</value> + <value>newline</value> + <value>nobreak</value> + <value>goodbreak</value> + <value>badbreak</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="lineleading"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="linebreakstyle"> + <choice> + <value>before</value> + <value>after</value> + <value>duplicate</value> + <value>infixlinebreakstyle</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="linebreakmultchar"/> + </optional> + <optional> + <attribute name="indentalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>auto</value> + <value>id</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indentshift"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="indenttarget"> + <ref name="idref"/> + </attribute> + </optional> + <optional> + <attribute name="indentalignfirst"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>auto</value> + <value>id</value> + <value>indentalign</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indentshiftfirst"> + <choice> + <ref name="length"/> + <value>indentshift</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indentalignlast"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>auto</value> + <value>id</value> + <value>indentalign</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indentshiftlast"> + <choice> + <ref name="length"/> + <value>indentshift</value> + </choice> + </attribute> + </optional> + </define> + <define name="mtext"> + <element name="mtext"> + <ref name="mtext.attributes"/> + <zeroOrMore> + <ref name="token.content"/> + </zeroOrMore> + </element> + </define> + <define name="mtext.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <ref name="TokenAtt"/> + </define> + <define name="mspace"> + <element name="mspace"> + <ref name="mspace.attributes"/> + <empty/> + </element> + </define> + <define name="mspace.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <ref name="TokenAtt"/> + <optional> + <attribute name="width"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="depth"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="linebreak"> + <choice> + <value>auto</value> + <value>newline</value> + <value>nobreak</value> + <value>goodbreak</value> + <value>badbreak</value> + <value>indentingnewline</value> + </choice> + </attribute> + </optional> + </define> + <define name="ms"> + <element name="ms"> + <ref name="ms.attributes"/> + <zeroOrMore> + <ref name="token.content"/> + </zeroOrMore> + </element> + </define> + <define name="ms.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <ref name="TokenAtt"/> + <optional> + <attribute name="lquote"/> + </optional> + <optional> + <attribute name="rquote"/> + </optional> + </define> + <define name="mglyph"> + <element name="mglyph"> + <ref name="mglyph.attributes"/> + <ref name="mglyph.deprecatedattributes"/> + <empty/> + </element> + </define> + <define name="mglyph.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="src"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="valign"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="alt"/> + </optional> + </define> + <define name="mglyph.deprecatedattributes"> + <optional> + <attribute name="index"> + <ref name="integer"/> + </attribute> + </optional> + <optional> + <attribute name="mathvariant"> + <choice> + <value>normal</value> + <value>bold</value> + <value>italic</value> + <value>bold-italic</value> + <value>double-struck</value> + <value>bold-fraktur</value> + <value>script</value> + <value>bold-script</value> + <value>fraktur</value> + <value>sans-serif</value> + <value>bold-sans-serif</value> + <value>sans-serif-italic</value> + <value>sans-serif-bold-italic</value> + <value>monospace</value> + <value>initial</value> + <value>tailed</value> + <value>looped</value> + <value>stretched</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="mathsize"> + <choice> + <value>small</value> + <value>normal</value> + <value>big</value> + <ref name="length"/> + </choice> + </attribute> + </optional> + <ref name="DeprecatedTokenAtt"/> + </define> + <define name="msline"> + <element name="msline"> + <ref name="msline.attributes"/> + <empty/> + </element> + </define> + <define name="msline.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="position"> + <ref name="integer"/> + </attribute> + </optional> + <optional> + <attribute name="length"> + <ref name="unsigned-integer"/> + </attribute> + </optional> + <optional> + <attribute name="leftoverhang"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="rightoverhang"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="mslinethickness"> + <choice> + <ref name="length"/> + <value>thin</value> + <value>medium</value> + <value>thick</value> + </choice> + </attribute> + </optional> + </define> + <define name="none"> + <element name="none"> + <ref name="none.attributes"/> + <empty/> + </element> + </define> + <define name="none.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + </define> + <define name="mprescripts"> + <element name="mprescripts"> + <ref name="mprescripts.attributes"/> + <empty/> + </element> + </define> + <define name="mprescripts.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + </define> + <define name="CommonPresAtt"> + <optional> + <attribute name="mathcolor"> + <ref name="color"/> + </attribute> + </optional> + <optional> + <attribute name="mathbackground"> + <choice> + <ref name="color"/> + <value>transparent</value> + </choice> + </attribute> + </optional> + </define> + <define name="TokenAtt"> + <optional> + <attribute name="mathvariant"> + <choice> + <value>normal</value> + <value>bold</value> + <value>italic</value> + <value>bold-italic</value> + <value>double-struck</value> + <value>bold-fraktur</value> + <value>script</value> + <value>bold-script</value> + <value>fraktur</value> + <value>sans-serif</value> + <value>bold-sans-serif</value> + <value>sans-serif-italic</value> + <value>sans-serif-bold-italic</value> + <value>monospace</value> + <value>initial</value> + <value>tailed</value> + <value>looped</value> + <value>stretched</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="mathsize"> + <choice> + <value>small</value> + <value>normal</value> + <value>big</value> + <ref name="length"/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="dir"> + <choice> + <value>ltr</value> + <value>rtl</value> + </choice> + </attribute> + </optional> + <ref name="DeprecatedTokenAtt"/> + </define> + <define name="DeprecatedTokenAtt"> + <optional> + <attribute name="fontfamily"/> + </optional> + <optional> + <attribute name="fontweight"> + <choice> + <value>normal</value> + <value>bold</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="fontstyle"> + <choice> + <value>normal</value> + <value>italic</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="fontsize"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="color"> + <ref name="color"/> + </attribute> + </optional> + <optional> + <attribute name="background"> + <choice> + <ref name="color"/> + <value>transparent</value> + </choice> + </attribute> + </optional> + </define> + <define name="MalignExpression"> + <choice> + <ref name="maligngroup"/> + <ref name="malignmark"/> + </choice> + </define> + <define name="malignmark"> + <element name="malignmark"> + <ref name="malignmark.attributes"/> + <empty/> + </element> + </define> + <define name="malignmark.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="edge"> + <choice> + <value>left</value> + <value>right</value> + </choice> + </attribute> + </optional> + </define> + <define name="maligngroup"> + <element name="maligngroup"> + <ref name="maligngroup.attributes"/> + <empty/> + </element> + </define> + <define name="maligngroup.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="groupalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>decimalpoint</value> + </choice> + </attribute> + </optional> + </define> + <define name="PresentationExpression"> + <choice> + <ref name="TokenExpression"/> + <ref name="MalignExpression"/> + <ref name="mrow"/> + <ref name="mfrac"/> + <ref name="msqrt"/> + <ref name="mroot"/> + <ref name="mstyle"/> + <ref name="merror"/> + <ref name="mpadded"/> + <ref name="mphantom"/> + <ref name="mfenced"/> + <ref name="menclose"/> + <ref name="msub"/> + <ref name="msup"/> + <ref name="msubsup"/> + <ref name="munder"/> + <ref name="mover"/> + <ref name="munderover"/> + <ref name="mmultiscripts"/> + <ref name="mtable"/> + <ref name="mstack"/> + <ref name="mlongdiv"/> + <ref name="maction"/> + </choice> + </define> + <define name="mrow"> + <element name="mrow"> + <ref name="mrow.attributes"/> + <zeroOrMore> + <ref name="MathExpression"/> + </zeroOrMore> + </element> + </define> + <define name="mrow.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="dir"> + <choice> + <value>ltr</value> + <value>rtl</value> + </choice> + </attribute> + </optional> + </define> + <define name="mfrac"> + <element name="mfrac"> + <ref name="mfrac.attributes"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + </element> + </define> + <define name="mfrac.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="linethickness"> + <choice> + <ref name="length"/> + <value>thin</value> + <value>medium</value> + <value>thick</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="numalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="denomalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="bevelled"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + </define> + <define name="msqrt"> + <element name="msqrt"> + <ref name="msqrt.attributes"/> + <ref name="ImpliedMrow"/> + </element> + </define> + <define name="msqrt.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + </define> + <define name="mroot"> + <element name="mroot"> + <ref name="mroot.attributes"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + </element> + </define> + <define name="mroot.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + </define> + <define name="mstyle"> + <element name="mstyle"> + <ref name="mstyle.attributes"/> + <ref name="ImpliedMrow"/> + </element> + </define> + <define name="mstyle.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <ref name="mstyle.specificattributes"/> + <ref name="mstyle.generalattributes"/> + <ref name="mstyle.deprecatedattributes"/> + </define> + <define name="mstyle.specificattributes"> + <optional> + <attribute name="scriptlevel"> + <ref name="integer"/> + </attribute> + </optional> + <optional> + <attribute name="displaystyle"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="scriptsizemultiplier"> + <ref name="number"/> + </attribute> + </optional> + <optional> + <attribute name="scriptminsize"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="infixlinebreakstyle"> + <choice> + <value>before</value> + <value>after</value> + <value>duplicate</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="decimalpoint"> + <ref name="character"/> + </attribute> + </optional> + </define> + <define name="mstyle.generalattributes"> + <optional> + <attribute name="accent"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="accentunder"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="align"> + <choice> + <value>left</value> + <value>right</value> + <value>center</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="alignmentscope"> + <list> + <oneOrMore> + <choice> + <value>true</value> + <value>false</value> + </choice> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="bevelled"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="charalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="charspacing"> + <choice> + <ref name="length"/> + <value>loose</value> + <value>medium</value> + <value>tight</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="close"/> + </optional> + <optional> + <attribute name="columnalign"> + <list> + <oneOrMore> + <ref name="columnalignstyle"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="columnlines"> + <list> + <oneOrMore> + <ref name="linestyle"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="columnspacing"> + <list> + <oneOrMore> + <ref name="length"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="columnspan"> + <ref name="positive-integer"/> + </attribute> + </optional> + <optional> + <attribute name="columnwidth"> + <list> + <oneOrMore> + <choice> + <value>auto</value> + <ref name="length"/> + <value>fit</value> + </choice> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="crossout"> + <list> + <zeroOrMore> + <choice> + <value>none</value> + <value>updiagonalstrike</value> + <value>downdiagonalstrike</value> + <value>verticalstrike</value> + <value>horizontalstrike</value> + </choice> + </zeroOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="denomalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="depth"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="dir"> + <choice> + <value>ltr</value> + <value>rtl</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="edge"> + <choice> + <value>left</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="equalcolumns"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="equalrows"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="fence"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="form"> + <choice> + <value>prefix</value> + <value>infix</value> + <value>postfix</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="frame"> + <ref name="linestyle"/> + </attribute> + </optional> + <optional> + <attribute name="framespacing"> + <list> + <ref name="length"/> + <ref name="length"/> + </list> + </attribute> + </optional> + <optional> + <attribute name="groupalign"> + <ref name="group-alignment-list-list"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="indentalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>auto</value> + <value>id</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indentalignfirst"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>auto</value> + <value>id</value> + <value>indentalign</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indentalignlast"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>auto</value> + <value>id</value> + <value>indentalign</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indentshift"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="indentshiftfirst"> + <choice> + <ref name="length"/> + <value>indentshift</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indentshiftlast"> + <choice> + <ref name="length"/> + <value>indentshift</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="indenttarget"> + <ref name="idref"/> + </attribute> + </optional> + <optional> + <attribute name="largeop"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="leftoverhang"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="length"> + <ref name="unsigned-integer"/> + </attribute> + </optional> + <optional> + <attribute name="linebreak"> + <choice> + <value>auto</value> + <value>newline</value> + <value>nobreak</value> + <value>goodbreak</value> + <value>badbreak</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="linebreakmultchar"/> + </optional> + <optional> + <attribute name="linebreakstyle"> + <choice> + <value>before</value> + <value>after</value> + <value>duplicate</value> + <value>infixlinebreakstyle</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="lineleading"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="linethickness"> + <choice> + <ref name="length"/> + <value>thin</value> + <value>medium</value> + <value>thick</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="location"> + <choice> + <value>w</value> + <value>nw</value> + <value>n</value> + <value>ne</value> + <value>e</value> + <value>se</value> + <value>s</value> + <value>sw</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="longdivstyle"> + <choice> + <value>lefttop</value> + <value>stackedrightright</value> + <value>mediumstackedrightright</value> + <value>shortstackedrightright</value> + <value>righttop</value> + <value>left/\right</value> + <value>left)(right</value> + <value>:right=right</value> + <value>stackedleftleft</value> + <value>stackedleftlinetop</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="lquote"/> + </optional> + <optional> + <attribute name="lspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="mathsize"> + <choice> + <value>small</value> + <value>normal</value> + <value>big</value> + <ref name="length"/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="mathvariant"> + <choice> + <value>normal</value> + <value>bold</value> + <value>italic</value> + <value>bold-italic</value> + <value>double-struck</value> + <value>bold-fraktur</value> + <value>script</value> + <value>bold-script</value> + <value>fraktur</value> + <value>sans-serif</value> + <value>bold-sans-serif</value> + <value>sans-serif-italic</value> + <value>sans-serif-bold-italic</value> + <value>monospace</value> + <value>initial</value> + <value>tailed</value> + <value>looped</value> + <value>stretched</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="maxsize"> + <choice> + <ref name="length"/> + <value>infinity</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="minlabelspacing"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="minsize"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="movablelimits"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="mslinethickness"> + <choice> + <ref name="length"/> + <value>thin</value> + <value>medium</value> + <value>thick</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="notation"/> + </optional> + <optional> + <attribute name="numalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="open"/> + </optional> + <optional> + <attribute name="position"> + <ref name="integer"/> + </attribute> + </optional> + <optional> + <attribute name="rightoverhang"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="rowalign"> + <list> + <oneOrMore> + <ref name="verticalalign"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="rowlines"> + <list> + <oneOrMore> + <ref name="linestyle"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="rowspacing"> + <list> + <oneOrMore> + <ref name="length"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="rowspan"> + <ref name="positive-integer"/> + </attribute> + </optional> + <optional> + <attribute name="rquote"/> + </optional> + <optional> + <attribute name="rspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="selection"> + <ref name="positive-integer"/> + </attribute> + </optional> + <optional> + <attribute name="separator"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="separators"/> + </optional> + <optional> + <attribute name="shift"> + <ref name="integer"/> + </attribute> + </optional> + <optional> + <attribute name="side"> + <choice> + <value>left</value> + <value>right</value> + <value>leftoverlap</value> + <value>rightoverlap</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="stackalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>decimalpoint</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="stretchy"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="subscriptshift"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="superscriptshift"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="symmetric"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="valign"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="length"/> + </attribute> + </optional> + </define> + <define name="mstyle.deprecatedattributes"> + <ref name="DeprecatedTokenAtt"/> + <optional> + <attribute name="veryverythinmathspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="verythinmathspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="thinmathspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="mediummathspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="thickmathspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="verythickmathspace"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="veryverythickmathspace"> + <ref name="length"/> + </attribute> + </optional> + </define> + <define name="math.attributes" combine="interleave"> + <ref name="CommonPresAtt"/> + </define> + <define name="math.attributes" combine="interleave"> + <ref name="mstyle.specificattributes"/> + </define> + <define name="math.attributes" combine="interleave"> + <ref name="mstyle.generalattributes"/> + </define> + <define name="merror"> + <element name="merror"> + <ref name="merror.attributes"/> + <ref name="ImpliedMrow"/> + </element> + </define> + <define name="merror.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + </define> + <define name="mpadded"> + <element name="mpadded"> + <ref name="mpadded.attributes"/> + <ref name="ImpliedMrow"/> + </element> + </define> + <define name="mpadded.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="height"> + <ref name="mpadded-length"/> + </attribute> + </optional> + <optional> + <attribute name="depth"> + <ref name="mpadded-length"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="mpadded-length"/> + </attribute> + </optional> + <optional> + <attribute name="lspace"> + <ref name="mpadded-length"/> + </attribute> + </optional> + <optional> + <attribute name="voffset"> + <ref name="mpadded-length"/> + </attribute> + </optional> + </define> + <define name="mphantom"> + <element name="mphantom"> + <ref name="mphantom.attributes"/> + <ref name="ImpliedMrow"/> + </element> + </define> + <define name="mphantom.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + </define> + <define name="mfenced"> + <element name="mfenced"> + <ref name="mfenced.attributes"/> + <zeroOrMore> + <ref name="MathExpression"/> + </zeroOrMore> + </element> + </define> + <define name="mfenced.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="open"/> + </optional> + <optional> + <attribute name="close"/> + </optional> + <optional> + <attribute name="separators"/> + </optional> + </define> + <define name="menclose"> + <element name="menclose"> + <ref name="menclose.attributes"/> + <ref name="ImpliedMrow"/> + </element> + </define> + <define name="menclose.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="notation"/> + </optional> + </define> + <define name="msub"> + <element name="msub"> + <ref name="msub.attributes"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + </element> + </define> + <define name="msub.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="subscriptshift"> + <ref name="length"/> + </attribute> + </optional> + </define> + <define name="msup"> + <element name="msup"> + <ref name="msup.attributes"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + </element> + </define> + <define name="msup.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="superscriptshift"> + <ref name="length"/> + </attribute> + </optional> + </define> + <define name="msubsup"> + <element name="msubsup"> + <ref name="msubsup.attributes"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + </element> + </define> + <define name="msubsup.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="subscriptshift"> + <ref name="length"/> + </attribute> + </optional> + <optional> + <attribute name="superscriptshift"> + <ref name="length"/> + </attribute> + </optional> + </define> + <define name="munder"> + <element name="munder"> + <ref name="munder.attributes"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + </element> + </define> + <define name="munder.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="accentunder"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="align"> + <choice> + <value>left</value> + <value>right</value> + <value>center</value> + </choice> + </attribute> + </optional> + </define> + <define name="mover"> + <element name="mover"> + <ref name="mover.attributes"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + </element> + </define> + <define name="mover.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="accent"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="align"> + <choice> + <value>left</value> + <value>right</value> + <value>center</value> + </choice> + </attribute> + </optional> + </define> + <define name="munderover"> + <element name="munderover"> + <ref name="munderover.attributes"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + <ref name="MathExpression"/> + </element> + </define> + <define name="munderover.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="accent"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="accentunder"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="align"> + <choice> + <value>left</value> + <value>right</value> + <value>center</value> + </choice> + </attribute> + </optional> + </define> + <define name="mmultiscripts"> + <element name="mmultiscripts"> + <ref name="mmultiscripts.attributes"/> + <ref name="MathExpression"/> + <zeroOrMore> + <ref name="MultiScriptExpression"/> + </zeroOrMore> + <optional> + <ref name="mprescripts"/> + <zeroOrMore> + <ref name="MultiScriptExpression"/> + </zeroOrMore> + </optional> + </element> + </define> + <define name="mmultiscripts.attributes"> + <ref name="msubsup.attributes"/> + </define> + <define name="mtable"> + <element name="mtable"> + <ref name="mtable.attributes"/> + <zeroOrMore> + <ref name="TableRowExpression"/> + </zeroOrMore> + </element> + </define> + <define name="mtable.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="align"> + <data type="string"> + <param name="pattern">\s*(top|bottom|center|baseline|axis)\s*[0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="rowalign"> + <list> + <oneOrMore> + <ref name="verticalalign"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="columnalign"> + <list> + <oneOrMore> + <ref name="columnalignstyle"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="groupalign"> + <ref name="group-alignment-list-list"/> + </attribute> + </optional> + <optional> + <attribute name="alignmentscope"> + <list> + <oneOrMore> + <choice> + <value>true</value> + <value>false</value> + </choice> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="columnwidth"> + <list> + <oneOrMore> + <choice> + <value>auto</value> + <ref name="length"/> + <value>fit</value> + </choice> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="width"> + <choice> + <value>auto</value> + <ref name="length"/> + </choice> + </attribute> + </optional> + <optional> + <attribute name="rowspacing"> + <list> + <oneOrMore> + <ref name="length"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="columnspacing"> + <list> + <oneOrMore> + <ref name="length"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="rowlines"> + <list> + <oneOrMore> + <ref name="linestyle"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="columnlines"> + <list> + <oneOrMore> + <ref name="linestyle"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="frame"> + <ref name="linestyle"/> + </attribute> + </optional> + <optional> + <attribute name="framespacing"> + <list> + <ref name="length"/> + <ref name="length"/> + </list> + </attribute> + </optional> + <optional> + <attribute name="equalrows"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="equalcolumns"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="displaystyle"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="side"> + <choice> + <value>left</value> + <value>right</value> + <value>leftoverlap</value> + <value>rightoverlap</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="minlabelspacing"> + <ref name="length"/> + </attribute> + </optional> + </define> + <define name="mlabeledtr"> + <element name="mlabeledtr"> + <ref name="mlabeledtr.attributes"/> + <oneOrMore> + <ref name="TableCellExpression"/> + </oneOrMore> + </element> + </define> + <define name="mlabeledtr.attributes"> + <ref name="mtr.attributes"/> + </define> + <define name="mtr"> + <element name="mtr"> + <ref name="mtr.attributes"/> + <zeroOrMore> + <ref name="TableCellExpression"/> + </zeroOrMore> + </element> + </define> + <define name="mtr.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="rowalign"> + <choice> + <value>top</value> + <value>bottom</value> + <value>center</value> + <value>baseline</value> + <value>axis</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="columnalign"> + <list> + <oneOrMore> + <ref name="columnalignstyle"/> + </oneOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="groupalign"> + <ref name="group-alignment-list-list"/> + </attribute> + </optional> + </define> + <define name="mtd"> + <element name="mtd"> + <ref name="mtd.attributes"/> + <ref name="ImpliedMrow"/> + </element> + </define> + <define name="mtd.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="rowspan"> + <ref name="positive-integer"/> + </attribute> + </optional> + <optional> + <attribute name="columnspan"> + <ref name="positive-integer"/> + </attribute> + </optional> + <optional> + <attribute name="rowalign"> + <choice> + <value>top</value> + <value>bottom</value> + <value>center</value> + <value>baseline</value> + <value>axis</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="columnalign"> + <ref name="columnalignstyle"/> + </attribute> + </optional> + <optional> + <attribute name="groupalign"> + <ref name="group-alignment-list"/> + </attribute> + </optional> + </define> + <define name="mstack"> + <element name="mstack"> + <ref name="mstack.attributes"/> + <zeroOrMore> + <ref name="MstackExpression"/> + </zeroOrMore> + </element> + </define> + <define name="mstack.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="align"> + <data type="string"> + <param name="pattern">\s*(top|bottom|center|baseline|axis)\s*[0-9]*</param> + </data> + </attribute> + </optional> + <optional> + <attribute name="stackalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>decimalpoint</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="charalign"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="charspacing"> + <choice> + <ref name="length"/> + <value>loose</value> + <value>medium</value> + <value>tight</value> + </choice> + </attribute> + </optional> + </define> + <define name="mlongdiv"> + <element name="mlongdiv"> + <ref name="mlongdiv.attributes"/> + <ref name="MstackExpression"/> + <ref name="MstackExpression"/> + <oneOrMore> + <ref name="MstackExpression"/> + </oneOrMore> + </element> + </define> + <define name="mlongdiv.attributes"> + <ref name="msgroup.attributes"/> + <optional> + <attribute name="longdivstyle"> + <choice> + <value>lefttop</value> + <value>stackedrightright</value> + <value>mediumstackedrightright</value> + <value>shortstackedrightright</value> + <value>righttop</value> + <value>left/\right</value> + <value>left)(right</value> + <value>:right=right</value> + <value>stackedleftleft</value> + <value>stackedleftlinetop</value> + </choice> + </attribute> + </optional> + </define> + <define name="msgroup"> + <element name="msgroup"> + <ref name="msgroup.attributes"/> + <zeroOrMore> + <ref name="MstackExpression"/> + </zeroOrMore> + </element> + </define> + <define name="msgroup.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="position"> + <ref name="integer"/> + </attribute> + </optional> + <optional> + <attribute name="shift"> + <ref name="integer"/> + </attribute> + </optional> + </define> + <define name="msrow"> + <element name="msrow"> + <ref name="msrow.attributes"/> + <zeroOrMore> + <ref name="MsrowExpression"/> + </zeroOrMore> + </element> + </define> + <define name="msrow.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="position"> + <ref name="integer"/> + </attribute> + </optional> + </define> + <define name="mscarries"> + <element name="mscarries"> + <ref name="mscarries.attributes"/> + <zeroOrMore> + <choice> + <ref name="MsrowExpression"/> + <ref name="mscarry"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="mscarries.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="position"> + <ref name="integer"/> + </attribute> + </optional> + <optional> + <attribute name="location"> + <choice> + <value>w</value> + <value>nw</value> + <value>n</value> + <value>ne</value> + <value>e</value> + <value>se</value> + <value>s</value> + <value>sw</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="crossout"> + <list> + <zeroOrMore> + <choice> + <value>none</value> + <value>updiagonalstrike</value> + <value>downdiagonalstrike</value> + <value>verticalstrike</value> + <value>horizontalstrike</value> + </choice> + </zeroOrMore> + </list> + </attribute> + </optional> + <optional> + <attribute name="scriptsizemultiplier"> + <ref name="number"/> + </attribute> + </optional> + </define> + <define name="mscarry"> + <element name="mscarry"> + <ref name="mscarry.attributes"/> + <zeroOrMore> + <ref name="MsrowExpression"/> + </zeroOrMore> + </element> + </define> + <define name="mscarry.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="location"> + <choice> + <value>w</value> + <value>nw</value> + <value>n</value> + <value>ne</value> + <value>e</value> + <value>se</value> + <value>s</value> + <value>sw</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="crossout"> + <list> + <zeroOrMore> + <choice> + <value>none</value> + <value>updiagonalstrike</value> + <value>downdiagonalstrike</value> + <value>verticalstrike</value> + <value>horizontalstrike</value> + </choice> + </zeroOrMore> + </list> + </attribute> + </optional> + </define> + <define name="maction"> + <element name="maction"> + <ref name="maction.attributes"/> + <oneOrMore> + <ref name="MathExpression"/> + </oneOrMore> + </element> + </define> + <define name="maction.attributes"> + <ref name="CommonAtt"/> + <ref name="CommonPresAtt"/> + <optional> + <attribute name="actiontype"/> + </optional> + <optional> + <attribute name="selection"> + <ref name="positive-integer"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict-content.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict-content.rng new file mode 100644 index 00000000000..f2e3b0ea8e9 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict-content.rng @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + This is the Mathematical Markup Language (MathML) 3.0, an XML + application for describing mathematical notation and capturing + both its structure and content. + + Copyright 1998-2009 W3C (MIT, ERCIM, Keio) + + Use and distribution of this code are permitted under the terms + W3C Software Notice and License + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +--> +<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="ContExp"> + <choice> + <ref name="semantics-contexp"/> + <ref name="cn"/> + <ref name="ci"/> + <ref name="csymbol"/> + <ref name="apply"/> + <ref name="bind"/> + <ref name="share"/> + <ref name="cerror"/> + <ref name="cbytes"/> + <ref name="cs"/> + </choice> + </define> + <define name="cn"> + <element name="cn"> + <ref name="cn.attributes"/> + <ref name="cn.content"/> + </element> + </define> + <define name="cn.content"> + <text/> + </define> + <define name="cn.attributes"> + <attribute name="type"> + <choice> + <value>integer</value> + <value>real</value> + <value>double</value> + <value>hexdouble</value> + </choice> + </attribute> + </define> + <define name="semantics-ci"> + <element name="semantics"> + <ref name="semantics.attributes"/> + <choice> + <ref name="ci"/> + <ref name="semantics-ci"/> + </choice> + <zeroOrMore> + <choice> + <ref name="annotation"/> + <ref name="annotation-xml"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="semantics-contexp"> + <element name="semantics"> + <ref name="semantics.attributes"/> + <ref name="ContExp"/> + <zeroOrMore> + <choice> + <ref name="annotation"/> + <ref name="annotation-xml"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="ci"> + <element name="ci"> + <ref name="ci.attributes"/> + <ref name="ci.content"/> + </element> + </define> + <define name="ci.attributes"> + <ref name="CommonAtt"/> + <optional> + <ref name="ci.type"/> + </optional> + </define> + <define name="ci.type"> + <attribute name="type"> + <choice> + <value>integer</value> + <value>rational</value> + <value>real</value> + <value>complex</value> + <value>complex-polar</value> + <value>complex-cartesian</value> + <value>constant</value> + <value>function</value> + <value>vector</value> + <value>list</value> + <value>set</value> + <value>matrix</value> + </choice> + </attribute> + </define> + <define name="ci.content"> + <text/> + </define> + <define name="csymbol"> + <element name="csymbol"> + <ref name="csymbol.attributes"/> + <ref name="csymbol.content"/> + </element> + </define> + <define name="SymbolName"> + <data type="NCName"/> + </define> + <define name="csymbol.attributes"> + <ref name="CommonAtt"/> + <ref name="cd"/> + </define> + <define name="csymbol.content"> + <ref name="SymbolName"/> + </define> + <define name="BvarQ"> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + </define> + <define name="bvar"> + <element name="bvar"> + <choice> + <ref name="ci"/> + <ref name="semantics-ci"/> + </choice> + </element> + </define> + <define name="apply"> + <element name="apply"> + <ref name="CommonAtt"/> + <ref name="apply.content"/> + </element> + </define> + <define name="apply.content"> + <oneOrMore> + <ref name="ContExp"/> + </oneOrMore> + </define> + <define name="bind"> + <element name="bind"> + <ref name="CommonAtt"/> + <ref name="bind.content"/> + </element> + </define> + <define name="bind.content"> + <ref name="ContExp"/> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <ref name="ContExp"/> + </define> + <define name="share"> + <element name="share"> + <ref name="CommonAtt"/> + <ref name="src"/> + <empty/> + </element> + </define> + <define name="cerror"> + <element name="cerror"> + <ref name="cerror.attributes"/> + <ref name="csymbol"/> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </element> + </define> + <define name="cerror.attributes"> + <ref name="CommonAtt"/> + </define> + <define name="cbytes"> + <element name="cbytes"> + <ref name="cbytes.attributes"/> + <ref name="base64"/> + </element> + </define> + <define name="cbytes.attributes"> + <ref name="CommonAtt"/> + </define> + <define name="base64"> + <data type="base64Binary"/> + </define> + <define name="cs"> + <element name="cs"> + <ref name="cs.attributes"/> + <text/> + </element> + </define> + <define name="cs.attributes"> + <ref name="CommonAtt"/> + </define> + <define name="MathExpression" combine="choice"> + <ref name="ContExp"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict.rng new file mode 100644 index 00000000000..be5a334c8fe --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict.rng @@ -0,0 +1,267 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + This is the Mathematical Markup Language (MathML) 3.0, an XML + application for describing mathematical notation and capturing + both its structure and content. + + Copyright 1998-2008 W3C (MIT, ERCIM, Keio) + + Use and distribution of this code are permitted under the terms + W3C Software Notice and License + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + + + Revision: $Id: mathml3-strict.rnc 8515 2009-08-17 13:51:36Z kohlhase $ + + Update to MathML3 and Relax NG: David Carlisle and Michael Kohlhase + + This is the RelaxNG schema module for the strict content part of MathML. +--> +<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <include href="mathml3-common.rng"/> + <define name="math.content" combine="choice"> + <ref name="ContExp"/> + </define> + <!-- ednote(rnc:opel-content) What is the content of a operator element, currently all text? --> + <define name="opel.content"> + <text/> + </define> + <!-- + we want to extend this in pragmatic CMathML, so we introduce abbrevs here. + ednote(rnc:cn-content) What is the content of a cn? + --> + <define name="cn.content"> + <choice> + <text/> + <group> + <ref name="cn"/> + <ref name="cn"/> + </group> + </choice> + </define> + <define name="cn.type.vals"> + <choice> + <value>integer</value> + <value>real</value> + <value>double</value> + </choice> + </define> + <define name="cn"> + <element name="cn"> + <optional> + <attribute name="base"/> + </optional> + <optional> + <attribute name="type"> + <ref name="cn.type.vals"/> + </attribute> + </optional> + <ref name="Definition.attrib"/> + <ref name="MathML.Common.attrib"/> + <zeroOrMore> + <ref name="cn.content"/> + </zeroOrMore> + </element> + </define> + <define name="ci"> + <element name="ci"> + <optional> + <attribute name="type"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="nargs"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="occurrence"> + <data type="string"/> + </attribute> + </optional> + <ref name="Definition.attrib"/> + <ref name="MathML.Common.attrib"/> + <ref name="opel.content"/> + <optional> + <ref name="name.attrib"/> + </optional> + </element> + </define> + <define name="cdname.attrib"> + <attribute name="cd"> + <data type="NCName"/> + </attribute> + </define> + <define name="csymbol"> + <element name="csymbol"> + <ref name="MathML.Common.attrib"/> + <ref name="Definition.attrib"/> + <optional> + <ref name="cdname.attrib"/> + </optional> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <ref name="opel.content"/> + </element> + </define> + <!-- the content of the apply element, leave it empty and extend it later --> + <define name="apply"> + <element name="apply"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <ref name="apply.content"/> + </element> + </define> + <define name="apply-head"> + <choice> + <ref name="apply"/> + <ref name="bind"/> + <ref name="ci"/> + <ref name="csymbol"/> + <ref name="semantics-apply"/> + </choice> + </define> + <define name="apply.content"> + <ref name="apply-head"/> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </define> + <define name="semantics-apply"> + <element name="semantics"> + <ref name="semantics.attribs"/> + <ref name="apply-head"/> + <zeroOrMore> + <ref name="semantics-annotation"/> + </zeroOrMore> + </element> + </define> + <define name="qualifier"> + <notAllowed/> + </define> + <!-- the content of the bind element, leave it empty and extend it later --> + <define name="bind"> + <element name="bind"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <ref name="bind.content"/> + </element> + </define> + <define name="bind-head"> + <choice> + <ref name="apply"/> + <ref name="csymbol"/> + <ref name="semantics-bind"/> + </choice> + </define> + <define name="bind.content"> + <ref name="bind-head"/> + <zeroOrMore> + <ref name="bvar"/> + </zeroOrMore> + <optional> + <ref name="qualifier"/> + </optional> + <ref name="ContExp"/> + </define> + <define name="semantics-bind"> + <element name="semantics"> + <ref name="semantics.attribs"/> + <ref name="bind-head"/> + <zeroOrMore> + <ref name="semantics-annotation"/> + </zeroOrMore> + </element> + </define> + <define name="bvar"> + <element name="bvar"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <ref name="bvar-head"/> + </element> + </define> + <define name="bvar-head"> + <choice> + <ref name="ci"/> + <ref name="semantics-bvar"/> + </choice> + </define> + <define name="semantics-bvar"> + <element name="semantics"> + <ref name="semantics.attribs"/> + <ref name="bvar-head"/> + <zeroOrMore> + <ref name="semantics-annotation"/> + </zeroOrMore> + </element> + </define> + <define name="share"> + <element name="share"> + <ref name="MathML.Common.attrib"/> + <attribute name="href"> + <data type="anyURI"/> + </attribute> + </element> + </define> + <!-- the content of the cerror element, leave it empty and extend it later --> + <define name="cerror"> + <element name="cerror"> + <ref name="MathML.Common.attrib"/> + <optional> + <ref name="cdbase.attrib"/> + </optional> + <ref name="cerror.content"/> + </element> + </define> + <define name="cerror-head"> + <choice> + <ref name="csymbol"/> + <ref name="apply"/> + <ref name="semantics-cerror"/> + </choice> + </define> + <define name="cerror.content"> + <ref name="cerror-head"/> + <zeroOrMore> + <ref name="ContExp"/> + </zeroOrMore> + </define> + <define name="semantics-cerror"> + <element name="semantics"> + <ref name="semantics.attribs"/> + <ref name="cerror-head"/> + <zeroOrMore> + <ref name="semantics-annotation"/> + </zeroOrMore> + </element> + </define> + <define name="semantics-cmml"> + <element name="semantics"> + <ref name="semantics.attribs"/> + <ref name="ContExp"/> + <zeroOrMore> + <ref name="semantics-annotation"/> + </zeroOrMore> + </element> + </define> + <define name="ContExp"> + <choice> + <ref name="cn"/> + <ref name="ci"/> + <ref name="csymbol"/> + <ref name="apply"/> + <ref name="bind"/> + <ref name="share"/> + <ref name="cerror"/> + <ref name="semantics-cmml"/> + </choice> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3.rng new file mode 100644 index 00000000000..67b0561c133 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3.rng @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + This is the Mathematical Markup Language (MathML) 3.0, an XML + application for describing mathematical notation and capturing + both its structure and content. + + Copyright 1998-2009 W3C (MIT, ERCIM, Keio) + + Use and distribution of this code are permitted under the terms + W3C Software Notice and License + http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +--> +<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0"> + <include href="mathml3-content.rng"> + <a:documentation>Content MathML</a:documentation> + </include> + <include href="mathml3-presentation.rng"> + <a:documentation>Presentation MathML</a:documentation> + </include> + <include href="mathml3-common.rng"> + <a:documentation>math and semantics common to both Content and Presentation</a:documentation> + </include> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/metadata.rng b/Master/texmf-dist/source/latex/stex/schema/rng/metadata.rng new file mode 100644 index 00000000000..b85d0d4f533 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/metadata.rng @@ -0,0 +1,217 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | Metadata for LaTeXML | + |=====================================================================| + | Not Part of LaTeXML: | + | Copyright (c) 2005 Michael Kohlhase | + | Released under the Gnu Public License (GPL) | + |=====================================================================| + | Michael Kohlhase <m.kohlhase@iu-bremen.de> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="dc.class"> + <choice> + <ref name="Creator"/> + <ref name="Contributor"/> + <ref name="Title"/> + <ref name="Subject"/> + <ref name="Description"/> + <ref name="Publisher"/> + <ref name="Date"/> + <ref name="Type"/> + <ref name="Identifier"/> + <ref name="Source"/> + <ref name="Language"/> + <ref name="Relation"/> + <ref name="Rights"/> + <ref name="license"/> + </choice> + </define> + <define name="metadata"> + <element name="metadata"> + <ref name="Common.attribs"/> + <zeroOrMore> + <ref name="dc.class"/> + </zeroOrMore> + </element> + </define> + <define name="Creator"> + <element name="Creator"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Contributor"> + <element name="Contributor"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Title"> + <element name="Title"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Subject"> + <element name="Subject"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Description"> + <element name="Description"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Publisher"> + <element name="Publisher"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Date"> + <element name="Date"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Type"> + <element name="Type"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Identifier"> + <element name="Identifier"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Source"> + <element name="Source"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Language"> + <element name="Language"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Relation"> + <element name="Relation"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="Rights"> + <element name="Rights"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="license"> + <element name="license"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <ref name="attribution"/> + <ref name="noncommercial"/> + <ref name="sharealike"/> + <ref name="noderivativeworks"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="attribution"> + <element name="attribution"> + <ref name="Common.attribs"/> + </element> + </define> + <define name="noncommercial"> + <element name="noncommercial"> + <ref name="Common.attribs"/> + </element> + </define> + <define name="sharealike"> + <element name="sharealike"> + <ref name="Common.attribs"/> + </element> + </define> + <define name="noderivativeworks"> + <element name="noderivativeworks"> + <ref name="Common.attribs"/> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng new file mode 100644 index 00000000000..04b411a61dd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng @@ -0,0 +1,436 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG for Open Mathematical documents (OMDoc 1.2) with LaTeXML + $Id: omdoc+ltxml.rnc 1884 2011-09-09 12:45:49Z kohlhase $ + $HeadURL: https://svn.kwarc.info/repos/stex/trunk/schema/rnc/omdoc+ltxml.rnc $ + See the documentation and examples at http://omdoc.org + (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <include href="omdoc.rng"> + <a:documentation>we include the OMDoc Schema, but we allow the sectioning elements defined below +as document structuring elements as well. </a:documentation> + <define name="docstruct.class"> + <interleave> + <zeroOrMore> + <ref name="omgroup"/> + </zeroOrMore> + <zeroOrMore> + <ref name="lechapter"/> + </zeroOrMore> + </interleave> + </define> + </include> + <define name="mobj" combine="choice"> + <a:documentation>we extend the Math Objects by the ones introduced by LaTeXML</a:documentation> + <grammar> + <include href="LaTeXML-common.rng"/> + <include href="LaTeXML-math.rng"/> + <start> + <ref name="Math"/> + </start> + </grammar> + </define> + <define name="render.class" combine="choice"> + <a:documentation>we extend the model of rendering elements by XMath, and we extend the XMath there, so +that we can cope with piecewise and friends at the intermediate level. </a:documentation> + <grammar> + <include href="LaTeXML.rng"> + <!-- + XMath.class &= XMRow* & XMCell* + XMRow_model &= element XMTok {attribute role {xsd:string {pattern = "ID"}}} + XMArray_model &= element XMTok {attribute role {xsd:string {pattern = "ID"}}} + --> + <define name="XMTok_attributes" combine="interleave"> + <parentRef name="ntn.attrib"/> + </define> + <start> + <choice> + <ref name="Math"/> + <ref name="text"/> + </choice> + </start> + </include> + </grammar> + </define> + <define name="inline.class" combine="interleave"> + <a:documentation>we extend the core structural classes of OMDoc with various LaTeXML counterparts. These +are usful, since sTeX defers to LaTeXML to generate these, and in a later pass (the +XSLTs) replaces them by their OMDoc counterparts. The rules below, have another +purpose: in the OMDoc schema (which is the primary one here, we use the & operator for +making classes, whereas the LaTeXML schema uses the less flexible | operator. Therefore +we need to construct conjunctive extensions in start macro. </a:documentation> + <grammar> + <include href="LaTeXML.rng"> + <define name="Common.attributes" combine="interleave"> + <parentRef name="id.attribs"/> + </define> + <define name="Inline.class"> + <parentRef name="inline.class"/> + </define> + <define name="text_model"> + <parentRef name="inline.model"/> + </define> + <start> + <interleave> + <zeroOrMore> + <ref name="bibref"/> + </zeroOrMore> + <zeroOrMore> + <ref name="break"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ref"/> + </zeroOrMore> + <zeroOrMore> + <ref name="cite"/> + </zeroOrMore> + <zeroOrMore> + <ref name="text"/> + </zeroOrMore> + <zeroOrMore> + <ref name="emph"/> + </zeroOrMore> + </interleave> + </start> + </include> + </grammar> + </define> + <define name="plike.class" combine="interleave"> + <grammar> + <include href="LaTeXML.rng"> + <define name="Common.attributes"> + <parentRef name="id.attribs"/> + </define> + <define name="Inline.class"> + <parentRef name="inline.class"/> + </define> + <define name="Block.class"> + <parentRef name="plike.class"/> + </define> + <!-- Flow.class = parent flow.class --> + <define name="text_model"> + <parentRef name="inline.model"/> + </define> + <define name="listingblock_model"> + <parentRef name="plike.class"/> + </define> + <start> + <interleave> + <zeroOrMore> + <ref name="p"/> + </zeroOrMore> + <zeroOrMore> + <ref name="tabular"/> + </zeroOrMore> + <zeroOrMore> + <ref name="equation"/> + </zeroOrMore> + <zeroOrMore> + <ref name="equationgroup"/> + </zeroOrMore> + <zeroOrMore> + <ref name="figure"/> + </zeroOrMore> + <zeroOrMore> + <ref name="graphics"/> + </zeroOrMore> + <zeroOrMore> + <ref name="verbatim"/> + </zeroOrMore> + <zeroOrMore> + <ref name="listingblock"/> + </zeroOrMore> + <zeroOrMore> + <ref name="listing"/> + </zeroOrMore> + <zeroOrMore> + <ref name="itemize"/> + </zeroOrMore> + <zeroOrMore> + <ref name="enumerate"/> + </zeroOrMore> + <zeroOrMore> + <ref name="description"/> + </zeroOrMore> + </interleave> + </start> + </include> + </grammar> + </define> + <define name="tikz"> + <element name="tikz"> + <text/> + </element> + </define> + <define name="omdoc.class" combine="interleave"> + <a:documentation>we allow various LaTeXML elements as a top-level elements, +they will be converted by XSLT later</a:documentation> + <grammar> + <include href="LaTeXML.rng"> + <define name="Common.attributes" combine="interleave"> + <parentRef name="id.attribs"/> + </define> + <define name="Inline.class"> + <parentRef name="inline.class"/> + </define> + <define name="Block.class"> + <parentRef name="plike.class"/> + </define> + <define name="Para.class"> + <parentRef name="omdoc.class"/> + </define> + <!-- Flow.class = parent flow.class --> + <define name="text_model"> + <parentRef name="inline.model"/> + </define> + <define name="listingblock_model"> + <parentRef name="plike.class"/> + </define> + <start> + <interleave> + <zeroOrMore> + <ref name="para"/> + </zeroOrMore> + <zeroOrMore> + <ref name="figure"/> + </zeroOrMore> + <zeroOrMore> + <ref name="table"/> + </zeroOrMore> + <zeroOrMore> + <ref name="listing"/> + </zeroOrMore> + <zeroOrMore> + <ref name="itemize"/> + </zeroOrMore> + <zeroOrMore> + <ref name="enumerate"/> + </zeroOrMore> + <zeroOrMore> + <ref name="description"/> + </zeroOrMore> + </interleave> + </start> + </include> + </grammar> + </define> + <define name="backmatter" combine="interleave"> + <grammar> + <include href="LaTeXML.rng"> + <define name="Common.attributes" combine="interleave"> + <parentRef name="id.attribs"/> + </define> + <define name="Inline.class"> + <parentRef name="inline.class"/> + </define> + <define name="Block.class"> + <parentRef name="plike.class"/> + </define> + <define name="Para.class"> + <parentRef name="omdoc.class"/> + </define> + <!-- Flow.class = parent flow.class --> + <define name="text_model"> + <parentRef name="inline.model"/> + </define> + <define name="listingblock_model"> + <parentRef name="plike.class"/> + </define> + <start> + <zeroOrMore> + <ref name="bibliography"/> + </zeroOrMore> + </start> + </include> + </grammar> + </define> + <define name="lesubparagraph"> + <a:documentation>we prepare some nested content models for sectioning elements</a:documentation> + <zeroOrMore> + <ref name="subparagraph"/> + </zeroOrMore> + </define> + <define name="leparagraph"> + <interleave> + <zeroOrMore> + <ref name="paragraph"/> + </zeroOrMore> + <ref name="lesubparagraph"/> + </interleave> + </define> + <define name="lesubsubsection"> + <interleave> + <zeroOrMore> + <ref name="subsubsection"/> + </zeroOrMore> + <ref name="leparagraph"/> + </interleave> + </define> + <define name="lesubsection"> + <interleave> + <zeroOrMore> + <ref name="subsection"/> + </zeroOrMore> + <ref name="lesubsubsection"/> + </interleave> + </define> + <define name="lesection"> + <interleave> + <zeroOrMore> + <ref name="section"/> + </zeroOrMore> + <ref name="lesubsection"/> + </interleave> + </define> + <define name="lechapter"> + <interleave> + <zeroOrMore> + <ref name="chapter"/> + </zeroOrMore> + <ref name="lesection"/> + </interleave> + </define> + <define name="theory.chapter"> + <a:documentation>they need to be able to nest theories transparently</a:documentation> + <element name="theory"> + <interleave> + <ref name="theory.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <ref name="constitutive.class"/> + <ref name="lesection"/> + </interleave> + </element> + </define> + <define name="theory.section"> + <element name="theory"> + <interleave> + <ref name="theory.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <ref name="constitutive.class"/> + <ref name="lesubsection"/> + </interleave> + </element> + </define> + <define name="theory.subsection"> + <element name="theory"> + <interleave> + <ref name="theory.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <ref name="constitutive.class"/> + <ref name="lesubsubsection"/> + </interleave> + </element> + </define> + <define name="theory.subsubsection"> + <element name="theory"> + <interleave> + <ref name="theory.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <ref name="constitutive.class"/> + <ref name="leparagraph"/> + </interleave> + </element> + </define> + <define name="theory.paragraph"> + <element name="theory"> + <interleave> + <ref name="theory.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <ref name="constitutive.class"/> + <ref name="lesubparagraph"/> + </interleave> + </element> + </define> + <define name="theory.subparagraph"> + <element name="theory"> + <interleave> + <ref name="theory.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <ref name="constitutive.class"/> + </interleave> + </element> + </define> + <define name="sectional.attribs"> + <ref name="id.attribs"/> + </define> + <define name="chapter"> + <a:documentation>and now the elemens themselves</a:documentation> + <element name="chapter"> + <interleave> + <ref name="sectional.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <zeroOrMore> + <ref name="theory.chapter"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="section"> + <element name="section"> + <interleave> + <ref name="sectional.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <zeroOrMore> + <ref name="theory.section"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="subsection"> + <element name="subsection"> + <interleave> + <ref name="sectional.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <zeroOrMore> + <ref name="theory.subsection"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="subsubsection"> + <element name="subsubsection"> + <interleave> + <ref name="sectional.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <zeroOrMore> + <ref name="theory.subsubsection"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="paragraph"> + <element name="paragraph"> + <interleave> + <ref name="sectional.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <zeroOrMore> + <ref name="theory.paragraph"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="subparagraph"> + <element name="subparagraph"> + <interleave> + <ref name="sectional.attribs"/> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + <zeroOrMore> + <ref name="theory.subparagraph"/> + </zeroOrMore> + </interleave> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-common.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-common.rng new file mode 100644 index 00000000000..17d8676e6ad --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-common.rng @@ -0,0 +1,317 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Common attributes + $Id: omdoc-common.rnc 8958 2011-09-02 06:01:13Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoc-common.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2010 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- + all the explicitly namespaced attributes, except xml:lang, which + is handled explicitly + --> + <define name="nonlocal.attribs"> + <zeroOrMore> + <attribute> + <anyName> + <except> + <nsName ns=""/> + <nsName ns="http://www.w3.org/XML/1998/namespace"/> + </except> + </anyName> + <data type="string"/> + </attribute> + </zeroOrMore> + </define> + <!-- the attributes for CSS and PRES styling --> + <define name="css.attribs"> + <interleave> + <optional> + <attribute name="style"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="class"> + <data type="string"/> + </attribute> + </optional> + </interleave> + </define> + <define name="omdocref"> + <data type="anyURI"/> + </define> + <!-- an URI reference pointing to an OMDoc fragment --> + <define name="omdocrefs"> + <list> + <zeroOrMore> + <data type="anyURI"/> + </zeroOrMore> + </list> + </define> + <!-- a whitespace-separated list of omdocref --> + <define name="xref.attrib"> + <attribute name="xref"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="tref"> + <attribute name="tref"> + <ref name="omdocref"/> + </attribute> + </define> + <!-- for the moment, we may get regexp at some point. --> + <define name="curie"> + <data type="string"/> + </define> + <define name="curies"> + <data type="string"/> + </define> + <define name="safecurie"> + <data type="string"/> + </define> + <define name="about.attrib"> + <attribute name="about"> + <choice> + <data type="anyURI"/> + <ref name="safecurie"/> + </choice> + </attribute> + </define> + <define name="xmlbase.attrib"> + <attribute name="xml:base"> + <data type="anyURI"/> + </attribute> + </define> + <define name="xmlid.attrib"> + <attribute name="xml:id"> + <data type="ID"/> + </attribute> + </define> + <define name="idrest.attribs"> + <interleave> + <ref name="css.attribs"/> + <ref name="nonlocal.attribs"/> + <optional> + <ref name="about.attrib"/> + </optional> + <optional> + <ref name="xmlbase.attrib"/> + </optional> + </interleave> + </define> + <define name="id.attribs"> + <interleave> + <optional> + <ref name="xmlid.attrib"/> + </optional> + <ref name="idrest.attribs"/> + </interleave> + </define> + <define name="toplevel.attribs"> + <ref name="id.attribs"/> + <optional> + <attribute name="generated-from"> + <ref name="omdocref"/> + </attribute> + </optional> + </define> + <define name="iso639"> + <choice> + <value>aa</value> + <value>ab</value> + <value>af</value> + <value>am</value> + <value>ar</value> + <value>as</value> + <value>ay</value> + <value>az</value> + <value>ba</value> + <value>be</value> + <value>bg</value> + <value>bh</value> + <value>bi</value> + <value>bn</value> + <value>bo</value> + <value>br</value> + <value>ca</value> + <value>co</value> + <value>cs</value> + <value>cy</value> + <value>da</value> + <value>de</value> + <value>dz</value> + <value>el</value> + <value>en</value> + <value>eo</value> + <value>es</value> + <value>et</value> + <value>eu</value> + <value>fa</value> + <value>fi</value> + <value>fj</value> + <value>fo</value> + <value>fr</value> + <value>fy</value> + <value>ga</value> + <value>gd</value> + <value>gl</value> + <value>gn</value> + <value>gu</value> + <value>ha</value> + <value>he</value> + <value>hi</value> + <value>hr</value> + <value>hu</value> + <value>hy</value> + <value>ia</value> + <value>ie</value> + <value>ik</value> + <value>id</value> + <value>is</value> + <value>it</value> + <value>iu</value> + <value>ja</value> + <value>jv</value> + <value>ka</value> + <value>kk</value> + <value>kl</value> + <value>km</value> + <value>kn</value> + <value>ko</value> + <value>ks</value> + <value>ku</value> + <value>ky</value> + <value>la</value> + <value>ln</value> + <value>lo</value> + <value>lt</value> + <value>lv</value> + <value>mg</value> + <value>mi</value> + <value>mk</value> + <value>ml</value> + <value>mn</value> + <value>mo</value> + <value>mr</value> + <value>ms</value> + <value>mt</value> + <value>my</value> + <value>na</value> + <value>ne</value> + <value>nl</value> + <value>no</value> + <value>oc</value> + <value>om</value> + <value>or</value> + <value>pa</value> + <value>pl</value> + <value>ps</value> + <value>pt</value> + <value>qu</value> + <value>rm</value> + <value>rn</value> + <value>ro</value> + <value>ru</value> + <value>rw</value> + <value>sa</value> + <value>sd</value> + <value>sg</value> + <value>sh</value> + <value>si</value> + <value>sk</value> + <value>sl</value> + <value>sm</value> + <value>sn</value> + <value>so</value> + <value>sq</value> + <value>sr</value> + <value>ss</value> + <value>st</value> + <value>su</value> + <value>sv</value> + <value>sw</value> + <value>ta</value> + <value>te</value> + <value>tg</value> + <value>th</value> + <value>ti</value> + <value>tk</value> + <value>tl</value> + <value>tn</value> + <value>to</value> + <value>tr</value> + <value>ts</value> + <value>tt</value> + <value>tw</value> + <value>ug</value> + <value>uk</value> + <value>ur</value> + <value>uz</value> + <value>vi</value> + <value>vo</value> + <value>wo</value> + <value>xh</value> + <value>yi</value> + <value>yo</value> + <value>za</value> + <value>zh</value> + <value>zu</value> + </choice> + </define> + <define name="xml.lang.attrib"> + <optional> + <attribute name="xml:lang"> + <ref name="iso639"/> + </attribute> + </optional> + </define> + <define name="Anything"> + <zeroOrMore> + <choice> + <ref name="AnyElement"/> + <text/> + </choice> + </zeroOrMore> + </define> + <define name="AnyElement"> + <element> + <anyName/> + <ref name="AnyAttribute"/> + <zeroOrMore> + <choice> + <text/> + <ref name="AnyElement"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="AnyAttribute"> + <zeroOrMore> + <attribute> + <anyName/> + </attribute> + </zeroOrMore> + </define> + <define name="inline.class"> + <a:documentation>useful classes to be extended in the modules</a:documentation> + <empty/> + </define> + <define name="omdoc.class"> + <empty/> + </define> + <define name="plike.class"> + <empty/> + </define> + <define name="inline.model"> + <a:documentation>mixed models </a:documentation> + <interleave> + <text/> + <ref name="inline.class"/> + </interleave> + </define> + <define name="metadata.model" combine="interleave"> + <ref name="dublincore"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-xhtml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-xhtml.rng new file mode 100644 index 00000000000..83b930ecb61 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-xhtml.rng @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) without the XHTML elements + $Id: omdoc.rnc 8704 2010-09-21 19:44:01Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/rnc+xhtml/omdoc.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) + --> + <start> + <ref name="omdoc"/> + </start> + <include href="omdoc-common.rng"/> + <include href="omdocmobj.rng"/> + <include href="omdocmeta.rng"/> + <include href="omdocdoc.rng"/> + <include href="omdocdc.rng"/> + <include href="omdoccc.rng"/> + <include href="omdocmtxt.rng"/> + <include href="omdocrt.rng"/> + <include href="omdocpres.rng"/> + <include href="omdocst.rng"/> + <include href="omdoccth.rng"/> + <include href="omdocdg.rng"/> + <include href="omdocpf.rng"/> + <include href="omdocext.rng"/> + <include href="omdocquiz.rng"/> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc.rng new file mode 100644 index 00000000000..48c9e7d9ba3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc.rng @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) + $Id: omdoc.rnc 8959 2011-09-02 06:01:43Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoc.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) + --> + <start> + <ref name="omdoc"/> + </start> + <include href="omdoc-common.rng"/> + <include href="omdocmobj.rng"/> + <include href="omdocmeta.rng"/> + <include href="omdocdoc.rng"/> + <include href="omdocdc.rng"/> + <include href="omdoccc.rng"/> + <include href="omdocmtxt.rng"/> + <include href="omdocrt.rng"/> + <include href="omdocpres.rng"/> + <include href="omdocst.rng"/> + <include href="omdoccth.rng"/> + <include href="omdocdg.rng"/> + <include href="omdocpf.rng"/> + <include href="omdocadt.rng"/> + <include href="omdocext.rng"/> + <include href="omdocquiz.rng"/> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocadt.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocadt.rng new file mode 100644 index 00000000000..5fe330eb6bb --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocadt.rng @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module ADT + $Id: omdocadt.rnc 8959 2011-09-02 06:01:43Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocadt.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="omdoc.class" combine="interleave"> + <zeroOrMore> + <ref name="adt"/> + </zeroOrMore> + </define> + <define name="adt.sym.attrib"> + <ref name="id.attribs"/> + <ref name="scope.attrib"/> + <attribute name="name"> + <data type="NCName"/> + </attribute> + </define> + <!-- + adts are abstract data types, they are short forms for groups of symbols + and their definitions, therefore, they have much the same attributes. + --> + <define name="adt.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <attribute name="parameters"> + <list> + <zeroOrMore> + <data type="NCName"/> + </zeroOrMore> + </list> + </attribute> + </optional> + </interleave> + </define> + <define name="adt.class"> + <oneOrMore> + <ref name="sortdef"/> + </oneOrMore> + </define> + <define name="adt.model"> + <interleave> + <ref name="metadata.class"/> + <ref name="adt.class"/> + </interleave> + </define> + <define name="adt"> + <element name="adt"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="adt.attribs"/> + <ref name="adt.model"/> + </interleave> + </choice> + </element> + </define> + <define name="adttype"> + <choice> + <value>loose</value> + <value>generated</value> + <value>free</value> + </choice> + </define> + <define name="sortdef.attribs"> + <interleave> + <ref name="adt.sym.attrib"/> + <optional> + <attribute name="role"> + <value>sort</value> + </attribute> + </optional> + <optional> + <attribute name="type"> + <ref name="adttype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="sortdef.model"> + <interleave> + <ref name="metadata.class"/> + <zeroOrMore> + <ref name="constructor"/> + </zeroOrMore> + <zeroOrMore> + <ref name="insort"/> + </zeroOrMore> + <optional> + <ref name="recognizer"/> + </optional> + </interleave> + </define> + <define name="sortdef"> + <element name="sortdef"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="sortdef.attribs"/> + <ref name="sortdef.model"/> + </interleave> + </choice> + </element> + </define> + <define name="insort.attribs"> + <attribute name="for"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="insort.model"> + <empty/> + </define> + <define name="insort"> + <element name="insort"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="insort.attribs"/> + <ref name="insort.model"/> + </interleave> + </choice> + </element> + </define> + <define name="constructor.attribs"> + <interleave> + <ref name="adt.sym.attrib"/> + <optional> + <ref name="sym.role.attrib"/> + </optional> + </interleave> + </define> + <define name="constructor.model"> + <interleave> + <ref name="metadata.class"/> + <zeroOrMore> + <ref name="argument"/> + </zeroOrMore> + </interleave> + </define> + <define name="constructor"> + <element name="constructor"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="constructor.attribs"/> + <ref name="constructor.model"/> + </interleave> + </choice> + </element> + </define> + <define name="recognizer.attribs"> + <interleave> + <ref name="adt.sym.attrib"/> + <optional> + <ref name="sym.role.attrib"/> + </optional> + </interleave> + </define> + <define name="recognizer.model"> + <ref name="metadata.class"/> + </define> + <define name="recognizer"> + <element name="recognizer"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="recognizer.attribs"/> + <ref name="recognizer.model"/> + </interleave> + </choice> + </element> + </define> + <define name="argument.attribs"> + <empty/> + </define> + <define name="argument.model"> + <interleave> + <ref name="type"/> + <optional> + <ref name="selector"/> + </optional> + </interleave> + </define> + <define name="argument"> + <element name="argument"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="argument.attribs"/> + <ref name="argument.model"/> + </interleave> + </choice> + </element> + </define> + <define name="selector.attribs"> + <interleave> + <ref name="adt.sym.attrib"/> + <optional> + <ref name="sym.role.attrib"/> + </optional> + <optional> + <attribute name="total"> + <choice> + <value>yes</value> + <value>no</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="selector.model"> + <ref name="metadata.class"/> + </define> + <define name="selector"> + <element name="selector"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="selector.attribs"/> + <ref name="selector.model"/> + </interleave> + </choice> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocattribs.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocattribs.rng new file mode 100644 index 00000000000..2d66607c5c0 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocattribs.rng @@ -0,0 +1,257 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Common attributes + $Id: omdocattribs.rnc 8653 2010-08-18 06:57:10Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/rnc/omdocattribs.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- + all the explicitly namespaced attributes, except xml:lang, which + is handled explicitly + --> + <define name="nonlocal-attribs"> + <zeroOrMore> + <attribute> + <anyName> + <except> + <nsName ns=""/> + <nsName ns="http://www.w3.org/XML/1998/namespace"/> + </except> + </anyName> + <data type="string"/> + </attribute> + </zeroOrMore> + </define> + <!-- the attributes for CSS and PRES styling --> + <define name="css.attribs"> + <interleave> + <optional> + <attribute name="style"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="class"> + <data type="string"/> + </attribute> + </optional> + </interleave> + </define> + <define name="omdocref"> + <data type="anyURI"/> + </define> + <!-- an URI reference pointing to an OMDoc fragment --> + <define name="omdocrefs"> + <list> + <zeroOrMore> + <data type="anyURI"/> + </zeroOrMore> + </list> + </define> + <!-- a whitespace-separated list of omdocref --> + <define name="xref.attrib"> + <attribute name="xref"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="idrest.attribs"> + <interleave> + <ref name="css.attribs"/> + <zeroOrMore> + <ref name="nonlocal-attribs"/> + </zeroOrMore> + <optional> + <attribute name="xml:base"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="about"> + <data type="anyURI"/> + </attribute> + </optional> + </interleave> + </define> + <define name="id.attrib"> + <interleave> + <optional> + <attribute name="xml:id"> + <data type="ID"/> + </attribute> + </optional> + <ref name="idrest.attribs"/> + </interleave> + </define> + <define name="omdoc.toplevel.attribs"> + <ref name="id.attrib"/> + <optional> + <attribute name="generated-from"> + <ref name="omdocref"/> + </attribute> + </optional> + </define> + <!-- + The current XML-recommendation doesn't yet support the + three-letter short names for languages (ISO 693-2). So + the following section will be using the two-letter + (ISO 693-1) encoding for the languages. + + en : English, de : German, fr : French, + la : Latin, it : Italian, nl : Dutch, + ru : Russian, pl : Polish, es : Spanish, + tr : Turkish, zh : Chinese, ja : Japanese, + ko : Korean ... + --> + <define name="iso639"> + <choice> + <value>aa</value> + <value>ab</value> + <value>af</value> + <value>am</value> + <value>ar</value> + <value>as</value> + <value>ay</value> + <value>az</value> + <value>ba</value> + <value>be</value> + <value>bg</value> + <value>bh</value> + <value>bi</value> + <value>bn</value> + <value>bo</value> + <value>br</value> + <value>ca</value> + <value>co</value> + <value>cs</value> + <value>cy</value> + <value>da</value> + <value>de</value> + <value>dz</value> + <value>el</value> + <value>en</value> + <value>eo</value> + <value>es</value> + <value>et</value> + <value>eu</value> + <value>fa</value> + <value>fi</value> + <value>fj</value> + <value>fo</value> + <value>fr</value> + <value>fy</value> + <value>ga</value> + <value>gd</value> + <value>gl</value> + <value>gn</value> + <value>gu</value> + <value>ha</value> + <value>he</value> + <value>hi</value> + <value>hr</value> + <value>hu</value> + <value>hy</value> + <value>ia</value> + <value>ie</value> + <value>ik</value> + <value>id</value> + <value>is</value> + <value>it</value> + <value>iu</value> + <value>ja</value> + <value>jv</value> + <value>ka</value> + <value>kk</value> + <value>kl</value> + <value>km</value> + <value>kn</value> + <value>ko</value> + <value>ks</value> + <value>ku</value> + <value>ky</value> + <value>la</value> + <value>ln</value> + <value>lo</value> + <value>lt</value> + <value>lv</value> + <value>mg</value> + <value>mi</value> + <value>mk</value> + <value>ml</value> + <value>mn</value> + <value>mo</value> + <value>mr</value> + <value>ms</value> + <value>mt</value> + <value>my</value> + <value>na</value> + <value>ne</value> + <value>nl</value> + <value>no</value> + <value>oc</value> + <value>om</value> + <value>or</value> + <value>pa</value> + <value>pl</value> + <value>ps</value> + <value>pt</value> + <value>qu</value> + <value>rm</value> + <value>rn</value> + <value>ro</value> + <value>ru</value> + <value>rw</value> + <value>sa</value> + <value>sd</value> + <value>sg</value> + <value>sh</value> + <value>si</value> + <value>sk</value> + <value>sl</value> + <value>sm</value> + <value>sn</value> + <value>so</value> + <value>sq</value> + <value>sr</value> + <value>ss</value> + <value>st</value> + <value>su</value> + <value>sv</value> + <value>sw</value> + <value>ta</value> + <value>te</value> + <value>tg</value> + <value>th</value> + <value>ti</value> + <value>tk</value> + <value>tl</value> + <value>tn</value> + <value>to</value> + <value>tr</value> + <value>ts</value> + <value>tt</value> + <value>tw</value> + <value>ug</value> + <value>uk</value> + <value>ur</value> + <value>uz</value> + <value>vi</value> + <value>vo</value> + <value>wo</value> + <value>xh</value> + <value>yi</value> + <value>yo</value> + <value>za</value> + <value>zh</value> + <value>zu</value> + </choice> + </define> + <define name="xml.lang.attrib"> + <optional> + <attribute name="xml:lang"> + <ref name="iso639"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoccc.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoccc.rng new file mode 100644 index 00000000000..100d6aaa183 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoccc.rng @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- + A RelaxNG for Open Mathematical documents (OMDoc 1.3) Module CC + $Id: omdoccc.rnc 8959 2011-09-02 06:01:43Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoccc.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2010 Michael Kohlhase, released under the GNU Public License (GPL) + --> + <!-- we include the OMDoc version of cc metadata and specialize the description --> + <define name="license"> + <grammar> + <include href="creativecommons.rng"> + <define name="description"> + <parentRef name="plike.class"/> + </define> + </include> + </grammar> + </define> + <define name="metadata.class" combine="interleave"> + <zeroOrMore> + <ref name="license"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoccth.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoccth.rng new file mode 100644 index 00000000000..d07a5b680dd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoccth.rng @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module CTH + $Id: omdoccth.rnc 8979 2011-11-29 04:56:59Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoccth.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns:omdoc="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="constitutive.class" combine="interleave"> + <zeroOrMore> + <ref name="inclusion"/> + </zeroOrMore> + </define> + <define name="imports.model" combine="interleave"> + <interleave> + <optional> + <ref name="morphism"/> + </optional> + <optional> + <attribute name="type"> + <choice> + <value>local</value> + <value>global</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="conservativity"> + <choice> + <value>conservative</value> + <value>monomorphism</value> + <value>definitional</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="conservativity-just"> + <ref name="omdocref"/> + </attribute> + </optional> + </interleave> + </define> + <define name="toplevel.attribs" combine="interleave"> + <optional> + <attribute name="generated-via"> + <ref name="omdocref"/> + </attribute> + </optional> + </define> + <define name="constitutive.attribs" combine="interleave"> + <optional> + <attribute name="generated-via"> + <ref name="omdocref"/> + </attribute> + </optional> + </define> + <define name="omdoc.class" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="theory-inclusion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="axiom-inclusion"/> + </zeroOrMore> + </interleave> + </define> + <define name="theory-inclusion.justification"> + <zeroOrMore> + <ref name="obligation"/> + </zeroOrMore> + </define> + <define name="axiom-inclusion.justification"> + <zeroOrMore> + <ref name="obligation"/> + </zeroOrMore> + </define> + <define name="fromto.attrib"> + <interleave> + <ref name="from.attrib"/> + <attribute name="to"> + <ref name="omdocref"/> + </attribute> + </interleave> + </define> + <!-- attributes 'to' and 'from' are URIref --> + <define name="morphism.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="hiding"> + <ref name="omdocrefs"/> + </attribute> + </optional> + <optional> + <attribute name="base"> + <ref name="omdocrefs"/> + </attribute> + </optional> + </interleave> + </define> + <define name="morphism.model"> + <optional> + <ref name="def.eq"/> + </optional> + </define> + <define name="morphism"> + <element name="morphism"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="morphism.attribs"/> + <ref name="morphism.model"/> + </interleave> + </choice> + </element> + </define> + <!-- base points to some other morphism it extends --> + <define name="inclusion.attribs"> + <interleave> + <ref name="id.attribs"/> + <attribute name="via"> + <ref name="omdocref"/> + </attribute> + </interleave> + </define> + <define name="inclusion.model"> + <empty/> + </define> + <define name="inclusion"> + <element name="inclusion"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="inclusion.attribs"/> + <ref name="inclusion.model"/> + </interleave> + </choice> + </element> + </define> + <!-- via points to a theory-inclusion --> + <define name="theory-inclusion.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <ref name="fromto.attrib"/> + </interleave> + </define> + <define name="theory-inclusion.model"> + <interleave> + <optional> + <ref name="metadata"/> + </optional> + <optional> + <ref name="morphism"/> + </optional> + <ref name="theory-inclusion.justification"/> + </interleave> + </define> + <define name="theory-inclusion"> + <element name="theory-inclusion"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="theory-inclusion.attribs"/> + <ref name="theory-inclusion.model"/> + </interleave> + </choice> + </element> + </define> + <define name="axiom-inclusion.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <ref name="fromto.attrib"/> + </interleave> + </define> + <define name="axiom-inclusion.model"> + <interleave> + <optional> + <ref name="metadata"/> + </optional> + <optional> + <ref name="morphism"/> + </optional> + <ref name="axiom-inclusion.justification"/> + </interleave> + </define> + <define name="axiom-inclusion"> + <element name="theory-inclusion"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="axiom-inclusion.attribs"/> + <ref name="axiom-inclusion.model"/> + </interleave> + </choice> + </element> + </define> + <define name="obligation.attribs"> + <interleave> + <ref name="id.attribs"/> + <attribute name="induced-by"> + <ref name="omdocref"/> + </attribute> + <attribute name="assertion"> + <ref name="omdocref"/> + </attribute> + </interleave> + </define> + <define name="obligation.model"> + <empty/> + </define> + <define name="obligation"> + <element name="obligation"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="obligation.attribs"/> + <ref name="obligation.model"/> + </interleave> + </choice> + </element> + </define> +</grammar> +<!-- + attribute 'assertion' is a URIref, points to an assertion + that is the proof obligation induced by the axiom or definition + specified by 'induced-by'. +--> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocdc.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdc.rng new file mode 100644 index 00000000000..cd1cc409c60 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdc.rng @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module DC + $Id: omdocdc.rnc 8968 2011-09-07 05:37:09Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocdc.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2010 Michael Kohlhase, released under the GNU Public License (GPL) + --> + <!-- we include the dublin core and MARC elements, filling them with our content types --> + <define name="dc.common"> + <interleave> + <ref name="id.attribs"/> + <ref name="nonlocal.attribs"/> + </interleave> + </define> + <define name="dc.comlang"> + <interleave> + <ref name="dc.common"/> + <ref name="xml.lang.attrib"/> + </interleave> + </define> + <define name="dublincore"> + <grammar> + <include href="MARCRelators.rng"/> + <include href="dublincore.rng"> + <define name="dc.date"> + <interleave> + <parentRef name="dc.common"/> + <optional> + <attribute name="action"> + <data type="NMTOKEN"/> + </attribute> + </optional> + <optional> + <attribute name="who"> + <data type="anyURI"/> + </attribute> + </optional> + <choice> + <data type="date"/> + <data type="dateTime"/> + </choice> + </interleave> + </define> + <define name="dc.identifier"> + <choice> + <parentRef name="tref"/> + <interleave> + <parentRef name="dc.common"/> + <attribute name="scheme"> + <data type="NMTOKEN"/> + </attribute> + <text/> + </interleave> + </choice> + </define> + <define name="dc.type"> + <choice> + <parentRef name="tref"/> + <interleave> + <parentRef name="dc.common"/> + <choice> + <value>Dataset</value> + <value>Text</value> + <value>Collection</value> + </choice> + </interleave> + </choice> + </define> + <define name="dc.inline"> + <choice> + <parentRef name="tref"/> + <interleave> + <parentRef name="dc.comlang"/> + <parentRef name="inline.model"/> + </interleave> + </choice> + </define> + <define name="dc.text"> + <choice> + <parentRef name="tref"/> + <interleave> + <parentRef name="dc.comlang"/> + <parentRef name="plike.class"/> + </interleave> + </choice> + </define> + <define name="dc.person"> + <choice> + <parentRef name="tref"/> + <interleave> + <parentRef name="dc.common"/> + <optional> + <attribute name="role"> + <ref name="MARCRelators"/> + </attribute> + </optional> + <parentRef name="inline.model"/> + </interleave> + </choice> + </define> + <define name="dc.rights"> + <choice> + <parentRef name="tref"/> + <interleave> + <parentRef name="dc.comlang"/> + <parentRef name="plike.class"/> + </interleave> + </choice> + </define> + <define name="dc.source"> + <parentRef name="plike.class"/> + </define> + </include> + </grammar> + </define> + <define name="metadata.model" combine="interleave"> + <ref name="dublincore"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocdg.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdg.rng new file mode 100644 index 00000000000..735bfd6ed89 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdg.rng @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module CTH + $Id: omdocdg.rnc 8958 2011-09-02 06:01:13Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocdg.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns:omdoc="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="omdoc.class" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="decomposition"/> + </zeroOrMore> + <zeroOrMore> + <ref name="path-just"/> + </zeroOrMore> + </interleave> + </define> + <define name="omdoccth.theory-inclusion.justification" combine="interleave"> + <zeroOrMore> + <ref name="decomposition"/> + </zeroOrMore> + </define> + <define name="omdoccth.axiom-inclusion.justification" combine="interleave"> + <zeroOrMore> + <ref name="path-just"/> + </zeroOrMore> + </define> + <define name="decomposition.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + <attribute name="links"> + <ref name="omdocrefs"/> + </attribute> + </interleave> + </define> + <define name="decomposition.model"> + <empty/> + </define> + <define name="decomposition"> + <element name="decomposition"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="decomposition.attribs"/> + <ref name="decomposition.model"/> + </interleave> + </choice> + </element> + </define> + <!-- + attribute 'for' points to a 'theory-inclusion', which this + element justifies; attribute 'links' is an URIrefs, points to a + list of axiom-inlcusions and theory-inclusions + --> + <define name="path-just.attribs"> + <interleave> + <optional> + <ref name="for.attrib"/> + </optional> + <ref name="id.attribs"/> + <attribute name="local"> + <ref name="omdocref"/> + </attribute> + <attribute name="globals"> + <ref name="omdocrefs"/> + </attribute> + </interleave> + </define> + <define name="path-just.model"> + <empty/> + </define> + <define name="path-just"> + <element name="path-just"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="path-just.attribs"/> + <ref name="path-just.model"/> + </interleave> + </choice> + </element> + </define> +</grammar> +<!-- + attribute 'local' is an URIref, points to axiom-inclusion + 'globals' is an URIrefs, points to a list of theory-inclusions +--> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocdoc.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdoc.rng new file mode 100644 index 00000000000..bac94d26352 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdoc.rng @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG for Open Mathematical documents (OMDoc 1.3) Module DOC + $Id: omdocdoc.rnc 8972 2011-09-09 11:36:34Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocdoc.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- extend the stuff that can go into a mathematical text --> + <define name="omdoc.class" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="ignore"/> + </zeroOrMore> + <zeroOrMore> + <ref name="tableofcontents"/> + </zeroOrMore> + </interleave> + </define> + <define name="ignore.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="type"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="comment"> + <data type="string"/> + </attribute> + </optional> + </interleave> + </define> + <define name="ignore.model"> + <ref name="Anything"/> + </define> + <define name="ignore"> + <element name="ignore"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="ignore.attribs"/> + <ref name="ignore.model"/> + </interleave> + </choice> + </element> + </define> + <define name="tableofcontents.attribs"> + <optional> + <attribute name="level"> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + </define> + <define name="tableofcontents.model"> + <empty/> + </define> + <define name="tableofcontents"> + <element name="tableofcontents"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="tableofcontents.attribs"/> + <ref name="tableofcontents.model"/> + </interleave> + </choice> + </element> + </define> + <define name="index.attribs"> + <ref name="id.attribs"/> + </define> + <define name="index.model"> + <empty/> + </define> + <define name="index"> + <element name="index"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="index.attribs"/> + <ref name="index.model"/> + </interleave> + </choice> + </element> + </define> + <define name="bibliography.attribs"> + <ref name="id.attribs"/> + <attribute name="files"/> + </define> + <define name="bibliography.model"> + <empty/> + </define> + <define name="bibliography"> + <element name="bibliography"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="bibliography.attribs"/> + <ref name="bibliography.model"/> + </interleave> + </choice> + </element> + </define> + <define name="group.attribs"> + <ref name="id.attribs"/> + <optional> + <attribute name="type"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="modules"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="layout"/> + </optional> + </define> + <define name="frontmatter"> + <a:documentation>The <omdoc> and <omgroup> elements allow frontmatter and backmatter, +which we will now define</a:documentation> + <interleave> + <ref name="metadata.class"/> + <optional> + <ref name="tableofcontents"/> + </optional> + </interleave> + </define> + <define name="backmatter"> + <interleave> + <optional> + <ref name="index"/> + </optional> + <optional> + <ref name="bibliography"/> + </optional> + </interleave> + </define> + <define name="docstruct.class"> + <zeroOrMore> + <ref name="omgroup"/> + </zeroOrMore> + </define> + <define name="omdoc.class" combine="interleave"> + <ref name="docstruct.class"/> + </define> + <define name="mainmatter"> + <ref name="omdoc.class"/> + </define> + <define name="omgroup.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <ref name="group.attribs"/> + </interleave> + </define> + <define name="omgroup.model"> + <ref name="frontmatter"/> + <ref name="mainmatter"/> + <ref name="backmatter"/> + </define> + <define name="omgroup"> + <element name="omgroup"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="omgroup.attribs"/> + <ref name="omgroup.model"/> + </interleave> + </choice> + </element> + </define> + <define name="omdoc.attribs"> + <a:documentation>the model of the document root only differs from <omgroup> in the version attribute</a:documentation> + <interleave> + <ref name="toplevel.attribs"/> + <ref name="group.attribs"/> + <optional> + <attribute name="version"> + <data type="string"> + <param name="pattern">1.3</param> + </data> + </attribute> + </optional> + </interleave> + </define> + <define name="omdoc.model"> + <ref name="frontmatter"/> + <ref name="mainmatter"/> + <ref name="backmatter"/> + </define> + <define name="omdoc"> + <element name="omdoc"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="omdoc.attribs"/> + <ref name="omdoc.model"/> + </interleave> + </choice> + </element> + </define> + <!-- the following is for legacy only, and will be removed soon. --> + <define name="ref.attribs"> + <a:documentation>deprecated ################################</a:documentation> + <interleave> + <ref name="id.attribs"/> + <ref name="xref.attrib"/> + <attribute name="type"> + <choice> + <value>include</value> + <value>cite</value> + </choice> + </attribute> + </interleave> + </define> + <define name="ref.model"> + <empty/> + </define> + <define name="ref"> + <element name="ref"> + <interleave> + <ref name="ref.attribs"/> + <ref name="ref.model"/> + </interleave> + </element> + </define> + <define name="omdoc.class" combine="interleave"> + <zeroOrMore> + <ref name="ref"/> + </zeroOrMore> + </define> + <define name="inline.class" combine="interleave"> + <zeroOrMore> + <ref name="ref"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng new file mode 100644 index 00000000000..b7672c89a65 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng @@ -0,0 +1,330 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module EXT + $Id: omdocext.rnc 8958 2011-09-02 06:01:13Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocext.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="plike.class" combine="interleave"> + <zeroOrMore> + <ref name="omlet"/> + </zeroOrMore> + </define> + <define name="omdoc.class" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="private"/> + </zeroOrMore> + <zeroOrMore> + <ref name="code"/> + </zeroOrMore> + </interleave> + </define> + <define name="private.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + <optional> + <attribute name="requires"> + <ref name="omdocref"/> + </attribute> + </optional> + <optional> + <attribute name="reformulates"> + <ref name="omdocref"/> + </attribute> + </optional> + </interleave> + </define> + <define name="private.model"> + <interleave> + <ref name="metadata.class"/> + <oneOrMore> + <ref name="data"/> + </oneOrMore> + </interleave> + </define> + <define name="private"> + <element name="private"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="private.attribs"/> + <ref name="private.model"/> + </interleave> + </choice> + </element> + </define> + <!-- + reformulates is a URIref to the omdoc elements that are reformulated by the + system-specific information in this element + --> + <define name="code.attribs"> + <ref name="private.attribs"/> + </define> + <define name="code.model"> + <interleave> + <ref name="metadata.class"/> + <zeroOrMore> + <ref name="data"/> + </zeroOrMore> + <zeroOrMore> + <ref name="input"/> + </zeroOrMore> + <zeroOrMore> + <ref name="output"/> + </zeroOrMore> + <zeroOrMore> + <ref name="effect"/> + </zeroOrMore> + </interleave> + </define> + <define name="code"> + <element name="code"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="code.attribs"/> + <ref name="code.model"/> + </interleave> + </choice> + </element> + </define> + <define name="input.attribs"> + <ref name="id.attribs"/> + </define> + <define name="input.model"> + <ref name="mcf.class"/> + </define> + <define name="input"> + <element name="input"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="input.attribs"/> + <ref name="input.model"/> + </interleave> + </choice> + </element> + </define> + <define name="output.attribs"> + <ref name="id.attribs"/> + </define> + <define name="output.model"> + <ref name="mcf.class"/> + </define> + <define name="output"> + <element name="output"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="output.attribs"/> + <ref name="output.model"/> + </interleave> + </choice> + </element> + </define> + <define name="effect.attribs"> + <ref name="id.attribs"/> + </define> + <define name="effect.model"> + <ref name="mcf.class"/> + </define> + <define name="effect"> + <element name="effect"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="effect.attribs"/> + <ref name="effect.model"/> + </interleave> + </choice> + </element> + </define> + <define name="data.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="href"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="size"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="pto"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="pto-version"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="original"> + <choice> + <value>external</value> + <value>local</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="data.textformat"> + <value>TeX</value> + </define> + <define name="data.text"> + <interleave> + <ref name="data.attribs"/> + <optional> + <attribute name="format"> + <ref name="data.textformat"/> + </attribute> + </optional> + <text/> + </interleave> + </define> + <define name="data.any"> + <interleave> + <ref name="data.attribs"/> + <optional> + <attribute name="format"> + <data type="anyURI"/> + </attribute> + </optional> + <ref name="Anything"/> + </interleave> + </define> + <define name="data.model"> + <choice> + <ref name="data.text"/> + <ref name="data.any"/> + </choice> + </define> + <define name="data"> + <element name="data"> + <choice> + <ref name="tref"/> + <ref name="data.model"/> + </choice> + </element> + </define> + <define name="omlet.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="action"> + <choice> + <value>display</value> + <value>execute</value> + <value>other</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="show"> + <choice> + <value>new</value> + <value>replace</value> + <value>embed</value> + <value>other</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="actuate"> + <choice> + <value>onPresent</value> + <value>onLoad</value> + <value>onRequest</value> + <value>other</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="omlet.param"> + <interleave> + <text/> + <ref name="inline.class"/> + <zeroOrMore> + <ref name="param"/> + </zeroOrMore> + </interleave> + </define> + <define name="omlet.data"> + <choice> + <attribute name="data"> + <data type="anyURI"/> + </attribute> + <choice> + <ref name="private"/> + <ref name="code"/> + </choice> + </choice> + </define> + <define name="omlet.model"> + <interleave> + <ref name="metadata.class"/> + <ref name="omlet.param"/> + <ref name="omlet.data"/> + </interleave> + </define> + <define name="omlet"> + <element name="omlet"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="omlet.attribs"/> + <ref name="omlet.model"/> + </interleave> + </choice> + </element> + </define> + <define name="param.attribs"> + <interleave> + <ref name="id.attribs"/> + <attribute name="name"> + <data type="string"/> + </attribute> + <optional> + <attribute name="value"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="valuetype"> + <choice> + <value>data</value> + <value>ref</value> + <value>object</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="param.model"> + <optional> + <ref name="mobj"/> + </optional> + </define> + <define name="param"> + <element name="param"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="param.attribs"/> + <ref name="param.model"/> + </interleave> + </choice> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocmeta.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmeta.rng new file mode 100644 index 00000000000..699dfa55937 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmeta.rng @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG for Open Mathematical documents (OMDoc 1.3) Module META + $Id: omdocmeta.rnc 8958 2011-09-02 06:01:13Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocmeta.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2007-2008 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="rel.attrib"> + <attribute name="rel"> + <ref name="curies"/> + </attribute> + </define> + <define name="rev.attrib"> + <attribute name="rev"> + <ref name="curies"/> + </attribute> + </define> + <define name="content.attrib"> + <attribute name="content"> + <data type="string"/> + </attribute> + </define> + <define name="resource.attrib"> + <attribute name="resource"> + <choice> + <data type="anyURI"/> + <ref name="safecurie"/> + </choice> + </attribute> + </define> + <define name="property.attrib"> + <attribute name="property"> + <ref name="curies"/> + </attribute> + </define> + <define name="datatype.attrib"> + <attribute name="datatype"> + <ref name="curie"/> + </attribute> + </define> + <define name="typeof.attrib"> + <attribute name="typeof"> + <ref name="curies"/> + </attribute> + </define> + <define name="meta.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <ref name="property.attrib"/> + </optional> + <optional> + <ref name="datatype.attrib"/> + </optional> + <ref name="xml.lang.attrib"/> + </interleave> + </define> + <define name="meta.model"> + <choice> + <ref name="content.attrib"/> + <ref name="Anything"/> + <interleave> + <ref name="content.attrib"/> + <ref name="Anything"/> + </interleave> + </choice> + </define> + <define name="meta"> + <element name="meta"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="meta.attribs"/> + <ref name="meta.model"/> + </interleave> + </choice> + </element> + </define> + <define name="mlink.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <ref name="rel.attrib"/> + </optional> + <optional> + <ref name="rev.attrib"/> + </optional> + <optional> + <ref name="resource.attrib"/> + </optional> + </interleave> + </define> + <define name="mlink.class"> + <interleave> + <zeroOrMore> + <ref name="resource"/> + </zeroOrMore> + <zeroOrMore> + <ref name="mlink"/> + </zeroOrMore> + <zeroOrMore> + <ref name="meta"/> + </zeroOrMore> + </interleave> + </define> + <define name="mlink.model"> + <choice> + <attribute name="href"> + <ref name="curie"/> + </attribute> + <ref name="mlink.class"/> + </choice> + </define> + <define name="mlink"> + <element name="link"> + <choice> + <ref name="tref"/> + <group> + <ref name="mlink.attribs"/> + <ref name="mlink.model"/> + </group> + </choice> + </element> + </define> + <define name="resource.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <ref name="typeof.attrib"/> + </optional> + <optional> + <ref name="about.attrib"/> + </optional> + </interleave> + </define> + <define name="resource.class"> + <interleave> + <zeroOrMore> + <ref name="meta"/> + </zeroOrMore> + <zeroOrMore> + <ref name="mlink"/> + </zeroOrMore> + </interleave> + </define> + <define name="resource"> + <element name="resource"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="resource.attribs"/> + <ref name="resource.class"/> + </interleave> + </choice> + </element> + </define> + <define name="metadata.class"> + <interleave> + <optional> + <ref name="metadata"/> + </optional> + <zeroOrMore> + <ref name="meta"/> + </zeroOrMore> + <zeroOrMore> + <ref name="mlink"/> + </zeroOrMore> + </interleave> + </define> + <define name="metadata.model"> + <ref name="metadata.class"/> + </define> + <define name="metadata.attribs"> + <ref name="id.attribs"/> + </define> + <define name="metadata"> + <element name="metadata"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="metadata.attribs"/> + <ref name="metadata.model"/> + </interleave> + </choice> + </element> + </define> + <define name="rdfa.attribs"> + <interleave> + <optional> + <ref name="rel.attrib"/> + </optional> + <optional> + <ref name="rev.attrib"/> + </optional> + <optional> + <ref name="content.attrib"/> + </optional> + <optional> + <ref name="about.attrib"/> + </optional> + <optional> + <ref name="resource.attrib"/> + </optional> + <optional> + <ref name="property.attrib"/> + </optional> + <optional> + <ref name="datatype.attrib"/> + </optional> + <optional> + <ref name="typeof.attrib"/> + </optional> + </interleave> + </define> + <define name="id.attribs" combine="interleave"> + <ref name="rdfa.attribs"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocmobj.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmobj.rng new file mode 100644 index 00000000000..de29149f94e --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmobj.rng @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module MOBJ + $Id: omdocmobj.rnc 8973 2011-09-09 12:45:16Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocmobj.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2009 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- the legacy element, it can encapsulate the non-migrated formats --> + <define name="legacy.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="formalism"> + <data type="anyURI"/> + </attribute> + </optional> + <attribute name="format"> + <data type="anyURI"/> + </attribute> + </interleave> + </define> + <define name="legacy.model"> + <ref name="Anything"/> + </define> + <define name="legacy"> + <element name="legacy"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="legacy.attribs"/> + <ref name="legacy.model"/> + </interleave> + </choice> + </element> + </define> + <define name="nonom.attribs"> + <zeroOrMore> + <attribute> + <anyName> + <except> + <nsName ns=""/> + <nsName ns="http://www.openmath.org/OpenMath"/> + </except> + </anyName> + </attribute> + </zeroOrMore> + </define> + <define name="extom.attribs"> + <interleave> + <ref name="idrest.attribs"/> + <ref name="nonom.attribs"/> + </interleave> + </define> + <define name="omobj"> + <grammar> + <include href="openmath2.rng"/> + <define name="common.attributes" combine="interleave"> + <parentRef name="extom.attribs"/> + </define> + </grammar> + </define> + <define name="cmml"> + <grammar> + <include href="mathml3-common.rng"/> + <include href="mathml3-strict-content.rng"/> + </grammar> + </define> + <define name="mobj"> + <choice> + <ref name="legacy"/> + <ref name="omobj"/> + <ref name="cmml"/> + </choice> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng new file mode 100644 index 00000000000..77d51f527a6 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng @@ -0,0 +1,502 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module MTXT + $Id: omdocmtxt.rnc 8967 2011-09-02 12:41:47Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocmtxt.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="omdoc.class" combine="interleave"> + <zeroOrMore> + <ref name="omtext"/> + </zeroOrMore> + </define> + <!-- attribute for is a whitespace-separated list of URIrefs --> + <define name="for.attrib"> + <attribute name="for"> + <ref name="omdocrefs"/> + </attribute> + </define> + <define name="from.attrib"> + <attribute name="from"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="mc.class"> + <interleave> + <ref name="metadata.class"/> + <zeroOrMore> + <ref name="CMP"/> + </zeroOrMore> + </interleave> + </define> + <define name="mcf.class"> + <interleave> + <ref name="mc.class"/> + <zeroOrMore> + <ref name="FMP"/> + </zeroOrMore> + </interleave> + </define> + <define name="rsttype"> + <choice> + <value>abstract</value> + <value>introduction</value> + <value>annote</value> + <value>conclusion</value> + <value>thesis</value> + <value>comment</value> + <value>antithesis</value> + <value>elaboration</value> + <value>motivation</value> + <value>evidence</value> + <value>note</value> + <value>warning</value> + <value>question</value> + <value>answer</value> + <value>transition</value> + </choice> + </define> + <define name="statementtype"> + <choice> + <value>axiom</value> + <value>definition</value> + <value>example</value> + <value>proof</value> + <value>derive</value> + <value>hypothesis</value> + <value>notation</value> + </choice> + </define> + <define name="assertiontype"> + <choice> + <value>assertion</value> + <value>theorem</value> + <value>lemma</value> + <value>corollary</value> + <value>proposition</value> + <value>conjecture</value> + <value>false-conjecture</value> + <value>obligation</value> + <value>postulate</value> + <value>formula</value> + <value>assumption</value> + <value>rule</value> + </choice> + </define> + <define name="verbalizes.attrib"> + <attribute name="verbalizes"> + <ref name="omdocrefs"/> + </attribute> + </define> + <define name="omtext.type.attrib"> + <attribute name="type"> + <choice> + <ref name="rsttype"/> + <ref name="statementtype"/> + <ref name="assertiontype"/> + <data type="anyURI"/> + </choice> + </attribute> + </define> + <define name="index.attrib"> + <attribute name="index"> + <data type="NMTOKEN"/> + </attribute> + </define> + <define name="parallel.attribs"> + <interleave> + <optional> + <ref name="verbalizes.attrib"/> + </optional> + <optional> + <ref name="index.attrib"/> + </optional> + <optional> + <ref name="omtext.type.attrib"/> + </optional> + </interleave> + </define> + <define name="omtext.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="omtext.type.attrib"/> + </optional> + <optional> + <attribute name="for"> + <ref name="omdocref"/> + </attribute> + </optional> + <optional> + <attribute name="from"> + <ref name="omdocref"/> + </attribute> + </optional> + <optional> + <ref name="verbalizes.attrib"/> + </optional> + </interleave> + </define> + <define name="omtext.model"> + <ref name="mcf.class"/> + </define> + <define name="omtext"> + <element name="omtext"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="omtext.attribs"/> + <ref name="omtext.model"/> + </interleave> + </choice> + </element> + </define> + <define name="CMP.attribs"> + <interleave> + <ref name="xml.lang.attrib"/> + <ref name="id.attribs"/> + </interleave> + </define> + <define name="CMP.model"> + <ref name="plike.class"/> + </define> + <define name="CMP"> + <element name="CMP"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="CMP.attribs"/> + <ref name="CMP.model"/> + </interleave> + </choice> + </element> + </define> + <define name="term.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="role"/> + </optional> + <optional> + <attribute name="cdbase"> + <data type="anyURI"/> + </attribute> + </optional> + <attribute name="cd"> + <data type="NCName"/> + </attribute> + <attribute name="name"> + <data type="NCName"/> + </attribute> + </interleave> + </define> + <define name="term.model"> + <ref name="inline.model"/> + </define> + <define name="term"> + <element name="term"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="term.attribs"/> + <ref name="term.model"/> + </interleave> + </choice> + </element> + </define> + <define name="FMP.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="logic"> + <data type="NMTOKEN"/> + </attribute> + </optional> + </interleave> + </define> + <define name="FMP.model"> + <choice> + <group> + <zeroOrMore> + <ref name="assumption"/> + </zeroOrMore> + <zeroOrMore> + <ref name="conclusion"/> + </zeroOrMore> + </group> + <ref name="mobj"/> + </choice> + </define> + <define name="FMP"> + <element name="FMP"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="FMP.attribs"/> + <ref name="FMP.model"/> + </interleave> + </choice> + </element> + </define> + <define name="assumption.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="inductive"> + <choice> + <value>yes</value> + <value>no</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="assumption.model"> + <ref name="mobj"/> + </define> + <define name="assumption"> + <element name="assumption"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="assumption.attribs"/> + <ref name="assumption.model"/> + </interleave> + </choice> + </element> + </define> + <define name="conclusion.attribs"> + <ref name="id.attribs"/> + </define> + <define name="conclusion.model"> + <ref name="mobj"/> + </define> + <define name="conclusion"> + <element name="conclusion"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="conclusion.attribs"/> + <ref name="conclusion.model"/> + </interleave> + </choice> + </element> + </define> + <define name="note.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + <ref name="parallel.attribs"/> + <optional> + <attribute name="type"> + <data type="NMTOKEN"/> + </attribute> + </optional> + </interleave> + </define> + <define name="note.model"> + <ref name="inline.model"/> + </define> + <define name="note"> + <element name="note"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="note.attribs"/> + <ref name="note.model"/> + </interleave> + </choice> + </element> + </define> + <!-- index --> + <define name="index.att"> + <interleave> + <optional> + <attribute name="sort-by"/> + </optional> + <optional> + <attribute name="see"> + <ref name="omdocrefs"/> + </attribute> + </optional> + <optional> + <attribute name="seealso"> + <ref name="omdocrefs"/> + </attribute> + </optional> + <optional> + <attribute name="links"> + <list> + <zeroOrMore> + <data type="anyURI"/> + </zeroOrMore> + </list> + </attribute> + </optional> + </interleave> + </define> + <define name="idx.attribs"> + <choice> + <ref name="id.attribs"/> + <ref name="xref.attrib"/> + </choice> + </define> + <define name="idx.model"> + <interleave> + <optional> + <ref name="idt"/> + </optional> + <oneOrMore> + <ref name="ide"/> + </oneOrMore> + </interleave> + </define> + <define name="idx"> + <element name="idx"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="idx.attribs"/> + <ref name="idx.model"/> + </interleave> + </choice> + </element> + </define> + <define name="ide.attribs"> + <choice> + <interleave> + <ref name="id.attribs"/> + <ref name="index.att"/> + <ref name="index.attrib"/> + </interleave> + <ref name="xref.attrib"/> + </choice> + </define> + <define name="ide.model"> + <zeroOrMore> + <ref name="idp"/> + </zeroOrMore> + </define> + <define name="ide"> + <element name="ide"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="ide.attribs"/> + <ref name="ide.model"/> + </interleave> + </choice> + </element> + </define> + <define name="idt.attribs"> + <choice> + <ref name="id.attribs"/> + <ref name="xref.attrib"/> + </choice> + </define> + <define name="idt.model"> + <ref name="inline.model"/> + </define> + <define name="idt"> + <element name="idt"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="idt.attribs"/> + <ref name="idt.model"/> + </interleave> + </choice> + </element> + </define> + <define name="idp.attribs"> + <ref name="index.att"/> + </define> + <define name="idp.model"> + <ref name="inline.model"/> + </define> + <define name="idp"> + <element name="idp"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="idp.attribs"/> + <ref name="idp.model"/> + </interleave> + </choice> + </element> + </define> + <!-- citations --> + <define name="citation.attribs"> + <interleave> + <ref name="id.attribs"/> + <attribute name="bibrefs"/> + </interleave> + </define> + <define name="citation.model"> + <empty/> + </define> + <define name="citation"> + <element name="citation"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="citation.attribs"/> + <ref name="citation.model"/> + </interleave> + </choice> + </element> + </define> + <!-- citations --> + <define name="oref.attribs"> + <interleave> + <ref name="id.attribs"/> + <attribute name="href"> + <data type="anyURI"/> + </attribute> + </interleave> + </define> + <define name="oref.model"> + <empty/> + </define> + <define name="oref"> + <element name="oref"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="oref.attribs"/> + <ref name="oref.model"/> + </interleave> + </choice> + </element> + </define> + <!-- what can go into a mathematical text --> + <define name="op.class"> + <interleave> + <zeroOrMore> + <ref name="term"/> + </zeroOrMore> + <zeroOrMore> + <ref name="mobj"/> + </zeroOrMore> + <zeroOrMore> + <ref name="note"/> + </zeroOrMore> + <zeroOrMore> + <ref name="idx"/> + </zeroOrMore> + <zeroOrMore> + <ref name="citation"/> + </zeroOrMore> + <zeroOrMore> + <ref name="oref"/> + </zeroOrMore> + </interleave> + </define> + <define name="inline.class" combine="interleave"> + <ref name="op.class"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocpf.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocpf.rng new file mode 100644 index 00000000000..e9ea40e59d8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocpf.rng @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module PF + $Id: omdocpf.rnc 8958 2011-09-02 06:01:13Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocpf.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns:omdoc="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="omdocpf.opt.content" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="proof"/> + </zeroOrMore> + <zeroOrMore> + <ref name="proofobject"/> + </zeroOrMore> + </interleave> + </define> + <define name="omdoc.class" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="proof"/> + </zeroOrMore> + <zeroOrMore> + <ref name="proofobject"/> + </zeroOrMore> + </interleave> + </define> + <define name="proof.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + </interleave> + </define> + <define name="proof.model"> + <interleave> + <ref name="metadata.class"/> + <zeroOrMore> + <ref name="omtext"/> + </zeroOrMore> + <zeroOrMore> + <ref name="symbol"/> + </zeroOrMore> + <zeroOrMore> + <ref name="definition"/> + </zeroOrMore> + <zeroOrMore> + <ref name="derive"/> + </zeroOrMore> + <zeroOrMore> + <ref name="hypothesis"/> + </zeroOrMore> + </interleave> + </define> + <define name="proof"> + <element name="proof"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="proof.attribs"/> + <ref name="proof.model"/> + </interleave> + </choice> + </element> + </define> + <define name="proofobject.attribs"> + <ref name="proof.attribs"/> + </define> + <define name="proofobject.model"> + <interleave> + <ref name="metadata.class"/> + <ref name="mobj"/> + </interleave> + </define> + <define name="proofobject"> + <element name="proofobject"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="proofobject.attribs"/> + <ref name="proofobject.model"/> + </interleave> + </choice> + </element> + </define> + <define name="derive.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="type"> + <choice> + <value>conclusion</value> + <value>gap</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="derive.model"> + <interleave> + <ref name="mcf.class"/> + <optional> + <ref name="method"/> + </optional> + </interleave> + </define> + <define name="derive"> + <element name="derive"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="derive.attribs"/> + <ref name="derive.model"/> + </interleave> + </choice> + </element> + </define> + <define name="hypothesis.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="inductive"> + <choice> + <value>yes</value> + <value>no</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="hypothesis.model"> + <ref name="mcf.class"/> + </define> + <define name="hypothesis"> + <element name="hypothesis"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="hypothesis.attribs"/> + <ref name="hypothesis.model"/> + </interleave> + </choice> + </element> + </define> + <define name="method.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <ref name="xref.attrib"/> + </optional> + </interleave> + </define> + <define name="method.model"> + <interleave> + <zeroOrMore> + <ref name="mobj"/> + </zeroOrMore> + <zeroOrMore> + <ref name="premise"/> + </zeroOrMore> + <zeroOrMore> + <ref name="proof"/> + </zeroOrMore> + <zeroOrMore> + <ref name="proofobject"/> + </zeroOrMore> + </interleave> + </define> + <define name="method"> + <element name="method"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="method.attribs"/> + <ref name="method.model"/> + </interleave> + </choice> + </element> + </define> + <define name="premise.attribs"> + <interleave> + <ref name="xref.attrib"/> + <optional> + <attribute name="rank"> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + </interleave> + </define> + <define name="premise.model"> + <empty/> + </define> + <define name="premise"> + <element name="premise"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="premise.attribs"/> + <ref name="premise.model"/> + </interleave> + </choice> + </element> + </define> +</grammar> +<!-- + The rank of a premise specifies its importance in the inference rule. + Rank 0 (the default) is a real premise, whereas positive rank signifies + sideconditions of varying degree. +--> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocpres.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocpres.rng new file mode 100644 index 00000000000..3f37f8cbedd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocpres.rng @@ -0,0 +1,386 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG for Open Mathematical documents (OMDoc 1.3) Module PRES + $Id: omdocpres.rnc 8973 2011-09-09 12:45:16Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocpres.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2008 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="omdoc.class" combine="interleave"> + <zeroOrMore> + <ref name="notation"/> + </zeroOrMore> + </define> + <define name="ic.attrib"> + <a:documentation>we first add the ic and ec attributes for notation contexts everywhere </a:documentation> + <attribute name="ic"/> + </define> + <define name="ec.attrib"> + <attribute name="ec"/> + </define> + <define name="idrest.attribs" combine="interleave"> + <interleave> + <optional> + <ref name="ic.attrib"/> + </optional> + <optional> + <ref name="ec.attrib"/> + </optional> + </interleave> + </define> + <define name="prototype.attribs"> + <empty/> + </define> + <define name="prototype.model"> + <ref name="protoexp"/> + </define> + <define name="prototype"> + <element name="prototype"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="prototype.attribs"/> + <ref name="prototype.model"/> + </interleave> + </choice> + </element> + </define> + <define name="protoexp"> + <choice> + <grammar> + <include href="openmath2.rng"> + <start> + <ref name="omel"/> + </start> + <define name="common.attributes"> + <parentRef name="id.attribs"/> + </define> + </include> + <define name="omel" combine="choice"> + <parentRef name="proto.class"/> + </define> + <define name="omvar" combine="choice"> + <parentRef name="proto.class"/> + </define> + <define name="common.attributes" combine="interleave"> + <parentRef name="ntn.attrib"/> + </define> + </grammar> + <grammar> + <include href="mathml3.rng"> + <start> + <ref name="ContExp"/> + </start> + </include> + <define name="ContExp" combine="choice"> + <parentRef name="proto.class"/> + </define> + <define name="ci" combine="choice"> + <parentRef name="proto.class"/> + </define> + <define name="CommonAtt" combine="interleave"> + <parentRef name="ntn.attrib"/> + </define> + </grammar> + </choice> + </define> + <define name="precedence.att"> + <choice> + <attribute name="precedence"> + <data type="integer"/> + </attribute> + <attribute name="argprec"> + <data type="integer"/> + </attribute> + </choice> + </define> + <define name="context.att"> + <interleave> + <optional> + <attribute name="xml:lang"/> + </optional> + <optional> + <attribute name="context"/> + </optional> + <optional> + <attribute name="variant"/> + </optional> + </interleave> + </define> + <define name="format.att"> + <optional> + <attribute name="format"/> + </optional> + </define> + <define name="rendering.attribs"> + <interleave> + <optional> + <ref name="precedence.att"/> + </optional> + <ref name="context.att"/> + <ref name="format.att"/> + </interleave> + </define> + <define name="rendering.model"> + <ref name="renderexp"/> + </define> + <define name="rendering"> + <element name="rendering"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="rendering.attribs"/> + <ref name="rendering.model"/> + </interleave> + </choice> + </element> + </define> + <define name="renderexp"> + <choice> + <grammar> + <include href="mathml3-common.rng"> + <start> + <ref name="PresentationExpression"/> + </start> + </include> + <include href="mathml3-presentation.rng"/> + <define name="PresentationExpression" combine="choice"> + <parentRef name="render.class"/> + </define> + <define name="CommonAtt" combine="interleave"> + <parentRef name="ntn.attrib"/> + </define> + <define name="mtable.content.class" combine="choice"> + <parentRef name="render.class"/> + </define> + <define name="mtr.content.class" combine="choice"> + <parentRef name="render.class"/> + </define> + </grammar> + <zeroOrMore> + <choice> + <ref name="pdata"/> + <ref name="render.class"/> + </choice> + </zeroOrMore> + </choice> + </define> + <define name="pdata.attribs"> + <empty/> + </define> + <define name="pdata.model"> + <text/> + </define> + <define name="pdata"> + <element name="pdata"> + <interleave> + <ref name="pdata.attribs"/> + <ref name="pdata.model"/> + </interleave> + </element> + </define> + <define name="iterexp"> + <grammar> + <include href="mathml3.rng"> + <start> + <choice> + <ref name="PresentationExpression"/> + <ref name="mtr"/> + <ref name="mlabeledtr"/> + <ref name="mtd"/> + </choice> + </start> + </include> + <define name="PresentationExpression" combine="choice"> + <parentRef name="render.class"/> + </define> + <define name="MathML.Common.attrib" combine="interleave"> + <parentRef name="ntn.attrib"/> + </define> + <define name="mtable.content.class" combine="choice"> + <parentRef name="render.class"/> + </define> + <define name="mtr.content.class" combine="choice"> + <parentRef name="render.class"/> + </define> + </grammar> + </define> + <define name="name.attrib"> + <optional> + <attribute name="name"> + <data type="NCName"/> + </attribute> + </optional> + </define> + <define name="triple.att"> + <interleave> + <optional> + <attribute name="cdbase"> + <data type="anyURI"/> + </attribute> + </optional> + <ref name="name.attrib"/> + <optional> + <attribute name="cd"> + <data type="NCName"/> + </attribute> + </optional> + </interleave> + </define> + <define name="notation.attribs"> + <interleave> + <ref name="id.attribs"/> + <ref name="triple.att"/> + </interleave> + </define> + <define name="notation.model"> + <interleave> + <ref name="metadata.class"/> + <zeroOrMore> + <ref name="CMP"/> + </zeroOrMore> + <oneOrMore> + <ref name="prototype"/> + </oneOrMore> + <zeroOrMore> + <ref name="rendering"/> + </zeroOrMore> + </interleave> + </define> + <define name="notation"> + <element name="notation"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="notation.attribs"/> + <ref name="notation.model"/> + </interleave> + </choice> + </element> + </define> + <!-- we extend the content and presentation models by metavariables --> + <define name="proto.class"> + <choice> + <ref name="exprlist"/> + <ref name="expr"/> + </choice> + </define> + <define name="render.class"> + <choice> + <ref name="render"/> + <ref name="iterate"/> + </choice> + </define> + <define name="ntn.attrib"> + <interleave> + <optional> + <attribute name="cr"/> + </optional> + <optional> + <attribute name="egroup"/> + </optional> + </interleave> + </define> + <define name="exprlist.attribs"> + <ref name="name.attrib"/> + </define> + <define name="exprlist.model"> + <zeroOrMore> + <ref name="protoexp"/> + </zeroOrMore> + </define> + <define name="exprlist"> + <element name="exprlist"> + <interleave> + <ref name="exprlist.attribs"/> + <ref name="exprlist.model"/> + </interleave> + </element> + </define> + <define name="expr.attribs"> + <ref name="name.attrib"/> + </define> + <define name="expr.model"> + <empty/> + </define> + <define name="expr"> + <element name="expr"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="expr.attribs"/> + <ref name="expr.model"/> + </interleave> + </choice> + </element> + </define> + <define name="iterate.attribs"> + <interleave> + <ref name="name.attrib"/> + <optional> + <ref name="precedence.att"/> + </optional> + </interleave> + </define> + <define name="iterate.model"> + <interleave> + <ref name="separator"/> + <zeroOrMore> + <ref name="iterexp"/> + </zeroOrMore> + </interleave> + </define> + <define name="iterate"> + <element name="iterate"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="iterate.attribs"/> + <ref name="iterate.model"/> + </interleave> + </choice> + </element> + </define> + <define name="render.attribs"> + <interleave> + <ref name="name.attrib"/> + <optional> + <ref name="precedence.att"/> + </optional> + </interleave> + </define> + <define name="render.model"> + <empty/> + </define> + <define name="render"> + <element name="render"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="render.attribs"/> + <ref name="render.model"/> + </interleave> + </choice> + </element> + </define> + <define name="separator.attribs"> + <empty/> + </define> + <define name="separator.model"> + <zeroOrMore> + <ref name="renderexp"/> + </zeroOrMore> + </define> + <define name="separator"> + <element name="separator"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="separator.attribs"/> + <ref name="separator.model"/> + </interleave> + </choice> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocquiz.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocquiz.rng new file mode 100644 index 00000000000..d02d811edc5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocquiz.rng @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module QUIZ + $Id: omdocquiz.rnc 8958 2011-09-02 06:01:13Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocquiz.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="omdoc.class" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="exercise"/> + </zeroOrMore> + <zeroOrMore> + <ref name="hint"/> + </zeroOrMore> + <zeroOrMore> + <ref name="mc"/> + </zeroOrMore> + <zeroOrMore> + <ref name="solution"/> + </zeroOrMore> + </interleave> + </define> + <define name="plike.class" combine="interleave"> + <zeroOrMore> + <ref name="hint"/> + </zeroOrMore> + </define> + <define name="exercise.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + </interleave> + </define> + <define name="exercise.model"> + <choice> + <ref name="mcf.class"/> + <ref name="omdoc.class"/> + </choice> + </define> + <define name="exercise"> + <element name="exercise"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="exercise.attribs"/> + <ref name="exercise.model"/> + </interleave> + </choice> + </element> + </define> + <define name="omdocpf.opt.content"> + <notAllowed/> + </define> + <define name="hint.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + </interleave> + </define> + <define name="hint.model"> + <ref name="mcf.class"/> + </define> + <define name="hint"> + <element name="hint"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="hint.attribs"/> + <ref name="hint.model"/> + </interleave> + </choice> + </element> + </define> + <define name="solution.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + </interleave> + </define> + <define name="solution.model"> + <choice> + <ref name="mcf.class"/> + <ref name="omdoc.class"/> + </choice> + </define> + <define name="solution"> + <element name="solution"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="solution.attribs"/> + <ref name="solution.model"/> + </interleave> + </choice> + </element> + </define> + <define name="mc.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + </interleave> + </define> + <define name="mc.model"> + <ref name="choice"/> + <optional> + <ref name="hint"/> + </optional> + <ref name="answer"/> + </define> + <define name="mc"> + <element name="mc"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="mc.attribs"/> + <ref name="mc.model"/> + </interleave> + </choice> + </element> + </define> + <define name="choice.attribs"> + <ref name="id.attribs"/> + </define> + <define name="choice.model"> + <ref name="mcf.class"/> + </define> + <define name="choice"> + <element name="choice"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="choice.attribs"/> + <ref name="choice.model"/> + </interleave> + </choice> + </element> + </define> + <define name="answer.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="verdict"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="answer.model"> + <ref name="mcf.class"/> + </define> + <define name="answer"> + <element name="answer"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="answer.attribs"/> + <ref name="answer.model"/> + </interleave> + </choice> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocrt.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocrt.rng new file mode 100644 index 00000000000..4ed1dcee6ed --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocrt.rng @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module RT + $Id: omdocrt.rnc 8973 2011-09-09 12:45:16Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocrt.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <define name="rst.attribs"> + <optional> + <ref name="verbalizes.attrib"/> + </optional> + </define> + <define name="inline.class" combine="interleave"> + <a:documentation>We extend the three main content models by xhtml elements</a:documentation> + <grammar> + <include href="pxhtml.rng"> + <define name="Inline.model"> + <interleave> + <text/> + <parentRef name="metadata.class"/> + <ref name="Inline.class"/> + </interleave> + </define> + </include> + <define name="Inline.class" combine="interleave"> + <parentRef name="op.class"/> + </define> + <define name="span.attlist" combine="interleave"> + <parentRef name="rst.attribs"/> + </define> + <start> + <ref name="Inline.class"/> + </start> + </grammar> + </define> + <define name="plike.class" combine="interleave"> + <grammar> + <include href="pxhtml.rng"> + <define name="Inline.model"> + <interleave> + <text/> + <parentRef name="metadata.class"/> + <ref name="Inline.class"/> + </interleave> + </define> + </include> + <define name="Common.attrib" combine="interleave"> + <interleave> + <parentRef name="idrest.attribs"/> + <parentRef name="parallel.attribs"/> + </interleave> + </define> + <define name="Inline.class" combine="interleave"> + <parentRef name="op.class"/> + </define> + <define name="span.attlist" combine="interleave"> + <parentRef name="rst.attribs"/> + </define> + <start> + <ref name="Block.class"/> + </start> + </grammar> + </define> + <define name="omdoc.class" combine="interleave"> + <grammar> + <include href="pxhtml.rng"> + <define name="Inline.model"> + <interleave> + <text/> + <parentRef name="metadata.class"/> + <ref name="Inline.class"/> + </interleave> + </define> + </include> + <define name="Common.attrib" combine="interleave"> + <interleave> + <parentRef name="idrest.attribs"/> + <parentRef name="parallel.attribs"/> + </interleave> + </define> + <define name="Inline.class" combine="interleave"> + <parentRef name="op.class"/> + </define> + <define name="Block.cass" combine="interleave"> + <parentRef name="plike.class"/> + </define> + <define name="Flow.model" combine="interleave"> + <parentRef name="omdoc.class"/> + </define> + <define name="span.attlist" combine="interleave"> + <parentRef name="rst.attribs"/> + </define> + <start> + <ref name="List.class"/> + </start> + </grammar> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocst.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocst.rng new file mode 100644 index 00000000000..59e54d0f723 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocst.rng @@ -0,0 +1,634 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module ST + $Id: omdocst.rnc 8972 2011-09-09 11:36:34Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocst.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="omdoc.class" combine="interleave"> + <interleave> + <zeroOrMore> + <ref name="symbol"/> + </zeroOrMore> + <zeroOrMore> + <ref name="axiom"/> + </zeroOrMore> + <zeroOrMore> + <ref name="definition"/> + </zeroOrMore> + <zeroOrMore> + <ref name="imports"/> + </zeroOrMore> + <zeroOrMore> + <ref name="assertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="type"/> + </zeroOrMore> + <zeroOrMore> + <ref name="alternative"/> + </zeroOrMore> + <zeroOrMore> + <ref name="example"/> + </zeroOrMore> + <zeroOrMore> + <ref name="theory"/> + </zeroOrMore> + </interleave> + </define> + <define name="constitutive.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="generated-from"> + <ref name="omdocref"/> + </attribute> + </optional> + </interleave> + </define> + <define name="sym.role.attrib"> + <attribute name="role"> + <choice> + <value>type</value> + <value>sort</value> + <value>object</value> + <value>binder</value> + <value>attribution</value> + <value>application</value> + <value>constant</value> + <value>semantic-attribution</value> + <value>error</value> + </choice> + </attribute> + </define> + <define name="theory-unique"> + <data type="NCName"/> + </define> + <define name="scope.attrib"> + <optional> + <attribute name="scope"> + <choice> + <value>global</value> + <value>local</value> + </choice> + </attribute> + </optional> + </define> + <define name="symbol.attribs"> + <interleave> + <ref name="scope.attrib"/> + <optional> + <attribute name="name"> + <ref name="theory-unique"/> + </attribute> + </optional> + <ref name="constitutive.attribs"/> + <optional> + <ref name="sym.role.attrib"/> + </optional> + </interleave> + </define> + <define name="symbol.model"> + <interleave> + <ref name="metadata.class"/> + <zeroOrMore> + <ref name="type"/> + </zeroOrMore> + </interleave> + </define> + <define name="symbol"> + <element name="symbol"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="symbol.attribs"/> + <ref name="symbol.model"/> + </interleave> + </choice> + </element> + </define> + <define name="forname.attrib"> + <attribute name="for"> + <list> + <oneOrMore> + <data type="NCName"/> + </oneOrMore> + </list> + </attribute> + </define> + <define name="axiom.attribs"> + <interleave> + <ref name="constitutive.attribs"/> + <ref name="forname.attrib"/> + <optional> + <attribute name="type"> + <data type="string"/> + </attribute> + </optional> + </interleave> + </define> + <define name="axiom.model"> + <interleave> + <ref name="metadata.class"/> + <ref name="mcf.class"/> + </interleave> + </define> + <define name="axiom"> + <element name="axiom"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="axiom.attribs"/> + <ref name="axiom.model"/> + </interleave> + </choice> + </element> + </define> + <!-- informal definitions --> + <define name="def.informal"> + <optional> + <attribute name="type"> + <value>informal</value> + </attribute> + </optional> + </define> + <!-- simple definitions --> + <define name="def.simple.attribs"> + <attribute name="type"> + <value>simple</value> + </attribute> + </define> + <define name="def.simple"> + <interleave> + <ref name="def.simple.attribs"/> + <ref name="mobj"/> + </interleave> + </define> + <!-- implicit definitions --> + <define name="exists.attrib"> + <attribute name="existence"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="unique.attrib"> + <attribute name="uniqueness"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="def.implicit.attribs"> + <interleave> + <attribute name="type"> + <value>implicit</value> + </attribute> + <optional> + <ref name="exists.attrib"/> + </optional> + <optional> + <ref name="unique.attrib"/> + </optional> + </interleave> + </define> + <define name="def.implicit"> + <interleave> + <ref name="def.implicit.attribs"/> + <zeroOrMore> + <ref name="FMP"/> + </zeroOrMore> + </interleave> + </define> + <define name="exhaust.attrib"> + <attribute name="exhaustivity"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="consist.attrib"> + <attribute name="consistency"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="def.pattern.attribs"> + <interleave> + <optional> + <attribute name="type"> + <value>pattern</value> + </attribute> + </optional> + <optional> + <ref name="exhaust.attrib"/> + </optional> + <optional> + <ref name="consist.attrib"/> + </optional> + </interleave> + </define> + <define name="def.pattern.model"> + <zeroOrMore> + <ref name="requation"/> + </zeroOrMore> + </define> + <define name="def.pattern"> + <interleave> + <ref name="def.pattern.attribs"/> + <ref name="def.pattern.model"/> + </interleave> + </define> + <define name="def.inductive.attribs"> + <interleave> + <optional> + <attribute name="type"> + <value>inductive</value> + </attribute> + </optional> + <optional> + <ref name="exhaust.attrib"/> + </optional> + <optional> + <ref name="consist.attrib"/> + </optional> + </interleave> + </define> + <define name="def.inductive.model"> + <interleave> + <zeroOrMore> + <ref name="requation"/> + </zeroOrMore> + <optional> + <ref name="measure"/> + </optional> + <optional> + <ref name="ordering"/> + </optional> + </interleave> + </define> + <define name="def.inductive"> + <interleave> + <ref name="def.inductive.attribs"/> + <ref name="def.inductive.model"/> + </interleave> + </define> + <define name="def.eq"> + <choice> + <ref name="def.pattern"/> + <ref name="def.inductive"/> + </choice> + </define> + <!-- all definition forms, add more by extending this. --> + <define name="defs.all"> + <choice> + <ref name="def.informal"/> + <ref name="def.simple"/> + <ref name="def.implicit"/> + <ref name="def.eq"/> + </choice> + </define> + <!-- + Definitions contain CMPs, FMPs and concept specifications. + The latter define the set of concepts defined in this element. + They can be reached under this name in the content dictionary + of the name specified in the theory attribute of the definition. + --> + <define name="definition.attribs"> + <interleave> + <ref name="constitutive.attribs"/> + <ref name="forname.attrib"/> + </interleave> + </define> + <define name="definition"> + <element name="definition"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="definition.attribs"/> + <ref name="mc.class"/> + <ref name="defs.all"/> + </interleave> + </choice> + </element> + </define> + <define name="requation.attribs"> + <ref name="id.attribs"/> + </define> + <define name="requation.model"> + <ref name="mobj"/> + <ref name="mobj"/> + </define> + <define name="requation"> + <element name="requation"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="requation.attribs"/> + <ref name="requation.model"/> + </interleave> + </choice> + </element> + </define> + <define name="measure.attribs"> + <ref name="id.attribs"/> + </define> + <define name="measure.model"> + <ref name="mobj"/> + </define> + <define name="measure"> + <element name="measure"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="measure.attribs"/> + <ref name="measure.model"/> + </interleave> + </choice> + </element> + </define> + <define name="ordering.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="terminating"> + <ref name="omdocref"/> + </attribute> + </optional> + </interleave> + </define> + <define name="ordering.model"> + <ref name="mobj"/> + </define> + <define name="ordering"> + <element name="ordering"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="ordering.attribs"/> + <ref name="ordering.model"/> + </interleave> + </choice> + </element> + </define> + <!-- the non-constitutive statements, they need a theory attribute --> + <define name="toplevel.attribs" combine="interleave"> + <optional> + <attribute name="theory"> + <ref name="omdocref"/> + </attribute> + </optional> + </define> + <define name="ded.status.class"> + <choice> + <value>satisfiable</value> + <value>counter-satisfiable</value> + <value>no-consequence</value> + <value>theorem</value> + <value>conter-theorem</value> + <value>contradictory-axioms</value> + <value>tautologous-conclusion</value> + <value> tautology</value> + <value>equivalent</value> + <value>conunter-equivalent</value> + <value>unsatisfiable-conclusion</value> + <value>unsatisfiable</value> + </choice> + </define> + <define name="just-by.attrib"> + <attribute name="just-by"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="assertion.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <attribute name="type"> + <ref name="assertiontype"/> + </attribute> + </optional> + <optional> + <attribute name="status"> + <ref name="ded.status.class"/> + </attribute> + </optional> + <optional> + <ref name="just-by.attrib"/> + </optional> + </interleave> + </define> + <define name="assertion.model"> + <ref name="mcf.class"/> + </define> + <define name="assertion"> + <element name="assertion"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="assertion.attribs"/> + <ref name="assertion.model"/> + </interleave> + </choice> + </element> + </define> + <!-- + the assertiontype has no formal meaning yet, it is solely for human consumption. + 'just-by' is a list of URIRefs that point to proof objects, etc that justifies the status. + --> + <define name="type.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="just-by.attrib"/> + </optional> + <optional> + <attribute name="system"> + <ref name="omdocref"/> + </attribute> + </optional> + <optional> + <attribute name="for"> + <ref name="omdocref"/> + </attribute> + </optional> + </interleave> + </define> + <define name="type.model"> + <ref name="mc.class"/> + <ref name="mobj"/> + <optional> + <ref name="mobj"/> + </optional> + </define> + <define name="type"> + <element name="type"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="type.attribs"/> + <ref name="type.model"/> + </interleave> + </choice> + </element> + </define> + <define name="alternative.attribs"> + <a:documentation>just-by, points to the theorem justifying well-definedness +entailed-by, entails, point to other (equivalent definitions +entailed-by-thm, entails-thm point to the theorems justifying +the entailment relation)</a:documentation> + <interleave> + <ref name="toplevel.attribs"/> + <ref name="for.attrib"/> + <choice> + <group> + <attribute name="equivalence"> + <ref name="omdocref"/> + </attribute> + <attribute name="equivalence-thm"> + <ref name="omdocref"/> + </attribute> + </group> + <interleave> + <attribute name="entailed-by"> + <ref name="omdocref"/> + </attribute> + <attribute name="entails"> + <ref name="omdocref"/> + </attribute> + <attribute name="entailed-by-thm"> + <ref name="omdocref"/> + </attribute> + <attribute name="entails-thm"> + <ref name="omdocref"/> + </attribute> + </interleave> + </choice> + </interleave> + </define> + <define name="alternative.model"> + <interleave> + <ref name="mc.class"/> + <ref name="defs.all"/> + </interleave> + </define> + <define name="alternative"> + <element name="alternative"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="alternative.attribs"/> + <ref name="alternative.model"/> + </interleave> + </choice> + </element> + </define> + <define name="example.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <ref name="for.attrib"/> + <optional> + <attribute name="type"> + <choice> + <value>for</value> + <value>against</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="assertion"> + <ref name="omdocref"/> + </attribute> + </optional> + </interleave> + </define> + <define name="example.model"> + <ref name="mc.class"/> + <zeroOrMore> + <ref name="mobj"/> + </zeroOrMore> + </define> + <define name="example"> + <element name="example"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="example.attribs"/> + <ref name="example.model"/> + </interleave> + </choice> + </element> + </define> + <define name="theory.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="cdurl"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="cdbase"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="cdreviewdate"> + <data type="date"/> + </attribute> + </optional> + <optional> + <attribute name="cdversion"> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <attribute name="cdrevision"> + <data type="nonNegativeInteger"/> + </attribute> + </optional> + <optional> + <attribute name="cdstatus"> + <choice> + <value>official</value> + <value>experimental</value> + <value>private</value> + <value>obsolete</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="theory.model"> + <interleave> + <ref name="metadata.class"/> + <ref name="omdoc.class"/> + </interleave> + </define> + <define name="theory"> + <element name="theory"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="theory.attribs"/> + <ref name="theory.model"/> + </interleave> + </choice> + </element> + </define> + <define name="imports.attribs"> + <interleave> + <ref name="id.attribs"/> + <ref name="from.attrib"/> + </interleave> + </define> + <define name="imports.model"> + <ref name="metadata.class"/> + </define> + <define name="imports"> + <element name="imports"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="imports.attribs"/> + <ref name="imports.model"/> + </interleave> + </choice> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/openmath2.rng b/Master/texmf-dist/source/latex/stex/schema/rng/openmath2.rng new file mode 100644 index 00000000000..af2ccdb78da --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/openmath2.rng @@ -0,0 +1,253 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + RELAX NG Schema for OpenMath 2 + $Id: openmath2.rnc 8959 2011-09-02 06:01:43Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/openmath2.rnc $ + See the documentation and examples at http://www.openmath.org +--> +<grammar ns="http://www.openmath.org/OpenMath" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <ref name="OMOBJ"/> + </start> + <!-- OpenMath object constructor --> + <define name="OMOBJ"> + <element name="OMOBJ"> + <ref name="compound.attributes"/> + <optional> + <attribute name="version"> + <data type="string"/> + </attribute> + </optional> + <ref name="omel"/> + </element> + </define> + <!-- Elements which can appear inside an OpenMath object --> + <define name="omel"> + <choice> + <ref name="OMS"/> + <ref name="OMV"/> + <ref name="OMI"/> + <ref name="OMB"/> + <ref name="OMSTR"/> + <ref name="OMF"/> + <ref name="OMA"/> + <ref name="OMBIND"/> + <ref name="OME"/> + <ref name="OMATTR"/> + <ref name="OMR"/> + </choice> + </define> + <!-- things which can be variables --> + <define name="omvar"> + <choice> + <ref name="OMV"/> + <ref name="attvar"/> + </choice> + </define> + <define name="attvar"> + <element name="OMATTR"> + <ref name="common.attributes"/> + <group> + <ref name="OMATP"/> + <choice> + <ref name="OMV"/> + <ref name="attvar"/> + </choice> + </group> + </element> + </define> + <define name="cdbase"> + <optional> + <attribute name="cdbase"> + <data type="anyURI"/> + </attribute> + </optional> + </define> + <!-- attributes common to all elements --> + <define name="common.attributes"> + <optional> + <attribute name="id"> + <data type="ID"/> + </attribute> + </optional> + </define> + <!-- attributes common to all elements that construct compount OM objects. --> + <define name="compound.attributes"> + <ref name="common.attributes"/> + <ref name="cdbase"/> + </define> + <!-- symbol --> + <define name="OMS"> + <element name="OMS"> + <ref name="common.attributes"/> + <attribute name="name"> + <data type="NCName"/> + </attribute> + <attribute name="cd"> + <data type="NCName"/> + </attribute> + <ref name="cdbase"/> + </element> + </define> + <!-- variable --> + <define name="OMV"> + <element name="OMV"> + <ref name="common.attributes"/> + <attribute name="name"> + <data type="NCName"/> + </attribute> + </element> + </define> + <!-- integer --> + <define name="OMI"> + <element name="OMI"> + <ref name="common.attributes"/> + <data type="string"> + <param name="pattern">\s*(-\s?)?[0-9]+(\s[0-9]+)*\s*</param> + </data> + </element> + </define> + <!-- byte array --> + <define name="OMB"> + <element name="OMB"> + <ref name="common.attributes"/> + <data type="base64Binary"/> + </element> + </define> + <!-- string --> + <define name="OMSTR"> + <element name="OMSTR"> + <ref name="common.attributes"/> + <text/> + </element> + </define> + <!-- IEEE floating point number --> + <define name="OMF"> + <element name="OMF"> + <ref name="common.attributes"/> + <choice> + <attribute name="dec"> + <data type="double"/> + </attribute> + <attribute name="hex"> + <data type="string"> + <param name="pattern">[0-9A-F]+</param> + </data> + </attribute> + </choice> + </element> + </define> + <!-- apply constructor --> + <define name="OMA"> + <element name="OMA"> + <ref name="compound.attributes"/> + <oneOrMore> + <ref name="omel"/> + </oneOrMore> + </element> + </define> + <!-- binding constructor --> + <define name="OMBIND"> + <element name="OMBIND"> + <ref name="compound.attributes"/> + <ref name="omel"/> + <ref name="OMBVAR"/> + <ref name="omel"/> + </element> + </define> + <!-- variables used in binding constructor --> + <define name="OMBVAR"> + <element name="OMBVAR"> + <ref name="common.attributes"/> + <oneOrMore> + <ref name="omvar"/> + </oneOrMore> + </element> + </define> + <!-- error constructor --> + <define name="OME"> + <element name="OME"> + <ref name="common.attributes"/> + <ref name="OMS"/> + <zeroOrMore> + <choice> + <ref name="omel"/> + <ref name="OMFOREIGN"/> + </choice> + </zeroOrMore> + </element> + </define> + <!-- attribution constructor and attribute pair constructor --> + <define name="OMATTR"> + <element name="OMATTR"> + <ref name="compound.attributes"/> + <ref name="OMATP"/> + <ref name="omel"/> + </element> + </define> + <define name="OMATP"> + <element name="OMATP"> + <ref name="compound.attributes"/> + <oneOrMore> + <ref name="OMS"/> + <choice> + <ref name="omel"/> + <ref name="OMFOREIGN"/> + </choice> + </oneOrMore> + </element> + </define> + <!-- foreign constructor --> + <define name="OMFOREIGN"> + <element name="OMFOREIGN"> + <ref name="compound.attributes"/> + <optional> + <attribute name="encoding"> + <data type="string"/> + </attribute> + </optional> + <zeroOrMore> + <choice> + <ref name="omel"/> + <ref name="notom"/> + </choice> + </zeroOrMore> + </element> + </define> + <!-- + Any elements not in the om namespace + (valid om is allowed as a descendant) + --> + <define name="notom"> + <choice> + <element> + <anyName> + <except> + <nsName/> + </except> + </anyName> + <zeroOrMore> + <attribute> + <anyName/> + </attribute> + </zeroOrMore> + <zeroOrMore> + <choice> + <ref name="omel"/> + <ref name="notom"/> + </choice> + </zeroOrMore> + </element> + <text/> + </choice> + </define> + <!-- reference constructor --> + <define name="OMR"> + <element name="OMR"> + <ref name="common.attributes"/> + <attribute name="href"> + <data type="anyURI"/> + </attribute> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/openmath3.rng b/Master/texmf-dist/source/latex/stex/schema/rng/openmath3.rng new file mode 100644 index 00000000000..6d1ac08e7c7 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/openmath3.rng @@ -0,0 +1,247 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + RELAX NG Schema for OpenMath 2 + $Id: openmath3.rnc 7618 2008-06-03 06:32:15Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/trunk/schema/rnc/openmath3.rnc $ + See the documentation and examples at http://www.openmath.org +--> +<grammar ns="http://www.openmath.org/OpenMath" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <ref name="OMOBJ"/> + </start> + <!-- OpenMath object constructor --> + <define name="OMOBJ"> + <element name="OMOBJ"> + <ref name="compound.attributes"/> + <optional> + <attribute name="version"> + <data type="string"/> + </attribute> + </optional> + <ref name="omel"/> + </element> + </define> + <!-- Elements which can appear inside an OpenMath object --> + <define name="omel"> + <choice> + <ref name="OMS"/> + <ref name="OMV"/> + <ref name="OMI"/> + <ref name="OMB"/> + <ref name="OMSTR"/> + <ref name="OMF"/> + <ref name="OMA"/> + <ref name="OMBIND"/> + <ref name="OME"/> + <ref name="OMATTR"/> + <ref name="OMR"/> + </choice> + </define> + <!-- things which can be variables --> + <define name="omvar"> + <choice> + <ref name="OMV"/> + <ref name="attvar"/> + </choice> + </define> + <define name="attvar"> + <element name="OMATTR"> + <ref name="common.attributes"/> + <group> + <ref name="OMATP"/> + <choice> + <ref name="OMV"/> + <ref name="attvar"/> + </choice> + </group> + </element> + </define> + <define name="cdbase"> + <optional> + <attribute name="cdbase"> + <data type="anyURI"/> + </attribute> + </optional> + </define> + <!-- attributes common to all elements --> + <define name="common.attributes"> + <optional> + <attribute name="id"> + <data type="ID"/> + </attribute> + </optional> + </define> + <!-- attributes common to all elements that construct compount OM objects. --> + <define name="compound.attributes"> + <ref name="common.attributes"/> + <ref name="cdbase"/> + </define> + <!-- symbol --> + <define name="OMS"> + <element name="OMS"> + <ref name="common.attributes"/> + <attribute name="name"> + <data type="NCName"/> + </attribute> + <attribute name="cd"> + <data type="NCName"/> + </attribute> + <ref name="cdbase"/> + </element> + </define> + <!-- variable --> + <define name="OMV"> + <element name="OMV"> + <ref name="common.attributes"/> + <attribute name="name"> + <data type="NCName"/> + </attribute> + </element> + </define> + <!-- integer --> + <define name="OMI"> + <element name="OMI"> + <ref name="common.attributes"/> + <data type="string"> + <param name="pattern">\s*(-\s?)?[0-9]+(\s[0-9]+)*\s*</param> + </data> + </element> + </define> + <!-- byte array --> + <define name="OMB"> + <element name="OMB"> + <ref name="common.attributes"/> + <data type="base64Binary"/> + </element> + </define> + <!-- string --> + <define name="OMSTR"> + <element name="OMSTR"> + <ref name="common.attributes"/> + <text/> + </element> + </define> + <!-- IEEE floating point number --> + <define name="OMF"> + <element name="OMF"> + <ref name="common.attributes"/> + <choice> + <attribute name="dec"> + <data type="double"/> + </attribute> + <attribute name="hex"> + <data type="string"> + <param name="pattern">[0-9A-F]+</param> + </data> + </attribute> + </choice> + </element> + </define> + <!-- apply constructor --> + <define name="OMA"> + <element name="OMA"> + <ref name="compound.attributes"/> + <oneOrMore> + <ref name="omel"/> + </oneOrMore> + </element> + </define> + <!-- binding constructor --> + <define name="OMBIND"> + <element name="OMBIND"> + <ref name="compound.attributes"/> + <ref name="omel"/> + <ref name="OMBVAR"/> + <optional> + <ref name="OMC"/> + </optional> + <ref name="omel"/> + </element> + </define> + <!-- the condition element --> + <define name="OMC"> + <element name="OMC"> + <ref name="common.attributes"/> + <ref name="omel"/> + </element> + </define> + <!-- variables used in binding constructor --> + <define name="OMBVAR"> + <element name="OMBVAR"> + <ref name="common.attributes"/> + <oneOrMore> + <ref name="omvar"/> + </oneOrMore> + </element> + </define> + <!-- error constructor --> + <define name="OME"> + <element name="OME"> + <ref name="common.attributes"/> + <ref name="OMS"/> + <zeroOrMore> + <choice> + <ref name="omel"/> + <ref name="OMFOREIGN"/> + </choice> + </zeroOrMore> + </element> + </define> + <!-- attribution constructor and attribute pair constructor --> + <define name="OMATTR"> + <element name="OMATTR"> + <ref name="compound.attributes"/> + <ref name="OMATP"/> + <ref name="omel"/> + </element> + </define> + <define name="OMATP"> + <element name="OMATP"> + <ref name="compound.attributes"/> + <oneOrMore> + <ref name="OMS"/> + <choice> + <ref name="omel"/> + <ref name="OMFOREIGN"/> + </choice> + </oneOrMore> + </element> + </define> + <!-- foreign constructor --> + <define name="OMFOREIGN"> + <element name="OMFOREIGN"> + <ref name="compound.attributes"/> + <optional> + <attribute name="encoding"> + <data type="string"/> + </attribute> + </optional> + <zeroOrMore> + <choice> + <ref name="omel"/> + <ref name="notom"/> + </choice> + </zeroOrMore> + </element> + </define> + <!-- + Any elements not in the om namespace + (valid om is allowed as a descendant) + --> + <define name="notom"> + <text/> + </define> + <!-- + (element * - om:* {attribute * { text }*,(omel|notom)*} + | text) + --> + <!-- reference constructor --> + <define name="OMR"> + <element name="OMR"> + <ref name="common.attributes"/> + <attribute name="href"> + <data type="anyURI"/> + </attribute> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl.rng new file mode 100644 index 00000000000..f32cf39c02d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl.rng @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A simplified RelaxNG for OWL (so that we can generate OWL from sTeX + https://kwarc.info/repos/kwarc/repos/stex/rnc/omdoc+ltxml.rnc + (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="nonlocal-attribs"> + <attribute> + <anyName> + <except> + <nsName ns=""/> + <nsName ns="http://www.w3.org/2002/07/owl#"/> + <nsName ns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/> + <nsName ns="http://www.w3.org/2000/01/rdf-schema#"/> + </except> + </anyName> + <data type="string"/> + </attribute> + </define> + <start> + <ref name="RDF"/> + </start> + <define name="RDF"> + <element name="rdf:RDF"> + <interleave> + <ref name="nonlocal-attribs"/> + <ref name="Ontology"/> + </interleave> + </element> + </define> + <define name="Ontology.attribs"> + <interleave> + <zeroOrMore> + <ref name="nonlocal-attribs"/> + </zeroOrMore> + <optional> + <ref name="about.attrib"/> + </optional> + </interleave> + </define> + <define name="Ontology.model"> + <interleave> + <zeroOrMore> + <ref name="Class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="Property"/> + </zeroOrMore> + </interleave> + </define> + <define name="Ontology"> + <element name="owl:Ontology"> + <interleave> + <ref name="Ontology.attribs"/> + <ref name="Ontology.model"/> + </interleave> + </element> + </define> + <define name="about.attrib"> + <attribute name="rdf:about"> + <data type="anyURI"/> + </attribute> + </define> + <define name="resource.attrib"> + <attribute name="rdf:resource"> + <data type="anyURI"/> + </attribute> + </define> + <define name="label.attrib"> + <attribute name="rdfs:label"/> + </define> + <define name="comment.attrib"> + <attribute name="rdfs:comment"/> + </define> + <define name="Class.attribs"> + <interleave> + <zeroOrMore> + <ref name="nonlocal-attribs"/> + </zeroOrMore> + <optional> + <ref name="about.attrib"/> + </optional> + <optional> + <ref name="label.attrib"/> + </optional> + <optional> + <ref name="comment.attrib"/> + </optional> + </interleave> + </define> + <define name="Class.model"> + <interleave> + <zeroOrMore> + <ref name="rdftype"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subClassOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="disjointWith"/> + </zeroOrMore> + <optional> + <ref name="isDefinedBy"/> + </optional> + </interleave> + </define> + <define name="Class"> + <element name="rdfs:Class"> + <interleave> + <ref name="Class.attribs"/> + <ref name="Class.model"/> + </interleave> + </element> + </define> + <define name="Property.attribs"> + <interleave> + <zeroOrMore> + <ref name="nonlocal-attribs"/> + </zeroOrMore> + <optional> + <ref name="about.attrib"/> + </optional> + <optional> + <ref name="label.attrib"/> + </optional> + <optional> + <ref name="comment.attrib"/> + </optional> + </interleave> + </define> + <define name="Property.model"> + <interleave> + <zeroOrMore> + <ref name="rdftype"/> + </zeroOrMore> + <optional> + <ref name="domain"/> + </optional> + <ref name="range"/> + <optional> + <ref name="isDefinedBy"/> + </optional> + </interleave> + </define> + <define name="Property"> + <element name="rdf:Property"> + <interleave> + <ref name="Property.attribs"/> + <ref name="Property.model"/> + </interleave> + </element> + </define> + <define name="rdftype.attribs"> + <interleave> + <zeroOrMore> + <ref name="nonlocal-attribs"/> + </zeroOrMore> + <ref name="resource.attrib"/> + </interleave> + </define> + <!-- rdftype.model = notAllowed --> + <define name="rdftype"> + <element name="rdf:type"> + <ref name="rdftype.attribs"/> + </element> + </define> + <define name="subClassOf"> + <element name="rdfs:subClassOf"> + <ref name="resource.attrib"/> + </element> + </define> + <define name="isDefinedBy"> + <element name="rdfs:isDefinedBy"> + <ref name="resource.attrib"/> + </element> + </define> + <define name="disjointWith"> + <element name="owl:disjointWith"> + <ref name="resource.attrib"/> + </element> + </define> + <define name="range"> + <element name="rdfs:range"> + <ref name="resource.attrib"/> + </element> + </define> + <define name="domain"> + <element name="rdfs:domain"> + <ref name="resource.attrib"/> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2+ltxml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2+ltxml.rng new file mode 100644 index 00000000000..e4fdff503b1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl2+ltxml.rng @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A simplified RelaxNG for OWL2 (so that we can generate OWL from sTeX + https://kwarc.info/repos/kwarc/repos/stex/rnc/omdoc+ltxml.rnc + (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns="http://relaxng.org/ns/structure/1.0"> + <include href="owl2xml.rng"/> + <define name="LTXML.Math"> + <grammar> + <include href="LaTeXML-common.rng"/> + <include href="LaTeXML-math.rng"/> + <start> + <ref name="Math"/> + </start> + </grammar> + </define> + <define name="Ontology.model" combine="interleave"> + <interleave> + <ref name="LTXML.Math"/> + <ref name="axiom"/> + </interleave> + </define> + <define name="axiom"> + <element name="owl:Axiom"> + <interleave> + <ref name="LTXML.Math"/> + <ref name="Annotation"/> + </interleave> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng new file mode 100644 index 00000000000..fc1cb64cd14 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng @@ -0,0 +1,1321 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + From: http://www.w3.org/TR/rdf-sparql-query/#grammar + The entities implement productions [95] (PN_CHARS_BASE), [96] (PN_CHARS_U), [98] (PN_CHARS), [99] (PN_PREFIX), + [100] (PN_LOCAL), [71] (PNAME_NS), [72] (PNAME_LN) and [68] (PrefixedName) + + PN_PREFIX is roughly equivalent to NCName. +--> +<grammar ns="http://www.w3.org/2002/07/owl#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- The ontology --> + <define name="Prefix.type"> + <attribute name="name"> + <data type="string"> + <param name="pattern">([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?|</param> + </data> + </attribute> + <attribute name="IRI"> + <data type="anyURI"/> + </attribute> + </define> + <start combine="choice"> + <ref name="Prefix"/> + </start> + <define name="Prefix"> + <element name="Prefix"> + <ref name="Prefix.type"/> + </element> + </define> + <define name="Import.type"> + <attribute name="specialAttrs"/> + </define> + <start combine="choice"> + <ref name="Import"/> + </start> + <define name="Import"> + <element name="Import"> + <ref name="Import.type"/> + </element> + </define> + <define name="Ontology.type"> + <zeroOrMore> + <ref name="Prefix"/> + </zeroOrMore> + <zeroOrMore> + <ref name="Import"/> + </zeroOrMore> + <ref name="ontologyAnnotations"/> + <zeroOrMore> + <ref name="Axiom"/> + </zeroOrMore> + <optional> + <attribute name="ontologyIRI"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="versionIRI"> + <data type="anyURI"/> + </attribute> + </optional> + <attribute name="specialAttrs"/> + </define> + <start combine="choice"> + <ref name="Ontology"/> + </start> + <define name="Ontology"> + <element name="Ontology"> + <ref name="Ontology.type"/> + </element> + </define> + <!-- Entities, anonymous individuals, and literals --> + <!-- + Note that the "Entity" group does not have a corresponding abstract type. + This is due to the fact that XML Schema does not support multiple inheritence. + "owl:Class" is both an entity and a class expression. The authors of this schema + determined it was more useful to be able to retrieve "owl:Class" in such queries + as schema(*, owl:ClassExpression). + --> + <define name="Entity"> + <choice> + <ref name="Class"/> + <ref name="Datatype"/> + <ref name="ObjectProperty"/> + <ref name="DataProperty"/> + <ref name="AnnotationProperty"/> + <ref name="NamedIndividual"/> + </choice> + </define> + <!-- This is the type for the attribute. The complex type for the element is capitalized. --> + <define name="abbreviatedIRI"> + <data type="string"> + <param name="pattern">(((([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?)?:)(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|[0-9])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]))?))|((([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?)?:)</param> + </data> + </define> + <define name="Class.type"> + <ref name="ClassExpression"/> + <optional> + <attribute name="IRI"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="abbreviatedIRI"> + <ref name="abbreviatedIRI"/> + </attribute> + </optional> + </define> + <start combine="choice"> + <ref name="Class"/> + </start> + <define name="Class"> + <element name="Class"> + <ref name="Class.type"/> + </element> + </define> + <define name="Datatype.type"> + <ref name="DataRange"/> + <optional> + <attribute name="IRI"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="abbreviatedIRI"> + <ref name="abbreviatedIRI"/> + </attribute> + </optional> + </define> + <start combine="choice"> + <ref name="Datatype"/> + </start> + <define name="Datatype"> + <element name="Datatype"> + <ref name="Datatype.type"/> + </element> + </define> + <define name="ObjectProperty.type"> + <ref name="ObjectPropertyExpression"/> + <optional> + <attribute name="IRI"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="abbreviatedIRI"> + <ref name="abbreviatedIRI"/> + </attribute> + </optional> + </define> + <start combine="choice"> + <ref name="ObjectProperty"/> + </start> + <define name="ObjectProperty"> + <element name="ObjectProperty"> + <ref name="ObjectProperty.type"/> + </element> + </define> + <define name="DataProperty.type"> + <ref name="DataPropertyExpression"/> + <optional> + <attribute name="IRI"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="abbreviatedIRI"> + <ref name="abbreviatedIRI"/> + </attribute> + </optional> + </define> + <start combine="choice"> + <ref name="DataProperty"/> + </start> + <define name="DataProperty"> + <element name="DataProperty"> + <ref name="DataProperty.type"/> + </element> + </define> + <define name="AnnotationProperty.type"> + <optional> + <attribute name="IRI"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="abbreviatedIRI"> + <ref name="abbreviatedIRI"/> + </attribute> + </optional> + <attribute name="specialAttrs"/> + </define> + <start combine="choice"> + <ref name="AnnotationProperty"/> + </start> + <define name="AnnotationProperty"> + <element name="AnnotationProperty"> + <ref name="AnnotationProperty.type"/> + </element> + </define> + <define name="Individual"> + <attribute name="specialAttrs"/> + <choice> + <ref name="NamedIndividual"/> + <ref name="AnonymousIndividual"/> + </choice> + </define> + <define name="NamedIndividual.type"> + <ref name="Individual"/> + <optional> + <attribute name="IRI"> + <data type="anyURI"/> + </attribute> + </optional> + <optional> + <attribute name="abbreviatedIRI"> + <ref name="abbreviatedIRI"/> + </attribute> + </optional> + </define> + <start combine="choice"> + <ref name="NamedIndividual"/> + </start> + <define name="NamedIndividual"> + <element name="NamedIndividual"> + <ref name="NamedIndividual.type"/> + </element> + </define> + <define name="AnonymousIndividual.type"> + <ref name="Individual"/> + <attribute name="nodeID"> + <data type="NCName"/> + </attribute> + </define> + <start combine="choice"> + <ref name="AnonymousIndividual"/> + </start> + <define name="AnonymousIndividual"> + <element name="AnonymousIndividual"> + <ref name="AnonymousIndividual.type"/> + </element> + </define> + <define name="Literal.type"> + <attribute name="datatypeIRI"> + <data type="anyURI"/> + </attribute> + <attribute name="specialAttrs"/> + </define> + <start combine="choice"> + <ref name="Literal"/> + </start> + <define name="Literal"> + <element name="Literal"> + <ref name="Literal.type"/> + </element> + </define> + <!-- Declarations --> + <define name="Declaration.type"> + <ref name="Axiom"/> + <ref name="Entity"/> + </define> + <start combine="choice"> + <ref name="Declaration"/> + </start> + <define name="Declaration"> + <element name="Declaration"> + <ref name="Declaration.type"/> + </element> + </define> + <!-- Object property expressions --> + <define name="ObjectPropertyExpression"> + <attribute name="specialAttrs"/> + <choice> + <ref name="ObjectProperty"/> + <ref name="ObjectInverseOf"/> + </choice> + </define> + <define name="ObjectInverseOf.type"> + <ref name="ObjectPropertyExpression"/> + <ref name="ObjectProperty"/> + </define> + <start combine="choice"> + <ref name="ObjectInverseOf"/> + </start> + <define name="ObjectInverseOf"> + <element name="ObjectInverseOf"> + <ref name="ObjectInverseOf.type"/> + </element> + </define> + <!-- Data property expressions --> + <define name="DataPropertyExpression"> + <attribute name="specialAttrs"/> + <ref name="DataProperty"/> + </define> + <!-- Data ranges --> + <define name="DataRange"> + <attribute name="specialAttrs"/> + <choice> + <ref name="Datatype"/> + <ref name="DataIntersectionOf"/> + <ref name="DataUnionOf"/> + <ref name="DataComplementOf"/> + <ref name="DataOneOf"/> + <ref name="DatatypeRestriction"/> + </choice> + </define> + <define name="DataIntersectionOf.type"> + <ref name="DataRange"/> + <oneOrMore> + <ref name="DataRange"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DataIntersectionOf"/> + </start> + <define name="DataIntersectionOf"> + <element name="DataIntersectionOf"> + <ref name="DataIntersectionOf.type"/> + </element> + </define> + <define name="DataUnionOf.type"> + <ref name="DataRange"/> + <oneOrMore> + <ref name="DataRange"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DataUnionOf"/> + </start> + <define name="DataUnionOf"> + <element name="DataUnionOf"> + <ref name="DataUnionOf.type"/> + </element> + </define> + <define name="DataComplementOf.type"> + <ref name="DataRange"/> + <ref name="DataRange"/> + </define> + <start combine="choice"> + <ref name="DataComplementOf"/> + </start> + <define name="DataComplementOf"> + <element name="DataComplementOf"> + <ref name="DataComplementOf.type"/> + </element> + </define> + <define name="DataOneOf.type"> + <ref name="DataRange"/> + <oneOrMore> + <ref name="Literal"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DataOneOf"/> + </start> + <define name="DataOneOf"> + <element name="DataOneOf"> + <ref name="DataOneOf.type"/> + </element> + </define> + <define name="DatatypeRestriction.type"> + <ref name="DataRange"/> + <ref name="Datatype"/> + <oneOrMore> + <element name="FacetRestriction"> + <ref name="FacetRestriction"/> + </element> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DatatypeRestriction"/> + </start> + <define name="DatatypeRestriction"> + <element name="DatatypeRestriction"> + <ref name="DatatypeRestriction.type"/> + </element> + </define> + <define name="FacetRestriction"> + <ref name="Literal"/> + <attribute name="facet"> + <data type="anyURI"/> + </attribute> + <attribute name="specialAttrs"/> + </define> + <!-- Class expressions --> + <define name="ClassExpression"> + <attribute name="specialAttrs"/> + <choice> + <ref name="Class"/> + <ref name="ObjectIntersectionOf"/> + <ref name="ObjectUnionOf"/> + <ref name="ObjectComplementOf"/> + <ref name="ObjectOneOf"/> + <ref name="ObjectSomeValuesFrom"/> + <ref name="ObjectAllValuesFrom"/> + <ref name="ObjectHasValue"/> + <ref name="ObjectHasSelf"/> + <ref name="ObjectMinCardinality"/> + <ref name="ObjectMaxCardinality"/> + <ref name="ObjectExactCardinality"/> + <ref name="DataSomeValuesFrom"/> + <ref name="DataAllValuesFrom"/> + <ref name="DataHasValue"/> + <ref name="DataMinCardinality"/> + <ref name="DataMaxCardinality"/> + <ref name="DataExactCardinality"/> + </choice> + </define> + <define name="ObjectIntersectionOf.type"> + <ref name="ClassExpression"/> + <oneOrMore> + <ref name="ClassExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="ObjectIntersectionOf"/> + </start> + <define name="ObjectIntersectionOf"> + <element name="ObjectIntersectionOf"> + <ref name="ObjectIntersectionOf.type"/> + </element> + </define> + <define name="ObjectUnionOf.type"> + <ref name="ClassExpression"/> + <oneOrMore> + <ref name="ClassExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="ObjectUnionOf"/> + </start> + <define name="ObjectUnionOf"> + <element name="ObjectUnionOf"> + <ref name="ObjectUnionOf.type"/> + </element> + </define> + <define name="ObjectComplementOf.type"> + <ref name="ClassExpression"/> + <ref name="ClassExpression"/> + </define> + <start combine="choice"> + <ref name="ObjectComplementOf"/> + </start> + <define name="ObjectComplementOf"> + <element name="ObjectComplementOf"> + <ref name="ObjectComplementOf.type"/> + </element> + </define> + <define name="ObjectOneOf.type"> + <ref name="ClassExpression"/> + <oneOrMore> + <ref name="Individual"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="ObjectOneOf"/> + </start> + <define name="ObjectOneOf"> + <element name="ObjectOneOf"> + <ref name="ObjectOneOf.type"/> + </element> + </define> + <define name="ObjectSomeValuesFrom.type"> + <ref name="ClassExpression"/> + <ref name="ObjectPropertyExpression"/> + <ref name="ClassExpression"/> + </define> + <start combine="choice"> + <ref name="ObjectSomeValuesFrom"/> + </start> + <define name="ObjectSomeValuesFrom"> + <element name="ObjectSomeValuesFrom"> + <ref name="ObjectSomeValuesFrom.type"/> + </element> + </define> + <define name="ObjectAllValuesFrom.type"> + <ref name="ClassExpression"/> + <ref name="ObjectPropertyExpression"/> + <ref name="ClassExpression"/> + </define> + <start combine="choice"> + <ref name="ObjectAllValuesFrom"/> + </start> + <define name="ObjectAllValuesFrom"> + <element name="ObjectAllValuesFrom"> + <ref name="ObjectAllValuesFrom.type"/> + </element> + </define> + <define name="ObjectHasValue.type"> + <ref name="ClassExpression"/> + <ref name="ObjectPropertyExpression"/> + <ref name="Individual"/> + </define> + <start combine="choice"> + <ref name="ObjectHasValue"/> + </start> + <define name="ObjectHasValue"> + <element name="ObjectHasValue"> + <ref name="ObjectHasValue.type"/> + </element> + </define> + <define name="ObjectHasSelf.type"> + <ref name="ClassExpression"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="ObjectHasSelf"/> + </start> + <define name="ObjectHasSelf"> + <element name="ObjectHasSelf"> + <ref name="ObjectHasSelf.type"/> + </element> + </define> + <define name="ObjectMinCardinality.type"> + <ref name="ClassExpression"/> + <ref name="ObjectPropertyExpression"/> + <optional> + <ref name="ClassExpression"/> + </optional> + <attribute name="cardinality"> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <start combine="choice"> + <ref name="ObjectMinCardinality"/> + </start> + <define name="ObjectMinCardinality"> + <element name="ObjectMinCardinality"> + <ref name="ObjectMinCardinality.type"/> + </element> + </define> + <define name="ObjectMaxCardinality.type"> + <ref name="ClassExpression"/> + <ref name="ObjectPropertyExpression"/> + <optional> + <ref name="ClassExpression"/> + </optional> + <attribute name="cardinality"> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <start combine="choice"> + <ref name="ObjectMaxCardinality"/> + </start> + <define name="ObjectMaxCardinality"> + <element name="ObjectMaxCardinality"> + <ref name="ObjectMaxCardinality.type"/> + </element> + </define> + <define name="ObjectExactCardinality.type"> + <ref name="ClassExpression"/> + <ref name="ObjectPropertyExpression"/> + <optional> + <ref name="ClassExpression"/> + </optional> + <attribute name="cardinality"> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <start combine="choice"> + <ref name="ObjectExactCardinality"/> + </start> + <define name="ObjectExactCardinality"> + <element name="ObjectExactCardinality"> + <ref name="ObjectExactCardinality.type"/> + </element> + </define> + <define name="DataSomeValuesFrom.type"> + <ref name="ClassExpression"/> + <oneOrMore> + <ref name="DataPropertyExpression"/> + </oneOrMore> + <ref name="DataRange"/> + </define> + <start combine="choice"> + <ref name="DataSomeValuesFrom"/> + </start> + <define name="DataSomeValuesFrom"> + <element name="DataSomeValuesFrom"> + <ref name="DataSomeValuesFrom.type"/> + </element> + </define> + <define name="DataAllValuesFrom.type"> + <ref name="ClassExpression"/> + <oneOrMore> + <ref name="DataPropertyExpression"/> + </oneOrMore> + <ref name="DataRange"/> + </define> + <start combine="choice"> + <ref name="DataAllValuesFrom"/> + </start> + <define name="DataAllValuesFrom"> + <element name="DataAllValuesFrom"> + <ref name="DataAllValuesFrom.type"/> + </element> + </define> + <define name="DataHasValue.type"> + <ref name="ClassExpression"/> + <ref name="DataPropertyExpression"/> + <ref name="Literal"/> + </define> + <start combine="choice"> + <ref name="DataHasValue"/> + </start> + <define name="DataHasValue"> + <element name="DataHasValue"> + <ref name="DataHasValue.type"/> + </element> + </define> + <define name="DataMinCardinality.type"> + <ref name="ClassExpression"/> + <ref name="DataPropertyExpression"/> + <optional> + <ref name="DataRange"/> + </optional> + <attribute name="cardinality"> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <start combine="choice"> + <ref name="DataMinCardinality"/> + </start> + <define name="DataMinCardinality"> + <element name="DataMinCardinality"> + <ref name="DataMinCardinality.type"/> + </element> + </define> + <define name="DataMaxCardinality.type"> + <ref name="ClassExpression"/> + <ref name="DataPropertyExpression"/> + <optional> + <ref name="DataRange"/> + </optional> + <attribute name="cardinality"> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <start combine="choice"> + <ref name="DataMaxCardinality"/> + </start> + <define name="DataMaxCardinality"> + <element name="DataMaxCardinality"> + <ref name="DataMaxCardinality.type"/> + </element> + </define> + <define name="DataExactCardinality.type"> + <ref name="ClassExpression"/> + <ref name="DataPropertyExpression"/> + <optional> + <ref name="DataRange"/> + </optional> + <attribute name="cardinality"> + <data type="nonNegativeInteger"/> + </attribute> + </define> + <start combine="choice"> + <ref name="DataExactCardinality"/> + </start> + <define name="DataExactCardinality"> + <element name="DataExactCardinality"> + <ref name="DataExactCardinality.type"/> + </element> + </define> + <!-- Axioms --> + <define name="Axiom"> + <ref name="axiomAnnotations"/> + <attribute name="specialAttrs"/> + <choice> + <ref name="Declaration"/> + <ref name="ClassAxiom"/> + <ref name="ObjectPropertyAxiom"/> + <ref name="DataPropertyAxiom"/> + <ref name="DatatypeDefinition"/> + <ref name="HasKey"/> + <ref name="Assertion"/> + <ref name="AnnotationAxiom"/> + </choice> + </define> + <!-- Class expression axioms --> + <define name="ClassAxiom"> + <choice> + <ref name="Axiom"/> + <ref name="SubClassOf"/> + <ref name="EquivalentClasses"/> + <ref name="DisjointClasses"/> + <ref name="DisjointUnion"/> + </choice> + </define> + <define name="SubClassOf.type"> + <ref name="ClassAxiom"/> + <ref name="ClassExpression"/> + <!-- This is the subexpression --> + <ref name="ClassExpression"/> + </define> + <!-- This is the superexpression --> + <start combine="choice"> + <ref name="SubClassOf"/> + </start> + <define name="SubClassOf"> + <element name="SubClassOf"> + <ref name="SubClassOf.type"/> + </element> + </define> + <define name="EquivalentClasses.type"> + <ref name="ClassAxiom"/> + <oneOrMore> + <ref name="ClassExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="EquivalentClasses"/> + </start> + <define name="EquivalentClasses"> + <element name="EquivalentClasses"> + <ref name="EquivalentClasses.type"/> + </element> + </define> + <define name="DisjointClasses.type"> + <ref name="ClassAxiom"/> + <oneOrMore> + <ref name="ClassExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DisjointClasses"/> + </start> + <define name="DisjointClasses"> + <element name="DisjointClasses"> + <ref name="DisjointClasses.type"/> + </element> + </define> + <define name="DisjointUnion.type"> + <ref name="ClassAxiom"/> + <ref name="Class"/> + <oneOrMore> + <ref name="ClassExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DisjointUnion"/> + </start> + <define name="DisjointUnion"> + <element name="DisjointUnion"> + <ref name="DisjointUnion.type"/> + </element> + </define> + <!-- Object property axioms --> + <define name="ObjectPropertyAxiom"> + <choice> + <ref name="Axiom"/> + <ref name="SubObjectPropertyOf"/> + <ref name="EquivalentObjectProperties"/> + <ref name="DisjointObjectProperties"/> + <ref name="InverseObjectProperties"/> + <ref name="ObjectPropertyDomain"/> + <ref name="ObjectPropertyRange"/> + <ref name="FunctionalObjectProperty"/> + <ref name="InverseFunctionalObjectProperty"/> + <ref name="ReflexiveObjectProperty"/> + <ref name="IrreflexiveObjectProperty"/> + <ref name="SymmetricObjectProperty"/> + <ref name="AsymmetricObjectProperty"/> + <ref name="TransitiveObjectProperty"/> + </choice> + </define> + <define name="SubObjectPropertyOf.type"> + <ref name="ObjectPropertyAxiom"/> + <choice> + <!-- This is the subproperty expression or the property chain --> + <ref name="ObjectPropertyExpression"/> + <element name="ObjectPropertyChain"> + <ref name="ObjectPropertyChain.type"/> + </element> + </choice> + <ref name="ObjectPropertyExpression"/> + </define> + <!-- This is the superproperty expression --> + <start combine="choice"> + <ref name="SubObjectPropertyOf"/> + </start> + <define name="SubObjectPropertyOf"> + <element name="SubObjectPropertyOf"> + <ref name="SubObjectPropertyOf.type"/> + </element> + </define> + <define name="ObjectPropertyChain.type"> + <oneOrMore> + <ref name="ObjectPropertyExpression"/> + </oneOrMore> + <attribute name="specialAttrs"/> + </define> + <define name="EquivalentObjectProperties.type"> + <ref name="ObjectPropertyAxiom"/> + <oneOrMore> + <ref name="ObjectPropertyExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="EquivalentObjectProperties"/> + </start> + <define name="EquivalentObjectProperties"> + <element name="EquivalentObjectProperties"> + <ref name="EquivalentObjectProperties.type"/> + </element> + </define> + <define name="DisjointObjectProperties.type"> + <ref name="ObjectPropertyAxiom"/> + <oneOrMore> + <ref name="ObjectPropertyExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DisjointObjectProperties"/> + </start> + <define name="DisjointObjectProperties"> + <element name="DisjointObjectProperties"> + <ref name="DisjointObjectProperties.type"/> + </element> + </define> + <define name="ObjectPropertyDomain.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + <ref name="ClassExpression"/> + </define> + <start combine="choice"> + <ref name="ObjectPropertyDomain"/> + </start> + <define name="ObjectPropertyDomain"> + <element name="ObjectPropertyDomain"> + <ref name="ObjectPropertyDomain.type"/> + </element> + </define> + <define name="ObjectPropertyRange.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + <ref name="ClassExpression"/> + </define> + <start combine="choice"> + <ref name="ObjectPropertyRange"/> + </start> + <define name="ObjectPropertyRange"> + <element name="ObjectPropertyRange"> + <ref name="ObjectPropertyRange.type"/> + </element> + </define> + <define name="InverseObjectProperties.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="InverseObjectProperties"/> + </start> + <define name="InverseObjectProperties"> + <element name="InverseObjectProperties"> + <ref name="InverseObjectProperties.type"/> + </element> + </define> + <define name="FunctionalObjectProperty.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="FunctionalObjectProperty"/> + </start> + <define name="FunctionalObjectProperty"> + <element name="FunctionalObjectProperty"> + <ref name="FunctionalObjectProperty.type"/> + </element> + </define> + <define name="InverseFunctionalObjectProperty.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="InverseFunctionalObjectProperty"/> + </start> + <define name="InverseFunctionalObjectProperty"> + <element name="InverseFunctionalObjectProperty"> + <ref name="InverseFunctionalObjectProperty.type"/> + </element> + </define> + <define name="ReflexiveObjectProperty.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="ReflexiveObjectProperty"/> + </start> + <define name="ReflexiveObjectProperty"> + <element name="ReflexiveObjectProperty"> + <ref name="ReflexiveObjectProperty.type"/> + </element> + </define> + <define name="IrreflexiveObjectProperty.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="IrreflexiveObjectProperty"/> + </start> + <define name="IrreflexiveObjectProperty"> + <element name="IrreflexiveObjectProperty"> + <ref name="IrreflexiveObjectProperty.type"/> + </element> + </define> + <define name="SymmetricObjectProperty.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="SymmetricObjectProperty"/> + </start> + <define name="SymmetricObjectProperty"> + <element name="SymmetricObjectProperty"> + <ref name="SymmetricObjectProperty.type"/> + </element> + </define> + <define name="AsymmetricObjectProperty.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="AsymmetricObjectProperty"/> + </start> + <define name="AsymmetricObjectProperty"> + <element name="AsymmetricObjectProperty"> + <ref name="AsymmetricObjectProperty.type"/> + </element> + </define> + <define name="TransitiveObjectProperty.type"> + <ref name="ObjectPropertyAxiom"/> + <ref name="ObjectPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="TransitiveObjectProperty"/> + </start> + <define name="TransitiveObjectProperty"> + <element name="TransitiveObjectProperty"> + <ref name="TransitiveObjectProperty.type"/> + </element> + </define> + <!-- Data property axioms --> + <define name="DataPropertyAxiom"> + <choice> + <ref name="Axiom"/> + <ref name="SubDataPropertyOf"/> + <ref name="EquivalentDataProperties"/> + <ref name="DisjointDataProperties"/> + <ref name="DataPropertyDomain"/> + <ref name="DataPropertyRange"/> + <ref name="FunctionalDataProperty"/> + </choice> + </define> + <define name="SubDataPropertyOf.type"> + <ref name="DataPropertyAxiom"/> + <ref name="DataPropertyExpression"/> + <!-- This is the subproperty expression --> + <ref name="DataPropertyExpression"/> + </define> + <!-- This is the superproperty expression --> + <start combine="choice"> + <ref name="SubDataPropertyOf"/> + </start> + <define name="SubDataPropertyOf"> + <element name="SubDataPropertyOf"> + <ref name="SubDataPropertyOf.type"/> + </element> + </define> + <define name="EquivalentDataProperties.type"> + <ref name="DataPropertyAxiom"/> + <oneOrMore> + <ref name="DataPropertyExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="EquivalentDataProperties"/> + </start> + <define name="EquivalentDataProperties"> + <element name="EquivalentDataProperties"> + <ref name="EquivalentDataProperties.type"/> + </element> + </define> + <define name="DisjointDataProperties.type"> + <ref name="DataPropertyAxiom"/> + <oneOrMore> + <ref name="DataPropertyExpression"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DisjointDataProperties"/> + </start> + <define name="DisjointDataProperties"> + <element name="DisjointDataProperties"> + <ref name="DisjointDataProperties.type"/> + </element> + </define> + <define name="DataPropertyDomain.type"> + <ref name="DataPropertyAxiom"/> + <ref name="DataPropertyExpression"/> + <ref name="ClassExpression"/> + </define> + <start combine="choice"> + <ref name="DataPropertyDomain"/> + </start> + <define name="DataPropertyDomain"> + <element name="DataPropertyDomain"> + <ref name="DataPropertyDomain.type"/> + </element> + </define> + <define name="DataPropertyRange.type"> + <ref name="DataPropertyAxiom"/> + <ref name="DataPropertyExpression"/> + <ref name="DataRange"/> + </define> + <start combine="choice"> + <ref name="DataPropertyRange"/> + </start> + <define name="DataPropertyRange"> + <element name="DataPropertyRange"> + <ref name="DataPropertyRange.type"/> + </element> + </define> + <define name="FunctionalDataProperty.type"> + <ref name="DataPropertyAxiom"/> + <ref name="DataPropertyExpression"/> + </define> + <start combine="choice"> + <ref name="FunctionalDataProperty"/> + </start> + <define name="FunctionalDataProperty"> + <element name="FunctionalDataProperty"> + <ref name="FunctionalDataProperty.type"/> + </element> + </define> + <!-- Datatype definitions --> + <define name="DatatypeDefinition.type"> + <ref name="Axiom"/> + <ref name="Datatype"/> + <ref name="DataRange"/> + </define> + <start combine="choice"> + <ref name="DatatypeDefinition"/> + </start> + <define name="DatatypeDefinition"> + <element name="DatatypeDefinition"> + <ref name="DatatypeDefinition.type"/> + </element> + </define> + <!-- Key axioms --> + <define name="HasKey.type"> + <ref name="Axiom"/> + <ref name="ClassExpression"/> + <zeroOrMore> + <ref name="ObjectPropertyExpression"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataPropertyExpression"/> + </zeroOrMore> + </define> + <start combine="choice"> + <ref name="HasKey"/> + </start> + <define name="HasKey"> + <element name="HasKey"> + <ref name="HasKey.type"/> + </element> + </define> + <!-- Assertions --> + <define name="Assertion"> + <choice> + <ref name="Axiom"/> + <ref name="SameIndividual"/> + <ref name="DifferentIndividuals"/> + <ref name="ClassAssertion"/> + <ref name="ObjectPropertyAssertion"/> + <ref name="NegativeObjectPropertyAssertion"/> + <ref name="DataPropertyAssertion"/> + <ref name="NegativeDataPropertyAssertion"/> + </choice> + </define> + <define name="SameIndividual.type"> + <ref name="Assertion"/> + <oneOrMore> + <ref name="Individual"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="SameIndividual"/> + </start> + <define name="SameIndividual"> + <element name="SameIndividual"> + <ref name="SameIndividual.type"/> + </element> + </define> + <define name="DifferentIndividuals.type"> + <ref name="Assertion"/> + <oneOrMore> + <ref name="Individual"/> + </oneOrMore> + </define> + <start combine="choice"> + <ref name="DifferentIndividuals"/> + </start> + <define name="DifferentIndividuals"> + <element name="DifferentIndividuals"> + <ref name="DifferentIndividuals.type"/> + </element> + </define> + <define name="ClassAssertion.type"> + <ref name="Assertion"/> + <ref name="ClassExpression"/> + <ref name="Individual"/> + </define> + <start combine="choice"> + <ref name="ClassAssertion"/> + </start> + <define name="ClassAssertion"> + <element name="ClassAssertion"> + <ref name="ClassAssertion.type"/> + </element> + </define> + <define name="ObjectPropertyAssertion.type"> + <ref name="Assertion"/> + <ref name="ObjectPropertyExpression"/> + <ref name="Individual"/> + <!-- This is the source invididual --> + <ref name="Individual"/> + </define> + <!-- This is the target individual --> + <start combine="choice"> + <ref name="ObjectPropertyAssertion"/> + </start> + <define name="ObjectPropertyAssertion"> + <element name="ObjectPropertyAssertion"> + <ref name="ObjectPropertyAssertion.type"/> + </element> + </define> + <define name="NegativeObjectPropertyAssertion.type"> + <ref name="Assertion"/> + <ref name="ObjectPropertyExpression"/> + <ref name="Individual"/> + <!-- This is the source invididual --> + <ref name="Individual"/> + </define> + <!-- This is the target individual --> + <start combine="choice"> + <ref name="NegativeObjectPropertyAssertion"/> + </start> + <define name="NegativeObjectPropertyAssertion"> + <element name="NegativeObjectPropertyAssertion"> + <ref name="NegativeObjectPropertyAssertion.type"/> + </element> + </define> + <define name="DataPropertyAssertion.type"> + <ref name="Assertion"/> + <ref name="DataPropertyExpression"/> + <ref name="Individual"/> + <!-- This is the source invididual --> + <ref name="Literal"/> + </define> + <!-- This is the target individual --> + <start combine="choice"> + <ref name="DataPropertyAssertion"/> + </start> + <define name="DataPropertyAssertion"> + <element name="DataPropertyAssertion"> + <ref name="DataPropertyAssertion.type"/> + </element> + </define> + <define name="NegativeDataPropertyAssertion.type"> + <ref name="Assertion"/> + <ref name="DataPropertyExpression"/> + <ref name="Individual"/> + <!-- This is the source invididual --> + <ref name="Literal"/> + </define> + <!-- This is the target individual --> + <start combine="choice"> + <ref name="NegativeDataPropertyAssertion"/> + </start> + <define name="NegativeDataPropertyAssertion"> + <element name="NegativeDataPropertyAssertion"> + <ref name="NegativeDataPropertyAssertion.type"/> + </element> + </define> + <!-- Annotations --> + <define name="IRI.type"> + <attribute name="specialAttrs"/> + </define> + <start combine="choice"> + <ref name="IRI"/> + </start> + <define name="IRI"> + <element name="IRI"> + <ref name="IRI.type"/> + </element> + </define> + <define name="AbbreviatedIRI.type"> + <attribute name="specialAttrs"/> + </define> + <start combine="choice"> + <ref name="AbbreviatedIRI"/> + </start> + <define name="AbbreviatedIRI"> + <element name="AbbreviatedIRI"> + <ref name="AbbreviatedIRI.type"/> + </element> + </define> + <define name="AnnotationSubject"> + <choice> + <ref name="IRI"/> + <ref name="AbbreviatedIRI"/> + <ref name="AnonymousIndividual"/> + </choice> + </define> + <define name="AnnotationValue"> + <choice> + <ref name="IRI"/> + <ref name="AbbreviatedIRI"/> + <ref name="AnonymousIndividual"/> + <ref name="Literal"/> + </choice> + </define> + <define name="Annotation.type"> + <ref name="annotationAnnotations"/> + <ref name="AnnotationProperty"/> + <ref name="AnnotationValue"/> + <attribute name="specialAttrs"/> + </define> + <start combine="choice"> + <ref name="Annotation"/> + </start> + <define name="Annotation"> + <element name="Annotation"> + <ref name="Annotation.type"/> + </element> + </define> + <define name="axiomAnnotations"> + <zeroOrMore> + <ref name="Annotation"/> + </zeroOrMore> + </define> + <define name="ontologyAnnotations"> + <zeroOrMore> + <ref name="Annotation"/> + </zeroOrMore> + </define> + <define name="annotationAnnotations"> + <zeroOrMore> + <ref name="Annotation"/> + </zeroOrMore> + </define> + <!-- Annotation axioms --> + <define name="AnnotationAxiom"> + <choice> + <ref name="Axiom"/> + <ref name="AnnotationAssertion"/> + <ref name="SubAnnotationPropertyOf"/> + <ref name="AnnotationPropertyDomain"/> + <ref name="AnnotationPropertyRange"/> + </choice> + </define> + <define name="AnnotationAssertion.type"> + <ref name="AnnotationAxiom"/> + <ref name="AnnotationProperty"/> + <ref name="AnnotationSubject"/> + <ref name="AnnotationValue"/> + </define> + <start combine="choice"> + <ref name="AnnotationAssertion"/> + </start> + <define name="AnnotationAssertion"> + <element name="AnnotationAssertion"> + <ref name="AnnotationAssertion.type"/> + </element> + </define> + <define name="SubAnnotationPropertyOf.type"> + <ref name="AnnotationAxiom"/> + <ref name="AnnotationProperty"/> + <!-- This is the subproperty --> + <ref name="AnnotationProperty"/> + </define> + <!-- This is the superproperty --> + <start combine="choice"> + <ref name="SubAnnotationPropertyOf"/> + </start> + <define name="SubAnnotationPropertyOf"> + <element name="SubAnnotationPropertyOf"> + <ref name="SubAnnotationPropertyOf.type"/> + </element> + </define> + <define name="AnnotationPropertyDomain.type"> + <ref name="AnnotationAxiom"/> + <ref name="AnnotationProperty"/> + <ref name="IRI"/> + <ref name="AbbreviatedIRI"/> + </define> + <start combine="choice"> + <ref name="AnnotationPropertyDomain"/> + </start> + <define name="AnnotationPropertyDomain"> + <element name="AnnotationPropertyDomain"> + <ref name="AnnotationPropertyDomain.type"/> + </element> + </define> + <define name="AnnotationPropertyRange.type"> + <ref name="AnnotationAxiom"/> + <ref name="AnnotationProperty"/> + <ref name="IRI"/> + <ref name="AbbreviatedIRI"/> + </define> + <start combine="choice"> + <ref name="AnnotationPropertyRange"/> + </start> + <define name="AnnotationPropertyRange"> + <element name="AnnotationPropertyRange"> + <ref name="AnnotationPropertyRange.type"/> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng new file mode 100644 index 00000000000..4510c3776fd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng @@ -0,0 +1,809 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A simplified RelaxNG for OWL2 (so that we can generate OWL from sTeX + https://kwarc.info/repos/kwarc/repos/stex/rnc/omdoc+ltxml.rnc + (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://www.w3.org/2002/07/owl#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="nonlocal-attribs"> + <attribute> + <anyName> + <except> + <nsName ns=""/> + <nsName/> + </except> + </anyName> + <data type="string"/> + </attribute> + </define> + <start> + <ref name="Ontology"/> + </start> + <define name="base.attrib"> + <element name="xml:base"> + <data type="anyURI"/> + </element> + </define> + <define name="ontologyIRI.attrib"> + <attribute name="ontologyIRI"> + <data type="anyURI"/> + </attribute> + </define> + <define name="IRI.attrib"> + <choice> + <attribute name="IRI"/> + <attribute name="abbreviatedIRI"/> + </choice> + </define> + <define name="datatypeIRI.attrib"> + <attribute name="datatypeIRI"/> + </define> + <define name="name.attrib"> + <attribute name="name"/> + </define> + <define name="facet.attrib"> + <attribute name="facet"> + <data type="anyURI"/> + </attribute> + </define> + <define name="cardinality.attrib"> + <attribute name="cardinality"> + <data type="integer"/> + </attribute> + </define> + <define name="Ontology.attribs"> + <interleave> + <optional> + <ref name="ontologyIRI.attrib"/> + </optional> + <optional> + <ref name="base.attrib"/> + </optional> + </interleave> + </define> + <define name="Ontology.model"> + <interleave> + <zeroOrMore> + <ref name="Prefix"/> + </zeroOrMore> + <zeroOrMore> + <ref name="Declaration"/> + </zeroOrMore> + <zeroOrMore> + <ref name="Import"/> + </zeroOrMore> + <zeroOrMore> + <ref name="Axioms"/> + </zeroOrMore> + </interleave> + </define> + <define name="Axioms"> + <interleave> + <zeroOrMore> + <ref name="AnnotationAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DatatypeDefinition"/> + </zeroOrMore> + <zeroOrMore> + <ref name="HasKey"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SubClassOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="EquivalentClasses"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ObjectProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DisjointClasses"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DifferentIndividuals"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SameIndividual"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ObjectPropertyAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataPropertyAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ClassAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="NegativeObjectPropertyAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="NegativeDataPropertyAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="NegativeClassAssertion"/> + </zeroOrMore> + </interleave> + </define> + <define name="Ontology"> + <element name="Ontology"> + <interleave> + <ref name="Ontology.attribs"/> + <ref name="Ontology.model"/> + </interleave> + </element> + </define> + <define name="Prefix"> + <element name="Prefix"> + <interleave> + <ref name="name.attrib"/> + <ref name="IRI.attrib"/> + </interleave> + </element> + </define> + <define name="Import"> + <element name="Import"> + <data type="anyURI"/> + </element> + </define> + <define name="ObjectProperties"> + <interleave> + <zeroOrMore> + <ref name="SymmetricObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="AsymmetricObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ReflexiveObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="IrreflexiveObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="FunctionalObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DisjointObjectProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseFunctionalObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TransitiveObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TransitiveObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ObjectPropertyDomain"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ObjectPropertyRange"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseObjectProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SubObjectPropertyOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="EquivalentObjectProperties"/> + </zeroOrMore> + </interleave> + </define> + <define name="DataProperties"> + <interleave> + <zeroOrMore> + <ref name="SymmetricDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="AsymmetricDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ReflexiveDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="IrreflexiveDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="FunctionalDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DisjointDataProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseFunctionalDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TransitiveDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TransitiveDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataPropertyDomain"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataPropertyRange"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseDataProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SubDataPropertyOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="EquivalentDataProperties"/> + </zeroOrMore> + </interleave> + </define> + <define name="Declaration.model"> + <choice> + <ref name="Class.model"/> + <ref name="Data.model"/> + </choice> + </define> + <define name="Declaration"> + <element name="Declaration"> + <ref name="Declaration.model"/> + </element> + </define> + <define name="NamedIndividual"> + <element name="NamedIndividual"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="ClassAssertion"> + <element name="ClassAssertion"> + <ref name="Class.model"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="NegativeClassAssertion"> + <element name="NegativeClassAssertion"> + <ref name="Class.model"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="ObjectProperty"> + <element name="ObjectProperty"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="SymmetricObjectProperty"> + <element name="SymmetricObjectProperty"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="AsymmetricObjectProperty"> + <element name="AsymmetricObjectProperty"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="DisjointObjectProperties"> + <element name="DisjointObjectProperties"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="ReflexiveObjectProperty"> + <element name="ReflexiveObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="IrreflexiveObjectProperty"> + <element name="IrreflexiveObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="FunctionalObjectProperty"> + <element name="FunctionalObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="InverseFunctionalObjectProperty"> + <element name="InverseFunctionalObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="InverseObjectProperty"> + <element name="InverseObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="InverseObjectProperties"> + <element name="InverseObjectProperties"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="TransitiveObjectProperty"> + <element name="TransitiveObjectProperty"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="EquivalentObjectProperties"> + <element name="EquivalentObjectProperties"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectPropertyDomain"> + <element name="ObjectPropertyDomain"> + <ref name="ObjectProperty"/> + <ref name="Class"/> + </element> + </define> + <define name="ObjectPropertyRange"> + <element name="ObjectPropertyRange"> + <ref name="ObjectProperty"/> + <ref name="Class"/> + </element> + </define> + <define name="SubObjectPropertyOf"> + <element name="SubObjectPropertyOf"> + <choice> + <ref name="ObjectProperty"/> + <ref name="ObjectPropertyChain"/> + </choice> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="ObjectPropertyChain"> + <element name="ObjectPropertyChain"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectPropertyAssertion"> + <element name="ObjectPropertyAssertion"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + <ref name="Ind.class"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="NegativeObjectPropertyAssertion"> + <element name="NegativeObjectPropertyAssertion"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + <ref name="Ind.class"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="SymmetricDataProperty"> + <element name="SymmetricDataProperty"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="AsymmetricDataProperty"> + <element name="AsymmetricDataProperty"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="DisjointDataProperties"> + <element name="DisjointDataProperties"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="ReflexiveDataProperty"> + <element name="ReflexiveDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="IrreflexiveDataProperty"> + <element name="IrreflexiveDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="FunctionalDataProperty"> + <element name="FunctionalDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="InverseFunctionalDataProperty"> + <element name="InverseFunctionalDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="InverseDataProperty"> + <element name="InverseDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="InverseDataProperties"> + <element name="InverseDataProperties"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="TransitiveDataProperty"> + <element name="TransitiveDataProperty"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="EquivalentDataProperties"> + <element name="EquivalentDataProperties"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="DataPropertyDomain"> + <element name="DataPropertyDomain"> + <ref name="DataProperty"/> + <ref name="Class"/> + </element> + </define> + <define name="DataPropertyRange"> + <element name="DataPropertyRange"> + <ref name="DataProperty"/> + <ref name="Datatype"/> + </element> + </define> + <define name="SubDataPropertyOf"> + <element name="SubDataPropertyOf"> + <choice> + <ref name="DataProperty"/> + <ref name="DataPropertyChain"/> + </choice> + <ref name="DataProperty"/> + </element> + </define> + <define name="DataPropertyChain"> + <element name="DataPropertyChain"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="DataPropertyAssertion"> + <element name="DataPropertyAssertion"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + <ref name="Ind.class"/> + <ref name="Literal"/> + </element> + </define> + <define name="NegativeDataPropertyAssertion"> + <element name="NegativeDataPropertyAssertion"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + <ref name="Ind.class"/> + <ref name="Literal"/> + </element> + </define> + <define name="DataProperty"> + <element name="DataProperty"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="Datatype"> + <element name="Datatype"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="Class"> + <element name="Class"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="Annotation"> + <element name="Annotation"> + <interleave> + <ref name="AnnotationProperty"/> + <ref name="Literal"/> + </interleave> + </element> + </define> + <define name="AnnotationAssertion"> + <element name="AnnotationAssertion"> + <ref name="AnnotationProperty"/> + <ref name="IRI"/> + <ref name="Literal"/> + </element> + </define> + <define name="AnnotationProperty"> + <element name="AnnotationProperty"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="IRI"> + <element name="IRI"> + <data type="anyURI"/> + </element> + </define> + <define name="Literal"> + <element name="Literal"> + <interleave> + <optional> + <ref name="datatypeIRI.attrib"/> + </optional> + <text/> + </interleave> + </element> + </define> + <define name="DatatypeDefinition.model"> + <interleave> + <zeroOrMore> + <ref name="Datatype"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DatatypeRestriction"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataComplementOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataIntersectionOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataOneOf"/> + </zeroOrMore> + </interleave> + </define> + <define name="DatatypeDefinition"> + <element name="DatatypeDefinition"> + <ref name="DatatypeDefinition.model"/> + </element> + </define> + <define name="DatatypeRestriction"> + <element name="DatatypeRestriction"> + <interleave> + <ref name="Datatype"/> + <zeroOrMore> + <ref name="FacetRestriction"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="FacetRestriction"> + <element name="FacetRestriction"> + <interleave> + <ref name="facet.attrib"/> + <ref name="Literal"/> + </interleave> + </element> + </define> + <define name="DataIntersectionOf"> + <element name="DataIntersectionOf"> + <zeroOrMore> + <ref name="Data.model"/> + </zeroOrMore> + </element> + </define> + <define name="DataComplementOf"> + <element name="DataComplementOf"> + <zeroOrMore> + <ref name="Data.model"/> + </zeroOrMore> + </element> + </define> + <define name="DataOneOf"> + <element name="DataOneOf"> + <zeroOrMore> + <ref name="Literal"/> + </zeroOrMore> + </element> + </define> + <define name="DataSomeValuesFrom"> + <element name="DataSomeValuesFrom"> + <zeroOrMore> + <ref name="Data.model"/> + </zeroOrMore> + </element> + </define> + <define name="DataAllValuesFrom"> + <element name="DataAllValuesFrom"> + <zeroOrMore> + <ref name="Data.model"/> + </zeroOrMore> + </element> + </define> + <define name="Data.model"> + <choice> + <ref name="DataProperty"/> + <ref name="Datatype"/> + <ref name="DataOneOf"/> + <ref name="DataSomeValuesFrom"/> + <ref name="DataAllValuesFrom"/> + <ref name="DataComplementOf"/> + <ref name="DatatypeRestriction"/> + </choice> + </define> + <define name="HasKey"> + <element name="HasKey"> + <ref name="Class"/> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="SubClassOf"> + <element name="SubClassOf"> + <zeroOrMore> + <ref name="Annotation"/> + </zeroOrMore> + <ref name="Class.model"/> + <choice> + <ref name="Data.model"/> + <ref name="Class.model"/> + </choice> + </element> + </define> + <define name="EquivalentClasses"> + <element name="EquivalentClasses"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectIntersectionOf"> + <element name="ObjectIntersectionOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectComplementOf"> + <element name="ObjectComplementOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectSomeValuesFrom"> + <element name="ObjectSomeValuesFrom"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectAllValuesFrom"> + <element name="ObjectAllValuesFrom"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectOneOf"> + <element name="ObjectOneOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectInverseOf"> + <element name="ObjectInverseOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectMaxCardinality"> + <element name="ObjectMaxCardinality"> + <interleave> + <ref name="cardinality.attrib"/> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="ObjectMinCardinality"> + <element name="ObjectMinCardinality"> + <interleave> + <ref name="cardinality.attrib"/> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="ObjectExactCardinality"> + <element name="ObjectExactCardinality"> + <interleave> + <ref name="cardinality.attrib"/> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="ObjectHasValue"> + <element name="ObjectHasValue"> + <ref name="ObjectProperty"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="ObjectHasSelf"> + <element name="ObjectHasSelf"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="ObjectUnionOf"> + <element name="ObjectUnionOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="Class.model"> + <choice> + <ref name="Class"/> + <ref name="ObjectIntersectionOf"/> + <ref name="ObjectComplementOf"/> + <ref name="ObjectSomeValuesFrom"/> + <ref name="ObjectAllValuesFrom"/> + <ref name="ObjectOneOf"/> + <ref name="Ind.class"/> + <ref name="ObjectInverseOf"/> + <ref name="ObjectProperty"/> + <ref name="ObjectMaxCardinality"/> + <ref name="ObjectMinCardinality"/> + <ref name="ObjectExactCardinality"/> + <ref name="ObjectHasValue"/> + <ref name="ObjectHasSelf"/> + <ref name="ObjectUnionOf"/> + </choice> + </define> + <define name="DisjointClasses"> + <element name="DisjointClasses"> + <optional> + <ref name="Annotation"/> + </optional> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="DifferentIndividuals"> + <element name="DifferentIndividuals"> + <zeroOrMore> + <ref name="Ind.class"/> + </zeroOrMore> + </element> + </define> + <define name="SameIndividual"> + <element name="SameIndividual"> + <zeroOrMore> + <ref name="Ind.class"/> + </zeroOrMore> + </element> + </define> + <define name="Ind.class"> + <ref name="NamedIndividual"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/pxhtml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/pxhtml.rng new file mode 100644 index 00000000000..721c22c0da2 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/pxhtml.rng @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + XHTML for paragraphs in OMDoc + this is a subset of the xhtml RelaxNG schema for XHTML we use it for paragraphs in OMDoc1.3 +--> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <include href="xhtml-datatypes.rng"/> + <include href="xhtml-attribs.rng"/> + <include href="xhtml-text.rng"/> + <include href="xhtml-hypertext.rng"/> + <include href="xhtml-list.rng"/> + <include href="xhtml-image.rng"/> + <include href="xhtml-param.rng"/> + <include href="xhtml-object.rng"/> + <include href="xhtml-bdo.rng"/> + <include href="xhtml-applet.rng"/> + <include href="xhtml-table.rng"/> + <include href="xhtml-inlstyle.rng"/> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/statements.rng b/Master/texmf-dist/source/latex/stex/schema/rng/statements.rng new file mode 100644 index 00000000000..c678f7f8d7d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/statements.rng @@ -0,0 +1,279 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | Mathematical Statements for LaTeXML | + |=====================================================================| + | Not Part of LaTeXML: | + | Copyright (c) 2005 Michael Kohlhase | + | Released under the Gnu Public License (GPL) | + |=====================================================================| + | Michael Kohlhase <m.kohlhase@iu-bremen.de> #_# | + | http://dlmf.nist.gov/LaTeXML/ (o o) | + \=========================================================ooo==U==ooo=/ +--> +<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="statement.model"> + <choice> + <text/> + <ref name="Flow.class"/> + </choice> + </define> + <define name="example"> + <element name="example"> + <ref name="Common.attribs"/> + <attribute name="for"> + <data type="string"/> + </attribute> + <optional> + <ref name="metadata"/> + </optional> + <zeroOrMore> + <ref name="statement.model"/> + </zeroOrMore> + </element> + </define> + <define name="definition"> + <element name="definition"> + <ref name="Common.attribs"/> + <attribute name="for"> + <data type="string"/> + </attribute> + <optional> + <ref name="metadata"/> + </optional> + <zeroOrMore> + <ref name="statement.model"/> + </zeroOrMore> + </element> + </define> + <define name="definiens"> + <element name="definiens"> + <attribute name="name"> + <data type="string"/> + </attribute> + <zeroOrMore> + <ref name="statement.model"/> + </zeroOrMore> + </element> + </define> + <define name="termin"> + <element name="termin"> + <attribute name="cd"> + <data type="NCName"/> + </attribute> + <attribute name="name"> + <data type="NCName"/> + </attribute> + <zeroOrMore> + <choice> + <ref name="statement.model"/> + <ref name="Math"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="notation"> + <element name="notation"> + <ref name="Common.attribs"/> + <attribute name="for"> + <data type="string"/> + </attribute> + <zeroOrMore> + <ref name="statement.model"/> + </zeroOrMore> + </element> + </define> + <define name="notemph"> + <element name="notemph"> + <zeroOrMore> + <choice> + <ref name="statement.model"/> + <ref name="Math"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="statement-group"> + <element name="statement-group"> + <ref name="Common.attribs"/> + <optional> + <ref name="metadata"/> + </optional> + <zeroOrMore> + <choice> + <ref name="omtext"/> + <ref name="example"/> + <ref name="definition"/> + <ref name="symbol"/> + <ref name="assertion"/> + <ref name="notation"/> + <ref name="itemize"/> + <ref name="enumerate"/> + <ref name="description"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="symbol"> + <element name="symbol"> + <attribute name="name"> + <data type="string"/> + </attribute> + </element> + </define> + <define name="assertion"> + <element name="assertion"> + <ref name="Common.attribs"/> + <optional> + <attribute name="type"> + <data type="string"/> + </attribute> + </optional> + <optional> + <ref name="metadata"/> + </optional> + <zeroOrMore> + <ref name="statement.model"/> + </zeroOrMore> + </element> + </define> + <define name="axiom"> + <element name="axiom"> + <ref name="Common.attribs"/> + <zeroOrMore> + <ref name="statement.model"/> + </zeroOrMore> + </element> + </define> + <define name="proof.model"> + <choice> + <ref name="omtext"/> + <ref name="step"/> + <ref name="cases"/> + </choice> + </define> + <define name="proof"> + <element name="proof"> + <ref name="Common.attribs"/> + <optional> + <attribute name="for"> + <data type="string"/> + </attribute> + </optional> + <optional> + <ref name="metadata"/> + </optional> + <zeroOrMore> + <ref name="proof.model"/> + </zeroOrMore> + </element> + </define> + <define name="cases"> + <element name="cases"> + <zeroOrMore> + <choice> + <ref name="case"/> + <ref name="omtext"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="case"> + <element name="case"> + <ref name="Common.attribs"/> + <optional> + <attribute name="for"> + <data type="string"/> + </attribute> + </optional> + <zeroOrMore> + <ref name="proof.model"/> + </zeroOrMore> + </element> + </define> + <define name="step"> + <element name="step"> + <ref name="Common.attribs"/> + <zeroOrMore> + <choice> + <ref name="statement.model"/> + <ref name="method"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="method"> + <element name="method"> + <ref name="Common.attribs"/> + <attribute name="xref"> + <data type="string"/> + </attribute> + <zeroOrMore> + <choice> + <text/> + <ref name="Math"/> + <ref name="proof"/> + <ref name="premise"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="premise"> + <element name="premise"> + <ref name="Common.attribs"/> + <attribute name="xref"> + <data type="string"/> + </attribute> + </element> + </define> + <define name="omtext"> + <element name="omtext"> + <ref name="Common.attribs"/> + <optional> + <attribute name="for"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="from"> + <data type="string"/> + </attribute> + </optional> + <optional> + <attribute name="type"> + <data type="string"/> + </attribute> + </optional> + <optional> + <ref name="metadata"/> + </optional> + <zeroOrMore> + <choice> + <text/> + <ref name="Flow.class"/> + </choice> + </zeroOrMore> + </element> + </define> + <define name="statements.Block.class" combine="choice"> + <choice> + <ref name="example"/> + <ref name="definition"/> + <ref name="notation"/> + <ref name="symbol"/> + <ref name="assertion"/> + <ref name="proof"/> + <ref name="axiom"/> + <ref name="omtext"/> + <ref name="statement-group"/> + </choice> + </define> + <define name="statements.Inline.class" combine="choice"> + <choice> + <ref name="definiens"/> + <ref name="notemph"/> + <ref name="termin"/> + <ref name="method"/> + </choice> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-animation.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-animation.rng new file mode 100644 index 00000000000..918313a71fe --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-animation.rng @@ -0,0 +1,364 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Animation Module + file: svg-animation.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-animation.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Animation + + animate, set, animateMotion, animateColor, animateTransform, mpath + + This module declares markup to provide support for animation. + </a:documentation> + <a:documentation> + SVG.Animation.class + </a:documentation> + <define name="SVG.Animation.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Animation.class" combine="choice"> + <choice> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateMotion"/> + <ref name="animateColor"/> + <ref name="animateTransform"/> + <ref name="SVG.Animation.extra.class"/> + </choice> + </define> + <a:documentation> + SVG.Animation.attrib + </a:documentation> + <define name="SVG.Animation.extra.attrib"> + <empty/> + </define> + <define name="SVG.Animation.attrib"> + <ref name="SVG.XLink.attrib"/> + <ref name="SVG.Animation.extra.attrib"/> + </define> + <a:documentation> + SVG.AnimationAttribute.attrib + </a:documentation> + <define name="SVG.AnimationAttribute.extra.attrib"> + <empty/> + </define> + <define name="SVG.AnimationAttribute.attrib"> + <attribute name="attributeName"/> + <optional> + <attribute name="attributeType"/> + </optional> + <ref name="SVG.AnimationAttribute.extra.attrib"/> + </define> + <a:documentation> + SVG.AnimationTiming.attrib + </a:documentation> + <define name="SVG.AnimationTiming.extra.attrib"> + <empty/> + </define> + <define name="SVG.AnimationTiming.attrib"> + <optional> + <attribute name="begin"/> + </optional> + <optional> + <attribute name="dur"/> + </optional> + <optional> + <attribute name="end"/> + </optional> + <optional> + <attribute name="min"/> + </optional> + <optional> + <attribute name="max"/> + </optional> + <optional> + <attribute name="restart" a:defaultValue="always"> + <choice> + <value>always</value> + <value>never</value> + <value>whenNotActive</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="repeatCount"/> + </optional> + <optional> + <attribute name="repeatDur"/> + </optional> + <optional> + <attribute name="fill" a:defaultValue="remove"> + <choice> + <value>remove</value> + <value>freeze</value> + </choice> + </attribute> + </optional> + <ref name="SVG.AnimationTiming.extra.attrib"/> + </define> + <a:documentation> + SVG.AnimationValue.attrib + </a:documentation> + <define name="SVG.AnimationValue.extra.attrib"> + <empty/> + </define> + <define name="SVG.AnimationValue.attrib"> + <optional> + <attribute name="calcMode" a:defaultValue="linear"> + <choice> + <value>discrete</value> + <value>linear</value> + <value>paced</value> + <value>spline</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="values"/> + </optional> + <optional> + <attribute name="keyTimes"/> + </optional> + <optional> + <attribute name="keySplines"/> + </optional> + <optional> + <attribute name="from"/> + </optional> + <optional> + <attribute name="to"/> + </optional> + <optional> + <attribute name="by"/> + </optional> + <ref name="SVG.AnimationValue.extra.attrib"/> + </define> + <a:documentation> + SVG.AnimationAddtion.attrib + </a:documentation> + <define name="SVG.AnimationAddtion.extra.attrib"> + <empty/> + </define> + <define name="SVG.AnimationAddtion.attrib"> + <optional> + <attribute name="additive" a:defaultValue="replace"> + <choice> + <value>replace</value> + <value>sum</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="accumulate" a:defaultValue="none"> + <choice> + <value>none</value> + <value>sum</value> + </choice> + </attribute> + </optional> + <ref name="SVG.AnimationAddtion.extra.attrib"/> + </define> + <a:documentation> + animate: Animate Element + </a:documentation> + <define name="SVG.animate.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + </define> + <define name="animate"> + <element name="animate"> + <ref name="attlist.animate"/> + <ref name="SVG.animate.content"/> + </element> + </define> + <define name="attlist.animate" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.AnimationEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <ref name="SVG.Animation.attrib"/> + <ref name="SVG.AnimationAttribute.attrib"/> + <ref name="SVG.AnimationTiming.attrib"/> + <ref name="SVG.AnimationValue.attrib"/> + <ref name="SVG.AnimationAddtion.attrib"/> + </define> + <a:documentation> + set: Set Element + </a:documentation> + <define name="SVG.set.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + </define> + <define name="set"> + <element name="set"> + <ref name="attlist.set"/> + <ref name="SVG.set.content"/> + </element> + </define> + <define name="attlist.set" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.AnimationEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <ref name="SVG.Animation.attrib"/> + <ref name="SVG.AnimationAttribute.attrib"/> + <ref name="SVG.AnimationTiming.attrib"/> + <optional> + <attribute name="to"/> + </optional> + </define> + <a:documentation> + animateMotion: Animate Motion Element + </a:documentation> + <define name="SVG.animateMotion.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <optional> + <ref name="mpath"/> + </optional> + </define> + <define name="animateMotion"> + <element name="animateMotion"> + <ref name="attlist.animateMotion"/> + <ref name="SVG.animateMotion.content"/> + </element> + </define> + <define name="attlist.animateMotion" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.AnimationEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <ref name="SVG.Animation.attrib"/> + <ref name="SVG.AnimationTiming.attrib"/> + <ref name="SVG.AnimationAddtion.attrib"/> + <optional> + <attribute name="calcMode" a:defaultValue="paced"> + <choice> + <value>discrete</value> + <value>linear</value> + <value>paced</value> + <value>spline</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="values"/> + </optional> + <optional> + <attribute name="keyTimes"/> + </optional> + <optional> + <attribute name="keySplines"/> + </optional> + <optional> + <attribute name="from"/> + </optional> + <optional> + <attribute name="to"/> + </optional> + <optional> + <attribute name="by"/> + </optional> + <optional> + <attribute name="path"/> + </optional> + <optional> + <attribute name="keyPoints"/> + </optional> + <optional> + <attribute name="rotate"/> + </optional> + <optional> + <attribute name="origin"/> + </optional> + </define> + <a:documentation> + animateColor: Animate Color Element + </a:documentation> + <define name="SVG.animateColor.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + </define> + <define name="animateColor"> + <element name="animateColor"> + <ref name="attlist.animateColor"/> + <ref name="SVG.animateColor.content"/> + </element> + </define> + <define name="attlist.animateColor" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.AnimationEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <ref name="SVG.Animation.attrib"/> + <ref name="SVG.AnimationAttribute.attrib"/> + <ref name="SVG.AnimationTiming.attrib"/> + <ref name="SVG.AnimationValue.attrib"/> + <ref name="SVG.AnimationAddtion.attrib"/> + </define> + <a:documentation> + animateTransform: Animate Transform Element + </a:documentation> + <define name="SVG.animateTransform.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + </define> + <define name="animateTransform"> + <element name="animateTransform"> + <ref name="attlist.animateTransform"/> + <ref name="SVG.animateTransform.content"/> + </element> + </define> + <define name="attlist.animateTransform" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.AnimationEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <ref name="SVG.Animation.attrib"/> + <ref name="SVG.AnimationAttribute.attrib"/> + <ref name="SVG.AnimationTiming.attrib"/> + <ref name="SVG.AnimationValue.attrib"/> + <ref name="SVG.AnimationAddtion.attrib"/> + <optional> + <attribute name="type" a:defaultValue="translate"> + <choice> + <value>translate</value> + <value>scale</value> + <value>rotate</value> + <value>skewX</value> + <value>skewY</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + mpath: Motion Path Element + </a:documentation> + <define name="SVG.mpath.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + </define> + <define name="mpath"> + <element name="mpath"> + <ref name="attlist.mpath"/> + <ref name="SVG.mpath.content"/> + </element> + </define> + <define name="attlist.mpath" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.XLinkRequired.attrib"/> + <ref name="SVG.External.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-animevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-animevents-attrib.rng new file mode 100644 index 00000000000..164414fe0fc --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-animevents-attrib.rng @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Animation Events Attribute Module + file: svg-animevents-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-animevents-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Animation Events Attribute + + onbegin, onend, onrepeat, onload + + This module defines the AnimationEvents attribute set. + </a:documentation> + <define name="SVG.onbegin.attrib"> + <optional> + <attribute name="onbegin"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onend.attrib"> + <optional> + <attribute name="onend"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onrepeat.attrib"> + <optional> + <attribute name="onrepeat"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.AnimationEvents.extra.attrib"> + <empty/> + </define> + <define name="SVG.AnimationEvents.attrib" combine="interleave"> + <ref name="SVG.onbegin.attrib"/> + <ref name="SVG.onend.attrib"/> + <ref name="SVG.onrepeat.attrib"/> + <ref name="SVG.onload.attrib"/> + <ref name="SVG.AnimationEvents.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-clip.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-clip.rng new file mode 100644 index 00000000000..0bb1333829f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-clip.rng @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Basic Clip Module + file: svg-basic-clip.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-basic-clip.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Basic Clip + + clipPath + + This module declares markup to provide support for clipping. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="ClipPathValue.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Clip.attrib + </a:documentation> + <define name="SVG.Clip.extra.attrib"> + <empty/> + </define> + <define name="SVG.Clip.attrib" combine="interleave"> + <optional> + <attribute name="clip-path"> + <ref name="ClipPathValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="clip-rule"> + <ref name="ClipFillRule.datatype"/> + </attribute> + </optional> + <ref name="SVG.Clip.extra.attrib"/> + </define> + <a:documentation> + SVG.Clip.class + </a:documentation> + <define name="SVG.Clip.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Clip.class" combine="choice"> + <choice> + <ref name="clipPath"/> + <ref name="SVG.Clip.extra.class"/> + </choice> + </define> + <a:documentation> + clipPath: Clip Path Element + </a:documentation> + <define name="SVG.clipPath.class"> + <choice> + <ref name="rect"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Use.class"/> + </choice> + </define> + <define name="SVG.clipPath.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.clipPath.class"/> + </zeroOrMore> + </define> + <define name="clipPath"> + <element name="clipPath"> + <ref name="attlist.clipPath"/> + <ref name="SVG.clipPath.content"/> + </element> + </define> + <define name="attlist.clipPath" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Text.attrib"/> + <ref name="SVG.TextContent.attrib"/> + <ref name="SVG.Font.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="clipPathUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-filter.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-filter.rng new file mode 100644 index 00000000000..6e9a39b50fa --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-filter.rng @@ -0,0 +1,779 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Basic Filter Module + file: svg-basic-filter.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-basic-filter.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Basic Filter + + filter, feBlend, feColorMatrix, feComponentTransfer, feComposite, + feFlood, feGaussianBlur, feImage, feMerge, feMergeNode, feOffset, + feTile, feFuncR, feFuncG, feFuncB, feFuncA + + This module declares markup to provide support for filter effect. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="FilterValue.datatype"> + <data type="string"/> + </define> + <define name="NumberOptionalNumber.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Filter.attrib + </a:documentation> + <define name="SVG.Filter.extra.attrib"> + <empty/> + </define> + <define name="SVG.Filter.attrib" combine="interleave"> + <optional> + <attribute name="filter"> + <ref name="FilterValue.datatype"/> + </attribute> + </optional> + <ref name="SVG.Filter.extra.attrib"/> + </define> + <a:documentation> + SVG.FilterColor.attrib + </a:documentation> + <define name="SVG.FilterColor.extra.attrib"> + <empty/> + </define> + <define name="SVG.FilterColor.attrib" combine="interleave"> + <optional> + <attribute name="color-interpolation-filters"> + <choice> + <value>auto</value> + <value>sRGB</value> + <value>linearRGB</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <ref name="SVG.FilterColor.extra.attrib"/> + </define> + <a:documentation> + SVG.Filter.class + </a:documentation> + <define name="SVG.Filter.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Filter.class" combine="choice"> + <choice> + <ref name="filter"/> + <ref name="SVG.Filter.extra.class"/> + </choice> + </define> + <a:documentation> + SVG.FilterPrimitive.class + </a:documentation> + <define name="SVG.FilterPrimitive.extra.class"> + <notAllowed/> + </define> + <define name="SVG.FilterPrimitive.class"> + <choice> + <ref name="feBlend"/> + <ref name="feColorMatrix"/> + <ref name="feComponentTransfer"/> + <ref name="feComposite"/> + <ref name="feFlood"/> + <ref name="feGaussianBlur"/> + <ref name="feImage"/> + <ref name="feMerge"/> + <ref name="feOffset"/> + <ref name="feTile"/> + <ref name="SVG.FilterPrimitive.extra.class"/> + </choice> + </define> + <a:documentation> + SVG.FilterPrimitive.attrib + </a:documentation> + <define name="SVG.FilterPrimitive.extra.attrib"> + <empty/> + </define> + <define name="SVG.FilterPrimitive.attrib"> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="result"/> + </optional> + <ref name="SVG.FilterPrimitive.extra.attrib"/> + </define> + <a:documentation> + SVG.FilterPrimitiveWithIn.attrib + </a:documentation> + <define name="SVG.FilterPrimitiveWithIn.extra.attrib"> + <empty/> + </define> + <define name="SVG.FilterPrimitiveWithIn.attrib"> + <ref name="SVG.FilterPrimitive.attrib"/> + <optional> + <attribute name="in"/> + </optional> + <ref name="SVG.FilterPrimitiveWithIn.extra.attrib"/> + </define> + <a:documentation> + filter: Filter Element + </a:documentation> + <define name="SVG.filter.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + <ref name="SVG.FilterPrimitive.class"/> + </choice> + </zeroOrMore> + </define> + <define name="filter"> + <element name="filter"> + <ref name="attlist.filter"/> + <ref name="SVG.filter.content"/> + </element> + </define> + <define name="attlist.filter" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.XLink.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="filterRes"> + <ref name="NumberOptionalNumber.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="filterUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="primitiveUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + feBlend: Filter Effect Blend Element + </a:documentation> + <define name="SVG.feBlend.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feBlend"> + <element name="feBlend"> + <ref name="attlist.feBlend"/> + <ref name="SVG.feBlend.content"/> + </element> + </define> + <define name="attlist.feBlend" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <attribute name="in2"/> + <optional> + <attribute name="mode" a:defaultValue="normal"> + <choice> + <value>normal</value> + <value>multiply</value> + <value>screen</value> + <value>darken</value> + <value>lighten</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + feColorMatrix: Filter Effect Color Matrix Element + </a:documentation> + <define name="SVG.feColorMatrix.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feColorMatrix"> + <element name="feColorMatrix"> + <ref name="attlist.feColorMatrix"/> + <ref name="SVG.feColorMatrix.content"/> + </element> + </define> + <define name="attlist.feColorMatrix" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <optional> + <attribute name="type" a:defaultValue="matrix"> + <choice> + <value>matrix</value> + <value>saturate</value> + <value>hueRotate</value> + <value>luminanceToAlpha</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="values"/> + </optional> + </define> + <a:documentation> + feComponentTransfer: Filter Effect Component Transfer Element + </a:documentation> + <define name="SVG.feComponentTransfer.content"> + <optional> + <ref name="feFuncR"/> + </optional> + <optional> + <ref name="feFuncG"/> + </optional> + <optional> + <ref name="feFuncB"/> + </optional> + <optional> + <ref name="feFuncA"/> + </optional> + </define> + <define name="feComponentTransfer"> + <element name="feComponentTransfer"> + <ref name="attlist.feComponentTransfer"/> + <ref name="SVG.feComponentTransfer.content"/> + </element> + </define> + <define name="attlist.feComponentTransfer" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + </define> + <a:documentation> + feComposite: Filter Effect Composite Element + </a:documentation> + <define name="SVG.feComposite.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feComposite"> + <element name="feComposite"> + <ref name="attlist.feComposite"/> + <ref name="SVG.feComposite.content"/> + </element> + </define> + <define name="attlist.feComposite" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <attribute name="in2"/> + <optional> + <attribute name="operator" a:defaultValue="over"> + <choice> + <value>over</value> + <value>in</value> + <value>out</value> + <value>atop</value> + <value>xor</value> + <value>arithmetic</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="k1"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="k2"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="k3"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="k4"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feFlood: Filter Effect Flood Element + </a:documentation> + <define name="SVG.feFlood.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateColor"/> + </choice> + </zeroOrMore> + </define> + <define name="feFlood"> + <element name="feFlood"> + <ref name="attlist.feFlood"/> + <ref name="SVG.feFlood.content"/> + </element> + </define> + <define name="attlist.feFlood" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <optional> + <attribute name="flood-color"> + <ref name="SVGColor.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="flood-opacity"> + <ref name="OpacityValue.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feGaussianBlur: Filter Effect Gaussian Blur Element + </a:documentation> + <define name="SVG.feGaussianBlur.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feGaussianBlur"> + <element name="feGaussianBlur"> + <ref name="attlist.feGaussianBlur"/> + <ref name="SVG.feGaussianBlur.content"/> + </element> + </define> + <define name="attlist.feGaussianBlur" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <optional> + <attribute name="stdDeviation"> + <ref name="NumberOptionalNumber.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feImage: Filter Effect Image Element + </a:documentation> + <define name="SVG.feImage.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateTransform"/> + </choice> + </zeroOrMore> + </define> + <define name="feImage"> + <element name="feImage"> + <ref name="attlist.feImage"/> + <ref name="SVG.feImage.content"/> + </element> + </define> + <define name="attlist.feImage" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.FilterPrimitive.attrib"/> + <ref name="SVG.XLinkEmbed.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet"> + <ref name="PreserveAspectRatioSpec.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feMerge: Filter Effect Merge Element + </a:documentation> + <define name="SVG.feMerge.content"> + <zeroOrMore> + <ref name="feMergeNode"/> + </zeroOrMore> + </define> + <define name="feMerge"> + <element name="feMerge"> + <ref name="attlist.feMerge"/> + <ref name="SVG.feMerge.content"/> + </element> + </define> + <define name="attlist.feMerge" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitive.attrib"/> + </define> + <a:documentation> + feMergeNode: Filter Effect Merge Node Element + </a:documentation> + <define name="SVG.feMergeNode.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feMergeNode"> + <element name="feMergeNode"> + <ref name="attlist.feMergeNode"/> + <ref name="SVG.feMergeNode.content"/> + </element> + </define> + <define name="attlist.feMergeNode" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="in"/> + </optional> + </define> + <a:documentation> + feOffset: Filter Effect Offset Element + </a:documentation> + <define name="SVG.feOffset.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feOffset"> + <element name="feOffset"> + <ref name="attlist.feOffset"/> + <ref name="SVG.feOffset.content"/> + </element> + </define> + <define name="attlist.feOffset" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <optional> + <attribute name="dx"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dy"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feTile: Filter Effect Tile Element + </a:documentation> + <define name="SVG.feTile.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feTile"> + <element name="feTile"> + <ref name="attlist.feTile"/> + <ref name="SVG.feTile.content"/> + </element> + </define> + <define name="attlist.feTile" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + </define> + <a:documentation> + feFuncR: Filter Effect Function Red Element + </a:documentation> + <define name="SVG.feFuncR.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feFuncR"> + <element name="feFuncR"> + <ref name="attlist.feFuncR"/> + <ref name="SVG.feFuncR.content"/> + </element> + </define> + <define name="attlist.feFuncR" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <attribute name="type"> + <choice> + <value>identity</value> + <value>table</value> + <value>discrete</value> + <value>linear</value> + <value>gamma</value> + </choice> + </attribute> + <optional> + <attribute name="tableValues"/> + </optional> + <optional> + <attribute name="slope"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="intercept"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="amplitude"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="exponent"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="offset"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feFuncG: Filter Effect Function Green Element + </a:documentation> + <define name="SVG.feFuncG.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feFuncG"> + <element name="feFuncG"> + <ref name="attlist.feFuncG"/> + <ref name="SVG.feFuncG.content"/> + </element> + </define> + <define name="attlist.feFuncG" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <attribute name="type"> + <choice> + <value>identity</value> + <value>table</value> + <value>discrete</value> + <value>linear</value> + <value>gamma</value> + </choice> + </attribute> + <optional> + <attribute name="tableValues"/> + </optional> + <optional> + <attribute name="slope"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="intercept"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="amplitude"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="exponent"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="offset"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feFuncB: Filter Effect Function Blue Element + </a:documentation> + <define name="SVG.feFuncB.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feFuncB"> + <element name="feFuncB"> + <ref name="attlist.feFuncB"/> + <ref name="SVG.feFuncB.content"/> + </element> + </define> + <define name="attlist.feFuncB" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <attribute name="type"> + <choice> + <value>identity</value> + <value>table</value> + <value>discrete</value> + <value>linear</value> + <value>gamma</value> + </choice> + </attribute> + <optional> + <attribute name="tableValues"/> + </optional> + <optional> + <attribute name="slope"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="intercept"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="amplitude"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="exponent"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="offset"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feFuncA: Filter Effect Function Alpha Element + </a:documentation> + <define name="SVG.feFuncA.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feFuncA"> + <element name="feFuncA"> + <ref name="attlist.feFuncA"/> + <ref name="SVG.feFuncA.content"/> + </element> + </define> + <define name="attlist.feFuncA" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <attribute name="type"> + <choice> + <value>identity</value> + <value>table</value> + <value>discrete</value> + <value>linear</value> + <value>gamma</value> + </choice> + </attribute> + <optional> + <attribute name="tableValues"/> + </optional> + <optional> + <attribute name="slope"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="intercept"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="amplitude"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="exponent"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="offset"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-font.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-font.rng new file mode 100644 index 00000000000..da67018545f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-font.rng @@ -0,0 +1,490 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Basic Font Module + file: svg-basic-font.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-basic-font.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Basic Font + + font, font-face, glyph, missing-glyph, hkern, vkern, font-face-src, + font-face-uri, font-face-name + + This module declares markup to provide support for template. + </a:documentation> + <a:documentation> + SVG.Font.class + </a:documentation> + <define name="SVG.Font.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Font.class" combine="choice"> + <choice> + <ref name="font"/> + <ref name="font-face"/> + <ref name="SVG.Font.extra.class"/> + </choice> + </define> + <a:documentation> + font: Font Element + </a:documentation> + <define name="SVG.font.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <ref name="font-face"/> + <ref name="missing-glyph"/> + <zeroOrMore> + <choice> + <ref name="glyph"/> + <ref name="hkern"/> + <ref name="vkern"/> + </choice> + </zeroOrMore> + </define> + <define name="font"> + <element name="font"> + <ref name="attlist.font"/> + <ref name="SVG.font.content"/> + </element> + </define> + <define name="attlist.font" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="horiz-origin-x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="horiz-origin-y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <attribute name="horiz-adv-x"> + <ref name="Number.datatype"/> + </attribute> + <optional> + <attribute name="vert-origin-x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="vert-origin-y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="vert-adv-y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + font-face: Font Face Element + </a:documentation> + <define name="SVG.font-face.extra.class"> + <notAllowed/> + </define> + <define name="SVG.font-face.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <optional> + <ref name="font-face-src"/> + </optional> + <ref name="SVG.font-face.extra.class"/> + </define> + <define name="font-face"> + <element name="font-face"> + <ref name="attlist.font-face"/> + <ref name="SVG.font-face.content"/> + </element> + </define> + <define name="attlist.font-face" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="font-family"/> + </optional> + <optional> + <attribute name="font-style"/> + </optional> + <optional> + <attribute name="font-variant"/> + </optional> + <optional> + <attribute name="font-weight"/> + </optional> + <optional> + <attribute name="font-stretch"/> + </optional> + <optional> + <attribute name="font-size"/> + </optional> + <optional> + <attribute name="unicode-range"/> + </optional> + <optional> + <attribute name="units-per-em"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="panose-1"/> + </optional> + <optional> + <attribute name="stemv"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="stemh"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="slope"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="cap-height"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="x-height"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="accent-height"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="ascent"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="descent"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="widths"/> + </optional> + <optional> + <attribute name="bbox"/> + </optional> + <optional> + <attribute name="ideographic"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="alphabetic"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="mathematical"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="hanging"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="v-ideographic"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="v-alphabetic"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="v-mathematical"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="v-hanging"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="underline-position"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="underline-thickness"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="strikethrough-position"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="strikethrough-thickness"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="overline-position"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="overline-thickness"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + glyph: Glyph Element + </a:documentation> + <define name="SVG.glyph.class"> + <notAllowed/> + </define> + <define name="SVG.glyph.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.glyph.class"/> + </zeroOrMore> + </define> + <define name="glyph"> + <element name="glyph"> + <ref name="attlist.glyph"/> + <ref name="SVG.glyph.content"/> + </element> + </define> + <define name="attlist.glyph" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <optional> + <attribute name="unicode"/> + </optional> + <optional> + <attribute name="glyph-name"/> + </optional> + <optional> + <attribute name="d"> + <ref name="PathData.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="orientation"/> + </optional> + <optional> + <attribute name="arabic-form"/> + </optional> + <optional> + <attribute name="lang"> + <ref name="LanguageCodes.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="horiz-adv-x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="vert-origin-x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="vert-origin-y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="vert-adv-y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + missing-glyph: Missing Glyph Element + </a:documentation> + <define name="SVG.missing-glyph.class"> + <notAllowed/> + </define> + <define name="SVG.missing-glyph.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.missing-glyph.class"/> + </zeroOrMore> + </define> + <define name="missing-glyph"> + <element name="missing-glyph"> + <ref name="attlist.missing-glyph"/> + <ref name="SVG.missing-glyph.content"/> + </element> + </define> + <define name="attlist.missing-glyph" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <optional> + <attribute name="d"> + <ref name="PathData.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="horiz-adv-x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="vert-origin-x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="vert-origin-y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="vert-adv-y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + hkern: Horizontal Kerning Element + </a:documentation> + <define name="SVG.hkern.content"> + <empty/> + </define> + <define name="hkern"> + <element name="hkern"> + <ref name="attlist.hkern"/> + <ref name="SVG.hkern.content"/> + </element> + </define> + <define name="attlist.hkern" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="u1"/> + </optional> + <optional> + <attribute name="g1"/> + </optional> + <optional> + <attribute name="u2"/> + </optional> + <optional> + <attribute name="g2"/> + </optional> + <attribute name="k"> + <ref name="Number.datatype"/> + </attribute> + </define> + <a:documentation> + vkern: Vertical Kerning Element + </a:documentation> + <define name="SVG.vkern.content"> + <empty/> + </define> + <define name="vkern"> + <element name="vkern"> + <ref name="attlist.vkern"/> + <ref name="SVG.vkern.content"/> + </element> + </define> + <define name="attlist.vkern" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="u1"/> + </optional> + <optional> + <attribute name="g1"/> + </optional> + <optional> + <attribute name="u2"/> + </optional> + <optional> + <attribute name="g2"/> + </optional> + <attribute name="k"> + <ref name="Number.datatype"/> + </attribute> + </define> + <a:documentation> + font-face-src: Font Face Source Element + </a:documentation> + <define name="SVG.font-face-src.content"> + <oneOrMore> + <choice> + <ref name="font-face-uri"/> + <ref name="font-face-name"/> + </choice> + </oneOrMore> + </define> + <define name="font-face-src"> + <element name="font-face-src"> + <ref name="attlist.font-face-src"/> + <ref name="SVG.font-face-src.content"/> + </element> + </define> + <define name="attlist.font-face-src" combine="interleave"> + <ref name="SVG.Core.attrib"/> + </define> + <a:documentation> + font-face-uri: Font Face URI Element + </a:documentation> + <define name="SVG.font-face-uri.content"> + <empty/> + </define> + <define name="font-face-uri"> + <element name="font-face-uri"> + <ref name="attlist.font-face-uri"/> + <ref name="SVG.font-face-uri.content"/> + </element> + </define> + <define name="attlist.font-face-uri" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.XLinkRequired.attrib"/> + </define> + <a:documentation> + font-face-name: Font Face Name Element + </a:documentation> + <define name="SVG.font-face-name.content"> + <empty/> + </define> + <define name="font-face-name"> + <element name="font-face-name"> + <ref name="attlist.font-face-name"/> + <ref name="SVG.font-face-name.content"/> + </element> + </define> + <define name="attlist.font-face-name" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="name"/> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-graphics-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-graphics-attrib.rng new file mode 100644 index 00000000000..20c40b3648c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-graphics-attrib.rng @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Basic Graphics Attribute Module + file: svg-basic-graphics-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-basic-graphics-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Basic Graphics Attribute + + display, visibility + + This module defines the Graphics attribute set. + </a:documentation> + <define name="SVG.display.attrib"> + <optional> + <attribute name="display"> + <choice> + <value>inline</value> + <value>block</value> + <value>list-item</value> + <value>run-in</value> + <value>compact</value> + <value>marker</value> + <value>table</value> + <value>inline-table</value> + <value>table-row-group</value> + <value>table-header-group</value> + <value>table-footer-group</value> + <value>table-row</value> + <value>table-column-group</value> + <value>table-column</value> + <value>table-cell</value> + <value>table-caption</value> + <value>none</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.visibility.attrib"> + <optional> + <attribute name="visibility"> + <choice> + <value>visible</value> + <value>hidden</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.Graphics.extra.attrib"> + <empty/> + </define> + <define name="SVG.Graphics.attrib" combine="interleave"> + <ref name="SVG.display.attrib"/> + <ref name="SVG.visibility.attrib"/> + <ref name="SVG.Graphics.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-structure.rng new file mode 100644 index 00000000000..65ee4f172f4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-structure.rng @@ -0,0 +1,565 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Basic Structure Module + file: svg-basic-structure.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-basic-structure.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Basic Structure + + svg, g, defs, desc, title, metadata, use + + This module declares the major structural elements and their attributes. + </a:documentation> + <start> + <a:documentation> + The root element is "svg". + </a:documentation> + <ref name="svg"/> + </start> + <div> + <a:documentation> + Include core set of modules + </a:documentation> + <include href="svg-datatypes.rng"> + <a:documentation> + Datatypes Module + </a:documentation> + </include> + <include href="svg-core-attrib.rng"> + <a:documentation> + Core Attribute Module + </a:documentation> + </include> + </div> + <a:documentation> + Content Models (Default) + </a:documentation> + <define name="SVG.Profile.class"> + <notAllowed/> + </define> + <define name="SVG.Gradient.class"> + <notAllowed/> + </define> + <define name="SVG.Pattern.class"> + <notAllowed/> + </define> + <define name="SVG.Clip.class"> + <notAllowed/> + </define> + <define name="SVG.Mask.class"> + <notAllowed/> + </define> + <define name="SVG.Filter.class"> + <notAllowed/> + </define> + <define name="SVG.Cursor.class"> + <notAllowed/> + </define> + <define name="SVG.Marker.class"> + <notAllowed/> + </define> + <define name="SVG.View.class"> + <notAllowed/> + </define> + <define name="SVG.Script.class"> + <notAllowed/> + </define> + <define name="SVG.Font.class"> + <notAllowed/> + </define> + <define name="SVG.Extensibility.class"> + <notAllowed/> + </define> + <define name="SVG.Conditional.class"> + <notAllowed/> + </define> + <define name="SVG.Image.class"> + <notAllowed/> + </define> + <define name="SVG.Style.class"> + <notAllowed/> + </define> + <define name="SVG.Shape.class"> + <notAllowed/> + </define> + <define name="SVG.Text.class"> + <notAllowed/> + </define> + <define name="SVG.Hyperlink.class"> + <notAllowed/> + </define> + <define name="SVG.Animation.class"> + <notAllowed/> + </define> + <a:documentation> + Attribute Collections (Default) + </a:documentation> + <define name="SVG.Container.attrib"> + <empty/> + </define> + <define name="SVG.Viewport.attrib"> + <empty/> + </define> + <define name="SVG.Text.attrib"> + <empty/> + </define> + <define name="SVG.TextContent.attrib"> + <empty/> + </define> + <define name="SVG.Opacity.attrib"> + <empty/> + </define> + <define name="SVG.Marker.attrib"> + <empty/> + </define> + <define name="SVG.Profile.attrib"> + <empty/> + </define> + <define name="SVG.Gradient.attrib"> + <empty/> + </define> + <define name="SVG.Clip.attrib"> + <empty/> + </define> + <define name="SVG.Mask.attrib"> + <empty/> + </define> + <define name="SVG.Filter.attrib"> + <empty/> + </define> + <define name="SVG.FilterColor.attrib"> + <empty/> + </define> + <define name="SVG.Cursor.attrib"> + <empty/> + </define> + <define name="SVG.External.attrib"> + <empty/> + </define> + <define name="SVG.Conditional.attrib"> + <empty/> + </define> + <define name="SVG.Color.attrib"> + <empty/> + </define> + <define name="SVG.Paint.attrib"> + <empty/> + </define> + <define name="SVG.Graphics.attrib"> + <empty/> + </define> + <define name="SVG.DocumentEvents.attrib"> + <empty/> + </define> + <define name="SVG.GraphicalEvents.attrib"> + <empty/> + </define> + <define name="SVG.onload.attrib"> + <empty/> + </define> + <define name="SVG.AnimationEvents.attrib"> + <empty/> + </define> + <define name="SVG.XLink.attrib"> + <empty/> + </define> + <define name="SVG.XLinkRequired.attrib"> + <empty/> + </define> + <define name="SVG.XLinkEmbed.attrib"> + <empty/> + </define> + <define name="SVG.XLinkReplace.attrib"> + <empty/> + </define> + <define name="SVG.Style.attrib"> + <empty/> + </define> + <define name="SVG.Font.attrib"> + <empty/> + </define> + <a:documentation> + SVG.Description.class + </a:documentation> + <define name="SVG.Description.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Description.class"> + <choice> + <ref name="desc"/> + <ref name="title"/> + <ref name="metadata"/> + <ref name="SVG.Description.extra.class"/> + </choice> + </define> + <a:documentation> + SVG.Use.class + </a:documentation> + <define name="SVG.Use.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Use.class"> + <choice> + <ref name="use"/> + <ref name="SVG.Use.extra.class"/> + </choice> + </define> + <a:documentation> + SVG.Structure.class + </a:documentation> + <define name="SVG.Structure.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Structure.class"> + <choice> + <ref name="svg"/> + <ref name="g"/> + <ref name="defs"/> + <ref name="SVG.Use.class"/> + <ref name="SVG.Structure.extra.class"/> + </choice> + </define> + <a:documentation> + SVG.Presentation.attrib + </a:documentation> + <define name="SVG.Presentation.extra.attrib"> + <empty/> + </define> + <define name="SVG.Presentation.attrib"> + <ref name="SVG.Container.attrib"/> + <ref name="SVG.Viewport.attrib"/> + <ref name="SVG.Text.attrib"/> + <ref name="SVG.TextContent.attrib"/> + <ref name="SVG.Font.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Marker.attrib"/> + <ref name="SVG.Profile.attrib"/> + <ref name="SVG.Gradient.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <optional> + <attribute name="flood-color"> + <ref name="SVGColor.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="flood-opacity"> + <ref name="OpacityValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="lighting-color"> + <ref name="SVGColor.datatype"/> + </attribute> + </optional> + <ref name="SVG.Presentation.extra.attrib"/> + </define> + <a:documentation> + svg: SVG Document Element + </a:documentation> + <define name="SVG.svg.content"> + <zeroOrMore> + <choice> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </zeroOrMore> + </define> + <define name="svg"> + <element name="svg"> + <ref name="attlist.svg"/> + <ref name="SVG.svg.content"/> + </element> + </define> + <define name="attlist.svg" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.DocumentEvents.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="viewBox"> + <ref name="ViewBoxSpec.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet"> + <ref name="PreserveAspectRatioSpec.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="zoomAndPan" a:defaultValue="magnify"> + <choice> + <value>disable</value> + <value>magnify</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="version" a:defaultValue="1.1"> + <value type="string">1.1</value> + </attribute> + </optional> + <optional> + <attribute name="baseProfile"> + <ref name="Text.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="contentScriptType" a:defaultValue="text/ecmascript"> + <ref name="ContentType.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="contentStyleType" a:defaultValue="text/css"> + <ref name="ContentType.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + g: Group Element + </a:documentation> + <define name="SVG.g.content"> + <zeroOrMore> + <choice> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </zeroOrMore> + </define> + <define name="g"> + <element name="g"> + <ref name="attlist.g"/> + <ref name="SVG.g.content"/> + </element> + </define> + <define name="attlist.g" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + defs: Definisions Element + </a:documentation> + <define name="SVG.defs.content"> + <zeroOrMore> + <choice> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </zeroOrMore> + </define> + <define name="defs"> + <element name="defs"> + <ref name="attlist.defs"/> + <ref name="SVG.defs.content"/> + </element> + </define> + <define name="attlist.defs" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + desc: Description Element + </a:documentation> + <define name="SVG.desc.content"> + <text/> + </define> + <define name="desc"> + <element name="desc"> + <ref name="attlist.desc"/> + <ref name="SVG.desc.content"/> + </element> + </define> + <define name="attlist.desc" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + </define> + <a:documentation> + title: Title Element + </a:documentation> + <define name="SVG.title.content"> + <text/> + </define> + <define name="title"> + <element name="title"> + <ref name="attlist.title"/> + <ref name="SVG.title.content"/> + </element> + </define> + <define name="attlist.title" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + </define> + <a:documentation> + metadata: Metadata Element + </a:documentation> + <define name="SVG.metadata.content"> + <text/> + </define> + <define name="metadata"> + <element name="metadata"> + <ref name="attlist.metadata"/> + <ref name="SVG.metadata.content"/> + </element> + </define> + <define name="attlist.metadata" combine="interleave"> + <ref name="SVG.Core.attrib"/> + </define> + <a:documentation> + use: Use Element + </a:documentation> + <define name="SVG.use.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="use"> + <element name="use"> + <ref name="attlist.use"/> + <ref name="SVG.use.content"/> + </element> + </define> + <define name="attlist.use" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.XLinkEmbed.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-text.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-text.rng new file mode 100644 index 00000000000..14771acea25 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-text.rng @@ -0,0 +1,236 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Basic Text Module + file: svg-basic-text.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-basic-text.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Basic Text + + text, altGlyph, altGlyphDef, glyphRef + + This module declares markup to provide support for text. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="FontFamilyValue.datatype"> + <data type="string"/> + </define> + <define name="FontSizeValue.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Font.attrib + </a:documentation> + <define name="SVG.Font.extra.attrib"> + <empty/> + </define> + <define name="SVG.Font.attrib" combine="interleave"> + <optional> + <attribute name="font-family"> + <ref name="FontFamilyValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="font-size"> + <ref name="FontSizeValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="font-style"> + <choice> + <value>normal</value> + <value>italic</value> + <value>oblique</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="font-weight"> + <choice> + <value>normal</value> + <value>bold</value> + <value>bolder</value> + <value>lighter</value> + <value>100</value> + <value>200</value> + <value>300</value> + <value>400</value> + <value>500</value> + <value>600</value> + <value>700</value> + <value>800</value> + <value>900</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <ref name="SVG.Font.extra.attrib"/> + </define> + <a:documentation> + SVG.Text.class + </a:documentation> + <define name="SVG.Text.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Text.class" combine="choice"> + <choice> + <ref name="text"/> + <ref name="SVG.Text.extra.class"/> + </choice> + </define> + <a:documentation> + SVG.TextContent.class + </a:documentation> + <define name="SVG.TextContent.extra.class"> + <notAllowed/> + </define> + <define name="SVG.TextContent.class"> + <choice> + <ref name="altGlyph"/> + <ref name="SVG.TextContent.extra.class"/> + </choice> + </define> + <a:documentation> + text: Text Element + </a:documentation> + <define name="SVG.text.class"> + <choice> + <text/> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <!-- <ref name="SVG.TextContent.extra.class"/> --> + <ref name="SVG.Hyperlink.class"/> + </choice> + </define> + <define name="SVG.text.content"> + <zeroOrMore> + <ref name="SVG.text.class"/> + </zeroOrMore> + </define> + <define name="text"> + <element name="text"> + <ref name="attlist.text"/> + <ref name="SVG.text.content"/> + </element> + </define> + <define name="attlist.text" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Font.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinates.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinates.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="rotate"> + <ref name="Numbers.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + altGlyph: Alternate Glyph Element + </a:documentation> + <define name="SVG.altGlyph.content"> + <text/> + </define> + <define name="altGlyph"> + <element name="altGlyph"> + <ref name="attlist.altGlyph"/> + <ref name="SVG.altGlyph.content"/> + </element> + </define> + <define name="attlist.altGlyph" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Font.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.XLink.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="glyphRef"/> + </optional> + <optional> + <attribute name="format"/> + </optional> + </define> + <a:documentation> + altGlyphDef: Alternate Glyph Definition Element + </a:documentation> + <define name="SVG.altGlyphDef.content"> + <oneOrMore> + <ref name="glyphRef"/> + </oneOrMore> + </define> + <define name="altGlyphDef"> + <element name="altGlyphDef"> + <ref name="attlist.altGlyphDef"/> + <ref name="SVG.altGlyphDef.content"/> + </element> + </define> + <define name="attlist.altGlyphDef" combine="interleave"> + <ref name="SVG.Core.attrib"/> + </define> + <a:documentation> + glyphRef: Glyph Reference Element + </a:documentation> + <define name="SVG.glyphRef.content"> + <empty/> + </define> + <define name="glyphRef"> + <element name="glyphRef"> + <ref name="attlist.glyphRef"/> + <ref name="SVG.glyphRef.content"/> + </element> + </define> + <define name="attlist.glyphRef" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Font.attrib"/> + <ref name="SVG.XLink.attrib"/> + <optional> + <attribute name="glyphRef"/> + </optional> + <optional> + <attribute name="format"/> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-clip.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-clip.rng new file mode 100644 index 00000000000..180cdd58e23 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-clip.rng @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:ns1="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Clip Module + file: svg-clip.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-clip.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Clip + + clipPath + + This module declares markup to provide support for clipping. + </a:documentation> + <include href="svg-basic-clip.rng"/> + <define name="SVG.clipPath.class" combine="choice"> + <a:documentation> + extend content model of clipPath + </a:documentation> + <choice> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + </choice> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-conditional.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-conditional.rng new file mode 100644 index 00000000000..8bfddf61491 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-conditional.rng @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Conditional Processing Module + file: svg-conditional.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-conditional.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Conditional Processing + + switch + + This module declares markup to provide support for conditional processing. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="ExtensionList.datatype"> + <data type="string"/> + </define> + <define name="FeatureList.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Conditional.attrib + </a:documentation> + <define name="SVG.Conditional.extra.attrib"> + <empty/> + </define> + <define name="SVG.Conditional.attrib" combine="interleave"> + <optional> + <attribute name="requiredFeatures"> + <ref name="FeatureList.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="requiredExtensions"> + <ref name="ExtensionList.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="systemLanguage"> + <ref name="LanguageCodes.datatype"/> + </attribute> + </optional> + <ref name="SVG.Conditional.extra.attrib"/> + </define> + <a:documentation> + SVG.Conditional.class + </a:documentation> + <define name="SVG.Conditional.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Conditional.class" combine="choice"> + <choice> + <ref name="switch"/> + <ref name="SVG.Conditional.extra.class"/> + </choice> + </define> + <a:documentation> + switch: Switch Element + </a:documentation> + <define name="SVG.switch.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <choice> + <ref name="svg"/> + <ref name="g"/> + <ref name="use"/> + <ref name="text"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.Extensibility.class"/> + </choice> + </zeroOrMore> + </define> + <define name="switch"> + <element name="switch"> + <ref name="attlist.switch"/> + <ref name="SVG.switch.content"/> + </element> + </define> + <define name="attlist.switch" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-container-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-container-attrib.rng new file mode 100644 index 00000000000..01847b07a90 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-container-attrib.rng @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Container Attribute Module + file: svg-container-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-container-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Container Attribute + + enable-background + + This module defines the Container attribute set. + </a:documentation> + <define name="EnableBackgroundValue.datatype"> + <a:documentation> + 'enable-background' property/attribute value (e.g., 'new', 'accumulate') + </a:documentation> + <data type="string"/> + </define> + <define name="SVG.enable-background.attrib"> + <optional> + <attribute name="enable-background"> + <ref name="EnableBackgroundValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.Container.extra.attrib"> + <empty/> + </define> + <define name="SVG.Container.attrib" combine="interleave"> + <ref name="SVG.enable-background.attrib"/> + <ref name="SVG.Container.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-core-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-core-attrib.rng new file mode 100644 index 00000000000..cf3e64fafd1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-core-attrib.rng @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Core Attribute Module + file: svg-core-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-core-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Core Attribute + + id, xml:base, xml:lang, xml:space + + This module defines the core set of attributes that can be present on + any element. + </a:documentation> + <define name="SVG.id.attrib"> + <optional> + <attribute name="id"> + <data type="ID"/> + </attribute> + </optional> + </define> + <define name="SVG.base.attrib"> + <optional> + <attribute name="xml:base"> + <ref name="URI.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.lang.attrib"> + <optional> + <attribute name="xml:lang"> + <ref name="LanguageCode.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.space.attrib"> + <optional> + <attribute name="xml:space"> + <choice> + <value>default</value> + <value>preserve</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.Core.extra.attrib"> + <empty/> + </define> + <define name="SVG.Core.attrib"> + <ref name="SVG.id.attrib"/> + <ref name="SVG.base.attrib"/> + <ref name="SVG.lang.attrib"/> + <ref name="SVG.space.attrib"/> + <ref name="SVG.Core.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-cursor.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-cursor.rng new file mode 100644 index 00000000000..e3207ed6c92 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-cursor.rng @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Cursor Module + file: svg-cursor.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-cursor.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Cursor + + cursor + + This module declares markup to provide support for cursor. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="CursorValue.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Cursor.attrib + </a:documentation> + <define name="SVG.Cursor.extra.attrib"> + <empty/> + </define> + <define name="SVG.Cursor.attrib" combine="interleave"> + <optional> + <attribute name="cursor"> + <ref name="CursorValue.datatype"/> + </attribute> + </optional> + <ref name="SVG.Cursor.extra.attrib"/> + </define> + <a:documentation> + SVG.Cursor.class + </a:documentation> + <define name="SVG.Cursor.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Cursor.class" combine="choice"> + <choice> + <ref name="cursor"/> + <ref name="SVG.Cursor.extra.class"/> + </choice> + </define> + <a:documentation> + cursor: Cursor Element + </a:documentation> + <define name="SVG.cursor.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + </define> + <define name="cursor"> + <element name="cursor"> + <ref name="attlist.cursor"/> + <ref name="SVG.cursor.content"/> + </element> + </define> + <define name="attlist.cursor" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.XLinkRequired.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-datatypes.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-datatypes.rng new file mode 100644 index 00000000000..dba1588d8d4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-datatypes.rng @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Datatypes Module + file: svg-datatypes.mod + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-datatypes.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Datatypes + + This module declares common data types for properties and attributes. + </a:documentation> + <a:documentation> + feature specification + </a:documentation> + <define name="Boolean.datatype"> + <choice> + <value>false</value> + <value>true</value> + </choice> + </define> + <define name="ClipFillRule.datatype"> + <a:documentation> + 'clip-rule' or 'fill-rule' property/attribute value + </a:documentation> + <choice> + <value>nonzero</value> + <value>evenodd</value> + <value>inherit</value> + </choice> + </define> + <define name="ContentType.datatype"> + <a:documentation> + media type, as per [RFC2045] + </a:documentation> + <data type="string"/> + </define> + <define name="Coordinate.datatype"> + <a:documentation> + a <coordinate> + </a:documentation> + <data type="string"/> + </define> + <define name="Coordinates.datatype"> + <a:documentation> + a list of <coordinate>s + </a:documentation> + <data type="string"/> + </define> + <define name="Color.datatype"> + <a:documentation> + a <color> value + </a:documentation> + <data type="string"/> + </define> + <define name="Integer.datatype"> + <a:documentation> + a <integer> + </a:documentation> + <data type="string"/> + </define> + <define name="LanguageCode.datatype"> + <a:documentation> + a language code, as per [RFC3066] + </a:documentation> + <data type="language"/> + </define> + <define name="LanguageCodes.datatype"> + <a:documentation> + comma-separated list of language codes, as per [RFC3066] + </a:documentation> + <data type="string"/> + </define> + <define name="Length.datatype"> + <a:documentation> + a <ength> + </a:documentation> + <data type="string"/> + </define> + <define name="Lengths.datatype"> + <a:documentation> + a list of <length>s + </a:documentation> + <data type="string"/> + </define> + <define name="Number.datatype"> + <a:documentation> + a <number> + </a:documentation> + <data type="string"/> + </define> + <define name="Numbers.datatype"> + <a:documentation> + a list of <number>s + </a:documentation> + <data type="string"/> + </define> + <define name="OpacityValue.datatype"> + <a:documentation> + opacity value (e.g., <number>) + </a:documentation> + <data type="string"/> + </define> + <define name="PathData.datatype"> + <a:documentation> + a path data specification + </a:documentation> + <data type="string"/> + </define> + <define name="PreserveAspectRatioSpec.datatype"> + <a:documentation> + 'preserveAspectRatio' attribute specification + </a:documentation> + <data type="string"> + <param name="pattern">\s*(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)\s+(meet|slice)?\s*</param> + </data> + </define> + <define name="Script.datatype"> + <a:documentation> + script expression + </a:documentation> + <data type="string"/> + </define> + <define name="SVGColor.datatype"> + <a:documentation> + An SVG color value (RGB plus optional ICC) + </a:documentation> + <data type="string"/> + </define> + <define name="Text.datatype"> + <a:documentation> + arbitrary text string + </a:documentation> + <data type="string"/> + </define> + <define name="TransformList.datatype"> + <a:documentation> + list of transforms + </a:documentation> + <data type="string"/> + </define> + <define name="URI.datatype"> + <a:documentation> + a Uniform Resource Identifier, see [URI] + </a:documentation> + <data type="anyURI"/> + </define> + <define name="ViewBoxSpec.datatype"> + <a:documentation> + 'viewBox' attribute specification + </a:documentation> + <data type="string"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-docevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-docevents-attrib.rng new file mode 100644 index 00000000000..3d2eecea923 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-docevents-attrib.rng @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Document Events Attribute Module + file: svg-docevents-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-docevents-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Document Events Attribute + + onunload, onabort, onerror, onresize, onscroll, onzoom + + This module defines the DocumentEvents attribute set. + </a:documentation> + <define name="SVG.onunload.attrib"> + <optional> + <attribute name="onunload"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onabort.attrib"> + <optional> + <attribute name="onabort"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onerror.attrib"> + <optional> + <attribute name="onerror"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onresize.attrib"> + <optional> + <attribute name="onresize"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onscroll.attrib"> + <optional> + <attribute name="onscroll"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onzoom.attrib"> + <optional> + <attribute name="onzoom"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.DocumentEvents.extra.attrib"> + <empty/> + </define> + <define name="SVG.DocumentEvents.attrib" combine="interleave"> + <ref name="SVG.onunload.attrib"/> + <ref name="SVG.onabort.attrib"/> + <ref name="SVG.onerror.attrib"/> + <ref name="SVG.onresize.attrib"/> + <ref name="SVG.onscroll.attrib"/> + <ref name="SVG.onzoom.attrib"/> + <ref name="SVG.DocumentEvents.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-extensibility.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-extensibility.rng new file mode 100644 index 00000000000..d63acf3deae --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-extensibility.rng @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar ns="http://www.w3.org/2000/svg" xmlns:ns1="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Extensibility Module + file: svg-extensibility.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-extensibility.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + +</a:documentation> + <a:documentation> + Extensibility + + foreignObject + + This module declares markup to provide support for extensibility. + </a:documentation> + <a:documentation> + SVG.Extensibility.class + </a:documentation> + <define name="SVG.Extensibility.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Extensibility.class" combine="choice"> + <choice> + <ref name="foreignObject"/> + <ref name="SVG.Extensibility.extra.class"/> + </choice> + </define> + <a:documentation> + foreignObject: Foreign Object Element + </a:documentation> + <define name="SVG.foreignObject.content"> + <zeroOrMore> + <choice> + <text/> + <ref name="svg"/> + </choice> + <!-- ref name="foreignElement"/ --> + </zeroOrMore> + </define> + <define name="foreignObject"> + <element name="foreignObject"> + <ref name="attlist.foreignObject"/> + <ref name="SVG.foreignObject.content"/> + </element> + </define> + <define name="attlist.foreignObject" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <define name="foreignElement"> + <a:documentation> + any element in foreign namespace + </a:documentation> + <element> + <anyName> + <except> + <nsName/> + </except> + </anyName> + <zeroOrMore> + <choice> + <attribute> + <anyName> + <except> + <nsName/> + </except> + </anyName> + </attribute> + <text/> + <ref name="foreignElement"/> + </choice> + </zeroOrMore> + </element> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-extresources-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-extresources-attrib.rng new file mode 100644 index 00000000000..1fa08bfe7ba --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-extresources-attrib.rng @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 External Resources Attribute Module + file: svg-extresources-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-extresources-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + External Resources Attribute + + externalResourcesRequired + + This module defines the External attribute set. + </a:documentation> + <define name="SVG.externalResourcesRequired.attrib"> + <optional> + <attribute name="externalResourcesRequired"> + <ref name="Boolean.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.External.extra.attrib"> + <empty/> + </define> + <define name="SVG.External.attrib" combine="interleave"> + <ref name="SVG.externalResourcesRequired.attrib"/> + <ref name="SVG.External.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-filter.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-filter.rng new file mode 100644 index 00000000000..72bc2c37c50 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-filter.rng @@ -0,0 +1,468 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Filter Module + file: svg-filter.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-filter.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Filter + + filter, feBlend, feColorMatrix, feComponentTransfer, feComposite, + feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feFlood, + feGaussianBlur, feImage, feMerge, feMergeNode, feMorphology, feOffset, + feSpecularLighting, feTile, feTurbulence, feDistantLight, fePointLight, + feSpotLight, feFuncR, feFuncG, feFuncB, feFuncA + + This module declares markup to provide support for filter effect. + </a:documentation> + <include href="svg-basic-filter.rng"/> + <define name="SVG.FilterPrimitive.class" combine="choice"> + <a:documentation> + extend SVG.FilterPrimitive.class + </a:documentation> + <choice> + <ref name="feConvolveMatrix"/> + <ref name="feDiffuseLighting"/> + <ref name="feDisplacementMap"/> + <ref name="feMorphology"/> + <ref name="feSpecularLighting"/> + <ref name="feTurbulence"/> + </choice> + </define> + <a:documentation> + feConvolveMatrix: Filter Effect Convolve Matrix Element + </a:documentation> + <define name="SVG.feConvolveMatrix.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feConvolveMatrix"> + <element name="feConvolveMatrix"> + <ref name="attlist.feConvolveMatrix"/> + <ref name="SVG.feConvolveMatrix.content"/> + </element> + </define> + <define name="attlist.feConvolveMatrix" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <attribute name="order"> + <ref name="NumberOptionalNumber.datatype"/> + </attribute> + <attribute name="kernelMatrix"/> + <optional> + <attribute name="divisor"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="bias"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="targetX"> + <ref name="Integer.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="targetY"> + <ref name="Integer.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="edgeMode" a:defaultValue="duplicate"> + <choice> + <value>duplicate</value> + <value>wrap</value> + <value>none</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="kernelUnitLength"> + <ref name="NumberOptionalNumber.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="preserveAlpha"> + <ref name="Boolean.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feDiffuseLighting: Filter Effect Diffuse Lighting Element + </a:documentation> + <define name="SVG.feDiffuseLighting.content"> + <choice> + <ref name="feDistantLight"/> + <ref name="fePointLight"/> + <ref name="feSpotLight"/> + </choice> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateColor"/> + </choice> + </zeroOrMore> + </define> + <define name="feDiffuseLighting"> + <element name="feDiffuseLighting"> + <ref name="attlist.feDiffuseLighting"/> + <ref name="SVG.feDiffuseLighting.content"/> + </element> + </define> + <define name="attlist.feDiffuseLighting" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <optional> + <attribute name="lighting-color"> + <ref name="SVGColor.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="surfaceScale"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="diffuseConstant"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="kernelUnitLength"> + <ref name="NumberOptionalNumber.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feDisplacementMap: Filter Effect Displacement Map Element + </a:documentation> + <define name="SVG.feDisplacementMap.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feDisplacementMap"> + <element name="feDisplacementMap"> + <ref name="attlist.feDisplacementMap"/> + <ref name="SVG.feDisplacementMap.content"/> + </element> + </define> + <define name="attlist.feDisplacementMap" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <attribute name="in2"/> + <optional> + <attribute name="scale"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xChannelSelector" a:defaultValue="A"> + <choice> + <value>R</value> + <value>G</value> + <value>B</value> + <value>A</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="yChannelSelector" a:defaultValue="A"> + <choice> + <value>R</value> + <value>G</value> + <value>B</value> + <value>A</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + feMorphology: Filter Effect Morphology Element + </a:documentation> + <define name="SVG.feMorphology.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feMorphology"> + <element name="feMorphology"> + <ref name="attlist.feMorphology"/> + <ref name="SVG.feMorphology.content"/> + </element> + </define> + <define name="attlist.feMorphology" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <optional> + <attribute name="operator" a:defaultValue="erode"> + <choice> + <value>erode</value> + <value>dilate</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="radius"> + <ref name="NumberOptionalNumber.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feSpecularLighting: Filter Effect Specular Lighting Element + </a:documentation> + <define name="SVG.feSpecularLighting.content"> + <choice> + <ref name="feDistantLight"/> + <ref name="fePointLight"/> + <ref name="feSpotLight"/> + </choice> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateColor"/> + </choice> + </zeroOrMore> + </define> + <define name="feSpecularLighting"> + <element name="feSpecularLighting"> + <ref name="attlist.feSpecularLighting"/> + <ref name="SVG.feSpecularLighting.content"/> + </element> + </define> + <define name="attlist.feSpecularLighting" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitiveWithIn.attrib"/> + <optional> + <attribute name="lighting-color"> + <ref name="SVGColor.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="surfaceScale"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="specularConstant"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="specularExponent"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="kernelUnitLength"> + <ref name="NumberOptionalNumber.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feTurbulence: Filter Effect Turbulence Element + </a:documentation> + <define name="SVG.feTurbulence.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feTurbulence"> + <element name="feTurbulence"> + <ref name="attlist.feTurbulence"/> + <ref name="SVG.feTurbulence.content"/> + </element> + </define> + <define name="attlist.feTurbulence" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.FilterColor.attrib"/> + <ref name="SVG.FilterPrimitive.attrib"/> + <optional> + <attribute name="baseFrequency"> + <ref name="NumberOptionalNumber.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="numOctaves"> + <ref name="Integer.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="seed"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="stitchTiles" a:defaultValue="noStitch"> + <choice> + <value>stitch</value> + <value>noStitch</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="type" a:defaultValue="turbulence"> + <choice> + <value>fractalNoise</value> + <value>turbulence</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + feDistantLight: Filter Effect Distant Light Element + </a:documentation> + <define name="SVG.feDistantLight.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feDistantLight"> + <element name="feDistantLight"> + <ref name="attlist.feDistantLight"/> + <ref name="SVG.feDistantLight.content"/> + </element> + </define> + <define name="attlist.feDistantLight" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="azimuth"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="elevation"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + fePointLight: Filter Effect Point Light Element + </a:documentation> + <define name="SVG.fePointLight.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="fePointLight"> + <element name="fePointLight"> + <ref name="attlist.fePointLight"/> + <ref name="SVG.fePointLight.content"/> + </element> + </define> + <define name="attlist.fePointLight" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="z"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + feSpotLight: Filter Effect Spot Light Element + </a:documentation> + <define name="SVG.feSpotLight.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + </choice> + </zeroOrMore> + </define> + <define name="feSpotLight"> + <element name="feSpotLight"> + <ref name="attlist.feSpotLight"/> + <ref name="SVG.feSpotLight.content"/> + </element> + </define> + <define name="attlist.feSpotLight" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="z"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="pointsAtX"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="pointsAtY"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="pointsAtZ"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="specularExponent"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="limitingConeAngle"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-font.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-font.rng new file mode 100644 index 00000000000..f5da47c17ed --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-font.rng @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Font Module + file: svg-font.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-font.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Font + + font, font-face, glyph, missing-glyph, hkern, vkern, font-face-src, + font-face-uri, font-face-format, font-face-name, definition-src + + This module declares markup to provide support for template. + </a:documentation> + <include href="svg-basic-font.rng"/> + <a:documentation> + font-face: Font Face Element + </a:documentation> + <define name="SVG.font-face.extra.class" combine="interleave"> + <optional> + <ref name="definition-src"/> + </optional> + </define> + <a:documentation> + glyph: Glyph Element + </a:documentation> + <define name="SVG.glyph.class" combine="choice"> + <choice> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </define> + <a:documentation> + missing-glyph: Missing Glyph Element + </a:documentation> + <define name="SVG.missing-glyph.class" combine="choice"> + <choice> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </define> + <a:documentation> + font-face-uri: Font Face URI Element + </a:documentation> + <define name="SVG.font-face-uri.content" combine="choice"> + <zeroOrMore> + <ref name="font-face-format"/> + </zeroOrMore> + </define> + <a:documentation> + font-face-format: Font Face Format Element + </a:documentation> + <define name="SVG.font-face-format.content"> + <empty/> + </define> + <define name="font-face-format"> + <element name="font-face-format"> + <ref name="attlist.font-face-format"/> + <ref name="SVG.font-face-format.content"/> + </element> + </define> + <define name="attlist.font-face-format" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <optional> + <attribute name="string"/> + </optional> + </define> + <a:documentation> + definition-src: Definition Source Element + </a:documentation> + <define name="SVG.definition-src.content"> + <empty/> + </define> + <define name="definition-src"> + <element name="definition-src"> + <ref name="attlist.definition-src"/> + <ref name="SVG.definition-src.content"/> + </element> + </define> + <define name="attlist.definition-src" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.XLinkRequired.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-gradient.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-gradient.rng new file mode 100644 index 00000000000..a13c68f8341 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-gradient.rng @@ -0,0 +1,233 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Gradient Module + file: svg-gradient.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-gradient.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Gradient + + linearGradient, radialGradient, stop + + This module declares markup to provide support for gradient fill. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="NumberOrPercentage.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Gradient.attrib + </a:documentation> + <define name="SVG.Gradient.extra.attrib"> + <empty/> + </define> + <define name="SVG.Gradient.attrib" combine="interleave"> + <optional> + <attribute name="stop-color"> + <ref name="SVGColor.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="stop-opacity"> + <ref name="OpacityValue.datatype"/> + </attribute> + </optional> + <ref name="SVG.Gradient.extra.attrib"/> + </define> + <a:documentation> + SVG.Gradient.class + </a:documentation> + <define name="SVG.Gradient.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Gradient.class" combine="choice"> + <choice> + <ref name="linearGradient"/> + <ref name="radialGradient"/> + <ref name="SVG.Gradient.extra.class"/> + </choice> + </define> + <a:documentation> + linearGradient: Linear Gradient Element + </a:documentation> + <define name="SVG.linearGradient.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <choice> + <ref name="stop"/> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateTransform"/> + </choice> + </zeroOrMore> + </define> + <define name="linearGradient"> + <element name="linearGradient"> + <ref name="attlist.linearGradient"/> + <ref name="SVG.linearGradient.content"/> + </element> + </define> + <define name="attlist.linearGradient" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Gradient.attrib"/> + <ref name="SVG.XLink.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x1"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y1"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="x2"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y2"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="gradientUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="gradientTransform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="spreadMethod"> + <choice> + <value>pad</value> + <value>reflect</value> + <value>repeat</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + radialGradient: Radial Gradient Element + </a:documentation> + <define name="SVG.radialGradient.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <choice> + <ref name="stop"/> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateTransform"/> + </choice> + </zeroOrMore> + </define> + <define name="radialGradient"> + <element name="radialGradient"> + <ref name="attlist.radialGradient"/> + <ref name="SVG.radialGradient.content"/> + </element> + </define> + <define name="attlist.radialGradient" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Gradient.attrib"/> + <ref name="SVG.XLink.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="cx"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="cy"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="r"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="fx"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="fy"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="gradientUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="gradientTransform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="spreadMethod"> + <choice> + <value>pad</value> + <value>reflect</value> + <value>repeat</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + stop: Stop Element + </a:documentation> + <define name="SVG.stop.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateColor"/> + </choice> + </zeroOrMore> + </define> + <define name="stop"> + <element name="stop"> + <ref name="attlist.stop"/> + <ref name="SVG.stop.content"/> + </element> + </define> + <define name="attlist.stop" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Gradient.attrib"/> + <attribute name="offset"> + <ref name="NumberOrPercentage.datatype"/> + </attribute> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphevents-attrib.rng new file mode 100644 index 00000000000..4a69371858f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphevents-attrib.rng @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Graphical Element Events Attribute Module + file: svg-graphevents-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-graphevents-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Graphical Element Events Attribute + + onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup, + onmouseover, onmousemove, onmouseout, onload + + This module defines the GraphicalEvents attribute set. + </a:documentation> + <define name="SVG.onfocusin.attrib"> + <optional> + <attribute name="onfocusin"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onfocusout.attrib"> + <optional> + <attribute name="onfocusout"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onactivate.attrib"> + <optional> + <attribute name="onactivate"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onclick.attrib"> + <optional> + <attribute name="onclick"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onmousedown.attrib"> + <optional> + <attribute name="onmousedown"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onmouseup.attrib"> + <optional> + <attribute name="onmouseup"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onmouseover.attrib"> + <optional> + <attribute name="onmouseover"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onmousemove.attrib"> + <optional> + <attribute name="onmousemove"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onmouseout.attrib"> + <optional> + <attribute name="onmouseout"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.onload.attrib" combine="interleave"> + <optional> + <attribute name="onload"> + <ref name="Script.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.GraphicalEvents.extra.attrib"> + <empty/> + </define> + <define name="SVG.GraphicalEvents.attrib" combine="interleave"> + <ref name="SVG.onfocusin.attrib"/> + <ref name="SVG.onfocusout.attrib"/> + <ref name="SVG.onactivate.attrib"/> + <ref name="SVG.onclick.attrib"/> + <ref name="SVG.onmousedown.attrib"/> + <ref name="SVG.onmouseup.attrib"/> + <ref name="SVG.onmouseover.attrib"/> + <ref name="SVG.onmousemove.attrib"/> + <ref name="SVG.onmouseout.attrib"/> + <ref name="SVG.onload.attrib"/> + <ref name="SVG.GraphicalEvents.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphics-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphics-attrib.rng new file mode 100644 index 00000000000..307dcd62754 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphics-attrib.rng @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:ns1="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Graphics Attribute Module + file: svg-graphics-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-graphics-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Graphics Attribute + + display, image-rendering, pointer-events, shape-rendering, + text-rendering, visibility + + This module defines the Graphics attribute set. + </a:documentation> + <include href="svg-basic-graphics-attrib.rng"/> + <define name="SVG.image-rendering.attrib"> + <optional> + <attribute name="image-rendering"> + <choice> + <value>auto</value> + <value>optimizeSpeed</value> + <value>optimizeQuality</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.pointer-events.attrib"> + <optional> + <attribute name="pointer-events"> + <choice> + <value>visiblePainted</value> + <value>visibleFill</value> + <value>visibleStroke</value> + <value>visible</value> + <value>painted</value> + <value>fill</value> + <value>stroke</value> + <value>all</value> + <value>none</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.shape-rendering.attrib"> + <optional> + <attribute name="shape-rendering"> + <choice> + <value>auto</value> + <value>optimizeSpeed</value> + <value>crispEdges</value> + <value>geometricPrecision</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.text-rendering.attrib"> + <optional> + <attribute name="text-rendering"> + <choice> + <value>auto</value> + <value>optimizeSpeed</value> + <value>optimizeLegibility</value> + <value>geometricPrecision</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.Graphics.attrib" combine="interleave"> + <ref name="SVG.image-rendering.attrib"/> + <ref name="SVG.pointer-events.attrib"/> + <ref name="SVG.shape-rendering.attrib"/> + <ref name="SVG.text-rendering.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-hyperlink.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-hyperlink.rng new file mode 100644 index 00000000000..1e0c1807091 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-hyperlink.rng @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Hyperlinking Module + file: svg-hyperlink.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-hyperlink.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Hyperlinking + + a + + This module declares markup to provide support for hyper linking. + </a:documentation> + <define name="LinkTarget.datatype"> + <a:documentation> + link to this target + </a:documentation> + <data type="NMTOKEN"/> + </define> + <a:documentation> + SVG.Hyperlink.class + </a:documentation> + <define name="SVG.Hyperlink.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Hyperlink.class" combine="choice"> + <choice> + <ref name="a"/> + <ref name="SVG.Hyperlink.extra.class"/> + </choice> + </define> + <a:documentation> + a: Anchor Element + </a:documentation> + <define name="SVG.a.content"> + <zeroOrMore> + <choice> + <text/> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </zeroOrMore> + </define> + <define name="a"> + <element name="a"> + <ref name="attlist.a"/> + <ref name="SVG.a.content"/> + </element> + </define> + <define name="attlist.a" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.XLinkReplace.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="target"> + <ref name="LinkTarget.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-image.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-image.rng new file mode 100644 index 00000000000..8b02c532890 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-image.rng @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Image Module + file: svg-image.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-image.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Image + + image + + This module declares markup to provide support for image. + </a:documentation> + <a:documentation> + SVG.Image.class + </a:documentation> + <define name="SVG.Image.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Image.class" combine="choice"> + <choice> + <ref name="image"/> + <ref name="SVG.Image.extra.class"/> + </choice> + </define> + <a:documentation> + image: Image Element + </a:documentation> + <define name="SVG.image.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="image"> + <element name="image"> + <ref name="attlist.image"/> + <ref name="SVG.image.content"/> + </element> + </define> + <define name="attlist.image" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Viewport.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Profile.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.XLinkEmbed.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + <optional> + <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet"> + <ref name="PreserveAspectRatioSpec.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-marker.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-marker.rng new file mode 100644 index 00000000000..ef30e1d60c1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-marker.rng @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Marker Module + file: svg-marker.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-marker.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Marker + + marker + + This module declares markup to provide support for marker. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="MarkerValue.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Marker.attrib + </a:documentation> + <define name="SVG.Marker.extra.attrib"> + <empty/> + </define> + <define name="SVG.Marker.attrib" combine="interleave"> + <optional> + <attribute name="marker-start"> + <ref name="MarkerValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="marker-mid"> + <ref name="MarkerValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="marker-end"> + <ref name="MarkerValue.datatype"/> + </attribute> + </optional> + <ref name="SVG.Marker.extra.attrib"/> + </define> + <a:documentation> + SVG.Marker.class + </a:documentation> + <define name="SVG.Marker.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Marker.class" combine="choice"> + <choice> + <ref name="marker"/> + <ref name="SVG.Marker.extra.class"/> + </choice> + </define> + <a:documentation> + marker: Marker Element + </a:documentation> + <define name="SVG.marker.content"> + <zeroOrMore> + <choice> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </zeroOrMore> + </define> + <define name="marker"> + <element name="marker"> + <ref name="attlist.marker"/> + <ref name="SVG.marker.content"/> + </element> + </define> + <define name="attlist.marker" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="refX"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="refY"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="markerUnits"> + <choice> + <value>strokeWidth</value> + <value>userSpaceOnUse</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="markerWidth"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="markerHeight"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="orient"/> + </optional> + <optional> + <attribute name="viewBox"> + <ref name="ViewBoxSpec.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet"> + <ref name="PreserveAspectRatioSpec.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-mask.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-mask.rng new file mode 100644 index 00000000000..ca25e47915d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-mask.rng @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Mask Module + file: svg-mask.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-mask.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Mask + + mask + + This module declares markup to provide support for masking. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="MaskValue.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Mask.attrib + </a:documentation> + <define name="SVG.Mask.extra.attrib"> + <empty/> + </define> + <define name="SVG.Mask.attrib" combine="interleave"> + <optional> + <attribute name="mask"> + <ref name="MaskValue.datatype"/> + </attribute> + </optional> + <ref name="SVG.Mask.extra.attrib"/> + </define> + <a:documentation> + SVG.Mask.class + </a:documentation> + <define name="SVG.Mask.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Mask.class" combine="choice"> + <choice> + <ref name="mask"/> + <ref name="SVG.Mask.extra.class"/> + </choice> + </define> + <a:documentation> + mask: Mask Element + </a:documentation> + <define name="SVG.mask.content"> + <zeroOrMore> + <choice> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </zeroOrMore> + </define> + <define name="mask"> + <element name="mask"> + <ref name="attlist.mask"/> + <ref name="SVG.mask.content"/> + </element> + </define> + <define name="attlist.mask" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="maskUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="maskContentUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-opacity-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-opacity-attrib.rng new file mode 100644 index 00000000000..44458f8b805 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-opacity-attrib.rng @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Paint Opacity Attribute Module + file: svg-opacity-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-opacity-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Paint Opacity Attribute + + opacity, fill-opacity, stroke-opacity + + This module defines the Opacity attribute set. + </a:documentation> + <define name="SVG.opacity.attrib"> + <optional> + <attribute name="opacity"> + <ref name="OpacityValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.fill-opacity.attrib"> + <optional> + <attribute name="fill-opacity"> + <ref name="OpacityValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.stroke-opacity.attrib"> + <optional> + <attribute name="stroke-opacity"> + <ref name="OpacityValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.Opacity.extra.attrib"> + <empty/> + </define> + <define name="SVG.Opacity.attrib" combine="interleave"> + <ref name="SVG.opacity.attrib"/> + <ref name="SVG.fill-opacity.attrib"/> + <ref name="SVG.stroke-opacity.attrib"/> + <ref name="SVG.Opacity.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-paint-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-paint-attrib.rng new file mode 100644 index 00000000000..fe9d499edca --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-paint-attrib.rng @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Paint Attribute Module + file: svg-paint-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-paint-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Paint Attribute + + fill, fill-rule, stroke, stroke-dasharray, stroke-dashoffset, + stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-width, color, + color-interpolation, color-rendering + + This module defines the Paint and Color attribute sets. + </a:documentation> + <define name="Paint.datatype"> + <a:documentation> + a 'fill' or 'stroke' property/attribute value: <paint> + </a:documentation> + <data type="string"/> + </define> + <define name="StrokeDashArrayValue.datatype"> + <a:documentation> + 'stroke-dasharray' property/attribute value + (e.g., 'none', list of <number>s) + </a:documentation> + <data type="string"/> + </define> + <define name="StrokeDashOffsetValue.datatype"> + <a:documentation> + 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) + </a:documentation> + <data type="string"/> + </define> + <define name="StrokeMiterLimitValue.datatype"> + <a:documentation> + 'stroke-miterlimit' property/attribute value (e.g., <number>) + </a:documentation> + <data type="string"/> + </define> + <define name="StrokeWidthValue.datatype"> + <a:documentation> + 'stroke-width' property/attribute value (e.g., <length>) + </a:documentation> + <data type="string"/> + </define> + <define name="SVG.fill.attrib"> + <optional> + <attribute name="fill"> + <ref name="Paint.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.fill-rule.attrib"> + <optional> + <attribute name="fill-rule"> + <ref name="ClipFillRule.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.stroke.attrib"> + <optional> + <attribute name="stroke"> + <ref name="Paint.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.stroke-dasharray.attrib"> + <optional> + <attribute name="stroke-dasharray"> + <ref name="StrokeDashArrayValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.stroke-dashoffset.attrib"> + <optional> + <attribute name="stroke-dashoffset"> + <ref name="StrokeDashOffsetValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.stroke-linecap.attrib"> + <optional> + <attribute name="stroke-linecap"> + <choice> + <value>butt</value> + <value>round</value> + <value>square</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.stroke-linejoin.attrib"> + <optional> + <attribute name="stroke-linejoin"> + <choice> + <value>miter</value> + <value>round</value> + <value>bevel</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.stroke-miterlimit.attrib"> + <optional> + <attribute name="stroke-miterlimit"> + <ref name="StrokeMiterLimitValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.stroke-width.attrib"> + <optional> + <attribute name="stroke-width"> + <ref name="StrokeWidthValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.Paint.extra.attrib"> + <empty/> + </define> + <define name="SVG.Paint.attrib" combine="interleave"> + <ref name="SVG.fill.attrib"/> + <ref name="SVG.fill-rule.attrib"/> + <ref name="SVG.stroke.attrib"/> + <ref name="SVG.stroke-dasharray.attrib"/> + <ref name="SVG.stroke-dashoffset.attrib"/> + <ref name="SVG.stroke-linecap.attrib"/> + <ref name="SVG.stroke-linejoin.attrib"/> + <ref name="SVG.stroke-miterlimit.attrib"/> + <ref name="SVG.stroke-width.attrib"/> + <ref name="SVG.Paint.extra.attrib"/> + </define> + <define name="SVG.color.attrib"> + <optional> + <attribute name="color"> + <ref name="Color.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.color-interpolation.attrib"> + <optional> + <attribute name="color-interpolation"> + <choice> + <value>auto</value> + <value>sRGB</value> + <value>linearRGB</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.color-rendering.attrib"> + <optional> + <attribute name="color-rendering"> + <choice> + <value>auto</value> + <value>optimizeSpeed</value> + <value>optimizeQuality</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.Color.extra.attrib"> + <empty/> + </define> + <define name="SVG.Color.attrib" combine="interleave"> + <ref name="SVG.color.attrib"/> + <ref name="SVG.color-interpolation.attrib"/> + <ref name="SVG.color-rendering.attrib"/> + <ref name="SVG.Color.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-pattern.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-pattern.rng new file mode 100644 index 00000000000..371521b1688 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-pattern.rng @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Pattern Module + file: svg-pattern.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-pattern.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Pattern + + pattern + + This module declares markup to provide support for pattern fill. + </a:documentation> + <a:documentation> + SVG.Pattern.class + </a:documentation> + <define name="SVG.Pattern.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Pattern.class" combine="choice"> + <choice> + <ref name="pattern"/> + <ref name="SVG.Pattern.extra.class"/> + </choice> + </define> + <a:documentation> + pattern: Pattern Element + </a:documentation> + <define name="SVG.pattern.content"> + <zeroOrMore> + <choice> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </zeroOrMore> + </define> + <define name="pattern"> + <element name="pattern"> + <ref name="attlist.pattern"/> + <ref name="SVG.pattern.content"/> + </element> + </define> + <define name="attlist.pattern" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.XLink.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="patternUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="patternContentUnits"> + <choice> + <value>userSpaceOnUse</value> + <value>objectBoundingBox</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="patternTransform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="viewBox"> + <ref name="ViewBoxSpec.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet"> + <ref name="PreserveAspectRatioSpec.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-profile.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-profile.rng new file mode 100644 index 00000000000..11834192f0f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-profile.rng @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Color Profile Module + file: svg-profile.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-profile.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Color Profile + + color-profile + + This module declares markup to provide support for color profile. + </a:documentation> + <a:documentation> + SVG.Profile.attrib + </a:documentation> + <define name="SVG.Profile.extra.attrib"> + <empty/> + </define> + <define name="SVG.Profile.attrib" combine="interleave"> + <optional> + <attribute name="color-profile"/> + </optional> + <ref name="SVG.Profile.extra.attrib"/> + </define> + <a:documentation> + SVG.Profile.class + </a:documentation> + <define name="SVG.Profile.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Profile.class" combine="choice"> + <choice> + <ref name="color-profile"/> + <ref name="SVG.Profile.extra.class"/> + </choice> + </define> + <a:documentation> + color-profile: Color Profile Element + </a:documentation> + <define name="SVG.color-profile.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + </define> + <define name="color-profile"> + <element name="color-profile"> + <ref name="attlist.color-profile"/> + <ref name="SVG.color-profile.content"/> + </element> + </define> + <define name="attlist.color-profile" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.XLink.attrib"/> + <optional> + <attribute name="local"/> + </optional> + <attribute name="name"/> + <optional> + <attribute name="rendering-intent" a:defaultValue="auto"> + <choice> + <value>auto</value> + <value>perceptual</value> + <value>relative-colorimetric</value> + <value>saturation</value> + <value>absolute-colorimetric</value> + </choice> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-script.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-script.rng new file mode 100644 index 00000000000..4e21020a398 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-script.rng @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Scripting Module + file: svg-script.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-script.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Scripting + + script + + This module declares markup to provide support for scripting. + </a:documentation> + <a:documentation> + SVG.Script.class + </a:documentation> + <define name="SVG.Script.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Script.class" combine="choice"> + <choice> + <ref name="script"/> + <ref name="SVG.Script.extra.class"/> + </choice> + </define> + <a:documentation> + script: Script Element + </a:documentation> + <define name="SVG.script.content"> + <text/> + </define> + <define name="script"> + <element name="script"> + <ref name="attlist.script"/> + <ref name="SVG.script.content"/> + </element> + </define> + <define name="attlist.script" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.XLink.attrib"/> + <ref name="SVG.External.attrib"/> + <attribute name="type"> + <ref name="ContentType.datatype"/> + </attribute> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-shape.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-shape.rng new file mode 100644 index 00000000000..c931bab7ae2 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-shape.rng @@ -0,0 +1,395 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Shape Module + file: svg-shape.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-shape.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Shape + + path, rect, circle, line, ellipse, polyline, polygon + + This module declares markup to provide support for graphical shapes. + </a:documentation> + <define name="Points.datatype"> + <a:documentation> + a list of points + </a:documentation> + <data type="string"/> + </define> + <a:documentation> + SVG.Shape.class + </a:documentation> + <define name="SVG.Shape.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Shape.class" combine="choice"> + <choice> + <ref name="path"/> + <ref name="rect"/> + <ref name="circle"/> + <ref name="line"/> + <ref name="ellipse"/> + <ref name="polyline"/> + <ref name="polygon"/> + <ref name="SVG.Shape.extra.class"/> + </choice> + </define> + <a:documentation> + path: Path Element + </a:documentation> + <define name="SVG.path.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="path"> + <element name="path"> + <ref name="attlist.path"/> + <ref name="SVG.path.content"/> + </element> + </define> + <define name="attlist.path" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Marker.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <attribute name="d"> + <ref name="PathData.datatype"/> + </attribute> + <optional> + <attribute name="pathLength"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + rect: Rectangle Element + </a:documentation> + <define name="SVG.rect.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="rect"> + <element name="rect"> + <ref name="attlist.rect"/> + <ref name="SVG.rect.content"/> + </element> + </define> + <define name="attlist.rect" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + <optional> + <attribute name="rx"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="ry"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + circle: Circle Element + </a:documentation> + <define name="SVG.circle.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="circle"> + <element name="circle"> + <ref name="attlist.circle"/> + <ref name="SVG.circle.content"/> + </element> + </define> + <define name="attlist.circle" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="cx"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="cy"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <attribute name="r"> + <ref name="Length.datatype"/> + </attribute> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + line: Line Element + </a:documentation> + <define name="SVG.line.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="line"> + <element name="line"> + <ref name="attlist.line"/> + <ref name="SVG.line.content"/> + </element> + </define> + <define name="attlist.line" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Marker.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x1"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y1"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="x2"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y2"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + ellipse: Ellipse Element + </a:documentation> + <define name="SVG.ellipse.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="ellipse"> + <element name="ellipse"> + <ref name="attlist.ellipse"/> + <ref name="SVG.ellipse.content"/> + </element> + </define> + <define name="attlist.ellipse" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="cx"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="cy"> + <ref name="Coordinate.datatype"/> + </attribute> + </optional> + <attribute name="rx"> + <ref name="Length.datatype"/> + </attribute> + <attribute name="ry"> + <ref name="Length.datatype"/> + </attribute> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + polyline: Polyline Element + </a:documentation> + <define name="SVG.polyline.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="polyline"> + <element name="polyline"> + <ref name="attlist.polyline"/> + <ref name="SVG.polyline.content"/> + </element> + </define> + <define name="attlist.polyline" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Marker.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <attribute name="points"> + <ref name="Points.datatype"/> + </attribute> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + polygon: Polygon Element + </a:documentation> + <define name="SVG.polygon.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SVG.Animation.class"/> + </zeroOrMore> + </define> + <define name="polygon"> + <element name="polygon"> + <ref name="attlist.polygon"/> + <ref name="SVG.polygon.content"/> + </element> + </define> + <define name="attlist.polygon" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Marker.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <attribute name="points"> + <ref name="Points.datatype"/> + </attribute> + <optional> + <attribute name="transform"> + <ref name="TransformList.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-structure.rng new file mode 100644 index 00000000000..533d3462646 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-structure.rng @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 Structure Module + file: svg-structure.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-structure.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Structure + + svg, g, defs, desc, title, metadata, symbol, use + + This module declares the major structural elements and their attributes. + </a:documentation> + <include href="svg-basic-structure.rng"/> + <define name="SVG.Structure.class" combine="choice"> + <a:documentation> + extend SVG.Structure.class + </a:documentation> + <ref name="symbol"/> + </define> + <a:documentation> + symbol: Symbol Element + </a:documentation> + <define name="SVG.symbol.content"> + <zeroOrMore> + <choice> + <ref name="SVG.Description.class"/> + <ref name="SVG.Animation.class"/> + <ref name="SVG.Structure.class"/> + <ref name="SVG.Conditional.class"/> + <ref name="SVG.Image.class"/> + <ref name="SVG.Style.class"/> + <ref name="SVG.Shape.class"/> + <ref name="SVG.Text.class"/> + <ref name="SVG.Marker.class"/> + <ref name="SVG.Profile.class"/> + <ref name="SVG.Gradient.class"/> + <ref name="SVG.Pattern.class"/> + <ref name="SVG.Clip.class"/> + <ref name="SVG.Mask.class"/> + <ref name="SVG.Filter.class"/> + <ref name="SVG.Cursor.class"/> + <ref name="SVG.Hyperlink.class"/> + <ref name="SVG.View.class"/> + <ref name="SVG.Script.class"/> + <ref name="SVG.Font.class"/> + </choice> + </zeroOrMore> + </define> + <define name="symbol"> + <element name="symbol"> + <ref name="attlist.symbol"/> + <ref name="SVG.symbol.content"/> + </element> + </define> + <define name="attlist.symbol" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.Presentation.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="viewBox"> + <ref name="ViewBoxSpec.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet"> + <ref name="PreserveAspectRatioSpec.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-style.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-style.rng new file mode 100644 index 00000000000..bc9b9a736f6 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-style.rng @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Style Module + file: svg-style.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-style.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Style + + style + + This module declares markup to provide support for stylesheet. + </a:documentation> + <a:documentation> + Datatypes + </a:documentation> + <define name="ClassList.datatype"> + <data type="NMTOKENS"/> + </define> + <define name="StyleSheet.datatype"> + <data type="string"/> + </define> + <define name="MediaDesc.datatype"> + <a:documentation> + comma-separated list of media descriptors. + </a:documentation> + <data type="string"/> + </define> + <a:documentation> + SVG.Style.attrib + </a:documentation> + <define name="SVG.Style.extra.attrib"> + <empty/> + </define> + <define name="SVG.Style.attrib" combine="interleave"> + <optional> + <attribute name="style"> + <ref name="StyleSheet.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="class"> + <ref name="ClassList.datatype"/> + </attribute> + </optional> + <ref name="SVG.Style.extra.attrib"/> + </define> + <a:documentation> + SVG.Style.class + </a:documentation> + <define name="SVG.Style.extra.class"> + <notAllowed/> + </define> + <define name="SVG.Style.class" combine="choice"> + <choice> + <ref name="style"/> + <ref name="SVG.Style.extra.class"/> + </choice> + </define> + <a:documentation> + style: Style Element + </a:documentation> + <define name="SVG.style.content"> + <text/> + </define> + <define name="style"> + <element name="style"> + <ref name="attlist.style"/> + <ref name="SVG.style.content"/> + </element> + </define> + <define name="attlist.style" combine="interleave"> + <optional> + <attribute name="xml:space" a:defaultValue="preserve"> + <value>preserve</value> + </attribute> + </optional> + <ref name="SVG.id.attrib"/> + <ref name="SVG.base.attrib"/> + <ref name="SVG.lang.attrib"/> + <ref name="SVG.Core.extra.attrib"/> + <attribute name="type"> + <ref name="ContentType.datatype"/> + </attribute> + <optional> + <attribute name="media"> + <ref name="MediaDesc.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="title"> + <ref name="Text.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-text.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-text.rng new file mode 100644 index 00000000000..d0740889641 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-text.rng @@ -0,0 +1,572 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Text Module + file: svg-text.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-text.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Text + + text, tspan, tref, textPath, altGlyph, altGlyphDef, altGlyphItem, + glyphRef + + This module declares markup to provide support for alternate glyph. + </a:documentation> + <include href="svg-basic-text.rng"/> + <a:documentation> + Datatypes + </a:documentation> + <define name="BaselineShiftValue.datatype"> + <data type="string"/> + </define> + <define name="FontSizeAdjustValue.datatype"> + <data type="string"/> + </define> + <define name="GlyphOrientationHorizontalValue.datatype"> + <data type="string"/> + </define> + <define name="GlyphOrientationVerticalValue.datatype"> + <data type="string"/> + </define> + <define name="KerningValue.datatype"> + <data type="string"/> + </define> + <define name="SpacingValue.datatype"> + <data type="string"/> + </define> + <define name="TextDecorationValue.datatype"> + <data type="string"/> + </define> + <a:documentation> + SVG.Text.attrib + </a:documentation> + <define name="SVG.Text.extra.attrib"> + <empty/> + </define> + <define name="SVG.Text.attrib" combine="interleave"> + <optional> + <attribute name="writing-mode"> + <choice> + <value>lr-tb</value> + <value>rl-tb</value> + <value>tb-rl</value> + <value>lr</value> + <value>rl</value> + <value>tb</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <ref name="SVG.Text.extra.attrib"/> + </define> + <a:documentation> + SVG.TextContent.attrib + </a:documentation> + <define name="SVG.TextContent.extra.attrib"> + <empty/> + </define> + <define name="SVG.TextContent.attrib" combine="interleave"> + <optional> + <attribute name="alignment-baseline"> + <choice> + <value>auto</value> + <value>baseline</value> + <value>before-edge</value> + <value>text-before-edge</value> + <value>middle</value> + <value>central</value> + <value>after-edge</value> + <value>text-after-edge</value> + <value>ideographic</value> + <value>alphabetic</value> + <value>hanging</value> + <value>mathematical</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="baseline-shift"> + <ref name="BaselineShiftValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="direction"> + <choice> + <value>ltr</value> + <value>rtl</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="dominant-baseline"> + <choice> + <value>auto</value> + <value>use-script</value> + <value>no-change</value> + <value>reset-size</value> + <value>ideographic</value> + <value>alphabetic</value> + <value>hanging</value> + <value>mathematical</value> + <value>central</value> + <value>middle</value> + <value>text-after-edge</value> + <value>text-before-edge</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="glyph-orientation-horizontal"> + <ref name="GlyphOrientationHorizontalValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="glyph-orientation-vertical"> + <ref name="GlyphOrientationVerticalValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="kerning"> + <ref name="KerningValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="letter-spacing"> + <ref name="SpacingValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="text-anchor"> + <choice> + <value>start</value> + <value>middle</value> + <value>end</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="text-decoration"> + <ref name="TextDecorationValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="unicode-bidi"> + <choice> + <value>normal</value> + <value>embed</value> + <value>bidi-override</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="word-spacing"> + <ref name="SpacingValue.datatype"/> + </attribute> + </optional> + <ref name="SVG.TextContent.extra.attrib"/> + </define> + <define name="SVG.Font.attrib" combine="interleave"> + <optional> + <attribute name="font-size-adjust"> + <ref name="FontSizeAdjustValue.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="font-stretch"> + <choice> + <value>normal</value> + <value>wider</value> + <value>narrower</value> + <value>ultra-condensed</value> + <value>extra-condensed</value> + <value>condensed</value> + <value>semi-condensed</value> + <value>semi-expanded</value> + <value>expanded</value> + <value>extra-expanded</value> + <value>ultra-expanded</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="font-variant"> + <choice> + <value>normal</value> + <value>small-caps</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.Text.class" combine="choice"> + <a:documentation> + extend SVG.Text.class + </a:documentation> + <ref name="altGlyphDef"/> + </define> + <define name="SVG.TextContent.class" combine="choice"> + <a:documentation> + extend SVG.TextContent.class + </a:documentation> + <choice> + <ref name="tspan"/> + <ref name="tref"/> + <ref name="textPath"/> + </choice> + </define> + <a:documentation> + text: Text Element + </a:documentation> + <define name="SVG.text.class" combine="choice"> + <ref name="SVG.TextContent.class"/> + </define> + <define name="attlist.text" combine="interleave"> + <ref name="SVG.Text.attrib"/> + <ref name="SVG.TextContent.attrib"/> + <optional> + <attribute name="dx"> + <ref name="Lengths.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dy"> + <ref name="Lengths.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="textLength"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="lengthAdjust"> + <choice> + <value>spacing</value> + <value>spacingAndGlyphs</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + tspan: Text Span Element + </a:documentation> + <define name="SVG.tspan.content"> + <zeroOrMore> + <choice> + <text/> + <ref name="tspan"/> + <ref name="tref"/> + <ref name="altGlyph"/> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateColor"/> + <ref name="SVG.Description.class"/> + <ref name="SVG.Hyperlink.class"/> + </choice> + </zeroOrMore> + </define> + <define name="tspan"> + <element name="tspan"> + <ref name="attlist.tspan"/> + <ref name="SVG.tspan.content"/> + </element> + </define> + <define name="attlist.tspan" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.TextContent.attrib"/> + <ref name="SVG.Font.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinates.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinates.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dx"> + <ref name="Lengths.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dy"> + <ref name="Lengths.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="rotate"> + <ref name="Numbers.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="textLength"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="lengthAdjust"> + <choice> + <value>spacing</value> + <value>spacingAndGlyphs</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + tref: Text Reference Element + </a:documentation> + <define name="SVG.tref.content"> + <zeroOrMore> + <choice> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateColor"/> + <ref name="SVG.Description.class"/> + </choice> + </zeroOrMore> + </define> + <define name="tref"> + <element name="tref"> + <ref name="attlist.tref"/> + <ref name="SVG.tref.content"/> + </element> + </define> + <define name="attlist.tref" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.TextContent.attrib"/> + <ref name="SVG.Font.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.XLinkRequired.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinates.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinates.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dx"> + <ref name="Lengths.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dy"> + <ref name="Lengths.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="rotate"> + <ref name="Numbers.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="textLength"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="lengthAdjust"> + <choice> + <value>spacing</value> + <value>spacingAndGlyphs</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + textPath: Text Path Element + </a:documentation> + <define name="SVG.textPath.content"> + <zeroOrMore> + <choice> + <text/> + <ref name="tspan"/> + <ref name="tref"/> + <ref name="altGlyph"/> + <ref name="animate"/> + <ref name="set"/> + <ref name="animateColor"/> + <ref name="SVG.Description.class"/> + <ref name="SVG.Hyperlink.class"/> + </choice> + </zeroOrMore> + </define> + <define name="textPath"> + <element name="textPath"> + <ref name="attlist.textPath"/> + <ref name="SVG.textPath.content"/> + </element> + </define> + <define name="attlist.textPath" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.Conditional.attrib"/> + <ref name="SVG.Style.attrib"/> + <ref name="SVG.TextContent.attrib"/> + <ref name="SVG.Font.attrib"/> + <ref name="SVG.Paint.attrib"/> + <ref name="SVG.Color.attrib"/> + <ref name="SVG.Opacity.attrib"/> + <ref name="SVG.Graphics.attrib"/> + <ref name="SVG.Clip.attrib"/> + <ref name="SVG.Mask.attrib"/> + <ref name="SVG.Filter.attrib"/> + <ref name="SVG.GraphicalEvents.attrib"/> + <ref name="SVG.Cursor.attrib"/> + <ref name="SVG.XLinkRequired.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="startOffset"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="textLength"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="lengthAdjust"> + <choice> + <value>spacing</value> + <value>spacingAndGlyphs</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="method"> + <choice> + <value>align</value> + <value>stretch</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="spacing"> + <choice> + <value>auto</value> + <value>exact</value> + </choice> + </attribute> + </optional> + </define> + <a:documentation> + altGlyph: Alternate Glyph Element + </a:documentation> + <define name="attlist.altGlyph" combine="interleave"> + <ref name="SVG.TextContent.attrib"/> + <optional> + <attribute name="x"> + <ref name="Coordinates.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Coordinates.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dx"> + <ref name="Lengths.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dy"> + <ref name="Lengths.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="rotate"> + <ref name="Numbers.datatype"/> + </attribute> + </optional> + </define> + <a:documentation> + altGlyphDef: Alternate Glyph Definition Element + </a:documentation> + <define name="SVG.altGlyphDef.content" combine="choice"> + <oneOrMore> + <ref name="altGlyphItem"/> + </oneOrMore> + </define> + <a:documentation> + altGlyphItem: Alternate Glyph Item Element + </a:documentation> + <define name="SVG.altGlyphItem.content"> + <oneOrMore> + <ref name="glyphRef"/> + </oneOrMore> + </define> + <define name="altGlyphItem"> + <element name="altGlyphItem"> + <ref name="attlist.altGlyphItem"/> + <ref name="SVG.altGlyphItem.content"/> + </element> + </define> + <define name="attlist.altGlyphItem" combine="interleave"> + <ref name="SVG.Core.attrib"/> + </define> + <a:documentation> + glyphRef: Glyph Reference Element + </a:documentation> + <define name="attlist.glyphRef" combine="interleave"> + <optional> + <attribute name="x"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="y"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dx"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="dy"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-view.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-view.rng new file mode 100644 index 00000000000..2b26547d2f8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-view.rng @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 View Module + file: svg-view.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-view.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + View + + view + + This module declares markup to provide support for view. + </a:documentation> + <a:documentation> + SVG.View.class + </a:documentation> + <define name="SVG.View.extra.class"> + <notAllowed/> + </define> + <define name="SVG.View.class" combine="choice"> + <choice> + <ref name="view"/> + <ref name="SVG.View.extra.class"/> + </choice> + </define> + <a:documentation> + view: View Element + </a:documentation> + <define name="SVG.view.content"> + <zeroOrMore> + <ref name="SVG.Description.class"/> + </zeroOrMore> + </define> + <define name="view"> + <element name="view"> + <ref name="attlist.view"/> + <ref name="SVG.view.content"/> + </element> + </define> + <define name="attlist.view" combine="interleave"> + <ref name="SVG.Core.attrib"/> + <ref name="SVG.External.attrib"/> + <optional> + <attribute name="viewBox"> + <ref name="ViewBoxSpec.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet"> + <ref name="PreserveAspectRatioSpec.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="zoomAndPan" a:defaultValue="magnify"> + <choice> + <value>disable</value> + <value>magnify</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="viewTarget"/> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-viewport-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-viewport-attrib.rng new file mode 100644 index 00000000000..1578d27ceb3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-viewport-attrib.rng @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <a:documentation> + SVG 1.1 Viewport Attribute Module + file: svg-viewport-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-viewport-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + Viewport Attribute + + clip, overflow + + This module defines the Viewport attribute set. + </a:documentation> + <define name="ClipValue.datatype"> + <a:documentation> + 'clip' property/attribute value (e.g., 'auto', rect(...)) + </a:documentation> + <data type="string"/> + </define> + <define name="SVG.clip.attrib"> + <optional> + <attribute name="clip"> + <ref name="ClipValue.datatype"/> + </attribute> + </optional> + </define> + <define name="SVG.overflow.attrib"> + <optional> + <attribute name="overflow"> + <choice> + <value>visible</value> + <value>hidden</value> + <value>scroll</value> + <value>auto</value> + <value>inherit</value> + </choice> + </attribute> + </optional> + </define> + <define name="SVG.Viewport.extra.attrib"> + <empty/> + </define> + <define name="SVG.Viewport.attrib" combine="interleave"> + <ref name="SVG.clip.attrib"/> + <ref name="SVG.overflow.attrib"/> + <ref name="SVG.Viewport.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-xlink-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-xlink-attrib.rng new file mode 100644 index 00000000000..0f1a65dffef --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-xlink-attrib.rng @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + SVG 1.1 XLink Attribute Module + file: svg-xlink-attrib.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + + $Id: svg-xlink-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + </a:documentation> + <a:documentation> + XLink Attribute + + type, href, role, arcrole, title, show, actuate + + This module defines the XLink, XLinkRequired, XLinkEmbed, and + XLinkReplace attribute set. + </a:documentation> + <define name="SVG.XLink.extra.attrib"> + <empty/> + </define> + <define name="SVG.XLink.attrib" combine="interleave"> + <optional> + <attribute name="xlink:type" a:defaultValue="simple"> + <value>simple</value> + </attribute> + </optional> + <optional> + <attribute name="xlink:href"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:role"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:arcrole"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:title"/> + </optional> + <optional> + <attribute name="xlink:show" a:defaultValue="other"> + <value>other</value> + </attribute> + </optional> + <optional> + <attribute name="xlink:actuate" a:defaultValue="onLoad"> + <value>onLoad</value> + </attribute> + </optional> + <ref name="SVG.XLink.extra.attrib"/> + </define> + <define name="SVG.XLinkRequired.extra.attrib"> + <empty/> + </define> + <define name="SVG.XLinkRequired.attrib" combine="interleave"> + <optional> + <attribute name="xlink:type" a:defaultValue="simple"> + <value>simple</value> + </attribute> + </optional> + <attribute name="xlink:href"> + <ref name="URI.datatype"/> + </attribute> + <optional> + <attribute name="xlink:role"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:arcrole"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:title"/> + </optional> + <optional> + <attribute name="xlink:show" a:defaultValue="other"> + <value>other</value> + </attribute> + </optional> + <optional> + <attribute name="xlink:actuate" a:defaultValue="onLoad"> + <value>onLoad</value> + </attribute> + </optional> + <ref name="SVG.XLinkRequired.extra.attrib"/> + </define> + <define name="SVG.XLinkEmbed.extra.attrib"> + <empty/> + </define> + <define name="SVG.XLinkEmbed.attrib" combine="interleave"> + <optional> + <attribute name="xlink:type" a:defaultValue="simple"> + <value>simple</value> + </attribute> + </optional> + <attribute name="xlink:href"> + <ref name="URI.datatype"/> + </attribute> + <optional> + <attribute name="xlink:role"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:arcrole"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:title"/> + </optional> + <optional> + <attribute name="xlink:show" a:defaultValue="embed"> + <value>embed</value> + </attribute> + </optional> + <optional> + <attribute name="xlink:actuate" a:defaultValue="onLoad"> + <value>onLoad</value> + </attribute> + </optional> + <ref name="SVG.XLinkEmbed.extra.attrib"/> + </define> + <define name="SVG.XLinkReplace.extra.attrib"> + <empty/> + </define> + <define name="SVG.XLinkReplace.attrib" combine="interleave"> + <optional> + <attribute name="xlink:type" a:defaultValue="simple"> + <value>simple</value> + </attribute> + </optional> + <attribute name="xlink:href"> + <ref name="URI.datatype"/> + </attribute> + <optional> + <attribute name="xlink:role"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:arcrole"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="xlink:title"/> + </optional> + <optional> + <attribute name="xlink:show" a:defaultValue="replace"> + <choice> + <value>new</value> + <value>replace</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="xlink:actuate" a:defaultValue="onRequest"> + <value>onRequest</value> + </attribute> + </optional> + <ref name="SVG.XLinkReplace.extra.attrib"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg11.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg11.rng new file mode 100644 index 00000000000..76600ad1f31 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg11.rng @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" xmlns:ns1="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://relaxng.org/ns/structure/1.0"> + <a:documentation> + RELAX NG schema for SVG 1.1 + file: svg11.rng + + This is SVG, a language for describing two-dimensional graphics in XML. + + The Scalable Vector Graphics (SVG) + Copyright 2001, 2002 World Wide Web Consortium + (Massachusetts Institute of Technology, Institut National de + Recherche en Informatique et en Automatique, Keio University). + All Rights Reserved. + + Permission to use, copy, modify and distribute this RELAX NG schema + for SVG and its accompanying documentation for any purpose and without + fee is hereby granted in perpetuity, provided that the above copyright + notice and this paragraph appear in all copies. The copyright holders + nor the author make no representation about the suitability of this + RELAX NG schema for any purpose. + + It is provided "as is" without expressed or implied warranty. + + Author: Masayasu Ishikawa (mimasa@w3.org) + $Id: svg11.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + + This is the driver file for version 1.1 of the SVG RELAX NG schema. + + The DTD version is identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//DTD SVG 1.1//EN" + SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" + + Use this URI to identify the default namespace: + + "http://www.w3.org/2000/svg" + </a:documentation> + <include href="svg-container-attrib.rng"> + <a:documentation> + Container Attribute Module + </a:documentation> + </include> + <include href="svg-viewport-attrib.rng"> + <a:documentation> + Viewport Attribute Module + </a:documentation> + </include> + <include href="svg-paint-attrib.rng"> + <a:documentation> + Paint Attribute Module + </a:documentation> + </include> + <include href="svg-opacity-attrib.rng"> + <a:documentation> + Paint Opacity Attribute Module + </a:documentation> + </include> + <include href="svg-graphics-attrib.rng"> + <a:documentation> + Graphics Attribute Module + </a:documentation> + </include> + <include href="svg-docevents-attrib.rng"> + <a:documentation> + Document Events Attribute Module + </a:documentation> + </include> + <include href="svg-graphevents-attrib.rng"> + <a:documentation> + Graphical Element Events Attribute Module + </a:documentation> + </include> + <include href="svg-animevents-attrib.rng"> + <a:documentation> + Animation Events Attribute Module + </a:documentation> + </include> + <include href="svg-xlink-attrib.rng"> + <a:documentation> + XLink Attribute Module + </a:documentation> + </include> + <include href="svg-extresources-attrib.rng"> + <a:documentation> + External Resources Attribute Module + </a:documentation> + </include> + <include href="svg-structure.rng"> + <a:documentation> + Structure Module (required) + </a:documentation> + </include> + <include href="svg-conditional.rng"> + <a:documentation> + Conditional Processing Module + </a:documentation> + </include> + <include href="svg-image.rng"> + <a:documentation> + Image Module + </a:documentation> + </include> + <include href="svg-style.rng"> + <a:documentation> + Style Module + </a:documentation> + </include> + <include href="svg-shape.rng"> + <a:documentation> + Shape Module + </a:documentation> + </include> + <include href="svg-text.rng"> + <a:documentation> + Text Module + </a:documentation> + </include> + <include href="svg-marker.rng"> + <a:documentation> + Marker Module + </a:documentation> + </include> + <include href="svg-profile.rng"> + <a:documentation> + Color Profile Module + </a:documentation> + </include> + <include href="svg-gradient.rng"> + <a:documentation> + Gradient Module + </a:documentation> + </include> + <include href="svg-pattern.rng"> + <a:documentation> + Pattern Module + </a:documentation> + </include> + <include href="svg-clip.rng"> + <a:documentation> + Clip Module + </a:documentation> + </include> + <include href="svg-mask.rng"> + <a:documentation> + Mask Module + </a:documentation> + </include> + <include href="svg-filter.rng"> + <a:documentation> + Filter Module + </a:documentation> + </include> + <include href="svg-cursor.rng"> + <a:documentation> + Cursor Module + </a:documentation> + </include> + <include href="svg-hyperlink.rng"> + <a:documentation> + Hyperlinking Module + </a:documentation> + </include> + <include href="svg-view.rng"> + <a:documentation> + View Module + </a:documentation> + </include> + <include href="svg-script.rng"> + <a:documentation> + Scripting Module + </a:documentation> + </include> + <include href="svg-animation.rng"> + <a:documentation> + Animation Module + </a:documentation> + </include> + <include href="svg-font.rng"> + <a:documentation> + Font Module + </a:documentation> + </include> + <include href="svg-extensibility.rng"> + <a:documentation> + Extensibility Module + </a:documentation> + </include> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-applet.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-applet.rng new file mode 100644 index 00000000000..5913d0b3339 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-applet.rng @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Applet Module --> + <define name="applet"> + <element name="applet"> + <ref name="applet.attlist"/> + <zeroOrMore> + <!-- No restrictions on mixed content in TREX. --> + <ref name="param"/> + </zeroOrMore> + <ref name="Flow.model"/> + </element> + </define> + <define name="applet.attlist"> + <interleave> + <ref name="Core.attrib"/> + <attribute name="alt"> + <ref name="Text.datatype"/> + </attribute> + <optional> + <attribute name="archive"/> + </optional> + <optional> + <attribute name="code"/> + </optional> + <optional> + <attribute name="codebase"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="object"/> + </optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </interleave> + </define> + <define name="Inline.class" combine="interleave"> + <zeroOrMore> + <ref name="applet"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-attribs.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-attribs.rng new file mode 100644 index 00000000000..c2f8edfa754 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-attribs.rng @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Common Attributes Module --> + <define name="id.attrib"> + <optional> + <attribute name="id"> + <ref name="ID.datatype"/> + </attribute> + </optional> + </define> + <define name="class.attrib"> + <optional> + <attribute name="class"> + <ref name="NMTOKENS.datatype"/> + </attribute> + </optional> + </define> + <define name="title.attrib"> + <optional> + <attribute name="title"> + <ref name="Text.datatype"/> + </attribute> + </optional> + </define> + <define name="Core.attrib"> + <interleave> + <ref name="id.attrib"/> + <ref name="class.attrib"/> + <ref name="title.attrib"/> + </interleave> + </define> + <define name="lang.attrib"> + <optional> + <attribute name="xml:lang"> + <ref name="LanguageCode.datatype"/> + </attribute> + </optional> + </define> + <define name="I18n.attrib"> + <ref name="lang.attrib"/> + </define> + <define name="Common.attrib"> + <interleave> + <ref name="Core.attrib"/> + <ref name="I18n.attrib"/> + </interleave> + </define> + <define name="CommonIdRequired.attrib"> + <interleave> + <attribute name="id"> + <ref name="ID.datatype"/> + </attribute> + <ref name="class.attrib"/> + <ref name="title.attrib"/> + <ref name="I18n.attrib"/> + </interleave> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-base.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-base.rng new file mode 100644 index 00000000000..468bfcd25d6 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-base.rng @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Base Module --> + <define name="base"> + <element name="base"> + <ref name="base.attlist"/> + </element> + </define> + <define name="base.attlist"> + <attribute name="href"> + <ref name="URI.datatype"/> + </attribute> + </define> + <define name="head.content" combine="interleave"> + <optional> + <ref name="base"/> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-basic-table.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-basic-table.rng new file mode 100644 index 00000000000..ab51f61c17f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-basic-table.rng @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Basic Tables Module --> + <define name="table"> + <element name="table"> + <interleave> + <ref name="table.attlist"/> + <optional> + <ref name="caption"/> + </optional> + <oneOrMore> + <ref name="tr"/> + </oneOrMore> + </interleave> + </element> + </define> + <define name="table.attlist"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="summary"> + <ref name="Text.datatype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="caption"> + <element name="caption"> + <ref name="caption.attlist"/> + <ref name="Inline.model"/> + </element> + </define> + <define name="caption.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="tr"> + <element name="tr"> + <interleave> + <ref name="tr.attlist"/> + <oneOrMore> + <choice> + <ref name="th"/> + <ref name="td"/> + </choice> + </oneOrMore> + </interleave> + </element> + </define> + <define name="tr.attlist"> + <interleave> + <ref name="Common.attrib"/> + <ref name="CellHAlign.attrib"/> + <ref name="CellVAlign.attrib"/> + </interleave> + </define> + <define name="th"> + <element name="th"> + <interleave> + <ref name="th.attlist"/> + <ref name="Flow.model"/> + </interleave> + </element> + </define> + <define name="th.attlist"> + <ref name="Cell.attrib"/> + </define> + <define name="td"> + <element name="td"> + <interleave> + <ref name="td.attlist"/> + <ref name="Flow.model"/> + </interleave> + </element> + </define> + <define name="td.attlist"> + <ref name="Cell.attrib"/> + </define> + <define name="Cell.attrib"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="abbr"> + <ref name="Text.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="axis"/> + </optional> + <optional> + <attribute name="headers"> + <ref name="IDREFS.datatype"/> + </attribute> + </optional> + <ref name="scope.attrib"/> + <optional> + <attribute name="rowspan"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="colspan"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <ref name="CellHAlign.attrib"/> + <ref name="CellVAlign.attrib"/> + </interleave> + </define> + <define name="CellHAlign.attrib"> + <optional> + <attribute name="align"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + </choice> + </attribute> + </optional> + </define> + <define name="CellVAlign.attrib"> + <optional> + <attribute name="valign"> + <choice> + <value>top</value> + <value>middle</value> + <value>bottom</value> + </choice> + </attribute> + </optional> + </define> + <define name="scope.attrib"> + <optional> + <attribute name="scope"> + <choice> + <value>row</value> + <value>col</value> + </choice> + </attribute> + </optional> + </define> + <define name="Block.class" combine="interleave"> + <zeroOrMore> + <ref name="table"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-bdo.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-bdo.rng new file mode 100644 index 00000000000..0ae52c536d7 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-bdo.rng @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Bi-directional Module --> + <define name="bdo"> + <element name="bdo"> + <interleave> + <ref name="bdo.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="bdo.attlist"> + <interleave> + <ref name="Core.attrib"/> + <ref name="lang.attrib"/> + <ref name="dir.attrib"/> + </interleave> + </define> + <define name="dir.attrib"> + <attribute name="dir"> + <choice> + <value>ltr</value> + <value>rtl</value> + </choice> + </attribute> + </define> + <define name="I18n.attrib" combine="interleave"> + <optional> + <ref name="dir.attrib"/> + </optional> + </define> + <define name="Inline.class" combine="interleave"> + <zeroOrMore> + <ref name="bdo"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-datatypes.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-datatypes.rng new file mode 100644 index 00000000000..21c1816c665 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-datatypes.rng @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- Datatypes Module --> + <!-- Length defined for cellpadding/cellspacing --> + <!-- nn for pixels or nn% for percentage length --> + <define name="Length.datatype"> + <text/> + </define> + <!-- space-separated list of link types --> + <define name="LinkTypes.datatype"> + <ref name="NMTOKENS.datatype"/> + </define> + <!-- single or comma-separated list of media descriptors --> + <define name="MediaDesc.datatype"> + <text/> + </define> + <!-- pixel, percentage, or relative --> + <define name="MultiLength.datatype"> + <text/> + </define> + <!-- one or more digits (NUMBER) --> + <define name="Number.datatype"> + <text/> + </define> + <!-- integer representing length in pixels --> + <define name="Pixels.datatype"> + <text/> + </define> + <!-- script expression --> + <define name="Script.datatype"> + <text/> + </define> + <!-- textual content --> + <define name="Text.datatype"> + <text/> + </define> + <!-- Imported Datatypes ................................ --> + <!-- a single character from [ISO10646] --> + <define name="Character.datatype"> + <text/> + </define> + <!-- a character encoding, as per [RFC2045] --> + <define name="Charset.datatype"> + <text/> + </define> + <!-- a space separated list of character encodings, as per [RFC2045] --> + <define name="Charsets.datatype"> + <text/> + </define> + <!-- media type, as per [RFC2045] --> + <define name="ContentType.datatype"> + <text/> + </define> + <!-- comma-separated list of media types, as per [RFC2045] --> + <define name="ContentTypes.datatype"> + <text/> + </define> + <!-- date and time information. ISO date format --> + <define name="Datetime.datatype"> + <text/> + </define> + <!-- formal public identifier, as per [ISO8879] --> + <define name="FPI.datatype"> + <text/> + </define> + <!-- a language code, as per [RFC1766] --> + <define name="LanguageCode.datatype"> + <data type="language"/> + </define> + <!-- a Uniform Resource Identifier, see [URI] --> + <define name="URI.datatype"> + <data type="anyURI"/> + </define> + <!-- a space-separated list of Uniform Resource Identifiers, see [URI] --> + <define name="URIs.datatype"> + <text/> + </define> + <define name="NMTOKEN.datatype"> + <data type="NMTOKEN"/> + </define> + <define name="NMTOKENS.datatype"> + <data type="NMTOKENS"/> + </define> + <define name="ID.datatype"> + <data type="ID"/> + </define> + <define name="IDREF.datatype"> + <data type="IDREF"/> + </define> + <define name="IDREFS.datatype"> + <data type="IDREFS"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-hypertext.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-hypertext.rng new file mode 100644 index 00000000000..c926915bb7d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-hypertext.rng @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Hypertext Module --> + <!-- Depends on text module. --> + <define name="a"> + <element name="a"> + <interleave> + <ref name="a.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="a.attlist"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="href"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="charset"> + <ref name="Charset.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="type"> + <ref name="ContentType.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="hreflang"> + <ref name="LanguageCode.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="rel"> + <ref name="LinkTypes.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="rev"> + <ref name="LinkTypes.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="accesskey"> + <ref name="Character.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="tabindex"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="Inline.class" combine="interleave"> + <zeroOrMore> + <ref name="a"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-image.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-image.rng new file mode 100644 index 00000000000..562eae86c96 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-image.rng @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Image Module --> + <define name="img"> + <element name="img"> + <ref name="img.attlist"/> + </element> + </define> + <define name="img.attlist"> + <interleave> + <ref name="Common.attrib"/> + <attribute name="src"> + <ref name="URI.datatype"/> + </attribute> + <attribute name="alt"> + <ref name="Text.datatype"/> + </attribute> + <optional> + <attribute name="longdesc"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="Inline.class" combine="interleave"> + <zeroOrMore> + <ref name="img"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-inlstyle.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-inlstyle.rng new file mode 100644 index 00000000000..887146be00c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-inlstyle.rng @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Inline Style Module --> + <define name="Core.attrib" combine="interleave"> + <optional> + <attribute name="style"/> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-link.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-link.rng new file mode 100644 index 00000000000..309e66f38cb --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-link.rng @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Link Module --> + <define name="link"> + <element name="link"> + <ref name="link.attlist"/> + </element> + </define> + <define name="link.attlist"> + <ref name="Common.attrib"/> + <optional> + <attribute name="charset"> + <ref name="Charset.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="href"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="hreflang"> + <ref name="LanguageCode.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="type"> + <ref name="ContentType.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="rel"> + <ref name="LinkTypes.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="rev"> + <ref name="LinkTypes.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="media"> + <ref name="MediaDesc.datatype"/> + </attribute> + </optional> + </define> + <define name="head.content" combine="interleave"> + <zeroOrMore> + <ref name="link"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-list.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-list.rng new file mode 100644 index 00000000000..81ae3ba03a1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-list.rng @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- List Module --> + <define name="dl"> + <element name="dl"> + <interleave> + <ref name="dl.attlist"/> + <oneOrMore> + <choice> + <ref name="dt"/> + <ref name="dd"/> + </choice> + </oneOrMore> + </interleave> + </element> + </define> + <define name="dl.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="dt"> + <element name="dt"> + <interleave> + <ref name="dt.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="dt.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="dd"> + <element name="dd"> + <interleave> + <ref name="dd.attlist"/> + <ref name="Flow.model"/> + </interleave> + </element> + </define> + <define name="dd.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="ol"> + <element name="ol"> + <interleave> + <ref name="ol.attlist"/> + <oneOrMore> + <ref name="li"/> + </oneOrMore> + </interleave> + </element> + </define> + <define name="ol.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="ul"> + <element name="ul"> + <interleave> + <ref name="ul.attlist"/> + <oneOrMore> + <ref name="li"/> + </oneOrMore> + </interleave> + </element> + </define> + <define name="ul.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="li"> + <element name="li"> + <interleave> + <ref name="li.attlist"/> + <ref name="Flow.model"/> + </interleave> + </element> + </define> + <define name="li.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="List.class"> + <interleave> + <zeroOrMore> + <ref name="ul"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ol"/> + </zeroOrMore> + <zeroOrMore> + <ref name="dl"/> + </zeroOrMore> + </interleave> + </define> + <define name="Block.class" combine="interleave"> + <ref name="List.class"/> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-object.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-object.rng new file mode 100644 index 00000000000..118dbc6163e --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-object.rng @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Object Module --> + <define name="object"> + <element name="object"> + <ref name="object.attlist"/> + <zeroOrMore> + <!-- No restrictions on mixed content in TREX. --> + <ref name="param"/> + </zeroOrMore> + <ref name="Flow.model"/> + </element> + </define> + <define name="object.attlist"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="declare"> + <value>declare</value> + </attribute> + </optional> + <optional> + <attribute name="classid"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="codebase"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="data"> + <ref name="URI.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="type"> + <ref name="ContentType.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="codetype"> + <ref name="ContentType.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="archive"> + <ref name="URIs.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="standby"> + <ref name="Text.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="height"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="name"/> + </optional> + <optional> + <attribute name="tabindex"> + <ref name="Number.datatype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="Inline.class" combine="interleave"> + <zeroOrMore> + <ref name="object"/> + </zeroOrMore> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-param.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-param.rng new file mode 100644 index 00000000000..22b8df19182 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-param.rng @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Param Module --> + <define name="param"> + <element name="param"> + <ref name="param.attlist"/> + </element> + </define> + <define name="param.attlist"> + <interleave> + <ref name="id.attrib"/> + <attribute name="name"/> + <optional> + <attribute name="value"/> + </optional> + <optional> + <attribute name="valuetype"> + <choice> + <value>data</value> + <value>ref</value> + <value>object</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="type"> + <ref name="ContentType.datatype"/> + </attribute> + </optional> + </interleave> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng new file mode 100644 index 00000000000..89d5acc42a5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng @@ -0,0 +1,263 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Tables Module --> + <!-- + This builds on the basic tables module, unlike with the DTD + implementation. + --> + <include href="xhtml-basic-table.rng"> + <define name="table"> + <element name="table"> + <ref name="table.attlist"/> + <optional> + <ref name="caption"/> + </optional> + <choice> + <zeroOrMore> + <ref name="col"/> + </zeroOrMore> + <zeroOrMore> + <ref name="colgroup"/> + </zeroOrMore> + </choice> + <choice> + <group> + <optional> + <ref name="thead"/> + </optional> + <optional> + <ref name="tfoot"/> + </optional> + <oneOrMore> + <ref name="tbody"/> + </oneOrMore> + </group> + <oneOrMore> + <ref name="tr"/> + </oneOrMore> + </choice> + </element> + </define> + <define name="th"> + <element name="th"> + <interleave> + <ref name="th.attlist"/> + <ref name="Flow.model"/> + </interleave> + </element> + </define> + <define name="td"> + <element name="td"> + <interleave> + <ref name="td.attlist"/> + <ref name="Flow.model"/> + </interleave> + </element> + </define> + <define name="CellHAlign.attrib"> + <interleave> + <optional> + <attribute name="align"> + <choice> + <value>left</value> + <value>center</value> + <value>right</value> + <value>justify</value> + <value>char</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="char"> + <ref name="Character.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="charoff"> + <ref name="Length.datatype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="CellVAlign.attrib"> + <optional> + <attribute name="valign"> + <choice> + <value>top</value> + <value>middle</value> + <value>bottom</value> + <value>baseline</value> + </choice> + </attribute> + </optional> + </define> + <define name="scope.attrib"> + <optional> + <attribute name="scope"> + <choice> + <value>row</value> + <value>col</value> + <value>rowgroup</value> + <value>colgroup</value> + </choice> + </attribute> + </optional> + </define> + </include> + <define name="table.attlist" combine="interleave"> + <interleave> + <optional> + <attribute name="width"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="border"> + <ref name="Pixels.datatype"/> + </attribute> + </optional> + <ref name="frame.attrib"/> + <ref name="rules.attrib"/> + <optional> + <attribute name="cellspacing"> + <ref name="Length.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="cellpadding"> + <ref name="Length.datatype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="col"> + <element name="col"> + <ref name="col.attlist"/> + </element> + </define> + <define name="col.attlist"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="span"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="MultiLength.datatype"/> + </attribute> + </optional> + <ref name="CellHAlign.attrib"/> + <ref name="CellVAlign.attrib"/> + </interleave> + </define> + <define name="colgroup"> + <element name="colgroup"> + <interleave> + <ref name="colgroup.attlist"/> + <zeroOrMore> + <ref name="col"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="colgroup.attlist"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="span"> + <ref name="Number.datatype"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <ref name="MultiLength.datatype"/> + </attribute> + </optional> + <ref name="CellHAlign.attrib"/> + <ref name="CellVAlign.attrib"/> + </interleave> + </define> + <define name="tbody"> + <element name="tbody"> + <interleave> + <ref name="tbody.attlist"/> + <oneOrMore> + <ref name="tr"/> + </oneOrMore> + </interleave> + </element> + </define> + <define name="tbody.attlist"> + <interleave> + <ref name="Common.attrib"/> + <ref name="CellHAlign.attrib"/> + <ref name="CellVAlign.attrib"/> + </interleave> + </define> + <define name="thead"> + <element name="thead"> + <interleave> + <ref name="thead.attlist"/> + <oneOrMore> + <ref name="tr"/> + </oneOrMore> + </interleave> + </element> + </define> + <define name="thead.attlist"> + <interleave> + <ref name="Common.attrib"/> + <ref name="CellHAlign.attrib"/> + <ref name="CellVAlign.attrib"/> + </interleave> + </define> + <define name="tfoot"> + <element name="tfoot"> + <interleave> + <ref name="tfoot.attlist"/> + <oneOrMore> + <ref name="tr"/> + </oneOrMore> + </interleave> + </element> + </define> + <define name="tfoot.attlist"> + <interleave> + <ref name="Common.attrib"/> + <ref name="CellHAlign.attrib"/> + <ref name="CellVAlign.attrib"/> + </interleave> + </define> + <define name="frame.attrib"> + <optional> + <attribute name="frame"> + <choice> + <value>void</value> + <value>above</value> + <value>below</value> + <value>hsides</value> + <value>lhs</value> + <value>rhs</value> + <value>vsides</value> + <value>box</value> + <value>border</value> + </choice> + </attribute> + </optional> + </define> + <define name="rules.attrib"> + <optional> + <attribute name="rules"> + <choice> + <value>none</value> + <value>groups</value> + <value>rows</value> + <value>cols</value> + <value>all</value> + </choice> + </attribute> + </optional> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-text.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-text.rng new file mode 100644 index 00000000000..ac6fb26901c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-text.rng @@ -0,0 +1,307 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0"> + <!-- Text Module --> + <define name="br"> + <element name="br"> + <interleave> + <ref name="br.attlist"/> + <empty/> + </interleave> + </element> + </define> + <define name="br.attlist"> + <ref name="Core.attrib"/> + </define> + <define name="span"> + <element name="span"> + <interleave> + <ref name="span.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="span.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="abbr"> + <element name="abbr"> + <interleave> + <ref name="abbr.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="abbr.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="acronym"> + <element name="acronym"> + <interleave> + <ref name="acronym.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="acronym.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="cite"> + <element name="cite"> + <interleave> + <ref name="cite.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="cite.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="code"> + <element name="code"> + <interleave> + <ref name="code.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="code.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="dfn"> + <element name="dfn"> + <interleave> + <ref name="dfn.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="dfn.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="em"> + <element name="em"> + <interleave> + <ref name="em.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="em.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="kbd"> + <element name="kbd"> + <interleave> + <ref name="kbd.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="kbd.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="q"> + <element name="q"> + <interleave> + <ref name="q.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="q.attlist"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="cite"> + <ref name="URI.datatype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="samp"> + <element name="samp"> + <interleave> + <ref name="samp.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="samp.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="strong"> + <element name="strong"> + <interleave> + <ref name="strong.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="strong.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="var"> + <element name="var"> + <interleave> + <ref name="var.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="var.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="div"> + <element name="div"> + <interleave> + <ref name="div.attlist"/> + <ref name="Flow.model"/> + </interleave> + </element> + </define> + <define name="div.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="p"> + <element name="p"> + <interleave> + <ref name="p.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="p.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="address"> + <element name="address"> + <interleave> + <ref name="address.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="address.attlist"> + <ref name="Common.attrib"/> + </define> + <define name="blockquote"> + <element name="blockquote"> + <interleave> + <ref name="blockquote.attlist"/> + <ref name="Block.model"/> + </interleave> + </element> + </define> + <define name="blockquote.attlist"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="cite"> + <ref name="URI.datatype"/> + </attribute> + </optional> + </interleave> + </define> + <define name="pre"> + <element name="pre"> + <interleave> + <ref name="pre.attlist"/> + <ref name="Inline.model"/> + </interleave> + </element> + </define> + <define name="pre.attlist"> + <interleave> + <ref name="Common.attrib"/> + <optional> + <attribute name="xml:space"> + <value>preserve</value> + </attribute> + </optional> + </interleave> + </define> + <define name="Block.class"> + <interleave> + <zeroOrMore> + <ref name="address"/> + </zeroOrMore> + <zeroOrMore> + <ref name="blockquote"/> + </zeroOrMore> + <zeroOrMore> + <ref name="div"/> + </zeroOrMore> + <zeroOrMore> + <ref name="p"/> + </zeroOrMore> + <zeroOrMore> + <ref name="pre"/> + </zeroOrMore> + </interleave> + </define> + <define name="Inline.class"> + <interleave> + <zeroOrMore> + <ref name="abbr"/> + </zeroOrMore> + <zeroOrMore> + <ref name="acronym"/> + </zeroOrMore> + <zeroOrMore> + <ref name="br"/> + </zeroOrMore> + <zeroOrMore> + <ref name="cite"/> + </zeroOrMore> + <zeroOrMore> + <ref name="code"/> + </zeroOrMore> + <zeroOrMore> + <ref name="dfn"/> + </zeroOrMore> + <zeroOrMore> + <ref name="em"/> + </zeroOrMore> + <zeroOrMore> + <ref name="kbd"/> + </zeroOrMore> + <zeroOrMore> + <ref name="q"/> + </zeroOrMore> + <zeroOrMore> + <ref name="samp"/> + </zeroOrMore> + <zeroOrMore> + <ref name="span"/> + </zeroOrMore> + <zeroOrMore> + <ref name="strong"/> + </zeroOrMore> + <zeroOrMore> + <ref name="var"/> + </zeroOrMore> + </interleave> + </define> + <define name="Inline.model"> + <interleave> + <text/> + <ref name="Inline.class"/> + </interleave> + </define> + <!-- This is redefined by the legacy module to include inlines. --> + <define name="Block.mix"> + <ref name="Block.class"/> + </define> + <define name="Block.model"> + <oneOrMore> + <ref name="Block.mix"/> + </oneOrMore> + </define> + <define name="Flow.model"> + <interleave> + <text/> + <ref name="Inline.class"/> + <ref name="Block.class"/> + </interleave> + </define> +</grammar> |