diff options
author | Karl Berry <karl@freefriends.org> | 2012-03-30 23:23:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-03-30 23:23:02 +0000 |
commit | 849996eca72af498b48b10fbea7f14c4b9d21b8f (patch) | |
tree | 2d40d42dfc9fc0b0622212cc220868f98345305f /Master/texmf-dist/source/latex/stex/schema/rnc | |
parent | d82e1c23973fd0271f93686f487bd1cee8dcd947 (diff) |
restore stex (ca. 28jan12)
git-svn-id: svn://tug.org/texlive/trunk@25792 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rnc')
205 files changed, 28272 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rnc new file mode 100644 index 00000000000..effee37dec8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rnc @@ -0,0 +1,491 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +# 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. + +biblist = +## A list of bibliographic \elementref{bibentry} or \elementref{bibitem}. +element biblist { biblist_attributes & biblist_model } + +## Attributes for \elementref{biblist}. +biblist_attributes = Common.attributes + +## Content model for \elementref{biblist}. +biblist_model = bibentry* & bibitem* + +# ====================================================================== +# bibitem is the formatted, presentation, form, typically information has been lost; +# it basically contains a biblabel and several bibblock's +# ====================================================================== + +bibitem = +## 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. +element bibitem { bibitem_attributes & bibitem_model } + +## Attributes for \elementref{bibitem}. +bibitem_attributes = + Common.attributes & + ID.attributes & + ## The unique key for this object; this key is referenced by the + ## \attr{bibrefs} attribute of \elementref{bibref}. + attribute key { text }? + +## Content model for \elementref{bibitem}. +bibitem_model = bibtag*, bibblock* + +#---------------------------------------------------------------------- + +bibtag = +## 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}). +element bibtag { bibtag_attributes & bibtag_model } + +## Attributes for \elementref{bibtag}. +bibtag_attributes = + attribute role { ("number"|"authors"|"fullauthors"|"key"|"year"|"bibtype"|"title"|text) }? & + ## A delimiter for formatting the refnum in the bibliography + attribute open { text }? & + ## A delimiter for formatting the refnum in the bibliography + attribute close { text }? + +## Content model for \elementref{bibtag}. +bibtag_model = Inline.model + +#---------------------------------------------------------------------- + +bibblock = +## A block of data appearing within a \elementref{bibitem}. +element bibblock { bibblock_attributes & bibblock_model } + +## Attributes for \elementref{bibblock}. +bibblock_attributes = empty + +## Content model for \elementref{bibblock}. +bibblock_model = Flow.model + +# bibblock's model was this: +# Inline.model } + +# ====================================================================== +# bibentry is the (more) semantic form, typically extracted from bibtex. +# ====================================================================== + +bibentry = +## Semantic representation of a bibliography entry, +## typically resulting from parsing BibTeX +element bibentry { bibentry_attributes & bibentry_model } + +bibentry.type = "article" | "book" | "booklet" | "conference" | "inbook" + | "incollection" | "inproceedings" | "manual" | "mastersthesis" + | "misc" | "phdthesis" | "proceedings" | "techreport" | "unpublished" + | "report" | "thesis" | "website" | "software" | "periodical" + | "collection" | "collection.article" | "proceedings.article" + | text + +## Attributes for \elementref{bibentry}. +bibentry_attributes = + Common.attributes & + ID.attributes & + + ## The unique key for this object; this key is referenced by the + ## \attr{bibrefs} attribute of \elementref{bibref}. + attribute key { text } & + + ## The type of the referenced object. The values are a superset of + ## those types recognized by BibTeX, but is also open-ended for extensibility. + attribute type { bibentry.type } + +## Content model for \elementref{bibentry}. +bibentry_model = Bibentry.class + +#====================================================================== + +# Name related information +bib-name = +## Name of some participant in creating a bibliographic entry. +element bib-name { bib-name_attributes & bib-name_model } + +## Attributes for \elementref{bib-name}. +bib-name_attributes = + Common.attributes & + ## The role that this participant played in creating the entry. + attribute role { ("author" | "editor" | "translator" | text) }? + +## Content model for \elementref{bib-name}. +bib-name_model = Bibname.model + +## The content model of the bibliographic name fields (\elementref{bib-name}) +Bibname.model = surname & givenname? & lineage? + +#---------------------------------------------------------------------- + +surname = +## Surname of a participant (\elementref{bib-name}). +element surname { surname_attributes & surname_model } + +## Attributes for \elementref{surname}. +surname_attributes = empty + +## Content model for \elementref{surname}. +surname_model = Inline.model + +#---------------------------------------------------------------------- + +givenname = +## Given name of a participant (\elementref{bib-name}). +element givenname { givenname_attributes & givenname_model } + +## Attributes for \elementref{givenname}. +givenname_attributes = empty + +## Content model for \elementref{givenname}. +givenname_model = Inline.model + +#---------------------------------------------------------------------- + +lineage = +## Lineage of a participant (\elementref{bib-name}), eg. Jr. or similar. +element lineage { lineage_attributes & lineage_model } + +## Attributes for \elementref{lineage}. +lineage_attributes = empty + +## Content model for \elementref{lineage}. +lineage_model = Inline.model + +#====================================================================== + +# Title related information +bib-title = +## Title of a bibliographic entry. +element bib-title { bib-title_attributes & bib-title_model } + +## Attributes for \elementref{bib-title}. +bib-title_attributes = Common.attributes + +## Content model for \elementref{bib-title}. +bib-title_model = Inline.model +#---------------------------------------------------------------------- + +bib-subtitle = +## Subtitle of a bibliographic entry. +element bib-subtitle { bib-subtitle_attributes & bib-subtitle_model } + +## Attributes for \elementref{bib-subtitle}. +bib-subtitle_attributes = Common.attributes + +## Content model for \elementref{bib-subtitle}. +bib-subtitle_model = Inline.model + +#---------------------------------------------------------------------- + +bib-key = +## Unique key of a bibliographic entry. +element bib-key { bib-key_attributes & bib-key_model } + +## Attributes for \elementref{bib-key}. +bib-key_attributes = Common.attributes + +## Content model for \elementref{bib-key}. +bib-key_model = Inline.model + +#---------------------------------------------------------------------- + +bib-type = +## Type of a bibliographic entry. +element bib-type { bib-type_attributes & bib-type_model } + +## Attributes for \elementref{bib-type}. +bib-type_attributes = Common.attributes + +## Content model for \elementref{bib-type}. +bib-type_model = Inline.model + +#---------------------------------------------------------------------- + +bib-date = +## Date of a bibliographic entry. +element bib-date { bib-date_attributes & bib-date_model } + +## Attributes for \elementref{bib-date}. +bib-date_attributes = + Common.attributes & + ## characterizes what happened on the given date + attribute role { ("publication" | "copyright" | text) }? + +## Content model for \elementref{bib-date}. +bib-date_model = Inline.model + +#---------------------------------------------------------------------- + +bib-publisher = +## Publisher of a bibliographic entry. +element bib-publisher { bib-publisher_attributes & bib-publisher_model } + +## Attributes for \elementref{bib-publisher}. +bib-publisher_attributes = Common.attributes + +## Content model for \elementref{bib-publisher}. +bib-publisher_model = Inline.model + +#---------------------------------------------------------------------- + +bib-organization = +## Organization responsible for a bibliographic entry. +element bib-organization { bib-organization_attributes & bib-organization_model } + +## Attributes for \elementref{bib-organization}. +bib-organization_attributes = Common.attributes + +## Content model for \elementref{bib-organization}. +bib-organization_model = Inline.model + +#---------------------------------------------------------------------- + +bib-place = +## Location of publisher or event +element bib-place { bib-place_attributes & bib-place_model } + +## Attributes for \elementref{bib-place}. +bib-place_attributes = Common.attributes + +## Content model for \elementref{bib-place}. +bib-place_model = Inline.model + +# --------------------------------------------------------------------- +bib-related = +## A Related bibliographic object, such as the book or journal +## that the current item is related to. +element bib-related { bib-related_attributes & bib-related_model } + +## Attributes for \elementref{bib-related}. +bib-related_attributes = + Common.attributes & + ## The type of this related entry. + attribute type { bibentry.type }? & + ## 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. + attribute role { ("host" | "event" | "original" | text) }? & + ## 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. + attribute bibrefs { text }? + +## Content model for \elementref{bib-related}. +bib-related_model = Bibentry.class + +# --------------------------------------------------------------------- + +bib-part = +## Describes how the current object is related to a related (\elementref{bib-related}) +## object, in particular page, part, volume numbers and similar. +element bib-part { bib-part_attributes & bib-part_model } + +## Attributes for \elementref{bib-part}. +bib-part_attributes = + Common.attributes & + ## indicates how the value partitions the containing object. + attribute role { ("pages" | "part" | "volume" | "issue" | "number" + | "chapter" | "section" | "paragraph" | text) }? + +## Content model for \elementref{bib-part}. +bib-part_model = Inline.model + +# --------------------------------------------------------------------- +# + +bib-edition = +## Edition of a bibliographic entry. +element bib-edition { bib-edition_attributes & bib-edition_model } + +## Attributes for \elementref{bib-edition}. +bib-edition_attributes = Common.attributes + +## Content model for \elementref{bib-edition}. +bib-edition_model = Inline.model + +#---------------------------------------------------------------------- + +bib-status = +## Status of a bibliographic entry. +element bib-status { bib-status_attributes & bib-status_model } + +## Attributes for \elementref{bib-status}. +bib-status_attributes = Common.attributes + +## Content model for \elementref{bib-status}. +bib-status_model = Inline.model + +#---------------------------------------------------------------------- + +bib-identifier = +## Some form of document identfier. The content is descriptive. +element bib-identifier { bib-identifier_attributes & bib-identifier_model } + +## Attributes for \elementref{bib-identifier}. +bib-identifier_attributes = + Common.attributes & + ## indicates what sort of identifier it is; it is open-ended for extensibility. + attribute scheme { "doi" | "issn" | "isbn" | "mr" | text }? & + ## the identifier. + attribute id { text}? & + ## a url to the document, if available + attribute href { text}? + +## Content model for \elementref{bib-identifier}. +bib-identifier_model = Inline.model + +#---------------------------------------------------------------------- + +bib-review = +## Review of a bibliographic entry. The content is descriptive. +element bib-review { bib-review_attributes & bib-review_model } + +## Attributes for \elementref{bib-review}. +bib-review_attributes = + Common.attributes & + ## indicates what sort of identifier it is; it is open-ended for extensibility. + attribute scheme { "doi" | "issn" | "isbn" | "mr" | text }? & + ## the identifier. + attribute id { text}? & + ## a url to the review, if available + attribute href { text}? + +## Content model for \elementref{bib-review}. +bib-review_model = Inline.model + +#---------------------------------------------------------------------- + +bib-links = +## Links to other things like preprints, source code, etc. +element bib-links { bib-links_attributes & bib-links_model } + +## Attributes for \elementref{bib-links}. +bib-links_attributes = Common.attributes + +## Content model for \elementref{bib-links}. +bib-links_model = Inline.model + +#---------------------------------------------------------------------- + +bib-language = +## Language of a bibliographic entry. +element bib-language { bib-language_attributes & bib-language_model } + +## Attributes for \elementref{bib-language}. +bib-language_attributes = Common.attributes + +## Content model for \elementref{bib-language}. +bib-language_model = Inline.model + +#---------------------------------------------------------------------- + +bib-url = +## A URL for a bibliographic entry. The content is descriptive +element bib-url { bib-url_attributes & bib-url_model } + +## Attributes for \elementref{bib-url}. +bib-url_attributes = + Common.attributes & + attribute href { text }? + +## Content model for \elementref{bib-url}. +bib-url_model = Inline.model + +#---------------------------------------------------------------------- + +bib-extract = +## An extract from the referenced object. +element bib-extract { bib-extract_attributes & bib-extract_model } + +## Attributes for \elementref{bib-extract}. +bib-extract_attributes = + Common.attributes & + ## Classify what kind of extract + attribute role { ("keywords" | "abstract" | "contents" | text) }? + +## Content model for \elementref{bib-extract}. +bib-extract_model = Inline.model + +#---------------------------------------------------------------------- + +bib-note = +## Notes about a bibliographic entry. +element bib-note { bib-note_attributes & bib-note_model } + +## Attributes for \elementref{bib-note}. +bib-note_attributes = + Common.attributes & + ## Classify the kind of note + attribute role { ("annotation" | "publication" | text) }? + +## Content model for \elementref{bib-note}. +bib-note_model = Inline.model + +#---------------------------------------------------------------------- + +bib-data = +## Random data, not necessarily even text. +## (future questions: should model be text or ANY? maybe should have encoding attribute?). +element bib-data { bib-data_attributes & bib-data_model } + +## Attributes for \elementref{bib-data}. +bib-data_attributes = + Common.attributes & + ## Classify the relationship of the data to the entry. + attribute role { text }? & + ## Classify the type of the data. + attribute type { text }? + +## Content model for \elementref{bib-data}. +bib-data_model = Inline.model + +#====================================================================== + +Bibentry.class = + bib-name* + & bib-title* + & bib-subtitle* + & bib-key* + & bib-type* + & bib-date* + & bib-publisher* + & bib-organization* + & bib-place* + & bib-part* + & bib-related* + & bib-edition* + & bib-status* + & bib-language* + & bib-url* + & bib-note* + & bib-extract* + & bib-identifier* + & bib-review* + & bib-links* + & bib-data* + +#====================================================================== diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rng new file mode 100644 index 00000000000..83f70a1c76d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rng @@ -0,0 +1,774 @@ +<?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> + <ref name="biblist_attributes"/> + <ref name="biblist_model"/> + </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> + <zeroOrMore> + <choice> + <ref name="bibentry"/> + <ref name="bibitem"/> + </choice> + </zeroOrMore> + </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> + <ref name="bibitem_attributes"/> + <ref name="bibitem_model"/> + </element> + </define> + <define name="bibitem_attributes"> + <a:documentation>Attributes for \elementref{bibitem}.</a:documentation> + <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> + </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> + <ref name="bibtag_attributes"/> + <ref name="bibtag_model"/> + </element> + </define> + <define name="bibtag_attributes"> + <a:documentation>Attributes for \elementref{bibtag}.</a:documentation> + <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> + </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> + <ref name="bibblock_attributes"/> + <ref name="bibblock_model"/> + </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> + <ref name="bibentry_attributes"/> + <ref name="bibentry_model"/> + </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> + <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> + </define> + <define name="bibentry_model"> + <a:documentation>Content model for \elementref{bibentry}.</a:documentation> + <zeroOrMore> + <ref name="Bibentry.class"/> + </zeroOrMore> + </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> + <ref name="bib-name_attributes"/> + <ref name="bib-name_model"/> + </element> + </define> + <define name="bib-name_attributes"> + <a:documentation>Attributes for \elementref{bib-name}.</a:documentation> + <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> + </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> + <ref name="surname"/> + <optional> + <ref name="givenname"/> + </optional> + <optional> + <ref name="lineage"/> + </optional> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="surname"> + <element name="surname"> + <a:documentation>Surname of a participant (\elementref{bib-name}).</a:documentation> + <ref name="surname_attributes"/> + <ref name="surname_model"/> + </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> + <ref name="givenname_attributes"/> + <ref name="givenname_model"/> + </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> + <ref name="lineage_attributes"/> + <ref name="lineage_model"/> + </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> + <ref name="bib-title_attributes"/> + <ref name="bib-title_model"/> + </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> + <ref name="bib-subtitle_attributes"/> + <ref name="bib-subtitle_model"/> + </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> + <ref name="bib-key_attributes"/> + <ref name="bib-key_model"/> + </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> + <ref name="bib-type_attributes"/> + <ref name="bib-type_model"/> + </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> + <ref name="bib-date_attributes"/> + <ref name="bib-date_model"/> + </element> + </define> + <define name="bib-date_attributes"> + <a:documentation>Attributes for \elementref{bib-date}.</a:documentation> + <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> + </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> + <ref name="bib-publisher_attributes"/> + <ref name="bib-publisher_model"/> + </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> + <ref name="bib-organization_attributes"/> + <ref name="bib-organization_model"/> + </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> + <ref name="bib-place_attributes"/> + <ref name="bib-place_model"/> + </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> + <ref name="bib-related_attributes"/> + <ref name="bib-related_model"/> + </element> + </define> + <define name="bib-related_attributes"> + <a:documentation>Attributes for \elementref{bib-related}.</a:documentation> + <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> + </define> + <define name="bib-related_model"> + <a:documentation>Content model for \elementref{bib-related}.</a:documentation> + <zeroOrMore> + <ref name="Bibentry.class"/> + </zeroOrMore> + </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> + <ref name="bib-part_attributes"/> + <ref name="bib-part_model"/> + </element> + </define> + <define name="bib-part_attributes"> + <a:documentation>Attributes for \elementref{bib-part}.</a:documentation> + <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> + </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> + <ref name="bib-edition_attributes"/> + <ref name="bib-edition_model"/> + </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> + <ref name="bib-status_attributes"/> + <ref name="bib-status_model"/> + </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> + <ref name="bib-identifier_attributes"/> + <ref name="bib-identifier_model"/> + </element> + </define> + <define name="bib-identifier_attributes"> + <a:documentation>Attributes for \elementref{bib-identifier}.</a:documentation> + <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> + </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> + <ref name="bib-review_attributes"/> + <ref name="bib-review_model"/> + </element> + </define> + <define name="bib-review_attributes"> + <a:documentation>Attributes for \elementref{bib-review}.</a:documentation> + <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> + </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> + <ref name="bib-links_attributes"/> + <ref name="bib-links_model"/> + </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> + <ref name="bib-language_attributes"/> + <ref name="bib-language_model"/> + </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> + <ref name="bib-url_attributes"/> + <ref name="bib-url_model"/> + </element> + </define> + <define name="bib-url_attributes"> + <a:documentation>Attributes for \elementref{bib-url}.</a:documentation> + <ref name="Common.attributes"/> + <optional> + <attribute name="href"/> + </optional> + </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> + <ref name="bib-extract_attributes"/> + <ref name="bib-extract_model"/> + </element> + </define> + <define name="bib-extract_attributes"> + <a:documentation>Attributes for \elementref{bib-extract}.</a:documentation> + <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> + </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> + <ref name="bib-note_attributes"/> + <ref name="bib-note_model"/> + </element> + </define> + <define name="bib-note_attributes"> + <a:documentation>Attributes for \elementref{bib-note}.</a:documentation> + <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> + </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> + <ref name="bib-data_attributes"/> + <ref name="bib-data_model"/> + </element> + </define> + <define name="bib-data_attributes"> + <a:documentation>Attributes for \elementref{bib-data}.</a:documentation> + <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> + </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"> + <choice> + <ref name="bib-name"/> + <ref name="bib-title"/> + <ref name="bib-subtitle"/> + <ref name="bib-key"/> + <ref name="bib-type"/> + <ref name="bib-date"/> + <ref name="bib-publisher"/> + <ref name="bib-organization"/> + <ref name="bib-place"/> + <ref name="bib-part"/> + <ref name="bib-related"/> + <ref name="bib-edition"/> + <ref name="bib-status"/> + <ref name="bib-language"/> + <ref name="bib-url"/> + <ref name="bib-note"/> + <ref name="bib-extract"/> + <ref name="bib-identifier"/> + <ref name="bib-review"/> + <ref name="bib-links"/> + <ref name="bib-data"/> + </choice> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rnc new file mode 100644 index 00000000000..a8ccd452b7b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rnc @@ -0,0 +1,305 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +## The block module defines the following `physical' block elements. +Block.class &= + p* & equation* & equationgroup* & quote* & block* & listingblock* + & itemize* & enumerate* & description* + + +## Additionally, it defines these miscellaneous elements that can appear +## in both inline and block contexts. +Misc.class &= inline-block* & verbatim* & break* & graphics* & svg* + +## Additional Metadata that can be present in equations. +EquationMeta.class = constraint + +#====================================================================== + +p = +## A physical paragraph. +element p { p_attributes & p_model } + +## Attributes for \elementref{p}. +p_attributes = Common.attributes & ID.attributes & Positionable.attributes + +## Content model for \elementref{p}. +p_model = Inline.model + +#====================================================================== + +constraint = +## A constraint upon an equation. +element constraint { constraint_attributes & constraint_model } + +## Attributes for \elementref{constraint}. +constraint_attributes = + attribute hidden { xsd:boolean }? + +## Content model for \elementref{constraint}. +constraint_model = Inline.model + +#====================================================================== + +equation = +## 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 +element equation { equation_attributes & equation_model } + +## Attributes for \elementref{equation}. +equation_attributes = Common.attributes & Labelled.attributes + +## Content model for \elementref{equation}. +equation_model = Math* & MathFork* & \text* & tabular* & Meta.class & EquationMeta.class + +#====================================================================== + +equationgroup = +## A group of equations, perhaps aligned (Though this is nowhere recorded). +element equationgroup { equationgroup_attributes & equationgroup_model } + +## Attributes for \elementref{equationgroup}. +equationgroup_attributes = Common.attributes & Labelled.attributes + +## Content model for \elementref{equationgroup}. +equationgroup_model = equationgroup* & equation* & p* & Meta.class & EquationMeta.class + +#====================================================================== + +MathFork = +## 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. +element MathFork { MathFork_attributes & MathFork_model } + +## Attributes for \elementref{MathFork}. +MathFork_attributes = Common.attributes + +## Content model for \elementref{MathFork}. +MathFork_model = Math, MathBranch* + +#====================================================================== + +MathBranch = +## A container for an alternatively formatted math representation. +element MathBranch { MathBranch_attributes & MathBranch_model } + +## Attributes for \elementref{MathBranch}. +MathBranch_attributes = + Common.attributes & + attribute format { text }? + +## Content model for \elementref{MathBranch}. +MathBranch_model = Math* & tr* & td* + +#====================================================================== + +quote = +## A quotation. +element quote { quote_attributes & quote_model } + +## Attributes for \elementref{quote}. +quote_attributes = Common.attributes & ID.attributes + +## Content model for \elementref{quote}. +quote_model = Block.model +# 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? + +#====================================================================== + +block = +## A generic block (fallback). +element block { block_attributes & block_model } + +## Attributes for \elementref{block}. +block_attributes = Common.attributes & ID.attributes & Positionable.attributes + +## Content model for \elementref{block}. +block_model = Inline.model + +#====================================================================== + +listingblock = +## An in-block Listing, without caption +element listingblock { listingblock_attributes & listingblock_model } + +## Attributes for \elementref{listingblock}. +listingblock_attributes = Common.attributes & Labelled.attributes + +## Content model for \elementref{listingblock}. +listingblock_model = Block.model* + +#====================================================================== + +break = +## A forced line break. +element break { break_attributes & break_model } + +## Attributes for \elementref{break}. +break_attributes = Common.attributes + +## Content model for \elementref{break}. +break_model = empty + +#====================================================================== + +inline-block = +## An inline block. Actually, can appear in inline or block mode, but +## typesets its contents as a block. +element inline-block { inline-block_attributes & inline-block_model } + +## Attributes for \elementref{inline-block}. +inline-block_attributes = Common.attributes & ID.attributes & Positionable.attributes + +## Content model for \elementref{inline-block}. +inline-block_model = Block.model + +#====================================================================== + +verbatim = +## Verbatim content +element verbatim { verbatim_attributes & verbatim_model } + +## Attributes for \elementref{verbatim}. +verbatim_attributes = + Common.attributes & + ID.attributes & + ## the font to use; generally typewriter. + attribute font { text }? & + + ## Indicates the text size to use. (See \elementref{text}) + attribute size { "Huge" | "huge" | "LARGE" | "Large" | "large" | "normal" + | "small" | "footnote" | "tiny" | text }? & + + ## the color to use; any CSS compatible color specification. + attribute color { text }? + +## Content model for \elementref{verbatim}. +verbatim_model = Inline.model + +#====================================================================== + +itemize = +## An itemized list. +element itemize { itemize_attributes & itemize_model } + +## Attributes for \elementref{itemize}. +itemize_attributes = Common.attributes & ID.attributes + +## Content model for \elementref{itemize}. +itemize_model = item* + +#====================================================================== + +enumerate = +## An enumerated list. +element enumerate { enumerate_attributes & enumerate_model } + +## Attributes for \elementref{enumerate}. +enumerate_attributes = Common.attributes & ID.attributes + +## Content model for \elementref{enumerate}. +enumerate_model = item* + +#====================================================================== + +description = +## 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}. +element description { description_attributes & description_model } + +## Attributes for \elementref{description}. +description_attributes = Common.attributes & ID.attributes + +## Content model for \elementref{description}. +description_model = item* + +#====================================================================== + +item = +## An item within a list. +element item { item_attributes & item_model } + +## Attributes for \elementref{item}. +item_attributes = Common.attributes & Labelled.attributes + +## Content model for \elementref{item}. +item_model = tag? & Para.model + +#====================================================================== + +tag = +## A tag within an item indicating the term or bullet for a given item. +element tag { tag_attributes & tag_model } + +## Attributes for \elementref{tag}. +tag_attributes = + Common.attributes & + + ## specifies an open delimiters used to display the tag. + attribute open { text }? & + + ## specifies an close delimiters used to display the tag. + attribute close { text }? + +## Content model for \elementref{tag}. +tag_model = Inline.model + +#====================================================================== + +graphics = +## A graphical insertion of an external file. +element graphics { graphics_attributes & graphics_model } + +## Attributes for \elementref{graphics}. +graphics_attributes = + Common.attributes & + ID.attributes & + Imageable.attributes & + + ## 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. + attribute graphic { text }? & + + ## 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. + attribute candidates { text }? & + + ## an encoding of the scaling and positioning options + ## to be used in processing the graphic. + attribute options { text }? + + +## Content model for \elementref{graphics}. +graphics_model = empty + +#====================================================================== + +svg = +## An SVG (Scalable Vector Graphics) object +## [eventually must adapt to put LaTeXML objects in foreignObject] +grammar { + include "svg11.rnc" + { SVG.foreignObject.content = parent Flow.model } +} +#====================================================================== diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng new file mode 100644 index 00000000000..52721622c6b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng @@ -0,0 +1,479 @@ +<?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="choice"> + <a:documentation>The block module defines the following `physical' block elements.</a:documentation> + <choice> + <ref name="p"/> + <ref name="equation"/> + <ref name="equationgroup"/> + <ref name="quote"/> + <ref name="block"/> + <ref name="listingblock"/> + <ref name="itemize"/> + <ref name="enumerate"/> + <ref name="description"/> + </choice> + </define> + <define name="Misc.class" combine="choice"> + <a:documentation>Additionally, it defines these miscellaneous elements that can appear +in both inline and block contexts.</a:documentation> + <choice> + <ref name="inline-block"/> + <ref name="verbatim"/> + <ref name="break"/> + <ref name="graphics"/> + <ref name="svg"/> + </choice> + </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> + <ref name="p_attributes"/> + <ref name="p_model"/> + </element> + </define> + <define name="p_attributes"> + <a:documentation>Attributes for \elementref{p}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </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> + <ref name="constraint_attributes"/> + <ref name="constraint_model"/> + </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> + <ref name="equation_attributes"/> + <ref name="equation_model"/> + </element> + </define> + <define name="equation_attributes"> + <a:documentation>Attributes for \elementref{equation}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="equation_model"> + <a:documentation>Content model for \elementref{equation}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Math"/> + <ref name="MathFork"/> + <ref name="text"/> + <ref name="tabular"/> + <ref name="Meta.class"/> + <ref name="EquationMeta.class"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="equationgroup"> + <element name="equationgroup"> + <a:documentation>A group of equations, perhaps aligned (Though this is nowhere recorded).</a:documentation> + <ref name="equationgroup_attributes"/> + <ref name="equationgroup_model"/> + </element> + </define> + <define name="equationgroup_attributes"> + <a:documentation>Attributes for \elementref{equationgroup}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="equationgroup_model"> + <a:documentation>Content model for \elementref{equationgroup}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="equationgroup"/> + <ref name="equation"/> + <ref name="p"/> + <ref name="Meta.class"/> + <ref name="EquationMeta.class"/> + </choice> + </zeroOrMore> + </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> + <ref name="MathFork_attributes"/> + <ref name="MathFork_model"/> + </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> + <ref name="MathBranch_attributes"/> + <ref name="MathBranch_model"/> + </element> + </define> + <define name="MathBranch_attributes"> + <a:documentation>Attributes for \elementref{MathBranch}.</a:documentation> + <ref name="Common.attributes"/> + <optional> + <attribute name="format"/> + </optional> + </define> + <define name="MathBranch_model"> + <a:documentation>Content model for \elementref{MathBranch}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Math"/> + <ref name="tr"/> + <ref name="td"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="quote"> + <element name="quote"> + <a:documentation>A quotation.</a:documentation> + <ref name="quote_attributes"/> + <ref name="quote_model"/> + </element> + </define> + <define name="quote_attributes"> + <a:documentation>Attributes for \elementref{quote}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="block_attributes"/> + <ref name="block_model"/> + </element> + </define> + <define name="block_attributes"> + <a:documentation>Attributes for \elementref{block}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </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> + <ref name="listingblock_attributes"/> + <ref name="listingblock_model"/> + </element> + </define> + <define name="listingblock_attributes"> + <a:documentation>Attributes for \elementref{listingblock}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </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> + <ref name="break_attributes"/> + <ref name="break_model"/> + </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> + <ref name="inline-block_attributes"/> + <ref name="inline-block_model"/> + </element> + </define> + <define name="inline-block_attributes"> + <a:documentation>Attributes for \elementref{inline-block}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </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> + <ref name="verbatim_attributes"/> + <ref name="verbatim_model"/> + </element> + </define> + <define name="verbatim_attributes"> + <a:documentation>Attributes for \elementref{verbatim}.</a:documentation> + <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> + </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> + <ref name="itemize_attributes"/> + <ref name="itemize_model"/> + </element> + </define> + <define name="itemize_attributes"> + <a:documentation>Attributes for \elementref{itemize}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="enumerate_attributes"/> + <ref name="enumerate_model"/> + </element> + </define> + <define name="enumerate_attributes"> + <a:documentation>Attributes for \elementref{enumerate}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="description_attributes"/> + <ref name="description_model"/> + </element> + </define> + <define name="description_attributes"> + <a:documentation>Attributes for \elementref{description}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="item_attributes"/> + <ref name="item_model"/> + </element> + </define> + <define name="item_attributes"> + <a:documentation>Attributes for \elementref{item}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="item_model"> + <a:documentation>Content model for \elementref{item}.</a:documentation> + <optional> + <ref name="tag"/> + </optional> + <ref name="Para.model"/> + </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> + <ref name="tag_attributes"/> + <ref name="tag_model"/> + </element> + </define> + <define name="tag_attributes"> + <a:documentation>Attributes for \elementref{tag}.</a:documentation> + <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> + </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> + <ref name="graphics_attributes"/> + <ref name="graphics_model"/> + </element> + </define> + <define name="graphics_attributes"> + <a:documentation>Attributes for \elementref{graphics}.</a:documentation> + <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> + </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/rnc/LaTeXML/LaTeXML-common.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rnc new file mode 100644 index 00000000000..6beb53b14b6 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rnc @@ -0,0 +1,150 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + + +# Basic element classes: + +## All strictly inline elements. +Inline.class = empty + +## All `physical' block elements. +## A physical block is typically displayed as a block, but +## may not constitute a complete logical unit. +Block.class = empty + +## Additional miscellaneous elements that can appear in +## both inline and block contexts. +Misc.class = empty + +## 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. +Para.class = empty + +## All metadata elements, typically representing hidden data. +Meta.class = empty + +# ====================================================================== +# Attribute types + +## The type for attributes specifying a length. +## Should be a number followed by a length, typically px. +## NOTE: To be narrowed later. +Length.type = text + +## The type for attributes specifying a color. +## NOTE: To be narrowed later. +Color.type = text + +# ====================================================================== +## Attributes shared by ALL elements. +Common.attributes = + +# ## provides for namespace declaration. +# attribute xmlns { text }? & + + ## 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.] + attribute class { xsd:NMTOKENS }? + +## Attributes for elements that can be cross-referenced +## from inside or outside the document. +ID.attributes = + + ## the unique identifier of the element, + ## usually generated automatically by the latexml. + attribute xml:id { xsd:ID }? + +## Attributes for elements that can cross-reference other elements. +IDREF.attributes = + + ## the identifier of the referred-to element. + attribute idref { xsd:IDREF }? + +## Attributes for elements that can be labelled from within LaTeX. +## These attributes deal with assigning a label and generating cross references. +Labelled.attributes = + ID.attributes & + + ## 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!) + attribute labels { text }? & + + ## the reference number (ie. section number, equation number, etc) of the object. + attribute refnum { text }? & + + ## the formatted reference number of the object, typically this is the refnum with + ## the object type prepended, such as "Chapter 2" + attribute frefnum { text }? + +## Attributes shared by low-level, generic inline and block elements +## that can be sized or shifted. +Positionable.attributes = + + ## the desired width of the box + attribute width { Length.type }? & + + ## the desired height of the box + attribute height { Length.type }? & + + ## the desired depth of the box + attribute depth { Length.type }? & + + ## extra width beyond the boxes natural size. + attribute pad-width { Length.type }? & + + ## extra height beyond the boxes natural size. + attribute pad-height { Length.type }? & + + ## horizontal shift the position of the box. + attribute xoffset { Length.type }? & + + ## vertical shift the position of the box. + attribute yoffset { Length.type }? & + + ## alignment of material within the box. + attribute align { "left" | "center" | "right" | "justified" }? & + + ## specifies which line of the box is aligned to the baseline of the containing object. + attribute vattach { "top" | "middle" | "bottom" }? & + + ## the horizontal floating placement parameter that determines where the object is displayed. + attribute float { ( "right" | "left" | text) }? + +## Attributes for elements that may be converted to image form +## during postprocessing, such as math, graphics, pictures, etc. +Imageable.attributes = + + ## the file, possibly generated from other data. + attribute imagesrc { xsd:anyURI }? & + + ## the width in pixels of \attr{imagesrc}. + attribute imagewidth { xsd:nonNegativeInteger}? & + + ## the height in pixels of \attr{imagesrc}. + attribute imageheight { xsd:nonNegativeInteger }? & + + ## a description of the image + attribute description { text }? diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rng new file mode 100644 index 00000000000..850da7753e7 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rng @@ -0,0 +1,229 @@ +<?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> + <notAllowed/> + </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> + <notAllowed/> + </define> + <define name="Misc.class"> + <a:documentation>Additional miscellaneous elements that can appear in +both inline and block contexts.</a:documentation> + <notAllowed/> + </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> + <notAllowed/> + </define> + <define name="Meta.class"> + <a:documentation>All metadata elements, typically representing hidden data.</a:documentation> + <notAllowed/> + </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> + <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> + </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> + <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> + </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> + <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> + </define> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rnc new file mode 100644 index 00000000000..604cd5896ec --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rnc @@ -0,0 +1,308 @@ +# /=====================================================================\ +# | 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=/ + + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +## The inline module defines basic inline elements used throughout +Inline.class &= \text* & emph* & acronym* & rule* & anchor* & ref* & cite* & bibref* + +## Additionally, it defines these meta elements. These are generally hidden, +## and can appear in inline and block contexts. +Meta.class &= note* & indexmark* & ERROR* + +#====================================================================== + +\text = +## General container for styled text. +## Attributes cover a variety of styling and position shifting properties. +element text { text_attributes & text_model } + +## Attributes for \elementref{text}. +text_attributes = + Common.attributes & + Positionable.attributes & + + ## 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. + attribute font { text }? & + + ## 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. + attribute size { "Huge" | "huge" | "LARGE" | "Large" | "large" | "normal" + | "small" | "footnote" | "tiny" | text }? & + + ## 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. + attribute color { text }? & + + ## the kind of frame or outline for the text. + attribute framed { "rectangle" | "underline" | text }? + +## Content model for \elementref{text}. +text_model = Inline.model + +#====================================================================== + +emph = +## Emphasized text. +element emph { emph_attributes & emph_model } + +## Attributes for \elementref{emph}. +emph_attributes = Common.attributes + +## Content model for \elementref{emph}. +emph_model = Inline.model + +#====================================================================== + +acronym = +## Represents an acronym. +element acronym { acronym_attributes & acronym_model } + +## Attributes for \elementref{acronym}. +acronym_attributes = + Common.attributes & + ## should be used to indicate the expansion of the acronym. + attribute name { text }? + +## Content model for \elementref{acronym}. +acronym_model = Inline.model + +#====================================================================== + +rule = +## A Rule. +element rule { rule_attributes & rule_model } + +## Attributes for \elementref{rule}. +rule_attributes = Common.attributes & Positionable.attributes + +## Content model for \elementref{rule}. +rule_model = empty + +#====================================================================== + +ref = +## 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). +element ref { ref_attributes & ref_model } + +## Attributes for \elementref{ref}. +ref_attributes = + Common.attributes & + + ## reference to an internal identifier. + IDREF.attributes & + + ## reference to a LaTeX labelled object; + ## See the \attr{labels} attribute of \patternref{Labelled.attributes}. + attribute labelref { text }? & + + ## reference to an arbitrary url. + attribute href { text }? & + + ## 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. + attribute show { text }? & + + ## gives a longer form description of the target, + ## this would typically appear as a tooltip in HTML. + ## Typically filled in by postprocessor. + attribute title { text }? + +## Content model for \elementref{ref}. +ref_model = Inline.model + +#====================================================================== + +anchor = +## Inline anchor. +element anchor { anchor_attributes & anchor_model } + +## Attributes for \elementref{anchor}. +anchor_attributes = Common.attributes & ID.attributes + +## Content model for \elementref{anchor}. +anchor_model = Inline.model + +#====================================================================== + +cite = +## 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. +element cite { cite_attributes & cite_model } + +## Attributes for \elementref{cite}. +cite_attributes = Common.attributes + +## Content model for \elementref{cite}. +cite_model = Inline.model + +#====================================================================== + +bibref = +## A bibliographic citation refering to a specific bibliographic item. +element bibref { bibref_attributes & bibref_model } + +## Attributes for \elementref{bibref}. +bibref_attributes = + Common.attributes & + IDREF.attributes & + + ## a comma separated list of bibliographic keys. + ## (See the \attr{key} attribute of \elementref{bibitem} and \elementref{bibentry}) + attribute bibrefs { text }? & + + ## 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. + attribute show { text }? & + + ## separator between formatted references + attribute separator { text }? & + + ## separator between formatted years when duplicate authors are combined. + attribute yyseparator { text }? + +## Content model for \elementref{bibref}. +bibref_model = bibrefphrase* + +#====================================================================== + +bibrefphrase = +## A preceding or following phrase used in composing a bibliographic reference, +## such as listing pages or chapter. +element bibrefphrase { bibrefphrase_attributes & bibrefphrase_model } + +## Attributes for \elementref{bibrefphrase} +bibrefphrase_attributes = Common.attributes + +## Content model for \elementref{bibrefphrase} +bibrefphrase_model = Inline.model + +#====================================================================== + +note = +## Metadata that covers several `out of band' annotations. +## It's content allows both inline and block-level content. +element note { note_attributes & note_model } + +## Attributes for \elementref{note}. +note_attributes = + Common.attributes & + + ## indicates the desired visible marker to be linked to the note. + attribute mark { text }? & + + ## indicates the kind of note + attribute role { "footnote" | text }? + +## Content model for \elementref{note}. +note_model = Flow.model + +# should mark be more like label/refnum ? + +#====================================================================== + +ERROR = +## error object for undefined control sequences, or whatever +element ERROR { ERROR_attributes & ERROR_model } + +## Attributes for \elementref{ERROR}. +ERROR_attributes = Common.attributes + +## Content model for \elementref{ERROR}. +ERROR_model = text* + +#====================================================================== + +indexmark = +## Metadata to record an indexing position. The content is +## a sequence of \elementref{indexphrase}, each representing a level in +## a multilevel indexing entry. +element indexmark { indexmark_attributes & indexmark_model } + +## Attributes for \elementref{indexmark}. +indexmark_attributes = + Common.attributes & + ## a flattened form (like \attr{key}) of another \elementref{indexmark}, + ## used to crossreference. + attribute see_also { text }? & + + ## NOTE: describe this. + attribute style { text }? + +## Content model for \elementref{indexmark}. +indexmark_model = indexphrase*, indexsee* + +#====================================================================== + +indexphrase = +## A phrase within an \elementref{indexmark} +element indexphrase { indexphrase_attributes & indexphrase_model } + +## Attributes for \elementref{indexphrase}. +indexphrase_attributes = + Common.attributes & + + ## a flattened form of the phrase for generating an \attr{ID}. + attribute key { text }? + +## Content model for \elementref{indexphrase}. +indexphrase_model = Inline.model + +indexsee = +## A see-also phrase within an \elementref{indexmark} +element indexsee { indexsee_attributes & indexsee_model } + +## Attributes for \elementref{indexsee}. +indexsee_attributes = + Common.attributes & + + ## a flattened form of the phrase for generating an \attr{ID}. + attribute key { text }? & + + ## a name for the see phrase, such as "see also". + attribute name { text }? + + +## Content model for \elementref{indexsee}. +indexsee_model = Inline.model + +#====================================================================== diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rng new file mode 100644 index 00000000000..8c1d793a966 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rng @@ -0,0 +1,444 @@ +<?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="choice"> + <a:documentation>The inline module defines basic inline elements used throughout </a:documentation> + <choice> + <ref name="text"/> + <ref name="emph"/> + <ref name="acronym"/> + <ref name="rule"/> + <ref name="anchor"/> + <ref name="ref"/> + <ref name="cite"/> + <ref name="bibref"/> + </choice> + </define> + <define name="Meta.class" combine="choice"> + <a:documentation>Additionally, it defines these meta elements. These are generally hidden, +and can appear in inline and block contexts.</a:documentation> + <choice> + <ref name="note"/> + <ref name="indexmark"/> + <ref name="ERROR"/> + </choice> + </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> + <ref name="text_attributes"/> + <ref name="text_model"/> + </element> + </define> + <define name="text_attributes"> + <a:documentation>Attributes for \elementref{text}.</a:documentation> + <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> + </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> + <ref name="emph_attributes"/> + <ref name="emph_model"/> + </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> + <ref name="acronym_attributes"/> + <ref name="acronym_model"/> + </element> + </define> + <define name="acronym_attributes"> + <a:documentation>Attributes for \elementref{acronym}.</a:documentation> + <ref name="Common.attributes"/> + <optional> + <attribute name="name"> + <a:documentation>should be used to indicate the expansion of the acronym.</a:documentation> + </attribute> + </optional> + </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> + <ref name="rule_attributes"/> + <ref name="rule_model"/> + </element> + </define> + <define name="rule_attributes"> + <a:documentation>Attributes for \elementref{rule}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Positionable.attributes"/> + </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> + <ref name="ref_attributes"/> + <ref name="ref_model"/> + </element> + </define> + <define name="ref_attributes"> + <a:documentation>Attributes for \elementref{ref}.</a:documentation> + <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> + </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> + <ref name="anchor_attributes"/> + <ref name="anchor_model"/> + </element> + </define> + <define name="anchor_attributes"> + <a:documentation>Attributes for \elementref{anchor}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="cite_attributes"/> + <ref name="cite_model"/> + </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> + <ref name="bibref_attributes"/> + <ref name="bibref_model"/> + </element> + </define> + <define name="bibref_attributes"> + <a:documentation>Attributes for \elementref{bibref}.</a:documentation> + <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> + </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> + <ref name="bibrefphrase_attributes"/> + <ref name="bibrefphrase_model"/> + </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> + <ref name="note_attributes"/> + <ref name="note_model"/> + </element> + </define> + <define name="note_attributes"> + <a:documentation>Attributes for \elementref{note}.</a:documentation> + <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> + </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> + <ref name="ERROR_attributes"/> + <ref name="ERROR_model"/> + </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> + <ref name="indexmark_attributes"/> + <ref name="indexmark_model"/> + </element> + </define> + <define name="indexmark_attributes"> + <a:documentation>Attributes for \elementref{indexmark}.</a:documentation> + <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> + </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> + <ref name="indexphrase_attributes"/> + <ref name="indexphrase_model"/> + </element> + </define> + <define name="indexphrase_attributes"> + <a:documentation>Attributes for \elementref{indexphrase}.</a:documentation> + <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> + </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> + <ref name="indexsee_attributes"/> + <ref name="indexsee_model"/> + </element> + </define> + <define name="indexsee_attributes"> + <a:documentation>Attributes for \elementref{indexsee}.</a:documentation> + <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> + </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/rnc/LaTeXML/LaTeXML-math.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rnc new file mode 100644 index 00000000000..d310c3df53b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rnc @@ -0,0 +1,374 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +## 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. +Inline.class &= Math* + +## This class defines the content of the \elementref{Math} element. +## Additionally, it could contain MathML or OpenMath, after postprocessing. +Math.class = XMath + +## These elements comprise the internal math representation, being +## the content of the \elementref{XMath} element. +XMath.class = XMApp* & XMTok* & XMRef* & XMHint* & XMArg* & XMWrap* & XMDual* & XMText* & XMArray* + +#====================================================================== + +Math = +## Outer container for all math. This holds the internal +## \elementref{XMath} representation, as well as image data and other representations. +element Math { Math_attributes & Math_model } + +## Attributes for \elementref{Math}. +Math_attributes = + Common.attributes & + Imageable.attributes & + ID.attributes & + + ## display or inline mode. + attribute mode { "display" | "inline" }? & + + ## reconstruction of the \TeX\ that generated the math. + attribute tex { text }? & + + ## more semantic version of \attr{tex}. + attribute content-tex { text }? & + + ## a textified representation of the math. + attribute text { text }? + +## Content model for \elementref{Math}. +Math_model = Math.class + +#====================================================================== +XMath.attributes = + + ## The role that this item plays in the Grammar. + attribute role { text }? & + + ## an open delimiter to enclose the object; + attribute open { text }? & + + ## an close delimiter to enclose the object; + attribute close { text }? & + + ## an open delimiter to enclose the argument list, + ## when this token is applied to arguments with \elementref{XMApp}. + attribute argopen { text }? & + + ## a close delimiter to enclose the argument list, + ## when this token is applied to arguments with \elementref{XMApp}. + attribute argclose { text }? & + + ## 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. + attribute separators { text }? & + + ## trailing (presumably non-semantic) punctuation. + attribute punctuation { text }? & + + ## an annotation placed by the parser when it suspects this token may be used as a function. + attribute possibleFunction { text }? + +#====================================================================== + +XMath = +## Internal representation of mathematics. +element XMath { XMath_attributes & XMath_model } + +## Attributes for \elementref{XMath}. +XMath_attributes = Common.attributes + +## Content model for \elementref{XMath}. +XMath_model = XMath.class + +#====================================================================== + +XMTok = +## General mathematical token. +element XMTok { XMTok_attributes & XMTok_model } + +## Attributes for \elementref{XMTok}. +XMTok_attributes = + Common.attributes & + XMath.attributes & + ID.attributes & + + ## The name of the token, typically the control sequence that created it. + attribute name { text }? & + + ## A more semantic name corresponding to the intended meaning, + ## such as the OpenMath name. + attribute meaning { text }? & + + ## The OpenMath CD for which \attr{meaning} is a symbol. + attribute omcd { text }? & + + ## Various random styling information. NOTE This needs to be made consistent. + attribute style { text }? & + + ## The font, size a used for the symbol. + attribute font { text }? & + + ## The size for the symbol, not presumed to be meaningful(?) + attribute size { text }? & + + ## The color (CSS format) for the symbol, not presumed to be meaningful(?) + attribute color { text }? & + + ## 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? + attribute scriptpos { text }? & + + ## NOTE: How is this used? + attribute thickness { text }? + +## Content model for \elementref{XMTok}. +XMTok_model = text* + + +#====================================================================== + +XMApp = +## 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}. +element XMApp { XMApp_attributes & XMApp_model } + +## Attributes for \elementref{XMApp}. +XMApp_attributes = + Common.attributes & + XMath.attributes & + ID.attributes & + + ## The name of the token, typically the control sequence that created it. + attribute name { text }? & + + ## A more semantic name corresponding to the intended meaning, + ## such as the OpenMath name. + attribute meaning { text }? & + + ## 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) + attribute scriptpos { text }? + +## Content model for \elementref{XMApp}. +XMApp_model = XMath.class + +#====================================================================== + +XMDual = +## 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 +element XMDual { XMDual_attributes & XMDual_model } + +## Attributes for \elementref{XMDual}. +XMDual_attributes = + Common.attributes & + XMath.attributes & + ID.attributes + +## Content model for \elementref{XMDual}. +XMDual_model = XMath.class, XMath.class + +#====================================================================== + +XMHint = +## Various spacing items, generally ignored in parsing. +## The attributes are a subset of those for \elementref{XMTok}. +element XMHint { XMHint_attributes & XMHint_model } + +## Attributes for \elementref{XMHint}. +XMHint_attributes = + Common.attributes & + XMath.attributes & + ID.attributes & + attribute name { text }? & + attribute meaning { text }? & + attribute style { text }? + +## Content model for \elementref{XMHint}. +XMHint_model = empty + +#====================================================================== + +XMText = +## Text appearing within math. +element XMText { XMText_attributes & XMText_model } + +## Attributes for \elementref{XMText}. +XMText_attributes = + Common.attributes & + XMath.attributes & + ID.attributes & + + ## 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) + attribute scriptpos { text }? + +## Content model for \elementref{XMText}. +XMText_model = text & Inline.class & Misc.class + +#====================================================================== + +XMWrap = +## 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}. +element XMWrap { XMWrap_attributes & XMWrap_model } + +## Attributes for \elementref{XMWrap}. +XMWrap_attributes = + Common.attributes & + XMath.attributes & + ID.attributes & + + attribute name { text }? & + + ## A more semantic name corresponding to the intended meaning, + ## such as the OpenMath name. + attribute meaning { text }? & + + attribute style { text }? & + + ## 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) + attribute scriptpos { text }? + + +## Content model for \elementref{XMWrap}. +XMWrap_model = XMath.class + +#====================================================================== + +XMArg = +## 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. +element XMArg { XMArg_attributes & XMArg_model } + +## Attributes for \elementref{XMArg}. +XMArg_attributes = + Common.attributes & + XMath.attributes & + ID.attributes & + attribute rule { text }? & + + ## 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) + attribute scriptpos { text }? + +## Content model for \elementref{XMArg}. +XMArg_model = XMath.class + +#====================================================================== + +XMRef = +## Structure sharing element typically used in the presentation +## branch of an \elementref{XMDual} to refer to the arguments present in the content branch. +element XMRef { XMRef_attributes & XMRef_model } + +## Attributes for \elementref{XMRef}. +XMRef_attributes = + Common.attributes & + XMath.attributes & + ID.attributes & + IDREF.attributes + +## Content model for \elementref{XMRef}. +XMRef_model = empty + +#====================================================================== + +XMArray = +## Math Array/Alignment structure. +# The attributes are a subset of those for \elementref{XMTok} or of \elementref{tabular}. +element XMArray { XMArray_attributes & XMArray_model } + +## Attributes for \elementref{XMArray}. +XMArray_attributes = + Common.attributes & + XMath.attributes & + ID.attributes & + attribute name { text }? & + attribute meaning { text }? & + attribute style { text }? & + attribute vattach { "top" | "bottom" }? & + attribute width { text }? + +## Content model for \elementref{XMArray}. +XMArray_model = XMRow* + +#====================================================================== +XMRow = +## A row in a math alignment. +element XMRow { XMRow_attributes & XMRow_model } + +## Attributes for \elementref{XMRow}. +XMRow_attributes = Common.attributes + +## Content model for \elementref{XMRow}. +XMRow_model = XMCell* + +#====================================================================== + +XMCell = +## A cell in a row of a math alignment. +element XMCell { XMCell_attributes & XMCell_model } + +## Attributes for \elementref{XMCell}. +XMCell_attributes = + Common.attributes & + + ## indicates how many columns this cell spans or covers. + attribute colspan { xsd:nonNegativeInteger }? & + + ## indicates how many rows this cell spans or covers. + attribute rowpan { xsd:nonNegativeInteger }? & + +# This would have been clearer, but messes up conversion to dtd +# attribute align { "left" | "right" | "center" | "justify" | text }? & + ## specifies the alignment of the content. + attribute align { text }? & + + ## specifies the desired width for the column. + attribute width { text }? & + + ## 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. + attribute border { text }? & + + ## whether this cell corresponds to a table head or foot. + attribute thead {xsd:boolean}? + +## Content model for \elementref{XMCell}. +XMCell_model = XMath.class +#====================================================================== diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rng new file mode 100644 index 00000000000..c9e3babe837 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rng @@ -0,0 +1,557 @@ +<?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="choice"> + <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> + <ref name="Math"/> + </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> + <choice> + <ref name="XMApp"/> + <ref name="XMTok"/> + <ref name="XMRef"/> + <ref name="XMHint"/> + <ref name="XMArg"/> + <ref name="XMWrap"/> + <ref name="XMDual"/> + <ref name="XMText"/> + <ref name="XMArray"/> + </choice> + </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> + <ref name="Math_attributes"/> + <ref name="Math_model"/> + </element> + </define> + <define name="Math_attributes"> + <a:documentation>Attributes for \elementref{Math}.</a:documentation> + <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> + </define> + <define name="Math_model"> + <a:documentation>Content model for \elementref{Math}.</a:documentation> + <zeroOrMore> + <ref name="Math.class"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="XMath.attributes"> + <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> + </define> + <!-- ====================================================================== --> + <define name="XMath"> + <element name="XMath"> + <a:documentation>Internal representation of mathematics.</a:documentation> + <ref name="XMath_attributes"/> + <ref name="XMath_model"/> + </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> + <zeroOrMore> + <ref name="XMath.class"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="XMTok"> + <element name="XMTok"> + <a:documentation>General mathematical token.</a:documentation> + <ref name="XMTok_attributes"/> + <ref name="XMTok_model"/> + </element> + </define> + <define name="XMTok_attributes"> + <a:documentation>Attributes for \elementref{XMTok}.</a:documentation> + <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> + </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> + <ref name="XMApp_attributes"/> + <ref name="XMApp_model"/> + </element> + </define> + <define name="XMApp_attributes"> + <a:documentation>Attributes for \elementref{XMApp}.</a:documentation> + <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> + </define> + <define name="XMApp_model"> + <a:documentation>Content model for \elementref{XMApp}.</a:documentation> + <zeroOrMore> + <ref name="XMath.class"/> + </zeroOrMore> + </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> + <ref name="XMDual_attributes"/> + <ref name="XMDual_model"/> + </element> + </define> + <define name="XMDual_attributes"> + <a:documentation>Attributes for \elementref{XMDual}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="XMHint_attributes"/> + <ref name="XMHint_model"/> + </element> + </define> + <define name="XMHint_attributes"> + <a:documentation>Attributes for \elementref{XMHint}.</a:documentation> + <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> + </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> + <ref name="XMText_attributes"/> + <ref name="XMText_model"/> + </element> + </define> + <define name="XMText_attributes"> + <a:documentation>Attributes for \elementref{XMText}.</a:documentation> + <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> + </define> + <define name="XMText_model"> + <a:documentation>Content model for \elementref{XMText}.</a:documentation> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + </choice> + </zeroOrMore> + </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> + <ref name="XMWrap_attributes"/> + <ref name="XMWrap_model"/> + </element> + </define> + <define name="XMWrap_attributes"> + <a:documentation>Attributes for \elementref{XMWrap}.</a:documentation> + <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> + </define> + <define name="XMWrap_model"> + <a:documentation>Content model for \elementref{XMWrap}.</a:documentation> + <zeroOrMore> + <ref name="XMath.class"/> + </zeroOrMore> + </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> + <ref name="XMArg_attributes"/> + <ref name="XMArg_model"/> + </element> + </define> + <define name="XMArg_attributes"> + <a:documentation>Attributes for \elementref{XMArg}.</a:documentation> + <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> + </define> + <define name="XMArg_model"> + <a:documentation>Content model for \elementref{XMArg}.</a:documentation> + <zeroOrMore> + <ref name="XMath.class"/> + </zeroOrMore> + </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> + <ref name="XMRef_attributes"/> + <ref name="XMRef_model"/> + </element> + </define> + <define name="XMRef_attributes"> + <a:documentation>Attributes for \elementref{XMRef}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="XMath.attributes"/> + <ref name="ID.attributes"/> + <ref name="IDREF.attributes"/> + </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> + <ref name="XMArray_attributes"/> + <ref name="XMArray_model"/> + </element> + </define> + <define name="XMArray_attributes"> + <a:documentation>Attributes for \elementref{XMArray}.</a:documentation> + <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> + </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> + <ref name="XMRow_attributes"/> + <ref name="XMRow_model"/> + </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> + <ref name="XMCell_attributes"/> + <ref name="XMCell_model"/> + </element> + </define> + <define name="XMCell_attributes"> + <a:documentation>Attributes for \elementref{XMCell}.</a:documentation> + <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> + </define> + <define name="XMCell_model"> + <a:documentation>Content model for \elementref{XMCell}.</a:documentation> + <zeroOrMore> + <ref name="XMath.class"/> + </zeroOrMore> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rnc new file mode 100644 index 00000000000..42c3c46f4be --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rnc @@ -0,0 +1,193 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +## This module defines the following `logical' block elements. +Para.class &= para* + & theorem* & proof* + & figure* & table* & float* & listing* + +## Additionally, it defines these miscellaneous elements that can appear +## in both inline and block contexts. +Misc.class &= inline-para* + +#====================================================================== + +para = +## A Logical paragraph. It has an \attr{id}, but not a \attr{label}. +element para { para_attributes & para_model } + +## Attributes for \elementref{para}. +para_attributes = Common.attributes & ID.attributes + + +## Content model for \elementref{para}. +para_model = Block.model + +#====================================================================== + +inline-para = +## An inline para. Actually, can appear in inline or block mode, but +## typesets its contents as para. +element inline-para { inline-para_attributes & inline-para_model } + +## Attributes for \elementref{inline-para}. +inline-para_attributes = Common.attributes & Positionable.attributes + +## Content model for \elementref{inline-para}. +inline-para_model = Para.model + +#====================================================================== + +theorem = +## A theorem or similar object. The \attr{class} attribute can be used to distinguish +## different kinds of theorem. +element theorem { theorem_attributes & theorem_model } + +## Attributes for \elementref{theorem}. +theorem_attributes = Common.attributes & Labelled.attributes + +## Content model for \elementref{theorem}. +theorem_model = title? & Para.model + +#====================================================================== + +proof = +## A proof or similar object. The \attr{class} attribute can be used to distinguish +## different kinds of proof. +element proof { proof_attributes & proof_model } + +## Attributes for \elementref{proof}. +proof_attributes = Common.attributes & Labelled.attributes + +## Content model for \elementref{proof}. +proof_model = title? & Para.model + +#====================================================================== + +## 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? +Caption.class = caption | toccaption + +#====================================================================== + +figure = +## A figure, possibly captioned. +element figure { figure_attributes & figure_model } + +## Attributes for \elementref{figure}. +figure_attributes = + Common.attributes & + Labelled.attributes & + Positionable.attributes & + + ## the vertical floating placement parameter that determines where the object is displayed. + attribute placement { text }? + +### MiKo: only allowing one caption, is this right? same for table, float, and listing below +## Content model for \elementref{figure}. +figure_model = figure* & Block.model & Caption.class + +#====================================================================== + +table = +## A Table, possibly captioned. This is not necessarily a \elementref{tabular}. +element table { table_attributes & table_model } + +## Attributes for \elementref{table}. +table_attributes = + Common.attributes & + Labelled.attributes & + Positionable.attributes & + + ## the vertical floating placement parameter that determines where the object is displayed. + attribute placement { text }? + +## Content model for \elementref{table}. +table_model = table* & Block.model & Caption.class + +#====================================================================== + +float = +## A generic float, possibly captioned, something other than a table, figure or listing +element float { float_attributes & float_model } + +## Attributes for \elementref{float}. +float_attributes = + Common.attributes & + Labelled.attributes & + Positionable.attributes & + + ## the vertical floating placement parameter that determines where the object is displayed. + attribute placement { text }? + +## Content model for \elementref{float}. +float_model = float* & Block.model & Caption.class + +#====================================================================== + +listing = +## A Listing, possibly captioned. +element listing { listing_attributes & listing_model } + +## Attributes for \elementref{listing}. +listing_attributes = + Common.attributes & + Labelled.attributes & + Positionable.attributes & + + ## the floating placement parameter that determines where the object is displayed. + attribute placement { text }? + +## Content model for \elementref{listing}. +listing_model = Block.model & Caption.class + +#====================================================================== + +caption = +## A caption for a \elementref{table} or \elementref{figure}. +element caption { caption_attributes & caption_model } + +## Attributes for \elementref{caption}. +caption_attributes = + Common.attributes & + attribute font { text }? & + + ## Indicates the text size to use. (See \elementref{text}) + attribute size { "Huge" | "huge" | "LARGE" | "Large" | "large" | "normal" + | "small" | "footnote" | "tiny" | text }? & + + ## the color to use; any CSS compatible color specification. + attribute color { text }? + + +## Content model for \elementref{caption}, +## basically Inline.model with tag included (normally, but not necessarily, tag would come first). +caption_model = tag* & text & Inline.class & Misc.class & Meta.class + +#====================================================================== + +toccaption = +## A short form of \elementref{table} or \elementref{figure} caption, +## used for lists of figures or similar. +element toccaption { toccaption_attributes & toccaption_model } + +## Attributes for \elementref{toccaption}. +toccaption_attributes = Common.attributes + +### MiKo: here we allowed multiple tags, but now we can restrict, do we want that? +## Content model for \elementref{toccaption}. +toccaption_model = text & Inline.class & Misc.class & Meta.class & tag* +#====================================================================== diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rng new file mode 100644 index 00000000000..a5cd7320bac --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rng @@ -0,0 +1,312 @@ +<?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="choice"> + <a:documentation>This module defines the following `logical' block elements.</a:documentation> + <choice> + <ref name="para"/> + <ref name="theorem"/> + <ref name="proof"/> + <ref name="figure"/> + <ref name="table"/> + <ref name="float"/> + <ref name="listing"/> + </choice> + </define> + <define name="Misc.class" combine="choice"> + <a:documentation>Additionally, it defines these miscellaneous elements that can appear +in both inline and block contexts.</a:documentation> + <ref name="inline-para"/> + </define> + <!-- ====================================================================== --> + <define name="para"> + <element name="para"> + <a:documentation>A Logical paragraph. It has an \attr{id}, but not a \attr{label}.</a:documentation> + <ref name="para_attributes"/> + <ref name="para_model"/> + </element> + </define> + <define name="para_attributes"> + <a:documentation>Attributes for \elementref{para}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="inline-para_attributes"/> + <ref name="inline-para_model"/> + </element> + </define> + <define name="inline-para_attributes"> + <a:documentation>Attributes for \elementref{inline-para}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Positionable.attributes"/> + </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> + <ref name="theorem_attributes"/> + <ref name="theorem_model"/> + </element> + </define> + <define name="theorem_attributes"> + <a:documentation>Attributes for \elementref{theorem}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="theorem_model"> + <a:documentation>Content model for \elementref{theorem}.</a:documentation> + <optional> + <ref name="title"/> + </optional> + <ref name="Para.model"/> + </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> + <ref name="proof_attributes"/> + <ref name="proof_model"/> + </element> + </define> + <define name="proof_attributes"> + <a:documentation>Attributes for \elementref{proof}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="proof_model"> + <a:documentation>Content model for \elementref{proof}.</a:documentation> + <optional> + <ref name="title"/> + </optional> + <ref name="Para.model"/> + </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> + <ref name="figure_attributes"/> + <ref name="figure_model"/> + </element> + </define> + <define name="figure_attributes"> + <a:documentation>Attributes for \elementref{figure}.</a:documentation> + <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> + </define> + <define name="figure_model"> + <a:documentation>Content model for \elementref{figure}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="figure"/> + <ref name="Block.model"/> + <ref name="Caption.class"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="table"> + <element name="table"> + <a:documentation>A Table, possibly captioned. This is not necessarily a \elementref{tabular}.</a:documentation> + <ref name="table_attributes"/> + <ref name="table_model"/> + </element> + </define> + <define name="table_attributes"> + <a:documentation>Attributes for \elementref{table}.</a:documentation> + <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> + </define> + <define name="table_model"> + <a:documentation>Content model for \elementref{table}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="table"/> + <ref name="Block.model"/> + <ref name="Caption.class"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="float"> + <element name="float"> + <a:documentation>A generic float, possibly captioned, something other than a table, figure or listing</a:documentation> + <ref name="float_attributes"/> + <ref name="float_model"/> + </element> + </define> + <define name="float_attributes"> + <a:documentation>Attributes for \elementref{float}.</a:documentation> + <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> + </define> + <define name="float_model"> + <a:documentation>Content model for \elementref{float}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="float"/> + <ref name="Block.model"/> + <ref name="Caption.class"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="listing"> + <element name="listing"> + <a:documentation>A Listing, possibly captioned.</a:documentation> + <ref name="listing_attributes"/> + <ref name="listing_model"/> + </element> + </define> + <define name="listing_attributes"> + <a:documentation>Attributes for \elementref{listing}.</a:documentation> + <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> + </define> + <define name="listing_model"> + <a:documentation>Content model for \elementref{listing}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Block.model"/> + <ref name="Caption.class"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="caption"> + <element name="caption"> + <a:documentation>A caption for a \elementref{table} or \elementref{figure}.</a:documentation> + <ref name="caption_attributes"/> + <ref name="caption_model"/> + </element> + </define> + <define name="caption_attributes"> + <a:documentation>Attributes for \elementref{caption}.</a:documentation> + <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> + </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> + <zeroOrMore> + <choice> + <ref name="tag"/> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </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> + <ref name="toccaption_attributes"/> + <ref name="toccaption_model"/> + </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>Content model for \elementref{toccaption}.</a:documentation> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + <ref name="tag"/> + </choice> + </zeroOrMore> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rnc new file mode 100644 index 00000000000..dcf8bf8cf15 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rnc @@ -0,0 +1,285 @@ +# /=====================================================================\ +# | 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? +# ====================================================================== + +default namespace = "http://dlmf.nist.gov/LaTeXML" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + +## This module defines a picture environment, roughly a subset of SVG. +## NOTE: Consider whether it is sensible to drop this and incorporate SVG itself. +Misc.class &= picture* + +#====================================================================== + +Picture.class = + g* & rect* & line* & circle* & path* + & arc* & wedge* & ellipse* & polygon* & bezier* + & parabola* & curve* & dots* & grid* & clip* + +## These attributes correspond roughly to SVG, but need documentation. +Picture.attributes = + attribute x { text }? & + attribute y { text }? & + attribute r { text }? & + attribute rx { text }? & + attribute ry { text }? & + attribute width { text }? & + attribute height { text }? & + attribute fill { text }? & + attribute stroke { text }? & + attribute stroke-width { text }? & + attribute stroke-dasharray { text }? & + attribute transform { text }? & + attribute terminators { text }? & + attribute arrowlength { text }? & + attribute points { text }? & + attribute showpoints { text }? & + attribute displayedpoints { text }? & + attribute arc { text }? & + attribute angle1 { text }? & + attribute angle2 { text }? & + attribute arcsepA { text }? & + attribute arcsepB { text }? & + attribute curvature { text }? + +## These attributes correspond roughly to SVG, but need documentation. +PictureGroup.attributes = + attribute pos { text }? & + attribute framed {xsd:boolean}? & + [ a:defaultValue = "rect" ] + attribute frametype { "rect" | "circle" | "oval" }? & + attribute fillframe {xsd:boolean }? & + attribute boxsep { text }? & + attribute shadowbox {xsd:boolean}? & + attribute doubleline {xsd:boolean}? + +#====================================================================== + +picture = +## A picture environment. +element picture { picture_attributes & picture_model } + +## Attributes for \elementref{picture}. +picture_attributes = + Common.attributes & + ID.attributes & + Picture.attributes & + Imageable.attributes & + attribute clip {xsd:boolean}? & + attribute baseline { text }? & + attribute unitlength { text }? & + attribute xunitlength { text }? & + attribute yunitlength { text }? & + attribute tex { text }? & + attribute content-tex { text }? + +## Content model for \elementref{picture}. +picture_model = Picture.class & Inline.class & Misc.class & Meta.class + +#====================================================================== + +g = +## A graphical grouping; the content is inherits by the transformations, +## positioning and other properties. +element g { g_attributes & g_model } + +## Attributes for \elementref{g}. +g_attributes = Common.attributes & Picture.attributes & PictureGroup.attributes + +## Content model for \elementref{g}. +g_model = Picture.class & Inline.class & Misc.class & Meta.class + +#====================================================================== + +rect = +## A rectangle within a \elementref{picture}. +element rect { rect_attributes & rect_model } + +## Attributes for \elementref{rect}. +rect_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{rect}. +rect_model = empty + +#====================================================================== + +line = +## A line within a \elementref{picture}. +element line { line_attributes & line_model } + +## Attributes for \elementref{line}. +line_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{line}. +line_model = empty + +#====================================================================== + +polygon = +## A polygon within a \elementref{picture}. +element polygon { polygon_attributes & polygon_model } + +## Attributes for \elementref{polygon}. +polygon_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{polygon}. +polygon_model = empty + +#====================================================================== + +wedge = +## A wedge within a \elementref{picture}. +element wedge { wedge_attributes & wedge_model } + +## Attributes for \elementref{wedge}. +wedge_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{wedge}. +wedge_model = empty + +#====================================================================== + +arc = +## An arc within a \elementref{picture}. +element arc { arc_attributes & arc_model } + +## Attributes for \elementref{arc}. +arc_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{arc}. +arc_model = empty + +#====================================================================== + +circle = +## A circle within a \elementref{picture}. +element circle { circle_attributes & circle_model } + +## Attributes for \elementref{circle}. +circle_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{circle}. +circle_model = empty + +#====================================================================== + +ellipse = +## An ellipse within a \elementref{picture}. +element ellipse { ellipse_attributes & ellipse_model } + +## Attributes for \elementref{ellipse}. +ellipse_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{ellipse}. +ellipse_model = empty + +#====================================================================== + +path = +## A path within a \elementref{picture}. +element path { path_attributes & path_model } + +## Attributes for \elementref{path}. +path_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{path}. +path_model = empty + +#====================================================================== + +bezier = +## A bezier curve within a \elementref{picture}. +element bezier { bezier_attributes & bezier_model } + +## Attributes for \elementref{bezier}. +bezier_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{bezier}. +bezier_model = empty + +#====================================================================== + +curve = +## A curve within a \elementref{picture}. +element curve { curve_attributes & curve_model } + +## Attributes for \elementref{curve}. +curve_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{curve}. +curve_model = empty + +#====================================================================== + +parabola = +## A parabola curve within a \elementref{picture}. +element parabola { parabola_attributes & parabola_model } + +## Attributes for \elementref{parabola}. +parabola_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{parabola}. +parabola_model = empty + +#====================================================================== + +dots = +## A sequence of dots (?) within a \elementref{picture}. +element dots { dots_attributes & dots_model } + +## Attributes for \elementref{dots}. +dots_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{dots}. +dots_model = empty + +#====================================================================== + +grid = +## A grid within a \elementref{picture}. +element grid { grid_attributes & grid_model } + +## Attributes for \elementref{grid}. +grid_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{grid}. +grid_model = empty + +#====================================================================== + +clip = +## Establishes a clipping region within a \elementref{picture}. +element clip { clip_attributes & clip_model } + +## Attributes for \elementref{clip}. +clip_attributes = Common.attributes & Picture.attributes + + +## Content model for \elementref{clip}. +clip_model = clippath* + +#====================================================================== + +clippath = +## Establishes a clipping region within a \elementref{picture}. +element clippath { clippath_attributes & clippath_model } + +## Attributes for \elementref{clippath}. +clippath_attributes = Common.attributes & Picture.attributes + +## Content model for \elementref{clippath}. +clippath_model = Picture.class & Inline.class & Misc.class & Meta.class + +#====================================================================== diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rng new file mode 100644 index 00000000000..890d006110a --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rng @@ -0,0 +1,496 @@ +<?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="choice"> + <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> + <ref name="picture"/> + </define> + <!-- ====================================================================== --> + <define name="Picture.class"> + <choice> + <ref name="g"/> + <ref name="rect"/> + <ref name="line"/> + <ref name="circle"/> + <ref name="path"/> + <ref name="arc"/> + <ref name="wedge"/> + <ref name="ellipse"/> + <ref name="polygon"/> + <ref name="bezier"/> + <ref name="parabola"/> + <ref name="curve"/> + <ref name="dots"/> + <ref name="grid"/> + <ref name="clip"/> + </choice> + </define> + <define name="Picture.attributes"> + <a:documentation>These attributes correspond roughly to SVG, but need documentation.</a:documentation> + <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> + </define> + <define name="PictureGroup.attributes"> + <a:documentation>These attributes correspond roughly to SVG, but need documentation.</a:documentation> + <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> + </define> + <!-- ====================================================================== --> + <define name="picture"> + <element name="picture"> + <a:documentation>A picture environment.</a:documentation> + <ref name="picture_attributes"/> + <ref name="picture_model"/> + </element> + </define> + <define name="picture_attributes"> + <a:documentation>Attributes for \elementref{picture}.</a:documentation> + <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> + </define> + <define name="picture_model"> + <a:documentation>Content model for \elementref{picture}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Picture.class"/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </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> + <ref name="g_attributes"/> + <ref name="g_model"/> + </element> + </define> + <define name="g_attributes"> + <a:documentation>Attributes for \elementref{g}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + <ref name="PictureGroup.attributes"/> + </define> + <define name="g_model"> + <a:documentation>Content model for \elementref{g}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Picture.class"/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="rect"> + <element name="rect"> + <a:documentation>A rectangle within a \elementref{picture}.</a:documentation> + <ref name="rect_attributes"/> + <ref name="rect_model"/> + </element> + </define> + <define name="rect_attributes"> + <a:documentation>Attributes for \elementref{rect}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="line_attributes"/> + <ref name="line_model"/> + </element> + </define> + <define name="line_attributes"> + <a:documentation>Attributes for \elementref{line}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="polygon_attributes"/> + <ref name="polygon_model"/> + </element> + </define> + <define name="polygon_attributes"> + <a:documentation>Attributes for \elementref{polygon}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="wedge_attributes"/> + <ref name="wedge_model"/> + </element> + </define> + <define name="wedge_attributes"> + <a:documentation>Attributes for \elementref{wedge}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="arc_attributes"/> + <ref name="arc_model"/> + </element> + </define> + <define name="arc_attributes"> + <a:documentation>Attributes for \elementref{arc}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="circle_attributes"/> + <ref name="circle_model"/> + </element> + </define> + <define name="circle_attributes"> + <a:documentation>Attributes for \elementref{circle}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="ellipse_attributes"/> + <ref name="ellipse_model"/> + </element> + </define> + <define name="ellipse_attributes"> + <a:documentation>Attributes for \elementref{ellipse}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="path_attributes"/> + <ref name="path_model"/> + </element> + </define> + <define name="path_attributes"> + <a:documentation>Attributes for \elementref{path}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="bezier_attributes"/> + <ref name="bezier_model"/> + </element> + </define> + <define name="bezier_attributes"> + <a:documentation>Attributes for \elementref{bezier}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="curve_attributes"/> + <ref name="curve_model"/> + </element> + </define> + <define name="curve_attributes"> + <a:documentation>Attributes for \elementref{curve}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="parabola_attributes"/> + <ref name="parabola_model"/> + </element> + </define> + <define name="parabola_attributes"> + <a:documentation>Attributes for \elementref{parabola}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="dots_attributes"/> + <ref name="dots_model"/> + </element> + </define> + <define name="dots_attributes"> + <a:documentation>Attributes for \elementref{dots}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="grid_attributes"/> + <ref name="grid_model"/> + </element> + </define> + <define name="grid_attributes"> + <a:documentation>Attributes for \elementref{grid}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="clip_attributes"/> + <ref name="clip_model"/> + </element> + </define> + <define name="clip_attributes"> + <a:documentation>Attributes for \elementref{clip}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </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> + <ref name="clippath_attributes"/> + <ref name="clippath_model"/> + </element> + </define> + <define name="clippath_attributes"> + <a:documentation>Attributes for \elementref{clippath}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Picture.attributes"/> + </define> + <define name="clippath_model"> + <a:documentation>Content model for \elementref{clippath}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Picture.class"/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rnc new file mode 100644 index 00000000000..78e42ac8b73 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rnc @@ -0,0 +1,513 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +#====================================================================== + +document = +## The document root. +element document { document_attributes & document_model } + + +## The content allowable as the main body of the document. +document.body.class = Para.model & paragraph* & subsubsection* & subsection* & section* & chapter* & part* + +## Attributes for \elementref{document}. +document_attributes = Sectional.attributes + + +## Content model for \elementref{document}. +document_model = +# (FrontMatter.class & SectionalFrontMatter.class & Meta.class & titlepage*), +# document.body.class, + BackMatter.class + +#====================================================================== + +part = +## A part within a document. +element part { part_attributes & part_model } + +## The content allowable as the main body of a part. +part.body.class = Para.model & chapter* + +## Attributes for \elementref{part}. +part_attributes = Sectional.attributes + +## Content model for \elementref{part}. +part_model = SectionalFrontMatter.class, part.body.class + +#---------------------------------------------------------------------- + +chapter = +## A Chapter within a document. +element chapter { chapter_attributes & chapter_model } + +## The content allowable as the main body of a chapter. +chapter.body.class = Para.model & subparagraph* & paragraph* & subsubsection* & subsection* & section* + +## Attributes for \elementref{chapter}. +chapter_attributes = Sectional.attributes + +## Content model for \elementref{chapter}. +chapter_model = SectionalFrontMatter.class, chapter.body.class + +#---------------------------------------------------------------------- + +section = +## A Section within a document. +element section { section_attributes & section_model } + +## The content allowable as the main body of a section. +section.body.class = Para.model & subparagraph* & paragraph* & subsubsection* & subsection* + +## Attributes for \elementref{section}. +section_attributes = Sectional.attributes + +## Content model for \elementref{section}. +section_model = SectionalFrontMatter.class, section.body.class + +#---------------------------------------------------------------------- + +subsection = +## A Subsection within a document. +element subsection { subsection_attributes & subsection_model } + +## The content allowable as the main body of a chapter. +subsection.body.class = Para.model & subparagraph* & paragraph* & subsubsection* + +## Attributes for \elementref{subsection}. +subsection_attributes = Sectional.attributes + +## Content model for \elementref{subsection}. +subsection_model = SectionalFrontMatter.class, subsection.body.class + +#---------------------------------------------------------------------- + +subsubsection = +## A Subsubsection within a document. +element subsubsection { subsubsection_attributes & subsubsection_model } + +## The content allowable as the main body of a chapter. +subsubsection.body.class = Para.model & subparagraph* & paragraph* + +## Attributes for \elementref{subsubsection}. +subsubsection_attributes = Sectional.attributes + +## Content model for \elementref{subsubsection}. +subsubsection_model = SectionalFrontMatter.class, subsubsection.body.class + +#---------------------------------------------------------------------- + +paragraph = +## A Paragraph within a document. This corresponds to a `formal' marked, possibly labelled +## LaTeX Paragraph, in distinction from an unlabelled logical paragraph. +element paragraph { paragraph_attributes & paragraph_model } + +## The content allowable as the main body of a chapter. +paragraph.body.class = Para.model & subparagraph* + +## Attributes for \elementref{paragraph}. +paragraph_attributes = Sectional.attributes + +## Content model for \elementref{paragraph}. +paragraph_model = SectionalFrontMatter.class, paragraph.body.class + + +#---------------------------------------------------------------------- + +subparagraph = +## A Subparagraph within a document. +element subparagraph { subparagraph_attributes & subparagraph_model } + +## The content allowable as the main body of a chapter. +subparagraph.body.class = Para.model + +## Attributes for \elementref{subparagraph}. +subparagraph_attributes = Sectional.attributes + +## Content model for \elementref{subparagraph}. +subparagraph_model = SectionalFrontMatter.class, subparagraph.body.class + +#====================================================================== + +appendix = +## An Appendix within a document. +element appendix { appendix_attributes & appendix_model } + +## The content allowable as the main body of a chapter. +appendix.body.class = Para.model & subparagraph* & paragraph* & subsubsection* & subsection* & section* + +## Attributes for \elementref{appendix}. +appendix_attributes = Sectional.attributes + +## Content model for \elementref{appendix}. +appendix_model = SectionalFrontMatter.class, appendix.body.class + +#====================================================================== + +bibliography = +## A Bibliography within a document. +element bibliography { bibliography_attributes & bibliography_model } + +## The content allowable as the main body of a chapter. +bibliography.body.class = Para.model & biblist + +## Attributes for \elementref{bibliography}. +bibliography_attributes = + Sectional.attributes & + + ## the list of bib files used to create the bibliograph. + attribute files { text }? + +## Content model for \elementref{bibliography}. +bibliography_model = FrontMatter.class, SectionalFrontMatter.class, bibliography.body.class + +#====================================================================== + +index = +## An Index within a document. +element index { index_attributes & index_model } + +## The content allowable as the main body of a chapter. +index.body.class = Para.model & indexlist* + +## Attributes for \elementref{index}. +index_attributes = Sectional.attributes + +## Content model for \elementref{index}. +index_model = SectionalFrontMatter.class, index.body.class + +#---------------------------------------------------------------------- + +indexlist = +## A heirarchical index generated. Typically generated during postprocessing +## from the collection of \elementref{indexmark} in the document +## (or document collection). +element indexlist { indexlist_attributes & indexlist_model } + +## Attributes for \elementref{indexlist}. +indexlist_attributes = Common.attributes & ID.attributes + +## Content model for \elementref{indexlist}. +indexlist_model = indexentry* + +#---------------------------------------------------------------------- + +indexentry = +## 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. +element indexentry { indexentry_attributes & indexentry_model } + +## Attributes for \elementref{indexentry}. +indexentry_attributes = Common.attributes & ID.attributes + +## Content model for \elementref{indexentry}. +indexentry_model = indexphrase, indexrefs? , indexlist? + +#---------------------------------------------------------------------- + +indexrefs = +## 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. +element indexrefs { indexrefs_attributes & indexrefs_model } + +## Attributes for \elementref{indexrefs}. +indexrefs_attributes = Common.attributes + +## Content model for \elementref{indexrefs}. +indexrefs_model = Inline.model + +#====================================================================== + +title = +## The title of a document, section or similar document structure container. +element title { title_attributes & title_model } + +## Attributes for \elementref{title}. +title_attributes = + Common.attributes & + + ## The font prefered for the title. + attribute font { text }? & + + ## Indicates the text size to use. (See \elementref{text}) + attribute size { "Huge" | "huge" | "LARGE" | "Large" | "large" | "normal" + | "small" | "footnote" | "tiny" | text }? & + + ## the color to use; any CSS compatible color specification. + attribute color { text }? + +## Content model for \elementref{title}, +## basically Inline.model with tag included (normally, but not necessarily, tag would come first). +title_model = tag* & text & Inline.class & Misc.class & Meta.class + +#---------------------------------------------------------------------- + +toctitle = +## The short form of a title, for use in tables of contents or similar. +element toctitle { toctitle_attributes & toctitle_model } + +## Attributes for \elementref{toctitle}. +toctitle_attributes = Common.attributes + +## Content model for \elementref{toctitle}. +toctitle_model = text & Inline.class & Misc.class & Meta.class & tag* + +#---------------------------------------------------------------------- + +subtitle = +## A subtitle, or secondary title. +element subtitle { subtitle_attributes & subtitle_model } + +## Attributes for \elementref{subtitle}. +subtitle_attributes = Common.attributes + +## Content model for \elementref{subtitle}. +subtitle_model = Inline.model + +#====================================================================== + +creator = +## Generalized document creator. +element creator { creator_attributes & creator_model } + +## The content allowed in authors, editors, etc. +Person.class = personname* & contact* + +## Attributes for \elementref{creator}. +creator_attributes = + Common.attributes & FrontMatter.attributes & + + ## indicates the role of the person in creating the docment. + ## Commonly useful values are specified, but is open-ended to support extension. + attribute role { "author" | "editor" | "translator" | "contributor" | "translator" | text }? + +## Content model for \elementref{creator}. +creator_model = Person.class & Misc.class + +#---------------------------------------------------------------------- +# NOTE: This should be aligned with Bibname. + +personname = +## A person's name. +element personname { personname_attributes & personname_model } + +## Attributes for \elementref{personname}. +personname_attributes = Common.attributes + +## Content model for \elementref{personname}. +personname_model = Inline.model + +#---------------------------------------------------------------------- + +contact = +## 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. +element contact { contact_attributes & contact_model } + +## Attributes for \elementref{contact}. +contact_attributes = + Common.attributes & FrontMatter.attributes & + + ## indicates the type of contact information contained. + ## Commonly useful values are specified, but is open-ended to support extension. + attribute role { "affiliation" | "address" | "current_address" | "email" | "url" + | "thanks" | "dedicatory" | text }? + +## Content model for \elementref{contact}. +contact_model = Inline.model + +#====================================================================== + +date = +## Generalized document date. +## Note that this element can be repeated to give the dates +## of different events (using \attr{role}) for the same document. +element date { date_attributes & date_model } + +## Attributes for \elementref{date}. +date_attributes = + Common.attributes & FrontMatter.attributes & + + ## indicates the relevance of the date to the document. + ## Commonly useful values are specified, but is open-ended to support extension. + attribute role { "creation" | "conversion" | "posted" | "received" + | "revised" | "accepted" | text }? + +## Content model for \elementref{date}. +date_model = Inline.model + +#====================================================================== + +abstract = +## A document abstract. +element abstract { abstract_attributes & abstract_model } + +## Attributes for \elementref{abstract}. +abstract_attributes = Common.attributes & FrontMatter.attributes + +## Content model for \elementref{abstract}. +abstract_model = Block.model + +#====================================================================== + +acknowledgements = +## Acknowledgements for the document. +element acknowledgements { acknowledgements_attributes & acknowledgements_model } + +## Attributes for \elementref{acknowledgements}. +acknowledgements_attributes = Common.attributes & FrontMatter.attributes + +## Content model for \elementref{acknowledgements}. +acknowledgements_model = Inline.model + +#====================================================================== + +keywords = +## Keywords for the document. The content is freeform. +element keywords { keywords_attributes & keywords_model } + +## Attributes for \elementref{keywords}. +keywords_attributes = Common.attributes & FrontMatter.attributes + +## Content model for \elementref{keywords}. +keywords_model = Inline.model + +#====================================================================== + +classification = +## A classification of the document. +element classification { classification_attributes & classification_model } + +## Attributes for \elementref{classification}. +classification_attributes = Common.attributes & FrontMatter.attributes & + + ## indicates what classification scheme was used. + attribute scheme { text }? + +## Content model for \elementref{classification}. +classification_model = Inline.model + +#====================================================================== +# Fallback + +titlepage = +## block of random stuff marked as a titlepage +element titlepage { titlepage_attributes & titlepage_model } + +## Attributes for \elementref{titlepage}. +titlepage_attributes = Sectional.attributes + +## Content model for \elementref{titlepage}. +titlepage_model = FrontMatter.class & SectionalFrontMatter.class & Block.class + +#====================================================================== +# TOC & Navigation; generally added by postprocessing + +TOC = +## (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. +element TOC { TOC_attributes & TOC_model } + +## Attributes for \elementref{TOC}. +TOC_attributes = + Common.attributes & + FrontMatter.attributes & + + ## indicates the kind of list + attribute role { ("contents" | "figures" | "tables" | text) }? & + + ## 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). + attribute select { text }? & + + ## indicates how to format the listing + attribute format { ("normal" | "short" | "veryshort" | text) }? + +## Content model for \elementref{TOC}. +TOC_model = toclist? + +toclist = +## The actual table of contents list, filled in. +element toclist {toclist_attributes & toclist_model } + +## Attributes for \elementref{toclist}. +toclist_attributes = Common.attributes + +## Content model for \elementref{toclist}. +toclist_model = tocentry* + +tocentry = +## An entry in a \elementref{toclist}. +element tocentry { tocentry_attributes & tocentry_model } + +## Attributes for \elementref{tocentry}. +tocentry_attributes = Common.attributes + +## Content model for \elementref{tocentry}. +tocentry_model = ref* & toclist* + + +navigation = +## 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? +element navigation { navigation_attributes & navigation_model } + +## Attributes for \elementref{navigation}. +navigation_attributes = Common.attributes + +## Content model for \elementref{navigation}. +navigation_model = ref* & TOC* + +#====================================================================== + +## Attributes shared by all sectional elements +Sectional.attributes = + Common.attributes & + Labelled.attributes + +## Attributes for other elements that can be used in frontmatter. +FrontMatter.attributes = + ## 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. + attribute name { text }? + +## The content allowed for the front matter of each sectional unit, +## and the document. +SectionalFrontMatter.class = title* & toctitle* & creator* + +## The content allowed (in addition to \patternref{SectionalFrontMatter.class}) +## for the front matter of a document. +FrontMatter.class = subtitle* & date* & abstract* & acknowledgements* & keywords* & classification + +## 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'. +BackMatter.class = bibliography* & appendix* & index* & acknowledgements* & Para.class & Meta.class + +Para.class &= TOC* & navigation* + +#====================================================================== diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rng new file mode 100644 index 00000000000..edbb1a9322b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rng @@ -0,0 +1,916 @@ +<?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> + <ref name="document_attributes"/> + <ref name="document_model"/> + </element> + </define> + <define name="document.body.class"> + <a:documentation>The content allowable as the main body of the document.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="paragraph"/> + <ref name="subsubsection"/> + <ref name="subsection"/> + <ref name="section"/> + <ref name="chapter"/> + <ref name="part"/> + </choice> + </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> + <zeroOrMore> + <choice> + <ref name="FrontMatter.class"/> + <ref name="SectionalFrontMatter.class"/> + <ref name="Meta.class"/> + <ref name="titlepage"/> + </choice> + </zeroOrMore> + <zeroOrMore> + <ref name="document.body.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="BackMatter.class"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="part"> + <element name="part"> + <a:documentation>A part within a document.</a:documentation> + <ref name="part_attributes"/> + <ref name="part_model"/> + </element> + </define> + <define name="part.body.class"> + <a:documentation>The content allowable as the main body of a part.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="chapter"/> + </choice> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="part.body.class"/> + </zeroOrMore> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="chapter"> + <element name="chapter"> + <a:documentation>A Chapter within a document.</a:documentation> + <ref name="chapter_attributes"/> + <ref name="chapter_model"/> + </element> + </define> + <define name="chapter.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="subparagraph"/> + <ref name="paragraph"/> + <ref name="subsubsection"/> + <ref name="subsection"/> + <ref name="section"/> + </choice> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="chapter.body.class"/> + </zeroOrMore> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="section"> + <element name="section"> + <a:documentation>A Section within a document.</a:documentation> + <ref name="section_attributes"/> + <ref name="section_model"/> + </element> + </define> + <define name="section.body.class"> + <a:documentation>The content allowable as the main body of a section.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="subparagraph"/> + <ref name="paragraph"/> + <ref name="subsubsection"/> + <ref name="subsection"/> + </choice> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="section.body.class"/> + </zeroOrMore> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="subsection"> + <element name="subsection"> + <a:documentation>A Subsection within a document.</a:documentation> + <ref name="subsection_attributes"/> + <ref name="subsection_model"/> + </element> + </define> + <define name="subsection.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="subparagraph"/> + <ref name="paragraph"/> + <ref name="subsubsection"/> + </choice> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsection.body.class"/> + </zeroOrMore> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="subsubsection"> + <element name="subsubsection"> + <a:documentation>A Subsubsection within a document.</a:documentation> + <ref name="subsubsection_attributes"/> + <ref name="subsubsection_model"/> + </element> + </define> + <define name="subsubsection.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="subparagraph"/> + <ref name="paragraph"/> + </choice> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subsubsection.body.class"/> + </zeroOrMore> + </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> + <ref name="paragraph_attributes"/> + <ref name="paragraph_model"/> + </element> + </define> + <define name="paragraph.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="subparagraph"/> + </choice> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="paragraph.body.class"/> + </zeroOrMore> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="subparagraph"> + <element name="subparagraph"> + <a:documentation>A Subparagraph within a document.</a:documentation> + <ref name="subparagraph_attributes"/> + <ref name="subparagraph_model"/> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="subparagraph.body.class"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="appendix"> + <element name="appendix"> + <a:documentation>An Appendix within a document.</a:documentation> + <ref name="appendix_attributes"/> + <ref name="appendix_model"/> + </element> + </define> + <define name="appendix.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="subparagraph"/> + <ref name="paragraph"/> + <ref name="subsubsection"/> + <ref name="subsection"/> + <ref name="section"/> + </choice> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="appendix.body.class"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="bibliography"> + <element name="bibliography"> + <a:documentation>A Bibliography within a document.</a:documentation> + <ref name="bibliography_attributes"/> + <ref name="bibliography_model"/> + </element> + </define> + <define name="bibliography.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="biblist"/> + </choice> + </define> + <define name="bibliography_attributes"> + <a:documentation>Attributes for \elementref{bibliography}.</a:documentation> + <ref name="Sectional.attributes"/> + <optional> + <attribute name="files"> + <a:documentation>the list of bib files used to create the bibliograph.</a:documentation> + </attribute> + </optional> + </define> + <define name="bibliography_model"> + <a:documentation>Content model for \elementref{bibliography}.</a:documentation> + <zeroOrMore> + <ref name="FrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="bibliography.body.class"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="index"> + <element name="index"> + <a:documentation>An Index within a document.</a:documentation> + <ref name="index_attributes"/> + <ref name="index_model"/> + </element> + </define> + <define name="index.body.class"> + <a:documentation>The content allowable as the main body of a chapter.</a:documentation> + <choice> + <ref name="Para.model"/> + <ref name="indexlist"/> + </choice> + </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> + <zeroOrMore> + <ref name="SectionalFrontMatter.class"/> + </zeroOrMore> + <zeroOrMore> + <ref name="index.body.class"/> + </zeroOrMore> + </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> + <ref name="indexlist_attributes"/> + <ref name="indexlist_model"/> + </element> + </define> + <define name="indexlist_attributes"> + <a:documentation>Attributes for \elementref{indexlist}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="indexentry_attributes"/> + <ref name="indexentry_model"/> + </element> + </define> + <define name="indexentry_attributes"> + <a:documentation>Attributes for \elementref{indexentry}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </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> + <ref name="indexrefs_attributes"/> + <ref name="indexrefs_model"/> + </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> + <ref name="title_attributes"/> + <ref name="title_model"/> + </element> + </define> + <define name="title_attributes"> + <a:documentation>Attributes for \elementref{title}.</a:documentation> + <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> + </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> + <zeroOrMore> + <choice> + <ref name="tag"/> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </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> + <ref name="toctitle_attributes"/> + <ref name="toctitle_model"/> + </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> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + <ref name="tag"/> + </choice> + </zeroOrMore> + </define> + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <define name="subtitle"> + <element name="subtitle"> + <a:documentation>A subtitle, or secondary title.</a:documentation> + <ref name="subtitle_attributes"/> + <ref name="subtitle_model"/> + </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> + <ref name="creator_attributes"/> + <ref name="creator_model"/> + </element> + </define> + <define name="Person.class"> + <a:documentation>The content allowed in authors, editors, etc.</a:documentation> + <choice> + <ref name="personname"/> + <ref name="contact"/> + </choice> + </define> + <define name="creator_attributes"> + <a:documentation>Attributes for \elementref{creator}.</a:documentation> + <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> + </define> + <define name="creator_model"> + <a:documentation>Content model for \elementref{creator}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Person.class"/> + <ref name="Misc.class"/> + </choice> + </zeroOrMore> + </define> + <!-- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + NOTE: This should be aligned with Bibname. + --> + <define name="personname"> + <element name="personname"> + <a:documentation>A person's name.</a:documentation> + <ref name="personname_attributes"/> + <ref name="personname_model"/> + </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> + <ref name="contact_attributes"/> + <ref name="contact_model"/> + </element> + </define> + <define name="contact_attributes"> + <a:documentation>Attributes for \elementref{contact}.</a:documentation> + <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> + </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> + <ref name="date_attributes"/> + <ref name="date_model"/> + </element> + </define> + <define name="date_attributes"> + <a:documentation>Attributes for \elementref{date}.</a:documentation> + <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> + </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> + <ref name="abstract_attributes"/> + <ref name="abstract_model"/> + </element> + </define> + <define name="abstract_attributes"> + <a:documentation>Attributes for \elementref{abstract}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + </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> + <ref name="acknowledgements_attributes"/> + <ref name="acknowledgements_model"/> + </element> + </define> + <define name="acknowledgements_attributes"> + <a:documentation>Attributes for \elementref{acknowledgements}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + </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> + <ref name="keywords_attributes"/> + <ref name="keywords_model"/> + </element> + </define> + <define name="keywords_attributes"> + <a:documentation>Attributes for \elementref{keywords}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + </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> + <ref name="classification_attributes"/> + <ref name="classification_model"/> + </element> + </define> + <define name="classification_attributes"> + <a:documentation>Attributes for \elementref{classification}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="FrontMatter.attributes"/> + <optional> + <attribute name="scheme"> + <a:documentation>indicates what classification scheme was used.</a:documentation> + </attribute> + </optional> + </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> + <ref name="titlepage_attributes"/> + <ref name="titlepage_model"/> + </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> + <zeroOrMore> + <choice> + <ref name="FrontMatter.class"/> + <ref name="SectionalFrontMatter.class"/> + <ref name="Block.class"/> + </choice> + </zeroOrMore> + </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> + <ref name="TOC_attributes"/> + <ref name="TOC_model"/> + </element> + </define> + <define name="TOC_attributes"> + <a:documentation>Attributes for \elementref{TOC}.</a:documentation> + <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> + </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> + <ref name="toclist_attributes"/> + <ref name="toclist_model"/> + </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> + <ref name="tocentry_attributes"/> + <ref name="tocentry_model"/> + </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> + <zeroOrMore> + <choice> + <ref name="ref"/> + <ref name="toclist"/> + </choice> + </zeroOrMore> + </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> + <ref name="navigation_attributes"/> + <ref name="navigation_model"/> + </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> + <zeroOrMore> + <choice> + <ref name="ref"/> + <ref name="TOC"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="Sectional.attributes"> + <a:documentation>Attributes shared by all sectional elements</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </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> + <choice> + <ref name="title"/> + <ref name="toctitle"/> + <ref name="creator"/> + </choice> + </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> + <choice> + <ref name="subtitle"/> + <ref name="date"/> + <ref name="abstract"/> + <ref name="acknowledgements"/> + <ref name="keywords"/> + <ref name="classification"/> + </choice> + </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> + <choice> + <ref name="bibliography"/> + <ref name="appendix"/> + <ref name="index"/> + <ref name="acknowledgements"/> + <ref name="Para.class"/> + <ref name="Meta.class"/> + </choice> + </define> + <define name="Para.class" combine="choice"> + <choice> + <ref name="TOC"/> + <ref name="navigation"/> + </choice> + </define> +</grammar> +<!-- ====================================================================== --> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rnc new file mode 100644 index 00000000000..4ff4bc3feab --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rnc @@ -0,0 +1,124 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +## This module defines the basic tabular, or alignment, structure. +## It is roughly parallel to the HTML model. +Misc.class &= tabular* + +#====================================================================== + +tabular = +## An alignment structure corresponding to tabular or various similar forms. +## The model is basically a copy of HTML4's table. +element tabular { tabular_attributes & tabular_model } + +## Attributes for \elementref{tabular}. +tabular_attributes = + Common.attributes & + + ## which row's baseline aligns with the container's baseline. + attribute vattach { "top" | "middle" | "bottom" }? & + + ## the desired width of the tabular. + attribute width { Length.type }? + +### MiKo: this can be tightened. Is it really true that we have more than one body? +## Content model for \elementref{tabular}. +tabular_model = thead* & tfoot* & tbody* & tr* + +#====================================================================== + +thead = +## A container for a set of rows that correspond to the header of the tabular. +element thead { thead_attributes & thead_model } + +## Attributes for \elementref{thead}. +thead_attributes = Common.attributes + +## Content model for \elementref{thead}. +thead_model = tr* + +#====================================================================== + +tfoot = +## A container for a set of rows that correspond to the footer of the tabular. +element tfoot { tfoot_attributes & tfoot_model } + +## Attributes for \elementref{tfoot}. +tfoot_attributes = Common.attributes + +## Content model for \elementref{tfoot}. +tfoot_model = tr* + +#====================================================================== + +tbody = +## A container for a set of rows corresponding to the body of the tabular. +element tbody { tbody_attributes & tbody_model } + +## Attributes for \elementref{tbody}. +tbody_attributes = Common.attributes + +## Content model for \elementref{tbody}. +tbody_model = tr* + +#====================================================================== + +tr = +## A row of a tabular. +element tr { tr_attributes & tr_model } + +## Attributes for \elementref{tr}. +tr_attributes = Common.attributes + +## Content model for \elementref{tr}. +tr_model = td* + +#====================================================================== + +td = +## A cell in a row of a tabular. +element td { td_attributes & td_model } + +## Attributes for \elementref{td}. +td_attributes = + + Common.attributes & + + ## indicates how many columns this cell spans or covers. + attribute colspan { xsd:nonNegativeInteger }? & + + ## indicates how many rows this cell spans or covers. + attribute rowspan { xsd:nonNegativeInteger }? & + +# This would have been clearer, but messes up conversion to dtd +# attribute align { "left" | "right" | "center" | "justify" | text }? & + ## specifies the alignment of the content. + attribute align { text }? & + + ## specifies the desired width for the column. + attribute width { Length.type }? & + + ## 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. + attribute border { text }? & + + ## whether this cell corresponds to a table head or foot. + attribute thead {xsd:boolean}? + +## Content model for \elementref{td}. +td_model = Flow.model + +#====================================================================== + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rng new file mode 100644 index 00000000000..325c64c302b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rng @@ -0,0 +1,189 @@ +<?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="choice"> + <a:documentation>This module defines the basic tabular, or alignment, structure. +It is roughly parallel to the HTML model.</a:documentation> + <ref name="tabular"/> + </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> + <ref name="tabular_attributes"/> + <ref name="tabular_model"/> + </element> + </define> + <define name="tabular_attributes"> + <a:documentation>Attributes for \elementref{tabular}.</a:documentation> + <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> + </define> + <define name="tabular_model"> + <a:documentation>Content model for \elementref{tabular}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="thead"/> + <ref name="tfoot"/> + <ref name="tbody"/> + <ref name="tr"/> + </choice> + </zeroOrMore> + </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> + <ref name="thead_attributes"/> + <ref name="thead_model"/> + </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> + <ref name="tfoot_attributes"/> + <ref name="tfoot_model"/> + </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> + <ref name="tbody_attributes"/> + <ref name="tbody_model"/> + </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> + <ref name="tr_attributes"/> + <ref name="tr_model"/> + </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> + <ref name="td_attributes"/> + <ref name="td_model"/> + </element> + </define> + <define name="td_attributes"> + <a:documentation>Attributes for \elementref{td}.</a:documentation> + <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> + </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/rnc/LaTeXML/LaTeXML.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rnc new file mode 100644 index 00000000000..a17b0186c67 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rnc @@ -0,0 +1,41 @@ +# /=====================================================================\ +# | 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=/ + + +default namespace = "http://dlmf.nist.gov/LaTeXML" +namespace svg = "http://www.w3.org/2000/svg" +namespace xlink = "http://www.w3.org/1999/xlink" + +include "LaTeXML-common.rnc" +include "LaTeXML-inline.rnc" +include "LaTeXML-block.rnc" +include "LaTeXML-para.rnc" +include "LaTeXML-math.rnc" + +include "LaTeXML-tabular.rnc" +include "LaTeXML-picture.rnc" +include "LaTeXML-structure.rnc" +include "LaTeXML-bib.rnc" + +## Combined model for inline content. +Inline.model = text & Inline.class & Misc.class & Meta.class + +## Combined model for physical block-level content. +Block.model = Block.class & Misc.class & Meta.class + +## Combined model for general flow containing both inline and block level content. +Flow.model = text & Inline.class & Block.class & Misc.class & Meta.class + +## Combined model for logical block-level context. +Para.model = Para.class & Meta.class + +start = document diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rng new file mode 100644 index 00000000000..acd16ea8706 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rng @@ -0,0 +1,70 @@ +<?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 ns="http://dlmf.nist.gov/LaTeXML" 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> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </define> + <define name="Block.model"> + <a:documentation>Combined model for physical block-level content.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Block.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </define> + <define name="Flow.model"> + <a:documentation>Combined model for general flow containing both inline and block level content.</a:documentation> + <zeroOrMore> + <choice> + <text/> + <ref name="Inline.class"/> + <ref name="Block.class"/> + <ref name="Misc.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </define> + <define name="Para.model"> + <a:documentation>Combined model for logical block-level context.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Para.class"/> + <ref name="Meta.class"/> + </choice> + </zeroOrMore> + </define> + <start> + <ref name="document"/> + </start> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/TAGS b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/TAGS new file mode 100644 index 00000000000..20723d5f92c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/TAGS @@ -0,0 +1,33 @@ + +LaTeXML-bib.rnc,26 +default namespace 13,816 + +LaTeXML-block.rnc,26 +default namespace 13,816 + +LaTeXML-graphics.rnc,26 +default namespace 13,816 + +LaTeXML-index.rnc,26 +default namespace 13,816 + +LaTeXML-inline.rnc,26 +default namespace 14,817 + +LaTeXML-math.rnc,26 +default namespace 13,816 + +LaTeXML-para.rnc,26 +default namespace 13,816 + +LaTeXML-picture.rnc,27 +default namespace 17,1019 + +LaTeXML.rnc,26 +default namespace 13,816 + +LaTeXML-structure.rnc,26 +default namespace 13,816 + +LaTeXML-tabular.rnc,26 +default namespace 13,816 diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rnc new file mode 100644 index 00000000000..89ef4dbea9e --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rnc @@ -0,0 +1,208 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Animation +## +## animate, set, animateMotion, animateColor, animateTransform, mpath +## +## This module declares markup to provide support for animation. +## + +## +## SVG.Animation.class +## +[ xml:lang = "en" ] +grammar { + SVG.Animation.extra.class = notAllowed + SVG.Animation.class |= + animate + | set + | animateMotion + | animateColor + | animateTransform + | SVG.Animation.extra.class + a:documentation [ "\x{a}" ~ " SVG.Animation.attrib\x{a}" ~ " " ] + SVG.Animation.extra.attrib = empty + SVG.Animation.attrib = SVG.XLink.attrib, SVG.Animation.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.AnimationAttribute.attrib\x{a}" ~ + " " + ] + SVG.AnimationAttribute.extra.attrib = empty + SVG.AnimationAttribute.attrib = + attribute attributeName { text }, + attribute attributeType { text }?, + SVG.AnimationAttribute.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.AnimationTiming.attrib\x{a}" ~ + " " + ] + SVG.AnimationTiming.extra.attrib = empty + SVG.AnimationTiming.attrib = + attribute begin { text }?, + attribute dur { text }?, + attribute end { text }?, + attribute min { text }?, + attribute max { text }?, + [ a:defaultValue = "always" ] + attribute restart { "always" | "never" | "whenNotActive" }?, + attribute repeatCount { text }?, + attribute repeatDur { text }?, + [ a:defaultValue = "remove" ] + attribute fill { "remove" | "freeze" }?, + SVG.AnimationTiming.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.AnimationValue.attrib\x{a}" ~ + " " + ] + SVG.AnimationValue.extra.attrib = empty + SVG.AnimationValue.attrib = + [ a:defaultValue = "linear" ] + attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?, + attribute values { text }?, + attribute keyTimes { text }?, + attribute keySplines { text }?, + attribute from { text }?, + attribute to { text }?, + attribute by { text }?, + SVG.AnimationValue.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.AnimationAddtion.attrib\x{a}" ~ + " " + ] + SVG.AnimationAddtion.extra.attrib = empty + SVG.AnimationAddtion.attrib = + [ a:defaultValue = "replace" ] + attribute additive { "replace" | "sum" }?, + [ a:defaultValue = "none" ] + attribute accumulate { "none" | "sum" }?, + SVG.AnimationAddtion.extra.attrib + a:documentation [ + "\x{a}" ~ + " animate: Animate Element\x{a}" ~ + " " + ] + SVG.animate.content = SVG.Description.class* + animate = element animate { attlist.animate, SVG.animate.content } + attlist.animate &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationAttribute.attrib, + SVG.AnimationTiming.attrib, + SVG.AnimationValue.attrib, + SVG.AnimationAddtion.attrib + a:documentation [ "\x{a}" ~ " set: Set Element\x{a}" ~ " " ] + SVG.set.content = SVG.Description.class* + set = element set { attlist.set, SVG.set.content } + attlist.set &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationAttribute.attrib, + SVG.AnimationTiming.attrib, + attribute to { text }? + a:documentation [ + "\x{a}" ~ + " animateMotion: Animate Motion Element\x{a}" ~ + " " + ] + SVG.animateMotion.content = SVG.Description.class*, mpath? + animateMotion = + element animateMotion { + attlist.animateMotion, SVG.animateMotion.content + } + attlist.animateMotion &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationTiming.attrib, + SVG.AnimationAddtion.attrib, + [ a:defaultValue = "paced" ] + attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?, + attribute values { text }?, + attribute keyTimes { text }?, + attribute keySplines { text }?, + attribute from { text }?, + attribute to { text }?, + attribute by { text }?, + attribute path { text }?, + attribute keyPoints { text }?, + attribute rotate { text }?, + attribute origin { text }? + a:documentation [ + "\x{a}" ~ + " animateColor: Animate Color Element\x{a}" ~ + " " + ] + SVG.animateColor.content = SVG.Description.class* + animateColor = + element animateColor { + attlist.animateColor, SVG.animateColor.content + } + attlist.animateColor &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationAttribute.attrib, + SVG.AnimationTiming.attrib, + SVG.AnimationValue.attrib, + SVG.AnimationAddtion.attrib + a:documentation [ + "\x{a}" ~ + " animateTransform: Animate Transform Element\x{a}" ~ + " " + ] + SVG.animateTransform.content = SVG.Description.class* + animateTransform = + element animateTransform { + attlist.animateTransform, SVG.animateTransform.content + } + attlist.animateTransform &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationAttribute.attrib, + SVG.AnimationTiming.attrib, + SVG.AnimationValue.attrib, + SVG.AnimationAddtion.attrib, + [ a:defaultValue = "translate" ] + attribute type { + "translate" | "scale" | "rotate" | "skewX" | "skewY" + }? + a:documentation [ + "\x{a}" ~ + " mpath: Motion Path Element\x{a}" ~ + " " + ] + SVG.mpath.content = SVG.Description.class* + mpath = element mpath { attlist.mpath, SVG.mpath.content } + attlist.mpath &= + SVG.Core.attrib, SVG.XLinkRequired.attrib, SVG.External.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rng new file mode 100644 index 00000000000..918313a71fe --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-animevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rnc new file mode 100644 index 00000000000..efbbabc42c5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rnc @@ -0,0 +1,33 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Animation Events Attribute +## +## onbegin, onend, onrepeat, onload +## +## This module defines the AnimationEvents attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.onbegin.attrib = attribute onbegin { Script.datatype }? + SVG.onend.attrib = attribute onend { Script.datatype }? + SVG.onrepeat.attrib = attribute onrepeat { Script.datatype }? + SVG.AnimationEvents.extra.attrib = empty + SVG.AnimationEvents.attrib &= + SVG.onbegin.attrib, + SVG.onend.attrib, + SVG.onrepeat.attrib, + SVG.onload.attrib, + SVG.AnimationEvents.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rng new file mode 100644 index 00000000000..164414fe0fc --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-clip.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rnc new file mode 100644 index 00000000000..5471141c5fa --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rnc @@ -0,0 +1,64 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Basic Clip +## +## clipPath +## +## This module declares markup to provide support for clipping. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + ClipPathValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Clip.attrib\x{a}" ~ " " ] + SVG.Clip.extra.attrib = empty + SVG.Clip.attrib &= + attribute clip-path { ClipPathValue.datatype }?, + attribute clip-rule { ClipFillRule.datatype }?, + SVG.Clip.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Clip.class\x{a}" ~ " " ] + SVG.Clip.extra.class = notAllowed + SVG.Clip.class |= clipPath | SVG.Clip.extra.class + a:documentation [ + "\x{a}" ~ + " clipPath: Clip Path Element\x{a}" ~ + " " + ] + SVG.clipPath.class = rect | SVG.Animation.class | SVG.Use.class + SVG.clipPath.content = SVG.Description.class*, SVG.clipPath.class* + clipPath = element clipPath { attlist.clipPath, SVG.clipPath.content } + attlist.clipPath &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Text.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }?, + attribute clipPathUnits { "userSpaceOnUse" | "objectBoundingBox" }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rng new file mode 100644 index 00000000000..0bb1333829f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-filter.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rnc new file mode 100644 index 00000000000..995c08e7daf --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rnc @@ -0,0 +1,338 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + FilterValue.datatype = xsd:string + NumberOptionalNumber.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Filter.attrib\x{a}" ~ " " ] + SVG.Filter.extra.attrib = empty + SVG.Filter.attrib &= + attribute filter { FilterValue.datatype }?, + SVG.Filter.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.FilterColor.attrib\x{a}" ~ " " ] + SVG.FilterColor.extra.attrib = empty + SVG.FilterColor.attrib &= + attribute color-interpolation-filters { + "auto" | "sRGB" | "linearRGB" | "inherit" + }?, + SVG.FilterColor.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Filter.class\x{a}" ~ " " ] + SVG.Filter.extra.class = notAllowed + SVG.Filter.class |= filter | SVG.Filter.extra.class + a:documentation [ + "\x{a}" ~ + " SVG.FilterPrimitive.class\x{a}" ~ + " " + ] + SVG.FilterPrimitive.extra.class = notAllowed + SVG.FilterPrimitive.class = + feBlend + | feColorMatrix + | feComponentTransfer + | feComposite + | feFlood + | feGaussianBlur + | feImage + | feMerge + | feOffset + | feTile + | SVG.FilterPrimitive.extra.class + a:documentation [ + "\x{a}" ~ + " SVG.FilterPrimitive.attrib\x{a}" ~ + " " + ] + SVG.FilterPrimitive.extra.attrib = empty + SVG.FilterPrimitive.attrib = + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute result { text }?, + SVG.FilterPrimitive.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.FilterPrimitiveWithIn.attrib\x{a}" ~ + " " + ] + SVG.FilterPrimitiveWithIn.extra.attrib = empty + SVG.FilterPrimitiveWithIn.attrib = + SVG.FilterPrimitive.attrib, + attribute in { text }?, + SVG.FilterPrimitiveWithIn.extra.attrib + a:documentation [ "\x{a}" ~ " filter: Filter Element\x{a}" ~ " " ] + SVG.filter.content = + SVG.Description.class*, (animate | set | SVG.FilterPrimitive.class)* + filter = element filter { attlist.filter, SVG.filter.content } + attlist.filter &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute filterRes { NumberOptionalNumber.datatype }?, + attribute filterUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute primitiveUnits { "userSpaceOnUse" | "objectBoundingBox" }? + a:documentation [ + "\x{a}" ~ + " feBlend: Filter Effect Blend Element\x{a}" ~ + " " + ] + SVG.feBlend.content = (animate | set)* + feBlend = element feBlend { attlist.feBlend, SVG.feBlend.content } + attlist.feBlend &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute in2 { text }, + [ a:defaultValue = "normal" ] + attribute mode { + "normal" | "multiply" | "screen" | "darken" | "lighten" + }? + a:documentation [ + "\x{a}" ~ + " feColorMatrix: Filter Effect Color Matrix Element\x{a}" ~ + " " + ] + SVG.feColorMatrix.content = (animate | set)* + feColorMatrix = + element feColorMatrix { + attlist.feColorMatrix, SVG.feColorMatrix.content + } + attlist.feColorMatrix &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + [ a:defaultValue = "matrix" ] + attribute type { + "matrix" | "saturate" | "hueRotate" | "luminanceToAlpha" + }?, + attribute values { text }? + a:documentation [ + "\x{a}" ~ + " feComponentTransfer: Filter Effect Component Transfer Element\x{a}" ~ + " " + ] + SVG.feComponentTransfer.content = + feFuncR?, feFuncG?, feFuncB?, feFuncA? + feComponentTransfer = + element feComponentTransfer { + attlist.feComponentTransfer, SVG.feComponentTransfer.content + } + attlist.feComponentTransfer &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib + a:documentation [ + "\x{a}" ~ + " feComposite: Filter Effect Composite Element\x{a}" ~ + " " + ] + SVG.feComposite.content = (animate | set)* + feComposite = + element feComposite { attlist.feComposite, SVG.feComposite.content } + attlist.feComposite &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute in2 { text }, + [ a:defaultValue = "over" ] + attribute operator { + "over" | "in" | "out" | "atop" | "xor" | "arithmetic" + }?, + attribute k1 { Number.datatype }?, + attribute k2 { Number.datatype }?, + attribute k3 { Number.datatype }?, + attribute k4 { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feFlood: Filter Effect Flood Element\x{a}" ~ + " " + ] + SVG.feFlood.content = (animate | set | animateColor)* + feFlood = element feFlood { attlist.feFlood, SVG.feFlood.content } + attlist.feFlood &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute flood-color { SVGColor.datatype }?, + attribute flood-opacity { OpacityValue.datatype }? + a:documentation [ + "\x{a}" ~ + " feGaussianBlur: Filter Effect Gaussian Blur Element\x{a}" ~ + " " + ] + SVG.feGaussianBlur.content = (animate | set)* + feGaussianBlur = + element feGaussianBlur { + attlist.feGaussianBlur, SVG.feGaussianBlur.content + } + attlist.feGaussianBlur &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute stdDeviation { NumberOptionalNumber.datatype }? + a:documentation [ + "\x{a}" ~ + " feImage: Filter Effect Image Element\x{a}" ~ + " " + ] + SVG.feImage.content = (animate | set | animateTransform)* + feImage = element feImage { attlist.feImage, SVG.feImage.content } + attlist.feImage &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.FilterPrimitive.attrib, + SVG.XLinkEmbed.attrib, + SVG.External.attrib, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? + a:documentation [ + "\x{a}" ~ + " feMerge: Filter Effect Merge Element\x{a}" ~ + " " + ] + SVG.feMerge.content = feMergeNode* + feMerge = element feMerge { attlist.feMerge, SVG.feMerge.content } + attlist.feMerge &= + SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitive.attrib + a:documentation [ + "\x{a}" ~ + " feMergeNode: Filter Effect Merge Node Element\x{a}" ~ + " " + ] + SVG.feMergeNode.content = (animate | set)* + feMergeNode = + element feMergeNode { attlist.feMergeNode, SVG.feMergeNode.content } + attlist.feMergeNode &= + SVG.Core.attrib, + attribute in { text }? + a:documentation [ + "\x{a}" ~ + " feOffset: Filter Effect Offset Element\x{a}" ~ + " " + ] + SVG.feOffset.content = (animate | set)* + feOffset = element feOffset { attlist.feOffset, SVG.feOffset.content } + attlist.feOffset &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute dx { Number.datatype }?, + attribute dy { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feTile: Filter Effect Tile Element\x{a}" ~ + " " + ] + SVG.feTile.content = (animate | set)* + feTile = element feTile { attlist.feTile, SVG.feTile.content } + attlist.feTile &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib + a:documentation [ + "\x{a}" ~ + " feFuncR: Filter Effect Function Red Element\x{a}" ~ + " " + ] + SVG.feFuncR.content = (animate | set)* + feFuncR = element feFuncR { attlist.feFuncR, SVG.feFuncR.content } + attlist.feFuncR &= + SVG.Core.attrib, + attribute type { + "identity" | "table" | "discrete" | "linear" | "gamma" + }, + attribute tableValues { text }?, + attribute slope { Number.datatype }?, + attribute intercept { Number.datatype }?, + attribute amplitude { Number.datatype }?, + attribute exponent { Number.datatype }?, + attribute offset { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feFuncG: Filter Effect Function Green Element\x{a}" ~ + " " + ] + SVG.feFuncG.content = (animate | set)* + feFuncG = element feFuncG { attlist.feFuncG, SVG.feFuncG.content } + attlist.feFuncG &= + SVG.Core.attrib, + attribute type { + "identity" | "table" | "discrete" | "linear" | "gamma" + }, + attribute tableValues { text }?, + attribute slope { Number.datatype }?, + attribute intercept { Number.datatype }?, + attribute amplitude { Number.datatype }?, + attribute exponent { Number.datatype }?, + attribute offset { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feFuncB: Filter Effect Function Blue Element\x{a}" ~ + " " + ] + SVG.feFuncB.content = (animate | set)* + feFuncB = element feFuncB { attlist.feFuncB, SVG.feFuncB.content } + attlist.feFuncB &= + SVG.Core.attrib, + attribute type { + "identity" | "table" | "discrete" | "linear" | "gamma" + }, + attribute tableValues { text }?, + attribute slope { Number.datatype }?, + attribute intercept { Number.datatype }?, + attribute amplitude { Number.datatype }?, + attribute exponent { Number.datatype }?, + attribute offset { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feFuncA: Filter Effect Function Alpha Element\x{a}" ~ + " " + ] + SVG.feFuncA.content = (animate | set)* + feFuncA = element feFuncA { attlist.feFuncA, SVG.feFuncA.content } + attlist.feFuncA &= + SVG.Core.attrib, + attribute type { + "identity" | "table" | "discrete" | "linear" | "gamma" + }, + attribute tableValues { text }?, + attribute slope { Number.datatype }?, + attribute intercept { Number.datatype }?, + attribute amplitude { Number.datatype }?, + attribute exponent { Number.datatype }?, + attribute offset { Number.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rng new file mode 100644 index 00000000000..6e9a39b50fa --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-font.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rnc new file mode 100644 index 00000000000..a45d34e3c64 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rnc @@ -0,0 +1,196 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## + +## +## SVG.Font.class +## +[ xml:lang = "en" ] +grammar { + SVG.Font.extra.class = notAllowed + SVG.Font.class |= font | font-face | SVG.Font.extra.class + a:documentation [ "\x{a}" ~ " font: Font Element\x{a}" ~ " " ] + SVG.font.content = + SVG.Description.class*, + font-face, + missing-glyph, + (glyph | hkern | vkern)* + font = element font { attlist.font, SVG.font.content } + attlist.font &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.External.attrib, + attribute horiz-origin-x { Number.datatype }?, + attribute horiz-origin-y { Number.datatype }?, + attribute horiz-adv-x { Number.datatype }, + attribute vert-origin-x { Number.datatype }?, + attribute vert-origin-y { Number.datatype }?, + attribute vert-adv-y { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " font-face: Font Face Element\x{a}" ~ + " " + ] + SVG.font-face.extra.class = notAllowed + SVG.font-face.content = + SVG.Description.class*, font-face-src?, SVG.font-face.extra.class + font-face = + element font-face { attlist.font-face, SVG.font-face.content } + attlist.font-face &= + SVG.Core.attrib, + attribute font-family { text }?, + attribute font-style { text }?, + attribute font-variant { text }?, + attribute font-weight { text }?, + attribute font-stretch { text }?, + attribute font-size { text }?, + attribute unicode-range { text }?, + attribute units-per-em { Number.datatype }?, + attribute panose-1 { text }?, + attribute stemv { Number.datatype }?, + attribute stemh { Number.datatype }?, + attribute slope { Number.datatype }?, + attribute cap-height { Number.datatype }?, + attribute x-height { Number.datatype }?, + attribute accent-height { Number.datatype }?, + attribute ascent { Number.datatype }?, + attribute descent { Number.datatype }?, + attribute widths { text }?, + attribute bbox { text }?, + attribute ideographic { Number.datatype }?, + attribute alphabetic { Number.datatype }?, + attribute mathematical { Number.datatype }?, + attribute hanging { Number.datatype }?, + attribute v-ideographic { Number.datatype }?, + attribute v-alphabetic { Number.datatype }?, + attribute v-mathematical { Number.datatype }?, + attribute v-hanging { Number.datatype }?, + attribute underline-position { Number.datatype }?, + attribute underline-thickness { Number.datatype }?, + attribute strikethrough-position { Number.datatype }?, + attribute strikethrough-thickness { Number.datatype }?, + attribute overline-position { Number.datatype }?, + attribute overline-thickness { Number.datatype }? + a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ] + SVG.glyph.class = notAllowed + SVG.glyph.content = SVG.Description.class*, SVG.glyph.class* + glyph = element glyph { attlist.glyph, SVG.glyph.content } + attlist.glyph &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + attribute unicode { text }?, + attribute glyph-name { text }?, + attribute d { PathData.datatype }?, + attribute orientation { text }?, + attribute arabic-form { text }?, + attribute lang { LanguageCodes.datatype }?, + attribute horiz-adv-x { Number.datatype }?, + attribute vert-origin-x { Number.datatype }?, + attribute vert-origin-y { Number.datatype }?, + attribute vert-adv-y { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " missing-glyph: Missing Glyph Element\x{a}" ~ + " " + ] + SVG.missing-glyph.class = notAllowed + SVG.missing-glyph.content = + SVG.Description.class*, SVG.missing-glyph.class* + missing-glyph = + element missing-glyph { + attlist.missing-glyph, SVG.missing-glyph.content + } + attlist.missing-glyph &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + attribute d { PathData.datatype }?, + attribute horiz-adv-x { Number.datatype }?, + attribute vert-origin-x { Number.datatype }?, + attribute vert-origin-y { Number.datatype }?, + attribute vert-adv-y { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " hkern: Horizontal Kerning Element\x{a}" ~ + " " + ] + SVG.hkern.content = empty + hkern = element hkern { attlist.hkern, SVG.hkern.content } + attlist.hkern &= + SVG.Core.attrib, + attribute u1 { text }?, + attribute g1 { text }?, + attribute u2 { text }?, + attribute g2 { text }?, + attribute k { Number.datatype } + a:documentation [ + "\x{a}" ~ + " vkern: Vertical Kerning Element\x{a}" ~ + " " + ] + SVG.vkern.content = empty + vkern = element vkern { attlist.vkern, SVG.vkern.content } + attlist.vkern &= + SVG.Core.attrib, + attribute u1 { text }?, + attribute g1 { text }?, + attribute u2 { text }?, + attribute g2 { text }?, + attribute k { Number.datatype } + a:documentation [ + "\x{a}" ~ + " font-face-src: Font Face Source Element\x{a}" ~ + " " + ] + SVG.font-face-src.content = (font-face-uri | font-face-name)+ + font-face-src = + element font-face-src { + attlist.font-face-src, SVG.font-face-src.content + } + attlist.font-face-src &= SVG.Core.attrib + a:documentation [ + "\x{a}" ~ + " font-face-uri: Font Face URI Element\x{a}" ~ + " " + ] + SVG.font-face-uri.content = empty + font-face-uri = + element font-face-uri { + attlist.font-face-uri, SVG.font-face-uri.content + } + attlist.font-face-uri &= SVG.Core.attrib, SVG.XLinkRequired.attrib + a:documentation [ + "\x{a}" ~ + " font-face-name: Font Face Name Element\x{a}" ~ + " " + ] + SVG.font-face-name.content = empty + font-face-name = + element font-face-name { + attlist.font-face-name, SVG.font-face-name.content + } + attlist.font-face-name &= + SVG.Core.attrib, + attribute name { text }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rng new file mode 100644 index 00000000000..da67018545f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-graphics-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rnc new file mode 100644 index 00000000000..606e2e4e92d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rnc @@ -0,0 +1,49 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Basic Graphics Attribute +## +## display, visibility +## +## This module defines the Graphics attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.display.attrib = + attribute display { + "inline" + | "block" + | "list-item" + | "run-in" + | "compact" + | "marker" + | "table" + | "inline-table" + | "table-row-group" + | "table-header-group" + | "table-footer-group" + | "table-row" + | "table-column-group" + | "table-column" + | "table-cell" + | "table-caption" + | "none" + | "inherit" + }? + SVG.visibility.attrib = + attribute visibility { "visible" | "hidden" | "inherit" }? + SVG.Graphics.extra.attrib = empty + SVG.Graphics.attrib &= + SVG.display.attrib, SVG.visibility.attrib, SVG.Graphics.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rng new file mode 100644 index 00000000000..20c40b3648c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rnc new file mode 100644 index 00000000000..67b94df81a1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rnc @@ -0,0 +1,293 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Basic Structure +## +## svg, g, defs, desc, title, metadata, use +## +## This module declares the major structural elements and their attributes. +## +[ xml:lang = "en" ] +grammar { + + ## + ## The root element is "svg". + ## + start = svg + + ## + ## Include core set of modules + ## + div { + + ## + ## Datatypes Module + ## + include "svg-datatypes.rnc" + + ## + ## Core Attribute Module + ## + include "svg-core-attrib.rnc" + } + a:documentation [ + "\x{a}" ~ + " Content Models (Default)\x{a}" ~ + " " + ] + SVG.Profile.class = notAllowed + SVG.Gradient.class = notAllowed + SVG.Pattern.class = notAllowed + SVG.Clip.class = notAllowed + SVG.Mask.class = notAllowed + SVG.Filter.class = notAllowed + SVG.Cursor.class = notAllowed + SVG.Marker.class = notAllowed + SVG.View.class = notAllowed + SVG.Script.class = notAllowed + SVG.Font.class = notAllowed + SVG.Extensibility.class = notAllowed + SVG.Conditional.class = notAllowed + SVG.Image.class = notAllowed + SVG.Style.class = notAllowed + SVG.Shape.class = notAllowed + SVG.Text.class = notAllowed + SVG.Hyperlink.class = notAllowed + SVG.Animation.class = notAllowed + a:documentation [ + "\x{a}" ~ + " Attribute Collections (Default)\x{a}" ~ + " " + ] + SVG.Container.attrib = empty + SVG.Viewport.attrib = empty + SVG.Text.attrib = empty + SVG.TextContent.attrib = empty + SVG.Opacity.attrib = empty + SVG.Marker.attrib = empty + SVG.Profile.attrib = empty + SVG.Gradient.attrib = empty + SVG.Clip.attrib = empty + SVG.Mask.attrib = empty + SVG.Filter.attrib = empty + SVG.FilterColor.attrib = empty + SVG.Cursor.attrib = empty + SVG.External.attrib = empty + SVG.Conditional.attrib = empty + SVG.Color.attrib = empty + SVG.Paint.attrib = empty + SVG.Graphics.attrib = empty + SVG.DocumentEvents.attrib = empty + SVG.GraphicalEvents.attrib = empty + SVG.onload.attrib = empty + SVG.AnimationEvents.attrib = empty + SVG.XLink.attrib = empty + SVG.XLinkRequired.attrib = empty + SVG.XLinkEmbed.attrib = empty + SVG.XLinkReplace.attrib = empty + SVG.Style.attrib = empty + SVG.Font.attrib = empty + a:documentation [ "\x{a}" ~ " SVG.Description.class\x{a}" ~ " " ] + SVG.Description.extra.class = notAllowed + SVG.Description.class = + desc | title | metadata | SVG.Description.extra.class + a:documentation [ "\x{a}" ~ " SVG.Use.class\x{a}" ~ " " ] + SVG.Use.extra.class = notAllowed + SVG.Use.class = use | SVG.Use.extra.class + a:documentation [ "\x{a}" ~ " SVG.Structure.class\x{a}" ~ " " ] + SVG.Structure.extra.class = notAllowed + SVG.Structure.class = + svg | g | defs | SVG.Use.class | SVG.Structure.extra.class + a:documentation [ + "\x{a}" ~ + " SVG.Presentation.attrib\x{a}" ~ + " " + ] + SVG.Presentation.extra.attrib = empty + SVG.Presentation.attrib = + SVG.Container.attrib, + SVG.Viewport.attrib, + SVG.Text.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Profile.attrib, + SVG.Gradient.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.FilterColor.attrib, + SVG.Cursor.attrib, + attribute flood-color { SVGColor.datatype }?, + attribute flood-opacity { OpacityValue.datatype }?, + attribute lighting-color { SVGColor.datatype }?, + SVG.Presentation.extra.attrib + a:documentation [ + "\x{a}" ~ + " svg: SVG Document Element\x{a}" ~ + " " + ] + SVG.svg.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + svg = element svg { attlist.svg, SVG.svg.content } + attlist.svg &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.DocumentEvents.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, + [ a:defaultValue = "magnify" ] + attribute zoomAndPan { "disable" | "magnify" }?, + [ a:defaultValue = "1.1" ] attribute version { xsd:string "1.1" }?, + attribute baseProfile { Text.datatype }?, + [ a:defaultValue = "text/ecmascript" ] + attribute contentScriptType { ContentType.datatype }?, + [ a:defaultValue = "text/css" ] + attribute contentStyleType { ContentType.datatype }? + a:documentation [ "\x{a}" ~ " g: Group Element\x{a}" ~ " " ] + SVG.g.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + g = element g { attlist.g, SVG.g.content } + attlist.g &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " defs: Definisions Element\x{a}" ~ + " " + ] + SVG.defs.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + defs = element defs { attlist.defs, SVG.defs.content } + attlist.defs &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " desc: Description Element\x{a}" ~ + " " + ] + SVG.desc.content = text + desc = element desc { attlist.desc, SVG.desc.content } + attlist.desc &= SVG.Core.attrib, SVG.Style.attrib + a:documentation [ "\x{a}" ~ " title: Title Element\x{a}" ~ " " ] + SVG.title.content = text + title = element title { attlist.title, SVG.title.content } + attlist.title &= SVG.Core.attrib, SVG.Style.attrib + a:documentation [ + "\x{a}" ~ + " metadata: Metadata Element\x{a}" ~ + " " + ] + SVG.metadata.content = text + metadata = element metadata { attlist.metadata, SVG.metadata.content } + attlist.metadata &= SVG.Core.attrib + a:documentation [ "\x{a}" ~ " use: Use Element\x{a}" ~ " " ] + SVG.use.content = SVG.Description.class*, SVG.Animation.class* + use = element use { attlist.use, SVG.use.content } + attlist.use &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.XLinkEmbed.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute transform { TransformList.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rng new file mode 100644 index 00000000000..65ee4f172f4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rnc new file mode 100644 index 00000000000..8e8b2c728bd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rnc @@ -0,0 +1,137 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Basic Text +## +## text, altGlyph, altGlyphDef, glyphRef +## +## This module declares markup to provide support for text. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + FontFamilyValue.datatype = xsd:string + FontSizeValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Font.attrib\x{a}" ~ " " ] + SVG.Font.extra.attrib = empty + SVG.Font.attrib &= + attribute font-family { FontFamilyValue.datatype }?, + attribute font-size { FontSizeValue.datatype }?, + attribute font-style { + "normal" | "italic" | "oblique" | "inherit" + }?, + attribute font-weight { + "normal" + | "bold" + | "bolder" + | "lighter" + | "100" + | "200" + | "300" + | "400" + | "500" + | "600" + | "700" + | "800" + | "900" + | "inherit" + }?, + SVG.Font.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Text.class\x{a}" ~ " " ] + SVG.Text.extra.class = notAllowed + SVG.Text.class |= \text | SVG.Text.extra.class + a:documentation [ "\x{a}" ~ " SVG.TextContent.class\x{a}" ~ " " ] + SVG.TextContent.extra.class = notAllowed + SVG.TextContent.class = altGlyph | SVG.TextContent.extra.class + a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ] + SVG.text.class = + text + | SVG.Description.class + | SVG.Animation.class + | # <ref name="SVG.TextContent.extra.class"/> + SVG.Hyperlink.class + SVG.text.content = SVG.text.class* + \text = element text { attlist.text, SVG.text.content } + attlist.text &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute rotate { Numbers.datatype }?, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " altGlyph: Alternate Glyph Element\x{a}" ~ + " " + ] + SVG.altGlyph.content = text + altGlyph = element altGlyph { attlist.altGlyph, SVG.altGlyph.content } + attlist.altGlyph &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute glyphRef { text }?, + attribute format { text }? + a:documentation [ + "\x{a}" ~ + " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~ + " " + ] + SVG.altGlyphDef.content = glyphRef+ + altGlyphDef = + element altGlyphDef { attlist.altGlyphDef, SVG.altGlyphDef.content } + attlist.altGlyphDef &= SVG.Core.attrib + a:documentation [ + "\x{a}" ~ + " glyphRef: Glyph Reference Element\x{a}" ~ + " " + ] + SVG.glyphRef.content = empty + glyphRef = element glyphRef { attlist.glyphRef, SVG.glyphRef.content } + attlist.glyphRef &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Font.attrib, + SVG.XLink.attrib, + attribute glyphRef { text }?, + attribute format { text }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rng new file mode 100644 index 00000000000..14771acea25 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-clip.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rnc new file mode 100644 index 00000000000..50dd76142ea --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rnc @@ -0,0 +1,30 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace ns1 = "http://www.w3.org/2000/svg" + + +## +## 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 $ +## + +## +## Clip +## +## clipPath +## +## This module declares markup to provide support for clipping. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-clip.rnc" inherit = ns1 + + ## + ## extend content model of clipPath + ## + SVG.clipPath.class |= SVG.Shape.class | SVG.Text.class +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rng new file mode 100644 index 00000000000..da0d93c81ba --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rng @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" 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 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/rnc/LaTeXML/svg-conditional.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rnc new file mode 100644 index 00000000000..922554a6a8d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rnc @@ -0,0 +1,62 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Conditional Processing +## +## switch +## +## This module declares markup to provide support for conditional processing. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + ExtensionList.datatype = xsd:string + FeatureList.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Conditional.attrib\x{a}" ~ " " ] + SVG.Conditional.extra.attrib = empty + SVG.Conditional.attrib &= + attribute requiredFeatures { FeatureList.datatype }?, + attribute requiredExtensions { ExtensionList.datatype }?, + attribute systemLanguage { LanguageCodes.datatype }?, + SVG.Conditional.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Conditional.class\x{a}" ~ " " ] + SVG.Conditional.extra.class = notAllowed + SVG.Conditional.class |= switch | SVG.Conditional.extra.class + a:documentation [ "\x{a}" ~ " switch: Switch Element\x{a}" ~ " " ] + SVG.switch.content = + SVG.Description.class*, + (svg + | g + | use + | \text + | SVG.Animation.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Shape.class + | SVG.Hyperlink.class + | SVG.Extensibility.class)* + switch = element switch { attlist.switch, SVG.switch.content } + attlist.switch &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rng new file mode 100644 index 00000000000..8bfddf61491 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-container-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rnc new file mode 100644 index 00000000000..fb4ac5ff47f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rnc @@ -0,0 +1,33 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Container Attribute +## +## enable-background +## +## This module defines the Container attribute set. +## +[ xml:lang = "en" ] +grammar { + + ## + ## 'enable-background' property/attribute value (e.g., 'new', 'accumulate') + ## + EnableBackgroundValue.datatype = xsd:string + SVG.enable-background.attrib = + attribute enable-background { EnableBackgroundValue.datatype }? + SVG.Container.extra.attrib = empty + SVG.Container.attrib &= + SVG.enable-background.attrib, SVG.Container.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rng new file mode 100644 index 00000000000..01847b07a90 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-core-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rnc new file mode 100644 index 00000000000..e9d73f1601f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rnc @@ -0,0 +1,35 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Core Attribute +## +## id, xml:base, xml:lang, xml:space +## +## This module defines the core set of attributes that can be present on +## any element. +## +[ xml:lang = "en" ] +grammar { + SVG.id.attrib = attribute id { xsd:ID }? + SVG.base.attrib = attribute xml:base { URI.datatype }? + SVG.lang.attrib = attribute xml:lang { LanguageCode.datatype }? + SVG.space.attrib = attribute xml:space { "default" | "preserve" }? + SVG.Core.extra.attrib = empty + SVG.Core.attrib = + SVG.id.attrib, + SVG.base.attrib, + SVG.lang.attrib, + SVG.space.attrib, + SVG.Core.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rng new file mode 100644 index 00000000000..cf3e64fafd1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-cursor.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rnc new file mode 100644 index 00000000000..50b42d15627 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rnc @@ -0,0 +1,47 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Cursor +## +## cursor +## +## This module declares markup to provide support for cursor. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + CursorValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Cursor.attrib\x{a}" ~ " " ] + SVG.Cursor.extra.attrib = empty + SVG.Cursor.attrib &= + attribute cursor { CursorValue.datatype }?, + SVG.Cursor.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Cursor.class\x{a}" ~ " " ] + SVG.Cursor.extra.class = notAllowed + SVG.Cursor.class |= cursor | SVG.Cursor.extra.class + a:documentation [ "\x{a}" ~ " cursor: Cursor Element\x{a}" ~ " " ] + SVG.cursor.content = SVG.Description.class* + cursor = element cursor { attlist.cursor, SVG.cursor.content } + attlist.cursor &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.XLinkRequired.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rng new file mode 100644 index 00000000000..e3207ed6c92 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-datatypes.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rnc new file mode 100644 index 00000000000..7a3ea4b659f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rnc @@ -0,0 +1,135 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Datatypes +## +## This module declares common data types for properties and attributes. +## + +## +## feature specification +## +[ xml:lang = "en" ] +grammar { + Boolean.datatype = "false" | "true" + + ## + ## 'clip-rule' or 'fill-rule' property/attribute value + ## + ClipFillRule.datatype = "nonzero" | "evenodd" | "inherit" + + ## + ## media type, as per [RFC2045] + ## + ContentType.datatype = xsd:string + + ## + ## a <coordinate> + ## + Coordinate.datatype = xsd:string + + ## + ## a list of <coordinate>s + ## + Coordinates.datatype = xsd:string + + ## + ## a <color> value + ## + Color.datatype = xsd:string + + ## + ## a <integer> + ## + Integer.datatype = xsd:string + + ## + ## a language code, as per [RFC3066] + ## + LanguageCode.datatype = xsd:language + + ## + ## comma-separated list of language codes, as per [RFC3066] + ## + LanguageCodes.datatype = xsd:string + + ## + ## a <ength> + ## + Length.datatype = xsd:string + + ## + ## a list of <length>s + ## + Lengths.datatype = xsd:string + + ## + ## a <number> + ## + Number.datatype = xsd:string + + ## + ## a list of <number>s + ## + Numbers.datatype = xsd:string + + ## + ## opacity value (e.g., <number>) + ## + OpacityValue.datatype = xsd:string + + ## + ## a path data specification + ## + PathData.datatype = xsd:string + + ## + ## 'preserveAspectRatio' attribute specification + ## + PreserveAspectRatioSpec.datatype = + xsd:string { + pattern = + "\s*(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)\s+(meet|slice)?\s*" + } + + ## + ## script expression + ## + Script.datatype = xsd:string + + ## + ## An SVG color value (RGB plus optional ICC) + ## + SVGColor.datatype = xsd:string + + ## + ## arbitrary text string + ## + Text.datatype = xsd:string + + ## + ## list of transforms + ## + TransformList.datatype = xsd:string + + ## + ## a Uniform Resource Identifier, see [URI] + ## + URI.datatype = xsd:anyURI + + ## + ## 'viewBox' attribute specification + ## + ViewBoxSpec.datatype = xsd:string +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rng new file mode 100644 index 00000000000..dba1588d8d4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-docevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rnc new file mode 100644 index 00000000000..a03b011c8d3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rnc @@ -0,0 +1,38 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Document Events Attribute +## +## onunload, onabort, onerror, onresize, onscroll, onzoom +## +## This module defines the DocumentEvents attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.onunload.attrib = attribute onunload { Script.datatype }? + SVG.onabort.attrib = attribute onabort { Script.datatype }? + SVG.onerror.attrib = attribute onerror { Script.datatype }? + SVG.onresize.attrib = attribute onresize { Script.datatype }? + SVG.onscroll.attrib = attribute onscroll { Script.datatype }? + SVG.onzoom.attrib = attribute onzoom { Script.datatype }? + SVG.DocumentEvents.extra.attrib = empty + SVG.DocumentEvents.attrib &= + SVG.onunload.attrib, + SVG.onabort.attrib, + SVG.onerror.attrib, + SVG.onresize.attrib, + SVG.onscroll.attrib, + SVG.onzoom.attrib, + SVG.DocumentEvents.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rng new file mode 100644 index 00000000000..3d2eecea923 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-extensibility.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rnc new file mode 100644 index 00000000000..23ef64bf988 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rnc @@ -0,0 +1,62 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +default namespace ns1 = "http://www.w3.org/2000/svg" + +a:documentation [ + "\x{a}" ~ + " SVG 1.1 Extensibility Module\x{a}" ~ + " file: svg-extensibility.rng\x{a}" ~ + "\x{a}" ~ + " This is SVG, a language for describing two-dimensional graphics in XML.\x{a}" ~ + " Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.\x{a}" ~ + "\x{a}" ~ + " $Id: svg-extensibility.rng,v 1.1 2003/07/15 07:11:10 dean Exp $\x{a}" ~ + "\x{a}" +] +a:documentation [ + "\x{a}" ~ + " Extensibility\x{a}" ~ + "\x{a}" ~ + " foreignObject\x{a}" ~ + "\x{a}" ~ + " This module declares markup to provide support for extensibility.\x{a}" ~ + " " +] +a:documentation [ "\x{a}" ~ " SVG.Extensibility.class\x{a}" ~ " " ] +SVG.Extensibility.extra.class = notAllowed +SVG.Extensibility.class |= foreignObject | SVG.Extensibility.extra.class +a:documentation [ + "\x{a}" ~ + " foreignObject: Foreign Object Element\x{a}" ~ + " " +] +SVG.foreignObject.content = + (text + | svg + # ref name="foreignElement"/ + )* +foreignObject = + element foreignObject { + attlist.foreignObject, SVG.foreignObject.content + } +attlist.foreignObject &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }, + attribute height { Length.datatype }, + attribute transform { TransformList.datatype }? + +## +## any element in foreign namespace +## +foreignElement = + element * - ns1:* { + (attribute * - ns1:* { text } + | text + | foreignElement)* + } diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rng new file mode 100644 index 00000000000..d63acf3deae --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-extresources-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rnc new file mode 100644 index 00000000000..6c1274e082a --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rnc @@ -0,0 +1,28 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## External Resources Attribute +## +## externalResourcesRequired +## +## This module defines the External attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.externalResourcesRequired.attrib = + attribute externalResourcesRequired { Boolean.datatype }? + SVG.External.extra.attrib = empty + SVG.External.attrib &= + SVG.externalResourcesRequired.attrib, SVG.External.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rng new file mode 100644 index 00000000000..1fa08bfe7ba --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-filter.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rnc new file mode 100644 index 00000000000..9d4cc259ef4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rnc @@ -0,0 +1,214 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-filter.rnc" + + ## + ## extend SVG.FilterPrimitive.class + ## + SVG.FilterPrimitive.class |= + feConvolveMatrix + | feDiffuseLighting + | feDisplacementMap + | feMorphology + | feSpecularLighting + | feTurbulence + a:documentation [ + "\x{a}" ~ + " feConvolveMatrix: Filter Effect Convolve Matrix Element\x{a}" ~ + " " + ] + SVG.feConvolveMatrix.content = (animate | set)* + feConvolveMatrix = + element feConvolveMatrix { + attlist.feConvolveMatrix, SVG.feConvolveMatrix.content + } + attlist.feConvolveMatrix &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute order { NumberOptionalNumber.datatype }, + attribute kernelMatrix { text }, + attribute divisor { Number.datatype }?, + attribute bias { Number.datatype }?, + attribute targetX { Integer.datatype }?, + attribute targetY { Integer.datatype }?, + [ a:defaultValue = "duplicate" ] + attribute edgeMode { "duplicate" | "wrap" | "none" }?, + attribute kernelUnitLength { NumberOptionalNumber.datatype }?, + attribute preserveAlpha { Boolean.datatype }? + a:documentation [ + "\x{a}" ~ + " feDiffuseLighting: Filter Effect Diffuse Lighting Element\x{a}" ~ + " " + ] + SVG.feDiffuseLighting.content = + (feDistantLight | fePointLight | feSpotLight), + (animate | set | animateColor)* + feDiffuseLighting = + element feDiffuseLighting { + attlist.feDiffuseLighting, SVG.feDiffuseLighting.content + } + attlist.feDiffuseLighting &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute lighting-color { SVGColor.datatype }?, + attribute surfaceScale { Number.datatype }?, + attribute diffuseConstant { Number.datatype }?, + attribute kernelUnitLength { NumberOptionalNumber.datatype }? + a:documentation [ + "\x{a}" ~ + " feDisplacementMap: Filter Effect Displacement Map Element\x{a}" ~ + " " + ] + SVG.feDisplacementMap.content = (animate | set)* + feDisplacementMap = + element feDisplacementMap { + attlist.feDisplacementMap, SVG.feDisplacementMap.content + } + attlist.feDisplacementMap &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute in2 { text }, + attribute scale { Number.datatype }?, + [ a:defaultValue = "A" ] + attribute xChannelSelector { "R" | "G" | "B" | "A" }?, + [ a:defaultValue = "A" ] + attribute yChannelSelector { "R" | "G" | "B" | "A" }? + a:documentation [ + "\x{a}" ~ + " feMorphology: Filter Effect Morphology Element\x{a}" ~ + " " + ] + SVG.feMorphology.content = (animate | set)* + feMorphology = + element feMorphology { + attlist.feMorphology, SVG.feMorphology.content + } + attlist.feMorphology &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + [ a:defaultValue = "erode" ] + attribute operator { "erode" | "dilate" }?, + attribute radius { NumberOptionalNumber.datatype }? + a:documentation [ + "\x{a}" ~ + " feSpecularLighting: Filter Effect Specular Lighting Element\x{a}" ~ + " " + ] + SVG.feSpecularLighting.content = + (feDistantLight | fePointLight | feSpotLight), + (animate | set | animateColor)* + feSpecularLighting = + element feSpecularLighting { + attlist.feSpecularLighting, SVG.feSpecularLighting.content + } + attlist.feSpecularLighting &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute lighting-color { SVGColor.datatype }?, + attribute surfaceScale { Number.datatype }?, + attribute specularConstant { Number.datatype }?, + attribute specularExponent { Number.datatype }?, + attribute kernelUnitLength { NumberOptionalNumber.datatype }? + a:documentation [ + "\x{a}" ~ + " feTurbulence: Filter Effect Turbulence Element\x{a}" ~ + " " + ] + SVG.feTurbulence.content = (animate | set)* + feTurbulence = + element feTurbulence { + attlist.feTurbulence, SVG.feTurbulence.content + } + attlist.feTurbulence &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitive.attrib, + attribute baseFrequency { NumberOptionalNumber.datatype }?, + attribute numOctaves { Integer.datatype }?, + attribute seed { Number.datatype }?, + [ a:defaultValue = "noStitch" ] + attribute stitchTiles { "stitch" | "noStitch" }?, + [ a:defaultValue = "turbulence" ] + attribute type { "fractalNoise" | "turbulence" }? + a:documentation [ + "\x{a}" ~ + " feDistantLight: Filter Effect Distant Light Element\x{a}" ~ + " " + ] + SVG.feDistantLight.content = (animate | set)* + feDistantLight = + element feDistantLight { + attlist.feDistantLight, SVG.feDistantLight.content + } + attlist.feDistantLight &= + SVG.Core.attrib, + attribute azimuth { Number.datatype }?, + attribute elevation { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " fePointLight: Filter Effect Point Light Element\x{a}" ~ + " " + ] + SVG.fePointLight.content = (animate | set)* + fePointLight = + element fePointLight { + attlist.fePointLight, SVG.fePointLight.content + } + attlist.fePointLight &= + SVG.Core.attrib, + attribute x { Number.datatype }?, + attribute y { Number.datatype }?, + attribute z { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feSpotLight: Filter Effect Spot Light Element\x{a}" ~ + " " + ] + SVG.feSpotLight.content = (animate | set)* + feSpotLight = + element feSpotLight { attlist.feSpotLight, SVG.feSpotLight.content } + attlist.feSpotLight &= + SVG.Core.attrib, + attribute x { Number.datatype }?, + attribute y { Number.datatype }?, + attribute z { Number.datatype }?, + attribute pointsAtX { Number.datatype }?, + attribute pointsAtY { Number.datatype }?, + attribute pointsAtZ { Number.datatype }?, + attribute specularExponent { Number.datatype }?, + attribute limitingConeAngle { Number.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rng new file mode 100644 index 00000000000..72bc2c37c50 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-font.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rnc new file mode 100644 index 00000000000..f14e10c2342 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rnc @@ -0,0 +1,108 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-font.rnc" + a:documentation [ + "\x{a}" ~ + " font-face: Font Face Element\x{a}" ~ + " " + ] + SVG.font-face.extra.class &= definition-src? + a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ] + SVG.glyph.class |= + SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class + a:documentation [ + "\x{a}" ~ + " missing-glyph: Missing Glyph Element\x{a}" ~ + " " + ] + SVG.missing-glyph.class |= + SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class + a:documentation [ + "\x{a}" ~ + " font-face-uri: Font Face URI Element\x{a}" ~ + " " + ] + SVG.font-face-uri.content |= font-face-format* + a:documentation [ + "\x{a}" ~ + " font-face-format: Font Face Format Element\x{a}" ~ + " " + ] + SVG.font-face-format.content = empty + font-face-format = + element font-face-format { + attlist.font-face-format, SVG.font-face-format.content + } + attlist.font-face-format &= + SVG.Core.attrib, + attribute string { text }? + a:documentation [ + "\x{a}" ~ + " definition-src: Definition Source Element\x{a}" ~ + " " + ] + SVG.definition-src.content = empty + definition-src = + element definition-src { + attlist.definition-src, SVG.definition-src.content + } + attlist.definition-src &= SVG.Core.attrib, SVG.XLinkRequired.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rng new file mode 100644 index 00000000000..f5da47c17ed --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-gradient.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rnc new file mode 100644 index 00000000000..e8c6e60525f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rnc @@ -0,0 +1,99 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Gradient +## +## linearGradient, radialGradient, stop +## +## This module declares markup to provide support for gradient fill. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + NumberOrPercentage.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Gradient.attrib\x{a}" ~ " " ] + SVG.Gradient.extra.attrib = empty + SVG.Gradient.attrib &= + attribute stop-color { SVGColor.datatype }?, + attribute stop-opacity { OpacityValue.datatype }?, + SVG.Gradient.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Gradient.class\x{a}" ~ " " ] + SVG.Gradient.extra.class = notAllowed + SVG.Gradient.class |= + linearGradient | radialGradient | SVG.Gradient.extra.class + a:documentation [ + "\x{a}" ~ + " linearGradient: Linear Gradient Element\x{a}" ~ + " " + ] + SVG.linearGradient.content = + SVG.Description.class*, (stop | animate | set | animateTransform)* + linearGradient = + element linearGradient { + attlist.linearGradient, SVG.linearGradient.content + } + attlist.linearGradient &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.Gradient.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute x1 { Coordinate.datatype }?, + attribute y1 { Coordinate.datatype }?, + attribute x2 { Coordinate.datatype }?, + attribute y2 { Coordinate.datatype }?, + attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute gradientTransform { TransformList.datatype }?, + attribute spreadMethod { "pad" | "reflect" | "repeat" }? + a:documentation [ + "\x{a}" ~ + " radialGradient: Radial Gradient Element\x{a}" ~ + " " + ] + SVG.radialGradient.content = + SVG.Description.class*, (stop | animate | set | animateTransform)* + radialGradient = + element radialGradient { + attlist.radialGradient, SVG.radialGradient.content + } + attlist.radialGradient &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.Gradient.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute cx { Coordinate.datatype }?, + attribute cy { Coordinate.datatype }?, + attribute r { Length.datatype }?, + attribute fx { Coordinate.datatype }?, + attribute fy { Coordinate.datatype }?, + attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute gradientTransform { TransformList.datatype }?, + attribute spreadMethod { "pad" | "reflect" | "repeat" }? + a:documentation [ "\x{a}" ~ " stop: Stop Element\x{a}" ~ " " ] + SVG.stop.content = (animate | set | animateColor)* + stop = element stop { attlist.stop, SVG.stop.content } + attlist.stop &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.Gradient.attrib, + attribute offset { NumberOrPercentage.datatype } +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rng new file mode 100644 index 00000000000..a13c68f8341 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-graphevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rnc new file mode 100644 index 00000000000..e5828f3dab8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rnc @@ -0,0 +1,47 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Graphical Element Events Attribute +## +## onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup, +## onmouseover, onmousemove, onmouseout, onload +## +## This module defines the GraphicalEvents attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.onfocusin.attrib = attribute onfocusin { Script.datatype }? + SVG.onfocusout.attrib = attribute onfocusout { Script.datatype }? + SVG.onactivate.attrib = attribute onactivate { Script.datatype }? + SVG.onclick.attrib = attribute onclick { Script.datatype }? + SVG.onmousedown.attrib = attribute onmousedown { Script.datatype }? + SVG.onmouseup.attrib = attribute onmouseup { Script.datatype }? + SVG.onmouseover.attrib = attribute onmouseover { Script.datatype }? + SVG.onmousemove.attrib = attribute onmousemove { Script.datatype }? + SVG.onmouseout.attrib = attribute onmouseout { Script.datatype }? + SVG.onload.attrib &= attribute onload { Script.datatype }? + SVG.GraphicalEvents.extra.attrib = empty + SVG.GraphicalEvents.attrib &= + SVG.onfocusin.attrib, + SVG.onfocusout.attrib, + SVG.onactivate.attrib, + SVG.onclick.attrib, + SVG.onmousedown.attrib, + SVG.onmouseup.attrib, + SVG.onmouseover.attrib, + SVG.onmousemove.attrib, + SVG.onmouseout.attrib, + SVG.onload.attrib, + SVG.GraphicalEvents.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rng new file mode 100644 index 00000000000..4a69371858f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-graphics-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rnc new file mode 100644 index 00000000000..bbf132ab971 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rnc @@ -0,0 +1,64 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace ns1 = "http://www.w3.org/2000/svg" + + +## +## 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 $ +## + +## +## Graphics Attribute +## +## display, image-rendering, pointer-events, shape-rendering, +## text-rendering, visibility +## +## This module defines the Graphics attribute set. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-graphics-attrib.rnc" inherit = ns1 + SVG.image-rendering.attrib = + attribute image-rendering { + "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit" + }? + SVG.pointer-events.attrib = + attribute pointer-events { + "visiblePainted" + | "visibleFill" + | "visibleStroke" + | "visible" + | "painted" + | "fill" + | "stroke" + | "all" + | "none" + | "inherit" + }? + SVG.shape-rendering.attrib = + attribute shape-rendering { + "auto" + | "optimizeSpeed" + | "crispEdges" + | "geometricPrecision" + | "inherit" + }? + SVG.text-rendering.attrib = + attribute text-rendering { + "auto" + | "optimizeSpeed" + | "optimizeLegibility" + | "geometricPrecision" + | "inherit" + }? + SVG.Graphics.attrib &= + SVG.image-rendering.attrib, + SVG.pointer-events.attrib, + SVG.shape-rendering.attrib, + SVG.text-rendering.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rng new file mode 100644 index 00000000000..fb8b6c62348 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rng @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" 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 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/rnc/LaTeXML/svg-hyperlink.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rnc new file mode 100644 index 00000000000..705e3e3334d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rnc @@ -0,0 +1,66 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Hyperlinking +## +## a +## +## This module declares markup to provide support for hyper linking. +## +[ xml:lang = "en" ] +grammar { + + ## + ## link to this target + ## + LinkTarget.datatype = xsd:NMTOKEN + a:documentation [ "\x{a}" ~ " SVG.Hyperlink.class\x{a}" ~ " " ] + SVG.Hyperlink.extra.class = notAllowed + SVG.Hyperlink.class |= a | SVG.Hyperlink.extra.class + a:documentation [ "\x{a}" ~ " a: Anchor Element\x{a}" ~ " " ] + SVG.a.content = + (text + | SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + a = element a { attlist.a, SVG.a.content } + attlist.a &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.XLinkReplace.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }?, + attribute target { LinkTarget.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rng new file mode 100644 index 00000000000..1e0c1807091 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-image.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rnc new file mode 100644 index 00000000000..0dffc8e1b92 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rnc @@ -0,0 +1,56 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Image +## +## image +## +## This module declares markup to provide support for image. +## + +## +## SVG.Image.class +## +[ xml:lang = "en" ] +grammar { + SVG.Image.extra.class = notAllowed + SVG.Image.class |= image | SVG.Image.extra.class + a:documentation [ "\x{a}" ~ " image: Image Element\x{a}" ~ " " ] + SVG.image.content = SVG.Description.class*, SVG.Animation.class* + image = element image { attlist.image, SVG.image.content } + attlist.image &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Viewport.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Profile.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.XLinkEmbed.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }, + attribute height { Length.datatype }, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, + attribute transform { TransformList.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rng new file mode 100644 index 00000000000..8b02c532890 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-marker.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rnc new file mode 100644 index 00000000000..bfb7c316bd5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rnc @@ -0,0 +1,76 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Marker +## +## marker +## +## This module declares markup to provide support for marker. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + MarkerValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Marker.attrib\x{a}" ~ " " ] + SVG.Marker.extra.attrib = empty + SVG.Marker.attrib &= + attribute marker-start { MarkerValue.datatype }?, + attribute marker-mid { MarkerValue.datatype }?, + attribute marker-end { MarkerValue.datatype }?, + SVG.Marker.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Marker.class\x{a}" ~ " " ] + SVG.Marker.extra.class = notAllowed + SVG.Marker.class |= marker | SVG.Marker.extra.class + a:documentation [ "\x{a}" ~ " marker: Marker Element\x{a}" ~ " " ] + SVG.marker.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + marker = element marker { attlist.marker, SVG.marker.content } + attlist.marker &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.External.attrib, + attribute refX { Coordinate.datatype }?, + attribute refY { Coordinate.datatype }?, + attribute markerUnits { "strokeWidth" | "userSpaceOnUse" }?, + attribute markerWidth { Length.datatype }?, + attribute markerHeight { Length.datatype }?, + attribute orient { text }?, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rng new file mode 100644 index 00000000000..ef30e1d60c1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-mask.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rnc new file mode 100644 index 00000000000..c5b8722bf8f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rnc @@ -0,0 +1,74 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Mask +## +## mask +## +## This module declares markup to provide support for masking. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + MaskValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Mask.attrib\x{a}" ~ " " ] + SVG.Mask.extra.attrib = empty + SVG.Mask.attrib &= + attribute mask { MaskValue.datatype }?, + SVG.Mask.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Mask.class\x{a}" ~ " " ] + SVG.Mask.extra.class = notAllowed + SVG.Mask.class |= mask | SVG.Mask.extra.class + a:documentation [ "\x{a}" ~ " mask: Mask Element\x{a}" ~ " " ] + SVG.mask.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + mask = element mask { attlist.mask, SVG.mask.content } + attlist.mask &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute maskUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute maskContentUnits { + "userSpaceOnUse" | "objectBoundingBox" + }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rng new file mode 100644 index 00000000000..ca25e47915d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-opacity-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rnc new file mode 100644 index 00000000000..c794117b5fa --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rnc @@ -0,0 +1,34 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Paint Opacity Attribute +## +## opacity, fill-opacity, stroke-opacity +## +## This module defines the Opacity attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.opacity.attrib = attribute opacity { OpacityValue.datatype }? + SVG.fill-opacity.attrib = + attribute fill-opacity { OpacityValue.datatype }? + SVG.stroke-opacity.attrib = + attribute stroke-opacity { OpacityValue.datatype }? + SVG.Opacity.extra.attrib = empty + SVG.Opacity.attrib &= + SVG.opacity.attrib, + SVG.fill-opacity.attrib, + SVG.stroke-opacity.attrib, + SVG.Opacity.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rng new file mode 100644 index 00000000000..44458f8b805 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-paint-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rnc new file mode 100644 index 00000000000..bcb9ccce9e4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rnc @@ -0,0 +1,97 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## +[ xml:lang = "en" ] +grammar { + + ## + ## a 'fill' or 'stroke' property/attribute value: <paint> + ## + Paint.datatype = xsd:string + + ## + ## 'stroke-dasharray' property/attribute value + ## (e.g., 'none', list of <number>s) + ## + StrokeDashArrayValue.datatype = xsd:string + + ## + ## 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) + ## + StrokeDashOffsetValue.datatype = xsd:string + + ## + ## 'stroke-miterlimit' property/attribute value (e.g., <number>) + ## + StrokeMiterLimitValue.datatype = xsd:string + + ## + ## 'stroke-width' property/attribute value (e.g., <length>) + ## + StrokeWidthValue.datatype = xsd:string + SVG.fill.attrib = attribute fill { Paint.datatype }? + SVG.fill-rule.attrib = attribute fill-rule { ClipFillRule.datatype }? + SVG.stroke.attrib = attribute stroke { Paint.datatype }? + SVG.stroke-dasharray.attrib = + attribute stroke-dasharray { StrokeDashArrayValue.datatype }? + SVG.stroke-dashoffset.attrib = + attribute stroke-dashoffset { StrokeDashOffsetValue.datatype }? + SVG.stroke-linecap.attrib = + attribute stroke-linecap { + "butt" | "round" | "square" | "inherit" + }? + SVG.stroke-linejoin.attrib = + attribute stroke-linejoin { + "miter" | "round" | "bevel" | "inherit" + }? + SVG.stroke-miterlimit.attrib = + attribute stroke-miterlimit { StrokeMiterLimitValue.datatype }? + SVG.stroke-width.attrib = + attribute stroke-width { StrokeWidthValue.datatype }? + SVG.Paint.extra.attrib = empty + SVG.Paint.attrib &= + SVG.fill.attrib, + SVG.fill-rule.attrib, + SVG.stroke.attrib, + SVG.stroke-dasharray.attrib, + SVG.stroke-dashoffset.attrib, + SVG.stroke-linecap.attrib, + SVG.stroke-linejoin.attrib, + SVG.stroke-miterlimit.attrib, + SVG.stroke-width.attrib, + SVG.Paint.extra.attrib + SVG.color.attrib = attribute color { Color.datatype }? + SVG.color-interpolation.attrib = + attribute color-interpolation { + "auto" | "sRGB" | "linearRGB" | "inherit" + }? + SVG.color-rendering.attrib = + attribute color-rendering { + "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit" + }? + SVG.Color.extra.attrib = empty + SVG.Color.attrib &= + SVG.color.attrib, + SVG.color-interpolation.attrib, + SVG.color-rendering.attrib, + SVG.Color.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rng new file mode 100644 index 00000000000..fe9d499edca --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-pattern.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rnc new file mode 100644 index 00000000000..0a538fe96a8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rnc @@ -0,0 +1,76 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Pattern +## +## pattern +## +## This module declares markup to provide support for pattern fill. +## + +## +## SVG.Pattern.class +## +[ xml:lang = "en" ] +grammar { + SVG.Pattern.extra.class = notAllowed + SVG.Pattern.class |= pattern | SVG.Pattern.extra.class + a:documentation [ + "\x{a}" ~ + " pattern: Pattern Element\x{a}" ~ + " " + ] + SVG.pattern.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + pattern = element pattern { attlist.pattern, SVG.pattern.content } + attlist.pattern &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute patternUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute patternContentUnits { + "userSpaceOnUse" | "objectBoundingBox" + }?, + attribute patternTransform { TransformList.datatype }?, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rng new file mode 100644 index 00000000000..371521b1688 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-profile.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rnc new file mode 100644 index 00000000000..ba154bdca8b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rnc @@ -0,0 +1,58 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Color Profile +## +## color-profile +## +## This module declares markup to provide support for color profile. +## + +## +## SVG.Profile.attrib +## +[ xml:lang = "en" ] +grammar { + SVG.Profile.extra.attrib = empty + SVG.Profile.attrib &= + attribute color-profile { text }?, + SVG.Profile.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Profile.class\x{a}" ~ " " ] + SVG.Profile.extra.class = notAllowed + SVG.Profile.class |= color-profile | SVG.Profile.extra.class + a:documentation [ + "\x{a}" ~ + " color-profile: Color Profile Element\x{a}" ~ + " " + ] + SVG.color-profile.content = SVG.Description.class* + color-profile = + element color-profile { + attlist.color-profile, SVG.color-profile.content + } + attlist.color-profile &= + SVG.Core.attrib, + SVG.XLink.attrib, + attribute local { text }?, + attribute name { text }, + [ a:defaultValue = "auto" ] + attribute rendering-intent { + "auto" + | "perceptual" + | "relative-colorimetric" + | "saturation" + | "absolute-colorimetric" + }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rng new file mode 100644 index 00000000000..11834192f0f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-qname.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-qname.rng new file mode 100644 index 00000000000..e4a9e19f87c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-qname.rng @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" ns="http://www.w3.org/2000/svg"> +<!-- ....................................................................... --> +<!-- SVG 1.1 Qualified Name Module ......................................... --> +<!-- file: svg-qname.mod + + This is SVG, a language for describing two-dimensional graphics in XML. + Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. + Revision: $Id: svg-qname.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + + This DTD module is identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//ENTITIES SVG 1.1 Qualified Name//EN" + SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-qname.mod" + + ....................................................................... --> +<!-- Qualified Name + + This module is contained in two parts, labeled Section 'A' and 'B': + + Section A declares parameter entities to support namespace- + qualified names, namespace declarations, and name prefixing + for SVG and extensions. + + Section B declares parameter entities used to provide + namespace-qualified names for all SVG element types: +--> +<!-- Section A: SVG XML Namespace Framework :::::::::::::::::::::: --> +<!-- 1. Declare a %SVG.prefixed; conditional section keyword, used + to activate namespace prefixing. The default value should + inherit '%NS.prefixed;' from the DTD driver, so that unless + overridden, the default behaviour follows the overall DTD + prefixing scheme. +--> +<!-- 2. Declare a parameter entity (eg., %SVG.xmlns;) containing + the URI reference used to identify the SVG namespace: +--> +<!-- 3. Declare parameter entities (eg., %SVG.prefix;) containing + the default namespace prefix string(s) to use when prefixing + is enabled. This may be overridden in the DTD driver or the + internal subset of an document instance. If no default prefix + is desired, this may be declared as an empty string. +--> +<!-- 4. Declare parameter entities (eg., %SVG.pfx;) containing the + colonized prefix(es) (eg., '%SVG.prefix;:') used when + prefixing is active, an empty string when it is not. +--> +<!-- 5. The parameter entity %SVG.xmlns.extra.attrib; may be + redeclared to contain any non-SVG namespace declaration + attributes for namespaces embedded in SVG. The default + is an empty string. +--> +<!-- Declare a parameter entity XLINK.xmlns.attrib containing + the XML Namespace declarations for XLink. +--> + <define name="XLINK.xmlns.attrib"> + <empty/> + </define> +<!-- Declare a parameter entity %NS.decl.attrib; containing + all XML Namespace declarations used in the DTD, plus the + xmlns declaration for SVG, its form dependent on whether + prefixing is active. +--> +<!-- Declare a parameter entity %SVG.xmlns.attrib; containing + all XML namespace declaration attributes used by SVG, + including a default xmlns attribute when prefixing is + inactive. +--> + <define name="SVG.xmlns.attrib"> + <empty/> + <ref name="XLINK.xmlns.attrib"/> + </define> +<!-- Section B: SVG Qualified Names :::::::::::::::::::::::::::::: --> +<!-- 6. This section declares parameter entities used to provide + namespace-qualified names for all SVG element types. +--> +<!-- module: svg-structure.mod ......................... --> +<!-- module: svg-conditional.mod ....................... --> +<!-- module: svg-image.mod ............................. --> +<!-- module: svg-style.mod ............................. --> +<!-- module: svg-shape.mod ............................. --> +<!-- module: svg-text.mod .............................. --> +<!-- module: svg-marker.mod ............................ --> +<!-- module: svg-profile.mod ........................... --> +<!-- module: svg-gradient.mod .......................... --> +<!-- module: svg-pattern.mod ........................... --> +<!-- module: svg-clip.mod .............................. --> +<!-- module: svg-mask.mod .............................. --> +<!-- module: svg-filter.mod ............................ --> +<!-- module: svg-cursor.mod ............................ --> +<!-- module: svg-hyperlink.mod ......................... --> +<!-- module: svg-view.mod .............................. --> +<!-- module: svg-script.mod ............................ --> +<!-- module: svg-animation.mod ......................... --> +<!-- module: svg-font.mod .............................. --> +<!-- module: svg-extensibility.mod ..................... --> +<!-- end of svg-qname.mod --> +</grammar> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rnc new file mode 100644 index 00000000000..a990e5497fc --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rnc @@ -0,0 +1,38 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Scripting +## +## script +## +## This module declares markup to provide support for scripting. +## + +## +## SVG.Script.class +## +[ xml:lang = "en" ] +grammar { + SVG.Script.extra.class = notAllowed + SVG.Script.class |= script | SVG.Script.extra.class + a:documentation [ "\x{a}" ~ " script: Script Element\x{a}" ~ " " ] + SVG.script.content = text + script = element script { attlist.script, SVG.script.content } + attlist.script &= + SVG.Core.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute type { ContentType.datatype } +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rng new file mode 100644 index 00000000000..4e21020a398 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-shape.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rnc new file mode 100644 index 00000000000..cc80462b97d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rnc @@ -0,0 +1,207 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Shape +## +## path, rect, circle, line, ellipse, polyline, polygon +## +## This module declares markup to provide support for graphical shapes. +## +[ xml:lang = "en" ] +grammar { + + ## + ## a list of points + ## + Points.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Shape.class\x{a}" ~ " " ] + SVG.Shape.extra.class = notAllowed + SVG.Shape.class |= + path + | rect + | circle + | line + | ellipse + | polyline + | polygon + | SVG.Shape.extra.class + a:documentation [ "\x{a}" ~ " path: Path Element\x{a}" ~ " " ] + SVG.path.content = SVG.Description.class*, SVG.Animation.class* + path = element path { attlist.path, SVG.path.content } + attlist.path &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute d { PathData.datatype }, + attribute pathLength { Number.datatype }?, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " rect: Rectangle Element\x{a}" ~ + " " + ] + SVG.rect.content = SVG.Description.class*, SVG.Animation.class* + rect = element rect { attlist.rect, SVG.rect.content } + attlist.rect &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }, + attribute height { Length.datatype }, + attribute rx { Length.datatype }?, + attribute ry { Length.datatype }?, + attribute transform { TransformList.datatype }? + a:documentation [ "\x{a}" ~ " circle: Circle Element\x{a}" ~ " " ] + SVG.circle.content = SVG.Description.class*, SVG.Animation.class* + circle = element circle { attlist.circle, SVG.circle.content } + attlist.circle &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute cx { Coordinate.datatype }?, + attribute cy { Coordinate.datatype }?, + attribute r { Length.datatype }, + attribute transform { TransformList.datatype }? + a:documentation [ "\x{a}" ~ " line: Line Element\x{a}" ~ " " ] + SVG.line.content = SVG.Description.class*, SVG.Animation.class* + line = element line { attlist.line, SVG.line.content } + attlist.line &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute x1 { Coordinate.datatype }?, + attribute y1 { Coordinate.datatype }?, + attribute x2 { Coordinate.datatype }?, + attribute y2 { Coordinate.datatype }?, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " ellipse: Ellipse Element\x{a}" ~ + " " + ] + SVG.ellipse.content = SVG.Description.class*, SVG.Animation.class* + ellipse = element ellipse { attlist.ellipse, SVG.ellipse.content } + attlist.ellipse &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute cx { Coordinate.datatype }?, + attribute cy { Coordinate.datatype }?, + attribute rx { Length.datatype }, + attribute ry { Length.datatype }, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " polyline: Polyline Element\x{a}" ~ + " " + ] + SVG.polyline.content = SVG.Description.class*, SVG.Animation.class* + polyline = element polyline { attlist.polyline, SVG.polyline.content } + attlist.polyline &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute points { Points.datatype }, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " polygon: Polygon Element\x{a}" ~ + " " + ] + SVG.polygon.content = SVG.Description.class*, SVG.Animation.class* + polygon = element polygon { attlist.polygon, SVG.polygon.content } + attlist.polygon &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute points { Points.datatype }, + attribute transform { TransformList.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rng new file mode 100644 index 00000000000..c931bab7ae2 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rnc new file mode 100644 index 00000000000..370c4259c05 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rnc @@ -0,0 +1,62 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Structure +## +## svg, g, defs, desc, title, metadata, symbol, use +## +## This module declares the major structural elements and their attributes. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-structure.rnc" + + ## + ## extend SVG.Structure.class + ## + SVG.Structure.class |= symbol + a:documentation [ "\x{a}" ~ " symbol: Symbol Element\x{a}" ~ " " ] + SVG.symbol.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + symbol = element symbol { attlist.symbol, SVG.symbol.content } + attlist.symbol &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rng new file mode 100644 index 00000000000..533d3462646 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-style.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rnc new file mode 100644 index 00000000000..68c7f48c1a3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rnc @@ -0,0 +1,56 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Style +## +## style +## +## This module declares markup to provide support for stylesheet. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + ClassList.datatype = xsd:NMTOKENS + StyleSheet.datatype = xsd:string + + ## + ## comma-separated list of media descriptors. + ## + MediaDesc.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Style.attrib\x{a}" ~ " " ] + SVG.Style.extra.attrib = empty + SVG.Style.attrib &= + attribute style { StyleSheet.datatype }?, + attribute class { ClassList.datatype }?, + SVG.Style.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Style.class\x{a}" ~ " " ] + SVG.Style.extra.class = notAllowed + SVG.Style.class |= style | SVG.Style.extra.class + a:documentation [ "\x{a}" ~ " style: Style Element\x{a}" ~ " " ] + SVG.style.content = text + style = element style { attlist.style, SVG.style.content } + attlist.style &= + [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }?, + SVG.id.attrib, + SVG.base.attrib, + SVG.lang.attrib, + SVG.Core.extra.attrib, + attribute type { ContentType.datatype }, + attribute media { MediaDesc.datatype }?, + attribute title { Text.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rng new file mode 100644 index 00000000000..bc9b9a736f6 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc new file mode 100644 index 00000000000..b9d52e14420 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc @@ -0,0 +1,275 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Text +## +## text, tspan, tref, textPath, altGlyph, altGlyphDef, altGlyphItem, +## glyphRef +## +## This module declares markup to provide support for alternate glyph. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-text.rnc" + a:documentation [ "\x{a}" ~ " Datatypes\x{a}" ~ " " ] + BaselineShiftValue.datatype = xsd:string + FontSizeAdjustValue.datatype = xsd:string + GlyphOrientationHorizontalValue.datatype = xsd:string + GlyphOrientationVerticalValue.datatype = xsd:string + KerningValue.datatype = xsd:string + SpacingValue.datatype = xsd:string + TextDecorationValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Text.attrib\x{a}" ~ " " ] + SVG.Text.extra.attrib = empty + SVG.Text.attrib &= + attribute writing-mode { + "lr-tb" | "rl-tb" | "tb-rl" | "lr" | "rl" | "tb" | "inherit" + }?, + SVG.Text.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.TextContent.attrib\x{a}" ~ " " ] + SVG.TextContent.extra.attrib = empty + SVG.TextContent.attrib &= + attribute alignment-baseline { + "auto" + | "baseline" + | "before-edge" + | "text-before-edge" + | "middle" + | "central" + | "after-edge" + | "text-after-edge" + | "ideographic" + | "alphabetic" + | "hanging" + | "mathematical" + | "inherit" + }?, + attribute baseline-shift { BaselineShiftValue.datatype }?, + attribute direction { "ltr" | "rtl" | "inherit" }?, + attribute dominant-baseline { + "auto" + | "use-script" + | "no-change" + | "reset-size" + | "ideographic" + | "alphabetic" + | "hanging" + | "mathematical" + | "central" + | "middle" + | "text-after-edge" + | "text-before-edge" + | "inherit" + }?, + attribute glyph-orientation-horizontal { + GlyphOrientationHorizontalValue.datatype + }?, + attribute glyph-orientation-vertical { + GlyphOrientationVerticalValue.datatype + }?, + attribute kerning { KerningValue.datatype }?, + attribute letter-spacing { SpacingValue.datatype }?, + attribute text-anchor { "start" | "middle" | "end" | "inherit" }?, + attribute text-decoration { TextDecorationValue.datatype }?, + attribute unicode-bidi { + "normal" | "embed" | "bidi-override" | "inherit" + }?, + attribute word-spacing { SpacingValue.datatype }?, + SVG.TextContent.extra.attrib + SVG.Font.attrib &= + attribute font-size-adjust { FontSizeAdjustValue.datatype }?, + attribute font-stretch { + "normal" + | "wider" + | "narrower" + | "ultra-condensed" + | "extra-condensed" + | "condensed" + | "semi-condensed" + | "semi-expanded" + | "expanded" + | "extra-expanded" + | "ultra-expanded" + | "inherit" + }?, + attribute font-variant { "normal" | "small-caps" | "inherit" }? + + ## + ## extend SVG.Text.class + ## + SVG.Text.class |= altGlyphDef + + ## + ## extend SVG.TextContent.class + ## + SVG.TextContent.class |= tspan | tref | textPath + a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ] + SVG.text.class |= SVG.TextContent.class + attlist.text &= + SVG.Text.attrib, + SVG.TextContent.attrib, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " tspan: Text Span Element\x{a}" ~ + " " + ] + SVG.tspan.content = + (text + | tspan + | tref + | altGlyph + | animate + | set + | animateColor + | SVG.Description.class + | SVG.Hyperlink.class)* + tspan = element tspan { attlist.tspan, SVG.tspan.content } + attlist.tspan &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " tref: Text Reference Element\x{a}" ~ + " " + ] + SVG.tref.content = + (animate | set | animateColor | SVG.Description.class)* + tref = element tref { attlist.tref, SVG.tref.content } + attlist.tref &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.XLinkRequired.attrib, + SVG.External.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " textPath: Text Path Element\x{a}" ~ + " " + ] + SVG.textPath.content = + (text + | tspan + | tref + | altGlyph + | animate + | set + | animateColor + | SVG.Description.class + | SVG.Hyperlink.class)* + textPath = element textPath { attlist.textPath, SVG.textPath.content } + attlist.textPath &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.XLinkRequired.attrib, + SVG.External.attrib, + attribute startOffset { Length.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?, + attribute method { "align" | "stretch" }?, + attribute spacing { "auto" | "exact" }? + a:documentation [ + "\x{a}" ~ + " altGlyph: Alternate Glyph Element\x{a}" ~ + " " + ] + attlist.altGlyph &= + SVG.TextContent.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }? + a:documentation [ + "\x{a}" ~ + " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~ + " " + ] + SVG.altGlyphDef.content |= altGlyphItem+ + a:documentation [ + "\x{a}" ~ + " altGlyphItem: Alternate Glyph Item Element\x{a}" ~ + " " + ] + SVG.altGlyphItem.content = glyphRef+ + altGlyphItem = + element altGlyphItem { + attlist.altGlyphItem, SVG.altGlyphItem.content + } + attlist.altGlyphItem &= SVG.Core.attrib + a:documentation [ + "\x{a}" ~ + " glyphRef: Glyph Reference Element\x{a}" ~ + " " + ] + attlist.glyphRef &= + attribute x { Number.datatype }?, + attribute y { Number.datatype }?, + attribute dx { Number.datatype }?, + attribute dy { Number.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rng new file mode 100644 index 00000000000..d0740889641 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-view.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rnc new file mode 100644 index 00000000000..41501c31f92 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rnc @@ -0,0 +1,42 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## View +## +## view +## +## This module declares markup to provide support for view. +## + +## +## SVG.View.class +## +[ xml:lang = "en" ] +grammar { + SVG.View.extra.class = notAllowed + SVG.View.class |= view | SVG.View.extra.class + a:documentation [ "\x{a}" ~ " view: View Element\x{a}" ~ " " ] + SVG.view.content = SVG.Description.class* + view = element view { attlist.view, SVG.view.content } + attlist.view &= + SVG.Core.attrib, + SVG.External.attrib, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, + [ a:defaultValue = "magnify" ] + attribute zoomAndPan { "disable" | "magnify" }?, + attribute viewTarget { text }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rng new file mode 100644 index 00000000000..2b26547d2f8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-viewport-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rnc new file mode 100644 index 00000000000..d7acd96d7c5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rnc @@ -0,0 +1,36 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Viewport Attribute +## +## clip, overflow +## +## This module defines the Viewport attribute set. +## +[ xml:lang = "en" ] +grammar { + + ## + ## 'clip' property/attribute value (e.g., 'auto', rect(...)) + ## + ClipValue.datatype = xsd:string + SVG.clip.attrib = attribute clip { ClipValue.datatype }? + SVG.overflow.attrib = + attribute overflow { + "visible" | "hidden" | "scroll" | "auto" | "inherit" + }? + SVG.Viewport.extra.attrib = empty + SVG.Viewport.attrib &= + SVG.clip.attrib, SVG.overflow.attrib, SVG.Viewport.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rng new file mode 100644 index 00000000000..1578d27ceb3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-xlink-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rnc new file mode 100644 index 00000000000..c31505e04d2 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rnc @@ -0,0 +1,67 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace xlink = "http://www.w3.org/1999/xlink" + + +## +## 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 $ +## + +## +## XLink Attribute +## +## type, href, role, arcrole, title, show, actuate +## +## This module defines the XLink, XLinkRequired, XLinkEmbed, and +## XLinkReplace attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.XLink.extra.attrib = empty + SVG.XLink.attrib &= + [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, + attribute xlink:href { URI.datatype }?, + attribute xlink:role { URI.datatype }?, + attribute xlink:arcrole { URI.datatype }?, + attribute xlink:title { text }?, + [ a:defaultValue = "other" ] attribute xlink:show { "other" }?, + [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, + SVG.XLink.extra.attrib + SVG.XLinkRequired.extra.attrib = empty + SVG.XLinkRequired.attrib &= + [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, + attribute xlink:href { URI.datatype }, + attribute xlink:role { URI.datatype }?, + attribute xlink:arcrole { URI.datatype }?, + attribute xlink:title { text }?, + [ a:defaultValue = "other" ] attribute xlink:show { "other" }?, + [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, + SVG.XLinkRequired.extra.attrib + SVG.XLinkEmbed.extra.attrib = empty + SVG.XLinkEmbed.attrib &= + [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, + attribute xlink:href { URI.datatype }, + attribute xlink:role { URI.datatype }?, + attribute xlink:arcrole { URI.datatype }?, + attribute xlink:title { text }?, + [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?, + [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, + SVG.XLinkEmbed.extra.attrib + SVG.XLinkReplace.extra.attrib = empty + SVG.XLinkReplace.attrib &= + [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, + attribute xlink:href { URI.datatype }, + attribute xlink:role { URI.datatype }?, + attribute xlink:arcrole { URI.datatype }?, + attribute xlink:title { text }?, + [ a:defaultValue = "replace" ] + attribute xlink:show { "new" | "replace" }?, + [ a:defaultValue = "onRequest" ] + attribute xlink:actuate { "onRequest" }?, + SVG.XLinkReplace.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rng new file mode 100644 index 00000000000..0f1a65dffef --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg11-basic.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-basic.rng new file mode 100644 index 00000000000..bacfea8f65e --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-basic.rng @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE grammar SYSTEM "../relaxng.dtd"> +<grammar ns="http://www.w3.org/2000/svg" xml:lang="en" + xmlns="http://relaxng.org/ns/structure/1.0" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <a:documentation> + RELAX NG schema for SVG 1.1 Basic + file: svg11-basic.rng + + This is SVG Basic, a proper subset of SVG. + + 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-basic.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + + This is the driver file for version 1.1 of the SVG Basic RELAX NG schema. + + The DTD version is identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" + SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" + + Use this URI to identify the default namespace: + + "http://www.w3.org/2000/svg" + </a:documentation> + + <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> + 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-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-basic-clip.rng"> + <a:documentation> + Basic Clip Module + </a:documentation> + </include> + + <include href="svg-mask.rng"> + <a:documentation> + Mask Module + </a:documentation> + </include> + + <include href="svg-basic-filter.rng"> + <a:documentation> + Basic 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/rnc/LaTeXML/svg11-tiny.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-tiny.rng new file mode 100644 index 00000000000..6d7a30bf346 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-tiny.rng @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE grammar SYSTEM "../relaxng.dtd"> +<grammar ns="http://www.w3.org/2000/svg" xml:lang="en" + xmlns="http://relaxng.org/ns/structure/1.0" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <a:documentation> + RELAX NG schema for SVG 1.1 Tiny + file: svg11-tiny.rng + + This is SVG Tiny, a proper subset of SVG. + + 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-tiny.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ + + This is the driver file for version 1.1 of the SVG Tiny RELAX NG schema. + + The DTD version is identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" + SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd" + + Use this URI to identify the default namespace: + + "http://www.w3.org/2000/svg" + </a:documentation> + + <include href="svg-paint-attrib.rng"> + <a:documentation> + Paint Attribute Module + </a:documentation> + </include> + + <include href="svg-basic-graphics-attrib.rng"> + <a:documentation> + Basic 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-basic-structure.rng"> + <a:documentation> + Basic 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-basic-text.rng"> + <a:documentation> + Basic Text 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-basic-font.rng"> + <a:documentation> + Basic 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/rnc/LaTeXML/svg11.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rnc new file mode 100644 index 00000000000..a4b74cdc9a4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rnc @@ -0,0 +1,193 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace ns1 = "http://www.w3.org/2000/svg" +namespace xlink = "http://www.w3.org/1999/xlink" + + +## +## 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" +## +[ xml:lang = "en" ] +grammar { + + ## + ## Container Attribute Module + ## + include "svg-container-attrib.rnc" inherit = ns1 + + ## + ## Viewport Attribute Module + ## + include "svg-viewport-attrib.rnc" inherit = ns1 + + ## + ## Paint Attribute Module + ## + include "svg-paint-attrib.rnc" inherit = ns1 + + ## + ## Paint Opacity Attribute Module + ## + include "svg-opacity-attrib.rnc" inherit = ns1 + + ## + ## Graphics Attribute Module + ## + include "svg-graphics-attrib.rnc" inherit = ns1 + + ## + ## Document Events Attribute Module + ## + include "svg-docevents-attrib.rnc" inherit = ns1 + + ## + ## Graphical Element Events Attribute Module + ## + include "svg-graphevents-attrib.rnc" inherit = ns1 + + ## + ## Animation Events Attribute Module + ## + include "svg-animevents-attrib.rnc" inherit = ns1 + + ## + ## XLink Attribute Module + ## + include "svg-xlink-attrib.rnc" inherit = ns1 + + ## + ## External Resources Attribute Module + ## + include "svg-extresources-attrib.rnc" inherit = ns1 + + ## + ## Structure Module (required) + ## + include "svg-structure.rnc" inherit = ns1 + + ## + ## Conditional Processing Module + ## + include "svg-conditional.rnc" inherit = ns1 + + ## + ## Image Module + ## + include "svg-image.rnc" inherit = ns1 + + ## + ## Style Module + ## + include "svg-style.rnc" inherit = ns1 + + ## + ## Shape Module + ## + include "svg-shape.rnc" inherit = ns1 + + ## + ## Text Module + ## + include "svg-text.rnc" inherit = ns1 + + ## + ## Marker Module + ## + include "svg-marker.rnc" inherit = ns1 + + ## + ## Color Profile Module + ## + include "svg-profile.rnc" inherit = ns1 + + ## + ## Gradient Module + ## + include "svg-gradient.rnc" inherit = ns1 + + ## + ## Pattern Module + ## + include "svg-pattern.rnc" inherit = ns1 + + ## + ## Clip Module + ## + include "svg-clip.rnc" inherit = ns1 + + ## + ## Mask Module + ## + include "svg-mask.rnc" inherit = ns1 + + ## + ## Filter Module + ## + include "svg-filter.rnc" inherit = ns1 + + ## + ## Cursor Module + ## + include "svg-cursor.rnc" inherit = ns1 + + ## + ## Hyperlinking Module + ## + include "svg-hyperlink.rnc" inherit = ns1 + + ## + ## View Module + ## + include "svg-view.rnc" inherit = ns1 + + ## + ## Scripting Module + ## + include "svg-script.rnc" inherit = ns1 + + ## + ## Animation Module + ## + include "svg-animation.rnc" inherit = ns1 + + ## + ## Font Module + ## + include "svg-font.rnc" inherit = ns1 + + ## + ## Extensibility Module + ## + include "svg-extensibility.rnc" inherit = ns1 +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rng new file mode 100644 index 00000000000..4b643a943b3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rng @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xml:lang="en" 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: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/rnc/Makefile b/Master/texmf-dist/source/latex/stex/schema/rnc/Makefile new file mode 100644 index 00000000000..b5848cdf65c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/Makefile @@ -0,0 +1,6 @@ +all: + +clean: + rm -f *~ +distclean: clean + rm -f *.dtd *.xsd *.rng diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/metadata.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/metadata.rnc new file mode 100644 index 00000000000..18f2461ec6c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/metadata.rnc @@ -0,0 +1,41 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +dc.class = Creator | Contributor | Title | Subject | + Description | Publisher | Date | Type | + Identifier | Source | Language | Relation | + Rights | license + +metadata = element metadata {Common.attribs,(dc.class)*} + + +Creator = element Creator {Common.attribs,(text|Inline.class)*} +Contributor = element Contributor {Common.attribs,(text|Inline.class)*} +Title = element Title {Common.attribs,(text|Inline.class)*} +Subject = element Subject {Common.attribs,(text|Inline.class)*} +Description = element Description {Common.attribs,(text|Inline.class)*} +Publisher = element Publisher {Common.attribs,(text|Inline.class)*} +Date = element Date {Common.attribs,(text|Inline.class)*} +Type = element Type {Common.attribs,(text|Inline.class)*} +Identifier = element Identifier {Common.attribs,(text|Inline.class)*} +Source = element Source {Common.attribs,(text|Inline.class)*} +Language = element Language {Common.attribs,(text|Inline.class)*} +Relation = element Relation {Common.attribs,(text|Inline.class)*} +Rights = element Rights {Common.attribs,(text | Inline.class)*} + +license = element license {Common.attribs,(attribution|noncommercial|sharealike|noderivativeworks)*} +attribution = element attribution {Common.attribs} +noncommercial = element noncommercial {Common.attribs} +sharealike = element sharealike {Common.attribs} +noderivativeworks = element noderivativeworks {Common.attribs} + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc+ltxml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc+ltxml.rnc new file mode 100644 index 00000000000..20616411787 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc+ltxml.rnc @@ -0,0 +1,149 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +## we include the OMDoc Schema, but we allow the sectioning elements defined below +## as document structuring elements as well. +include "omdoc/omdoc.rnc" {docstruct.class = omgroup* & lechapter*} + +## we extend the Math Objects by the ones introduced by LaTeXML +mobj |= grammar { + include "LaTeXML/LaTeXML-common.rnc" + include "LaTeXML/LaTeXML-math.rnc" + start = Math} + +## 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. +render.class |= grammar { + include "LaTeXML/LaTeXML.rnc" + {#XMath.class &= XMRow* & XMCell* +# XMRow_model &= element XMTok {attribute role {xsd:string {pattern = "ID"}}} +# XMArray_model &= element XMTok {attribute role {xsd:string {pattern = "ID"}}} + XMTok_attributes &= parent ntn.attrib + start = Math | \text}} + +## 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. + +inline.class &= grammar { + include "LaTeXML/LaTeXML.rnc" + {Common.attributes &=parent id.attribs + Inline.class = parent inline.class + text_model = parent inline.model + start=bibref* & break* & ref* & cite* & \text* & emph*}} + +plike.class &= grammar { + include "LaTeXML/LaTeXML.rnc" + {Common.attributes =parent id.attribs + Inline.class = parent inline.class + Block.class = parent plike.class +# Flow.class = parent flow.class + text_model = parent inline.model + listingblock_model = parent plike.class + start = p* & tabular* & + equation* & equationgroup* & + figure* & graphics* & verbatim* & listingblock* & listing* & + itemize* & enumerate* & description*}} + + +tikz = element tikz {text} + +## we allow various LaTeXML elements as a top-level elements, +## they will be converted by XSLT later +omdoc.class &= grammar {include "LaTeXML/LaTeXML.rnc" { + Common.attributes &=parent id.attribs + Inline.class = parent inline.class + Block.class = parent plike.class + Para.class = parent omdoc.class +# Flow.class = parent flow.class + text_model = parent inline.model + listingblock_model = parent plike.class + start= para* & figure* & table* & listing* & + itemize* & enumerate* & description*}} + +backmatter &= grammar {include "LaTeXML/LaTeXML.rnc" { + Common.attributes &=parent id.attribs + Inline.class = parent inline.class + Block.class = parent plike.class + Para.class = parent omdoc.class +# Flow.class = parent flow.class + text_model = parent inline.model + listingblock_model = parent plike.class + start= bibliography*}} + + +## we prepare some nested content models for sectioning elements +lesubparagraph = subparagraph* +leparagraph = paragraph* & lesubparagraph +lesubsubsection = subsubsection* & leparagraph +lesubsection = subsection* & lesubsubsection +lesection = section* & lesubsection +lechapter = chapter* & lesection + +## they need to be able to nest theories transparently +theory.chapter = element theory {theory.attribs & + metadata.class & + omdoc.class & + constitutive.class & + lesection} +theory.section = element theory {theory.attribs & + metadata.class & + omdoc.class & + constitutive.class & + lesubsection} +theory.subsection = element theory {theory.attribs & + metadata.class & + omdoc.class & + constitutive.class & + lesubsubsection} +theory.subsubsection = element theory {theory.attribs & + metadata.class & + omdoc.class & + constitutive.class & + leparagraph} +theory.paragraph = element theory {theory.attribs & + metadata.class & + omdoc.class & + constitutive.class & + lesubparagraph} +theory.subparagraph = element theory {theory.attribs & + metadata.class & + omdoc.class & + constitutive.class} + +sectional.attribs = id.attribs + +## and now the elemens themselves +chapter = element chapter {sectional.attribs & + metadata.class & + omdoc.class & + theory.chapter*} +section= element section{sectional.attribs & + metadata.class & + omdoc.class & + theory.section*} +subsection= element subsection {sectional.attribs & + metadata.class & + omdoc.class & + theory.subsection*} +subsubsection= element subsubsection {sectional.attribs & + metadata.class & + omdoc.class & + theory.subsubsection*} +paragraph= element paragraph {sectional.attribs & + metadata.class & + omdoc.class & + theory.paragraph*} +subparagraph= element subparagraph {sectional.attribs & + metadata.class & + omdoc.class & + theory.subparagraph*} + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/MARCRelators.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/MARCRelators.rnc new file mode 100644 index 00000000000..e3d7c72dbd8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/MARCRelators.rnc @@ -0,0 +1,23 @@ +# the MARC relator set; see http://www.loc.gov/marc/relators +MARCRelators = + "act" | "adp" | "aft" | "ann" | "ant" | "app" | "aqt" | + "arc" | "arr" | "art" | "asg" | "asn" | "att" | "auc" | "aud" | "aui" | + "aus" | "aut" | "bdd" | "bjd" | "bkd" | "bkp" | "bnd" | "bpd" | "bsl" | + "ccp" | "chr" | "clb" | "cli" | "cll" | "clt" | "cmm" | "cmp" | "cmt" | + "cnd" | "cns" | "coe" | "col" | "com" | "cos" | "cot" | "cov" | "cpc" | + "cpe" | "cph" | "cpl" | "cpt" | "cre" | "crp" | "crr" | "csl" | "csp" | + "cst" | "ctb" | "cte" | "ctg" | "ctr" | "cts" | "ctt" | "cur" | "cwt" | + "dfd" | "dfe" | "dft" | "dgg" | "dis" | "dln" | "dnc" | "dnr" | "dpc" | + "dpt" | "drm" | "drt" | "dsr" | "dst" | "dte" | "dto" | "dub" | "edt" | + "egr" | "elt" | "eng" | "etr" | "exp" | "fac" | "flm" | "fmo" | "fnd" | + "fpy" | "frg" | "hnr" | "hst" | "ill" | "ilu" | "ins" | "inv" | "itr" | + "ive" | "ivr" | "lbt" | "lee" | "lel" | "len" | "let" | "lie" | "lil" | + "lit" | "lsa" | "lse" | "lso" | "ltg" | "lyr" | "mdc" | "mod" | "mon" | + "mrk" | "mte" | "mus" | "nrt" | "opn" | "org" | "orm" | "oth" | "own" | + "pat" | "pbd" | "pbl" | "pfr" | "pht" | "plt" | "pop" | "ppm" | "prc" | + "prd" | "prf" | "prg" | "prm" | "pro" | "prt" | "pta" | "pte" | "ptf" | + "pth" | "ptt" | "rbr" | "rce" | "rcp" | "red" | "ren" | "res" | "rev" | + "rpt" | "rpy" | "rse" | "rsp" | "rst" | "rth" | "rtm" | "sad" | "sce" | + "scl" | "scr" | "sec" | "sgn" | "sng" | "spk" | "spn" | "spy" | "srv" | + "stl" | "stn" | "str" | "ths" | "trc" | "trl" | "tyd" | "tyg" | "voc" | + "wam" | "wdc" | "wde" | "wit" diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/Makefile b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/Makefile new file mode 100644 index 00000000000..0a4cef88b07 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/Makefile @@ -0,0 +1,11 @@ +RNC = $(shell ls *.rnc) + +all: #$(RNG) #$(XSD) #omdoc.xsd $(TARGET.dtd) + +clean: + rm -f *~ +distclean: clean + +# no longer adequate +# install: $(SRC.rnc) $(SRC.rng) #$(SRC.xsd) +# cp $(RNC) $(RNG) $(HOME)/vc/svn/omdoc.org/www/rnc diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/README b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/README new file mode 100644 index 00000000000..d9f6d4f0209 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/README @@ -0,0 +1,3 @@ +This directory contains a RelaxNG schema for OMDoc in compact form. +It includes parts of the XHTML schema slightly edited for embeddability and +the MathML3 schema in original form. diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/arith1.omdoc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/arith1.omdoc new file mode 100644 index 00000000000..d7aa94849ff --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/arith1.omdoc @@ -0,0 +1,1672 @@ +<?xml version="1.0" encoding="utf-8"?> + +<omdoc xml:id="arith1-omdoc" version="1.3" + modules="CD" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns" + xmlns:om="http://www.openmath.org/OpenMath" + xmlns:m="http://www.w3.org/1998/Math/MathML" + xmlns:o="http://omdoc.org/ns" + xmlns:xh="http://www.w3.org/1999/xhtml" + xmlns="http://omdoc.org/ns"> + +<metadata> + <dc:title>The OpenMath Content Dictionary arith1.ocd in OMDoc form</dc:title> + <dc:creator role="trl">Michael Kohlhase</dc:creator> + <dc:creator role="ant">The OpenMath Society</dc:creator> + <dc:date action="updated">2004-07-13</dc:date> + <dc:source>Derived from the OpenMath CD http://www.openmath.org/cd/arith1.ocd.</dc:source> + <dc:type>Text</dc:type> + <dc:format>application/omdoc+xml</dc:format> + <dc:rights> + <xh:p>Copyright (c) 2000-2002 Michael Kohlhase; + This OMDoc content dictionary is released under the OpenMath license: + http://monet.nag.co.uk/openmath/cdfiles/license.html + </xh:p> + </dc:rights> + <dc:description><xh:p>This CD defines symbols for common arithmetic functions.</xh:p></dc:description> +</metadata> + +<theory xml:id="arith1"> + <imports from="integer1.omdoc#integer1"/> + <imports from="interval1.omdoc#interval1"/> + <imports from="fns1.omdoc#fns1"/> + <imports from="relation1.omdoc#relation1"/> + +<symbol name="lcm" xml:id="lcm"> + <metadata> + <dc:description> + <xh:p>The symbol to represent the n-ary function to return the + <term cd="arith1" name="lcm" role="definiens">least common multiple</term> of its arguments. + </xh:p> + </dc:description> + <dc:description xml:lang="de"> + <xh:p> + Das Symbol f"ur das <term cd="arith1" name="lcm" role="definiens">kleinste + gemeinsame Vielfache</term> (als n-aere Funktion). + </xh:p> + </dc:description> + <dc:subject>lcm</dc:subject> + <dc:subject xml:lang="de">kgV</dc:subject> + </metadata> + <type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMA> + <OMS name="nassoc" cd="sts"/> + <OMV name="SemiGroup"/> + </OMA> + <OMV name="SemiGroup"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMS cd="arith1" name="lcm"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">lcm</m:csymbol> + </prototype> + <rendering xml:lang="en"> + <m:mo>lcm</m:mo> + </rendering> + <rendering xml:lang="de"> + <m:mo>kgV</m:mo> + </rendering> + </notation> + +<theory xml:id="arith1-lcm"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> + +<assertion xml:id="lcm-prop-1" type="lemma"> + <CMP> + <xh:p> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMR href="lcm-prop-1.O"/></OMOBJ> + for all integers <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> and + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>. + </xh:p> + </CMP> + <CMP xml:lang="de"> + <xh:p> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR + href="lcm-prop-1.O"/></OMOBJ> fuer alle ganzen Zahlen <OMOBJ + xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> und <OMOBJ + xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ>. + </xh:p> + </CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA id="lcm-prop-1.O"> + <OMS cd="relation1" name="eq"/> + <OMA><OMS cd="arith1" name="lcm"/><OMV name="a"/><OMV name="b"/></OMA> + <OMA> + <OMS cd="arith1" name="divide"/> + <OMA><OMS cd="arith1" name="times"/><OMV name="a"/><OMV name="b"/></OMA> + <OMA><OMS cd="arith1" name="gcd"/><OMV name="a"/><OMV name="b"/></OMA> + </OMA> + </OMA> + </OMOBJ> + </FMP> +</assertion> + +<assertion xml:id="lcm-prop-3" type="lemma"> + <CMP> + <xh:p> + For all integers a,b there is no <OMOBJ + xmlns="http://www.openmath.org/OpenMath"><OMR href="#lcm-prop-3.1"/></OMOBJ> such + that <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR + href="lcm-prop-3.2"/></OMOBJ> and <OMOBJ + xmlns="http://www.openmath.org/OpenMath"><OMR href="#lcm-prop-3.3"/></OMOBJ> and + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR + href="lcm-prop-3.4"/></OMOBJ>. + </xh:p> + </CMP> + <CMP xml:lang="de"> + <xh:p> + Fuer alle ganzen Zahlen a,b gibt es kein <OMOBJ + xmlns="http://www.openmath.org/OpenMath"><OMR href="#lcm-prop-3.1"/></OMOBJ> mit + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR + href="lcm-prop-3.2"/></OMOBJ> und <OMOBJ + xmlns="http://www.openmath.org/OpenMath"><OMR href="#lcm-prop-3.3"/></OMOBJ> und + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR + href="lcm-prop-3.4"/></OMOBJ>. + </xh:p> + </CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + <OMV name="b"/> + </OMBVAR> + <OMA> + <OMS cd="logic1" name="implies"/> + <OMA> + <OMS cd="logic1" name="and"/> + <OMA> + <OMS cd="set1" name="in"/> + <OMV name="a"/> + <OMS cd="setname1" name="Z"/> + </OMA> + <OMA> + <OMS cd="set1" name="in"/> + <OMV name="b"/> + <OMS cd="setname1" name="Z"/> + </OMA> + </OMA> + <OMA> + <OMS cd="logic1" name="not"/> + <OMBIND> + <OMS cd="quant1" name="exists"/> + <OMBVAR> + <OMV name="c"/> + </OMBVAR> + <OMA> + <OMS cd="logic1" name="and"/> + <OMA id="lcm-prop-3.1"> + <OMS cd="relation1" name="gt"/> + <OMV name="c"/> + <OMI>0</OMI> + </OMA> + <OMA id="lcm-prop-3.2"> + <OMS cd="integer1" name="factorof"/> + <OMV name="a"/> + <OMV name="c"/> + </OMA> + <OMA id="lcm-prop-3.3"> + <OMS cd="integer1" name="factorof"/> + <OMV name="b"/> + <OMV name="c"/> + </OMA> + <OMA id="lcm-prop-3.4"> + <OMS cd="relation1" name="lt"/> + <OMV name="c"/> + <OMA> + <OMS cd="arith1" name="lcm"/> + <OMV name="a"/> + <OMV name="b"/> + </OMA> + </OMA> + </OMA> + </OMBIND> + </OMA> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +</theory> + +<symbol name="gcd" xml:id="gcd"> + <metadata> + <dc:description> + <xh:p> + The symbol to represent the n-ary function to return the gcd (greatest + common divisor) of its arguments. + </xh:p> + </dc:description> +</metadata> +<type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMA> + <OMS name="nassoc" cd="sts"/> + <OMV name="SemiGroup"/> + </OMA> + <OMV name="SemiGroup"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMS cd="arith1" name="gcd"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">gcd</m:csymbol> + </prototype> + <rendering xml:lang="en"> + <m:mo>gcd</m:mo> + </rendering> + <rendering xml:lang="de"> + <m:mo>ggT</m:mo> + </rendering> + </notation> + +<theory xml:id="arith1-gcd"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> + +<assertion xml:id="gcd-prop-1" type="lemma"> + <CMP> + <xh:p> + For all integers a,b there is no c + such that <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#gcd-prop-1.1"/></OMOBJ> and + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#gcd-prop-1.2"/></OMOBJ> but + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#gcd-prop-1.3"/></OMOBJ>. + + Note that this implies that + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS cd="relation1" name="gt"/> + <OMA><OMS cd="arith1" name="gcd"/><OMV name="a"/><OMV name="b"/></OMA> + <OMI>0</OMI> + </OMA> + </OMOBJ>. + </xh:p> +</CMP> +<FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + <OMV name="b"/> + </OMBVAR> + <OMA> + <OMS cd="logic1" name="implies"/> + <OMA> + <OMS cd="logic1" name="and"/> + <OMA> + <OMS cd="set1" name="in"/> + <OMV name="a"/> + <OMS cd="setname1" name="Z"/> + </OMA> + <OMA> + <OMS cd="set1" name="in"/> + <OMV name="b"/> + <OMS cd="setname1" name="Z"/> + </OMA> + </OMA> + <OMA> + <OMS cd="logic1" name="not"/> + <OMBIND> + <OMS cd="quant1" name="exists"/> + <OMBVAR> + <OMV name="c"/> + </OMBVAR> + <OMA> + <OMS cd="logic1" name="and"/> + <OMA id="gcd-prop-1.1"> + <OMS cd="set1" name="in"/> + <OMA> + <OMS cd="arith1" name="divide"/> + <OMV name="a"/> + <OMV name="c"/> + </OMA> + <OMS cd="setname1" name="Z"/> + </OMA> + <OMA id="gcd-prop-1.2"> + <OMS cd="set1" name="in"/> + <OMA> + <OMS cd="arith1" name="divide"/> + <OMV name="b"/> + <OMV name="c"/> + </OMA> + <OMS cd="setname1" name="Z"/> + </OMA> + <OMA id="gcd-prop-1.3"> + <OMS cd="relation1" name="gt"/> + <OMV name="c"/> + <OMA> + <OMS cd="arith1" name="gcd"/> + <OMV name="a"/> + <OMV name="b"/> + </OMA> + </OMA> + </OMA> + </OMBIND> + </OMA> + </OMA> + </OMBIND> + </OMOBJ> +</FMP> +</assertion> + +<example xml:id="gcd-ex-3" type="for" for="#gcd"> + <CMP> + <xh:p> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#gcd-ex-3.1"/></OMOBJ> + </xh:p> + </CMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA id="gcd-ex-3.1"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="gcd"/> + <OMI> 6 </OMI> + <OMI> 9 </OMI> + </OMA> + <OMI> 3 </OMI> + </OMA> + </OMOBJ> +</example> +</theory> + +<symbol name="plus" xml:id="plus"> + <metadata> + <dc:description><xh:p>The symbol representing an n-ary commutative function plus.</xh:p></dc:description> + <dc:subject>plus</dc:subject> + </metadata> + <type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMA> + <OMS name="nassoc" cd="sts"/> + <OMV name="AbelianSemiGroup"/> + </OMA> + <OMV name="AbelianSemiGroup"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="plus" o:cr="fun"/> + <exprlist name="args"> + <expr name="arg"/> + </exprlist> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1" o:cr="fun">plus</m:csymbol> + <exprlist name="args"> + <expr name="arg"/> + </exprlist> + </m:apply> + </prototype> + <rendering> + <m:mrow> + <m:mo o:egroup="fence" fence="true">(</m:mo> + <iterate name="args" precedence="500"> + <separator><m:mo o:cr="fun">+</m:mo></separator> + <render name="arg"/> + </iterate> + <m:mo o:egroup="fence" fence="true">)</m:mo> + </m:mrow> + </rendering> + </notation> + <notation> + <prototype> + <om:OMS cd="arith1" name="plus"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">plus</m:csymbol> + </prototype> + <rendering> + <m:mo>+</m:mo> + </rendering> + </notation> + +<theory xml:id="arith1-plus"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> + +<assertion xml:id="plus-prop-1" type="lemma"> + <CMP><xh:p>For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>, + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#plus-prop-1.1"/></OMOBJ> + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + <OMV name="b"/> + </OMBVAR> + <OMA id="plus-prop-1.1"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMV name="a"/> + <OMV name="b"/> + </OMA> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMV name="b"/> + <OMV name="a"/> + </OMA> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +</theory> + +<symbol name="unary_minus" xml:id="unary_minus"> + <metadata> + <dc:description><xh:p> This symbol denotes unary minus, i.e. the additive inverse.</xh:p></dc:description><dc:subject>unary minus</dc:subject></metadata> + <type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMV name="AbelianGroup"/> + <OMV name="AbelianGroup"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="unary_minus" o:cr="fun"/> + <expr name="arg"/> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1" o:cr="fun">unary_minus</m:csymbol> + <expr name="arg"/> + </m:apply> + </prototype> + <rendering> + <m:mrow> + <m:mo o:cr="fun">-</m:mo> + <m:mo o:egroup="fence" fence="true">(</m:mo> + <render name="arg"/> + <m:mo o:egroup="fence" fence="true">)</m:mo> + </m:mrow> + </rendering> + </notation> + <notation> + <prototype> + <om:OMS cd="arith1" name="unary_minus"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">unary_minus</m:csymbol> + </prototype> + <rendering> + <m:mo>-</m:mo> + </rendering> + </notation> + +<theory xml:id="arith1-uminus"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> + +<assertion xml:id="unary_minus-prop-1" type="lemma"> + <CMP><xh:p><OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#unary_minus-prop-1.1"/></OMOBJ> for all + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + </OMBVAR> + <OMA id="unary_minus-prop-1.1"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMV name="a"/> + <OMA> + <OMS cd="arith1" name="unary_minus"/> + <OMV name="a"/> + </OMA> + </OMA> + <OMS cd="alg1" name="zero"/> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +</theory> + + +<symbol name="minus" xml:id="minus"> + <metadata> + <dc:description><xh:p> The symbol representing a binary minus function. This is equivalent to + adding the additive inverse. + </xh:p></dc:description> +</metadata> +<type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMV name="AbelianGroup"/> + <OMV name="AbelianGroup"/> + <OMV name="AbelianGroup"/> + </OMA> + </OMOBJ> + </type> +</symbol> + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="minus" o:cr="fun"/> + <expr name="arg1"/> + <expr name="arg2"/> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1" o:cr="fun">minus</m:csymbol> + <expr name="arg1"/> + <expr name="arg2"/> + </m:apply> + </prototype> + <rendering> + <m:mrow> + <m:mo o:egroup="fence" fence="true">(</m:mo> + <render name="arg1" precedence="500"/> + <m:mo o:cr="fun">-</m:mo> + <render name="arg2" precedence="500"/> + <m:mo o:egroup="fence" fence="true">)</m:mo> + </m:mrow> + </rendering> + </notation> + <notation> + <prototype> + <om:OMS cd="arith1" name="minus"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">minus</m:csymbol> + </prototype> + <rendering> + <m:mo>-</m:mo> + </rendering> + </notation> + +<theory xml:id="arith1-minus"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> + + +<assertion xml:id="minus-prop-1" type="lemma"> + <CMP><xh:p> + For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>, + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#minus-prop-1.1"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + <OMV name="b"/> + </OMBVAR> + <OMA id="minus-prop-1.1"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="minus"/> + <OMV name="a"/> + <OMV name="b"/> + </OMA> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMV name="a"/> + <OMA> + <OMS cd="arith1" name="unary_minus"/> + <OMV name="b"/> + </OMA> + </OMA> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +</theory> + +<symbol name="times" xml:id="times"> + <metadata> + <dc:description><xh:p> The symbol representing an n-ary multiplication function.</xh:p></dc:description><dc:subject>times</dc:subject></metadata> + <type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMA> + <OMS name="nassoc" cd="sts"/> + <OMV name="SemiGroup"/> + </OMA> + <OMV name="SemiGroup"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMS cd="arith1" name="times"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">times</m:csymbol> + </prototype> + <rendering> + <m:mo></m:mo> + </rendering> + </notation> + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="times" o:cr="fun"/> + <exprlist name="args"> + <expr name="arg"/> + </exprlist> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1" o:cr="fun">times</m:csymbol> + <exprlist name="args"> + <expr name="arg"/> + </exprlist> + </m:apply> + </prototype> + <rendering> + <m:mrow> + <m:mo o:egroup="fence" fence="true">(</m:mo> + <iterate name="args" precedence="400"> + <separator> + <m:mo o:cr="fun"></m:mo> + </separator> + <render name="arg"/> + </iterate> + <m:mo o:egroup="fence" fence="true">)</m:mo> + </m:mrow> + </rendering> + </notation> + +<theory xml:id="arith1-times"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> +<imports from="linalg2.omdoc#linalg2"/> + +<example xml:id="times-ex-1" type="for" for="#times"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath" style="display:block"> + <OMA> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="times"/> + <OMA> + <OMS cd="linalg2" name="matrix"/> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 1 </OMI> + <OMI> 2 </OMI> + </OMA> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 3 </OMI> + <OMI> 4 </OMI> + </OMA> + </OMA> + <OMA> + <OMS cd="linalg2" name="matrix"/> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 5 </OMI> + <OMI> 6 </OMI> + </OMA> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 7 </OMI> + <OMI> 8 </OMI> + </OMA> + </OMA> + </OMA> + <OMA> + <OMS cd="linalg2" name="matrix"/> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 19 </OMI> + <OMI> 20 </OMI> + </OMA> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 43 </OMI> + <OMI> 50 </OMI> + </OMA> + </OMA> + </OMA> + </OMOBJ> +</example> + +<assertion xml:id="times-prop-2" type="lemma"> + <CMP><xh:p> for all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>, + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#times-prop-2.1"/></OMOBJ> and + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#times-prop-2.2"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + <OMV name="b"/> + </OMBVAR> + <OMA> + <OMS cd="logic1" name="and"/> + <OMA id="times-prop-2.1"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="times"/> + <OMV name="a"/> + <OMS cd="alg1" name="zero"/> + </OMA> + <OMS cd="alg1" name="zero"/> + </OMA> + <OMA id="times-prop-2.2"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="times"/> + <OMV name="a"/> + <OMV name="b"/> + </OMA> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMA> + <OMS cd="arith1" name="times"/> + <OMV name="a"/> + <OMA> + <OMS cd="arith1" name="minus"/> + <OMV name="b"/> + <OMS cd="alg1" name="one"/> + </OMA> + </OMA> + <OMV name="a"/> + </OMA> + </OMA> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +<assertion xml:id="times-prop-4" type="lemma"> + <CMP><xh:p>For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ>, + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>, + and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ>, we + have + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#times-prop-4.1"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + <OMV name="b"/> + <OMV name="c"/> + </OMBVAR> + <OMA id="times-prop-4.1"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="times"/> + <OMV name="a"/> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMV name="b"/> + <OMV name="c"/> + </OMA> + </OMA> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMA> + <OMS cd="arith1" name="times"/> + <OMV name="a"/> + <OMV name="b"/> + </OMA> + <OMA> + <OMS cd="arith1" name="times"/> + <OMV name="a"/> + <OMV name="c"/> + </OMA> + </OMA> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +</theory> + +<symbol name="divide" xml:id="divide"> +<metadata> +<dc:description><xh:p> + This symbol represents a (binary) division function denoting the first argument + right-divided by the second, i.e. divide(a,b)=a*inverse(b). It is the + inverse of the multiplication function defined by the symbol times in this CD. +</xh:p></dc:description> +</metadata> +<type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMV name="AbelianGroup"/> + <OMV name="AbelianGroup"/> + <OMV name="AbelianGroup"/> + </OMA> + </OMOBJ> + </type> +</symbol> + <notation> + <prototype> + <om:OMS cd="arith1" name="divide"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">divide</m:csymbol> + </prototype> + <rendering> + <m:mo>/</m:mo> + </rendering> + </notation> + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="divide"/> + <expr name="arg1"/> + <expr name="arg2"/> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1">divide</m:csymbol> + <expr name="arg1"/> + <expr name="arg2"/> + </m:apply> + </prototype> + <rendering> + <m:mfrac> + <render name="arg1"/> + <render name="arg2"/> + </m:mfrac> + </rendering> + </notation> + +<theory xml:id="arith1-divide"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> + +<assertion xml:id="divide-prop-1" type="lemma"> + <CMP><xh:p>If <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#divide-prop-1.1"/></OMOBJ> then + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#divide-prop-1.2"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + </OMBVAR> + <OMA> + <OMS cd="logic1" name="implies"/> + <OMA id="divide-prop-1.1"> + <OMS cd="relation1" name="neq"/> + <OMV name="a"/> + <OMS cd="alg1" name="zero"/> + </OMA> + <OMA id="divide-prop-1.2"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="divide"/> + <OMV name="a"/> + <OMV name="a"/> + </OMA> + <OMS cd="alg1" name="one"/> + </OMA> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +</theory> + +<symbol name="power" xml:id="power"> +<metadata> +<dc:description><xh:p> + This symbol represents a power function. The first argument is raised + to the power of the second argument. When the second argument is not + an integer, powering is defined in terms of exponentials and + logarithms for the complex and real numbers. + This operator can represent general powering. +</xh:p></dc:description> +</metadata> +<type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMS name="NumericalValue" cd="sts"/> + <OMS name="NumericalValue" cd="sts"/> + <OMS name="NumericalValue" cd="sts"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMS cd="arith1" name="power"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">power</m:csymbol> + </prototype> + <rendering> + <m:mo>power</m:mo> + </rendering> + </notation> + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="power"/> + <expr name="arg1"/> + <expr name="arg2"/> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1">power</m:csymbol> + <expr name="arg1"/> + <expr name="arg2"/> + </m:apply> + </prototype> + <rendering> + <m:msup> + <render name="arg1"/> + <render name="arg2"/> + </m:msup> + </rendering> + </notation> + +<theory xml:id="arith1-power"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> +<imports from="linalg2.omdoc#linalg2"/> +<imports from="nums1.omdoc#nums1"/> + +<assertion xml:id="power-prop-1" type="lemma"> + <CMP><xh:p><OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#power-prop-1.1"/></OMOBJ> implies + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#power-prop-1.2"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS cd="logic1" name="implies"/> + <OMA id="power-prop-1.1"> + <OMS cd="set1" name="in"/> + <OMV name="x"/> + <OMS cd="setname1" name="C"/> + </OMA> + <OMA id="power-prop-1.2"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS name="power" cd="arith1"/> + <OMV name="x"/> + <OMV name="a"/> + </OMA> + <OMA> + <OMS name="exp" cd="transc1"/> + <OMA> + <OMS name="times" cd="arith1"/> + <OMV name="a"/> + <OMA> + <OMS name="ln" cd="transc1"/> + <OMV name="x"/> + </OMA> + </OMA> + </OMA> + </OMA> + </OMA> + </OMOBJ> + </FMP> +</assertion> +<assertion xml:id="power-prop-3" type="lemma"> + <CMP><xh:p>If <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="n"/></OMOBJ> is an integer then + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#power-prop-3.1"/></OMOBJ> and + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#power-prop-3.2"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS cd="logic1" name="implies"/> + <OMA> + <OMS cd="set1" name="in"/> + <OMV name="n"/> + <OMS cd="setname1" name="Z"/> + </OMA> + <OMA> + <OMS cd="logic1" name="and"/> + <OMA id="power-prop-3.1"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="power"/> + <OMV name="x"/> + <OMI>0</OMI> + </OMA> + <OMS cd="alg1" name="one"/> + </OMA> + <OMA id="power-prop-3.2"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="power"/> + <OMV name="x"/> + <OMV name="n"/> + </OMA> + <OMA> + <OMS cd="arith1" name="times"/> + <OMV name="x"/> + <OMA> + <OMS cd="arith1" name="power"/> + <OMV name="x"/> + <OMA> + <OMS cd="arith1" name="minus"/> + <OMV name="n"/> + <OMI>1</OMI> + </OMA> + </OMA> + </OMA> + </OMA> + </OMA> + </OMA> + </OMOBJ> + </FMP> +</assertion> + + <example xml:id="power-ex-5" type="for" for="#power"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath" style="display:block"> + <OMA> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="power"/> + <OMA> + <OMS cd="linalg2" name="matrix"/> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 1 </OMI> + <OMI> 2 </OMI> + </OMA> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 3 </OMI> + <OMI> 4 </OMI> + </OMA> + </OMA> + <OMI>3</OMI> + </OMA> + <OMA> + <OMS cd="linalg2" name="matrix"/> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 37 </OMI> + <OMI> 54 </OMI> + </OMA> + <OMA> + <OMS cd="linalg2" name="matrixrow"/> + <OMI> 81 </OMI> + <OMI> 118 </OMI> + </OMA> + </OMA> + </OMA> + </OMOBJ> +</example> + +<example xml:id="power-ex-6" type="for" for="#power"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="power"/> + <OMS cd="nums1" name="e"/> + <OMA> + <OMS cd="arith1" name="times"/> + <OMS cd="nums1" name="i"/> + <OMS cd="nums1" name="pi"/> + </OMA> + </OMA> + <OMA> + <OMS cd="arith1" name="unary_minus"/> + <OMS cd="alg1" name="one"/> + </OMA> + </OMA> + </OMOBJ> +</example> +</theory> + +<symbol name="abs" xml:id="abs"> +<metadata> +<dc:description><xh:p> + A unary operator which represents the absolute value of its + argument. The argument should be numerically valued. + In the complex case this is often referred to as the modulus. +</xh:p></dc:description> +</metadata> +<type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMS name="C" cd="setname1"/> + <OMS name="R" cd="setname1"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMS cd="arith1" name="abs"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">abs</m:csymbol> + </prototype> + <rendering> + <m:mo>abs</m:mo> + </rendering> + </notation> + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="abs" o:cr="fun"/> + <expr name="arg"/> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1">abs</m:csymbol> + <expr name="arg"/> + </m:apply> + </prototype> + <rendering> + <m:mrow><m:mo>|</m:mo><render name="arg"/><m:mo>|</m:mo></m:mrow> + </rendering> + </notation> + +<theory xml:id="arith1-abs"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> + +<assertion xml:id="abs-prop-1" type="lemma"> + <CMP><xh:p>For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="x"/></OMOBJ> and + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="y"/></OMOBJ> we + have <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR + href="abs-prop-1.1"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="x"/> + <OMV name="y"/> + </OMBVAR> + <OMA id="abs-prop-1.1"> + <OMS cd="relation1" name="geq"/> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMA> + <OMS cd="arith1" name="abs"/> + <OMV name="x"/> + </OMA> + <OMA> + <OMS cd="arith1" name="abs"/> + <OMV name="y"/> + </OMA> + </OMA> + <OMA> + <OMS cd="arith1" name="abs"/> + <OMA> + <OMS cd="arith1" name="plus"/> + <OMV name="x"/> + <OMV name="y"/> + </OMA> + </OMA> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +</theory> + + +<symbol name="root" xml:id="root"> +<metadata> +<dc:description><xh:p> + A binary operator which represents its first argument "lowered" to its + n'th root where n is the second argument. This is the inverse of the operation + represented by the power symbol defined in this CD. + + Care should be taken as to the precise meaning of this operator, in particular + which root is represented, however it is here to represent the general notion of + taking n'th roots. As inferred by the signature relevant to this symbol, the + function represented by this symbol is the single valued function, the specific + root returned is the one indicated by the first CMP. Note also that the converse + of the second CMP is not valid in general. +</xh:p></dc:description> +</metadata> +<type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMS name="NumericalValue" cd="sts"/> + <OMS name="NumericalValue" cd="sts"/> + <OMS name="NumericalValue" cd="sts"/> + </OMA> + </OMOBJ> +</type> +</symbol> + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="root"/> + <expr name="arg"/> + <expr name="n"/> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1">root</m:csymbol> + <expr name="arg"/> + <expr name="n"/> + </m:apply> + </prototype> + <rendering> + <m:mroot> + <render name="arg"/> + <render name="n"/> + </m:mroot> + </rendering> + </notation> + <notation> + <prototype> + <om:OMS cd="arith1" name="root"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">root</m:csymbol> + </prototype> + <rendering> + <m:mo>√</m:mo> + </rendering> + </notation> + +<theory xml:id="arith1-root"> +<imports from="alg1.omdoc#alg1"/> +<imports from="logic1.omdoc#logic1"/> +<imports from="quant1.omdoc#quant1"/> +<imports from="set1.omdoc#set1"/> +<imports from="transc1.omdoc#transc1"/> + + +<assertion xml:id="root-prop-1" type="lemma"> + <CMP><xh:p> <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#root-prop-1.1"/></OMOBJ> implies + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#root-prop-1.2"/></OMOBJ>. + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS cd="logic1" name="implies"/> + <OMA id="root-prop-1.1"> + <OMS cd="set1" name="in"/> + <OMV name="x"/> + <OMS cd="setname1" name="C"/> + </OMA> + <OMA id="root-prop-1.2"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="root"/> + <OMV name="x"/> + <OMV name="n"/> + </OMA> + <OMA> + <OMS name="exp" cd="transc1"/> + <OMA> + <OMS name="divide" cd="arith1"/> + <OMA> + <OMS name="ln" cd="transc1"/> + <OMV name="x"/> + </OMA> + <OMV name="n"/> + </OMA> + </OMA> + </OMA> + </OMA> + </OMOBJ> + </FMP> +</assertion> +<assertion xml:id="root-prop-3" type="lemma"> + <CMP><xh:p> + For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV + name="a"/></OMOBJ> and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV + name="n"/></OMOBJ> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#root-prop-3.1"/></OMOBJ> (if the root exists!). + </xh:p></CMP> + <FMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMBIND> + <OMS cd="quant1" name="forall"/> + <OMBVAR> + <OMV name="a"/> + <OMV name="n"/> + </OMBVAR> + <OMA id="root-prop-3.1"> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="arith1" name="power"/> + <OMA> + <OMS cd="arith1" name="root"/> + <OMV name="a"/> + <OMV name="n"/> + </OMA> + <OMV name="n"/> + </OMA> + <OMV name="a"/> + </OMA> + </OMBIND> + </OMOBJ> + </FMP> +</assertion> +</theory> + +<symbol name="sum" xml:id="sum"> +<metadata> +<dc:description><xh:p> + An operator taking two arguments, the first being the range of summation, + e.g. an integral interval, the second being the function to be + summed. Note that the sum may be over an infinite interval. +</xh:p></dc:description> +</metadata> +<type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMV name="IntegerRange"/> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMS name="Z" cd="setname1"/> + <OMV name="AbelianMonoid"/> + </OMA> + <OMV name="AbelianMonoid"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="sum" o:cr="fun"/> + <om:OMA> + <om:OMS cd="interval1" name="integer_interval"/> + <expr name="low"/> + <expr name="high"/> + </om:OMA> + <om:OMBIND> + <om:OMS cd="fns1" name="lambda"/> + <om:OMBVAR><expr name="var"/></om:OMBVAR> + <expr name="scope"/> + </om:OMBIND> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1" o:cr="fun">sum</m:csymbol> + <m:apply> + <m:csymbol cd="interval1">integer_interval</m:csymbol> + <expr name="low"/> + <expr name="high"/> + </m:apply> + <m:bind> + <m:csymbol cd="fns1">lambda</m:csymbol> + <m:bvar><expr name="var"/></m:bvar> + <expr name="scope"/> + </m:bind> + </m:apply> + </prototype> + <rendering> + <m:mrow> + <m:munderover> + <m:mo o:cr="fun">∑</m:mo> + <m:mrow> + <render name="var"/> + <m:mo>=</m:mo> + <render name="low"/> + </m:mrow> + <render name="high"/> + </m:munderover> + <render name="scope"/> + </m:mrow> + </rendering> + </notation> + +<!-- not over an interval --> + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="sum" o:cr="fun"/> + <expr name="range"/> + <om:OMBIND> + <om:OMS cd="fns1" name="lambda"/> + <om:OMBVAR><expr name="var"/></om:OMBVAR> + <expr name="scope"/> + </om:OMBIND> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1" o:cr="fun">sum</m:csymbol> + <expr name="range"/> + <m:bind> + <m:csymbol cd="fns1">lambda</m:csymbol> + <m:bvar><expr name="var"/></m:bvar> + <expr name="scope"/> + </m:bind> + </m:apply> + </prototype> + <rendering> + <m:mrow> + <m:munder> + <m:mo o:cr="fun">∑</m:mo> + <m:mrow><render name="var"/><m:mo>∈</m:mo><render name="range"/></m:mrow> + </m:munder> + <render name="scope"/> + </m:mrow> + </rendering> + </notation> + + <notation> + <prototype> + <om:OMS cd="arith1" name="sum"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">sum</m:csymbol> + </prototype> + <rendering> + <m:mo>∑</m:mo> + </rendering> + </notation> + + +<theory xml:id="sum-ex.theory"> +<imports xml:id="sum-ex-imports-fns1" from="fns1.omdoc#fns1"/> +<imports xml:id="sum-ex-imports-interval1" from="interval1.omdoc#interval1"/> + +<example xml:id="sum-ex-1" type="for" for="#sum"> + <CMP><xh:p> + This represents the summation of the reciprocals of all the integers between + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMI>1</OMI></OMOBJ> and + <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMI>10</OMI></OMOBJ> + inclusive. + </xh:p></CMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS cd="arith1" name="sum"/> + <OMA> + <OMS cd="interval1" name="integer_interval"/> + <OMI> 1 </OMI> + <OMI> 10 </OMI> + </OMA> + <OMBIND> + <OMS cd="fns1" name="lambda"/> + <OMBVAR> + <OMV name="x"/> + </OMBVAR> + <OMA> + <OMS cd="arith1" name="divide"/> + <OMI> 1 </OMI> + <OMV name="x"/> + </OMA> + </OMBIND> + </OMA> + </OMOBJ> +</example> +</theory> + +<symbol name="product" xml:id="product"> +<metadata> +<dc:description><xh:p> + An operator taking two arguments, the first being the range of multiplication + e.g. an integral interval, the second being the function to + be multiplied. Note that the product may be over an infinite interval. +</xh:p></dc:description> +</metadata> +<type system="sts.omdoc#sts"> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMV name="IntegerRange"/> + <OMA> + <OMS name="mapsto" cd="sts"/> + <OMS name="Z" cd="setname1"/> + <OMV name="AbelianMonoid"/> + </OMA> + <OMV name="AbelianMonoid"/> + </OMA> + </OMOBJ> + </type> +</symbol> + + <notation> + <prototype> + <om:OMA> + <om:OMS cd="arith1" name="product" o:cr="fun"/> + <om:OMA> + <om:OMS cd="interval1" name="integer_interval"/> + <expr name="low"/> + <expr name="high"/> + </om:OMA> + <om:OMBIND> + <om:OMS cd="fns1" name="lambda"/> + <om:OMBVAR><expr name="var"/></om:OMBVAR> + <expr name="scope"/> + </om:OMBIND> + </om:OMA> + </prototype> + <prototype> + <m:apply> + <m:csymbol cd="arith1" o:cr="fun">product</m:csymbol> + <m:apply> + <m:csymbol cd="interval1">integer_interval</m:csymbol> + <expr name="low"/> + <expr name="high"/> + </m:apply> + <m:bind> + <m:csymbol cd="fns1">lambda</m:csymbol> + <m:bvar><expr name="var"/></m:bvar> + <expr name="scope"/> + </m:bind> + </m:apply> + </prototype> + <rendering> + <m:mrow> + <m:munderover> + <m:mo o:cr="fun">∏</m:mo> + <m:mrow> + <render name="var"/> + <m:mo>=</m:mo> + <render name="low"/> + </m:mrow> + <render name="high"/> + </m:munderover> + <render name="scope"/> + </m:mrow> + </rendering> + </notation> + <notation> + <prototype> + <om:OMS cd="arith1" name="product"/> + </prototype> + <prototype> + <m:csymbol cd="arith1">product</m:csymbol> + </prototype> + <rendering> + <m:mo>∏</m:mo> + </rendering> + </notation> + +<theory xml:id="product-ex.theory"> + <imports xml:id="product-ex-imports-interval1" from="interval1.omdoc#interval1"/> + <imports xml:id="product-ex-imports-fns1" from="fns1.omdoc#fns1"/> +<example xml:id="product-ex-1" type="for" for="#product"> + <CMP><xh:p> + This represents the statement that the + <term cd="integer1" name="factorial">factorial</term> of n is equal to the + <term cd="arith1" name="product">product</term> + of all the integers between 1 and n inclusive. + </xh:p></CMP> + <OMOBJ xmlns="http://www.openmath.org/OpenMath"> + <OMA> + <OMS cd="relation1" name="eq"/> + <OMA> + <OMS cd="integer1" name="factorial"/> + <OMV name="n"/> + </OMA> + <OMA> + <OMS cd="arith1" name="product"/> + <OMA> + <OMS cd="interval1" name="integer_interval"/> + <OMI> 1 </OMI> + <OMV name="n"/> + </OMA> + <OMBIND> + <OMS cd="fns1" name="lambda"/> + <OMBVAR> + <OMV name="i"/> + </OMBVAR> + <OMV name="i"/> + </OMBIND> + </OMA> + </OMA> + </OMOBJ> +</example> +</theory> +</theory> + + +</omdoc> + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/creativecommons.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/creativecommons.rnc new file mode 100644 index 00000000000..078d80e4a3b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/creativecommons.rnc @@ -0,0 +1,48 @@ +# 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) + +default namespace cc = "http://creativecommons.org/ns" + +iana.tld = ("ac"|"ad"|"ae"|"af"|"ag"|"ai"|"al"|"am"|"an"|"ao"|"aq"|"ar"|"as"|"at"|"au"|"aw"|"ax"|"az"| + "ba"|"bb"|"bd"|"be"|"bf"|"bg"|"bh"|"bi"|"bj"|"bm"|"bn"|"bo"|"br"|"bs"|"bt"|"bv"|"bw"|"by"|"bz"| + "ca"|"cc"|"cd"|"cf"|"cg"|"ch"|"ci"|"ck"|"cl"|"cm"|"cn"|"co"|"cr"|"cs"|"cu"|"cv"|"cx"|"cy"|"cz"| + "de"|"dj"|"dk"|"dm"|"do"|"dz"|"ec"|"ee"|"eg"|"eh"|"er"|"es"|"et"|"fi"|"fj"|"fk"|"fm"|"fo"|"fr"| + "ga"|"gb"|"gd"|"ge"|"gf"|"gg"|"gh"|"gi"|"gl"|"gm"|"gn"|"gp"|"gq"|"gr"|"gs"|"gt"|"gu"|"gw"|"gy"| + "hk"|"hm"|"hn"|"hr"|"ht"|"hu"|"id"|"ie"|"il"|"im"|"in"|"io"|"iq"|"ir"|"is"|"it"|"je"|"jm"|"jo"|"jp"| + "ke"|"kg"|"kh"|"ki"|"km"|"kn"|"kp"|"kr"|"kw"|"ky"|"kz"|"la"|"lb"| + "lc"|"li"|"lk"|"lr"|"ls"|"lt"|"lu"|"lv"|"ly"| + "ma"|"mc"|"md"|"mg"|"mh"|"mk"|"ml"|"mm"|"mn"|"mo"|"mp"|"mq"|"mr"|"ms"|"mt"|"mu"|"mv"|"mw"|"mx"|"my"|"mz"| + "na"|"nc"|"ne"|"nf"|"ng"|"ni"|"nl"|"no"|"np"|"nr"|"nu"|"nz"|"om"| + "pa"|"pe"|"pf"|"pg"|"ph"|"pk"|"pl"|"pm"|"pn"|"pr"|"ps"|"pt"|"pw"|"py"|"qa"|"re"|"ro"|"ru"|"rw"| + "sa"|"sb"|"sc"|"sd"|"se"|"sg"|"sh"|"si"|"sj"|"sk"|"sl"|"sm"|"sn"|"so"|"sr"|"st"|"sv"|"sy"|"sz"| + "tc"|"td"|"tf"|"tg"|"th"|"tj"|"tk"|"tl"|"tm"|"tn"|"to"|"tp"|"tr"|"tt"|"tv"|"tw"|"tz"|"ua"| + "ug"|"uk"|"um"|"us"|"uy"|"uz"|"va"|"vc"|"ve"|"vg"|"vi"|"vn"|"vu"|"wf"|"ws"|"ye"|"yt"|"yu"|"za"|"zm"|"zw") + +license.attribs = attribute jurisdiction {iana.tld}? & + attribute version {xsd:string}? +license.model = permissions,prohibitions,requirements,description +license = element license {license.attribs& license.model} + +permissions.attribs= attribute reproduction {"permitted" |" prohibited"} & + attribute distribution {"permitted" |" prohibited"} & + attribute derivative_works {"permitted" | "prohibited"} +permissions.model = description +permissions = element permissions {permissions.attribs & permissions.model} + +prohibitions.attribs = attribute commercial_use {"prohibited" | "permitted"} +prohibitions.model = description +prohibitions = element prohibitions {prohibitions.attribs & prohibitions.model} + +requirements.attribs = attribute notice {"required" | "not_required"} & + attribute attribution {"required" | "not_required"} & + attribute copyleft {"required" | "not_required"} +requirements.model = description +requirements = element requirements {requirements.attribs & requirements.model} + +description.attribs = empty +description.model = text +description = element description {description.attribs & description.model} + +start = license diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/dublincore.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/dublincore.rnc new file mode 100644 index 00000000000..2402ddb1e7c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/dublincore.rnc @@ -0,0 +1,42 @@ +# 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) + +default namespace dc = "http://purl.org/dc/elements/1.1/" + +## the various content models, specialize for integration +dc.person = text +dc.publisher = text +dc.text = text +dc.inline = text +dc.format = text +dc.source = text +dc.language = text +dc.rights = text +dc.relation = text +dc.date = xsd:dateTime +dc.type = text +dc.identifier = text + +# the model of the Dublin Metadata initiative (http://purl.org/dc) +start = contributor* & creator* & rights* & subject* & title* & description* & + publisher* & date* & type* & format* & identifier* & source* & language* & relation* + +contributor = element contributor {dc.person} +creator = element creator {dc.person} +title = element title {dc.inline} +subject = element subject {dc.inline} +description = element description {dc.text} +publisher = element publisher {dc.publisher} +type = element type {dc.type} +format = element format {dc.format} +source = element source {dc.source} +language = element language {dc.language} +relation = element relation {dc.relation} +rights = element rights {dc.rights} +date = element date {dc.date} +identifier = element identifier {dc.identifier} + + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-common.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-common.rnc new file mode 100644 index 00000000000..3d18ae1d3f8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-common.rnc @@ -0,0 +1,84 @@ +# 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 + + +default namespace m = "http://www.w3.org/1998/Math/MathML" +namespace local = "" + +start = math + +math = element math {math.attributes,MathExpression*} +MathExpression = semantics + +NonMathMLAtt = attribute (* - (local:*|m:*)) {xsd:string} + +CommonDeprecatedAtt = attribute other {text}? + +CommonAtt = attribute id {xsd:ID}?, + attribute xref {text}?, + attribute class {xsd:NMTOKENS}?, + attribute style {xsd:string}?, + attribute href {xsd:anyURI}?, + CommonDeprecatedAtt, + NonMathMLAtt* + + +math.attributes = CommonAtt, + attribute display {"block" | "inline"}?, + attribute maxwidth {length}?, + attribute overflow {"linebreak" | "scroll" | "elide" | "truncate" | "scale"}?, + attribute altimg {xsd:anyURI}?, + attribute altimg-width {length}?, + attribute altimg-height {length}?, + attribute altimg-valign {length | "top" | "middle" | "bottom"}?, + attribute alttext {text}?, + attribute cdgroup {xsd:anyURI}?, + math.deprecatedattributes + +# the mathml3-presentation schema adds additional attributes +# to the math element, all those valid on mstyle + +math.deprecatedattributes = attribute mode {xsd:string}?, + attribute macros {xsd:string}? + + +name = attribute name {xsd:NCName} +cd = attribute cd {xsd:NCName} + +src = attribute src {xsd:anyURI}? + +annotation = element annotation {annotation.attributes,text} + +annotation-xml.model = (MathExpression|anyElement)* + +anyElement = element (* - m:*) {(attribute * {text}|text| anyElement)*} + +annotation-xml = element annotation-xml {annotation.attributes, + annotation-xml.model} +annotation.attributes = CommonAtt, + cd?, + name?, + DefEncAtt, + src? + +DefEncAtt = attribute encoding {xsd:string}?, + attribute definitionURL {xsd:anyURI}? + +semantics = element semantics {semantics.attributes, + MathExpression, + (annotation|annotation-xml)*} +semantics.attributes = CommonAtt,DefEncAtt,cd?,name? + + + +length = xsd:string { + pattern = '\s*((-?[0-9]*(\.[0-9]*)?(e[mx]|in|cm|mm|p[xtc]|%)?)|(negative)?((very){0,2}thi(n|ck)|medium)mathspace)\s*' +} + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-content.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-content.rnc new file mode 100755 index 00000000000..3facbfd5567 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-content.rnc @@ -0,0 +1,373 @@ + +# 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 "mathml3-strict-content.rnc"{ + cn.content = (text | mglyph | sep | PresentationExpression)* + cn.attributes = CommonAtt, DefEncAtt, attribute type {text}?, base? + + ci.attributes = CommonAtt, DefEncAtt, ci.type? + ci.type = attribute type {text} + ci.content = (text | mglyph | PresentationExpression)* + + csymbol.attributes = CommonAtt, DefEncAtt, attribute type {text}?,cd? + csymbol.content = (text | mglyph | PresentationExpression)* + + bvar = element bvar { (ci | semantics-ci) & degree?} + + cbytes.attributes = CommonAtt, DefEncAtt + + cs.attributes = CommonAtt, DefEncAtt + + apply.content = ContExp+ | (ContExp, BvarQ, Qualifier*, ContExp*) + + bind.content = apply.content +} + +base = attribute base {text} + + +sep = element sep {empty} +PresentationExpression |= notAllowed + + +DomainQ = (domainofapplication|condition|interval|(lowlimit,uplimit?))* +domainofapplication = element domainofapplication {ContExp} +condition = element condition {ContExp} +uplimit = element uplimit {ContExp} +lowlimit = element lowlimit {ContExp} + +Qualifier = DomainQ|degree|momentabout|logbase +degree = element degree {ContExp} +momentabout = element momentabout {ContExp} +logbase = element logbase {ContExp} + +type = attribute type {text} +order = attribute order {"numeric" | "lexicographic"} +closure = attribute closure {text} + + +ContExp |= piecewise + + +piecewise = element piecewise {CommonAtt, DefEncAtt,(piece* & otherwise?)} + +piece = element piece {CommonAtt, DefEncAtt, ContExp, ContExp} + +otherwise = element otherwise {CommonAtt, DefEncAtt, ContExp} + + +DeprecatedContExp = reln | fn | declare +ContExp |= DeprecatedContExp + +reln = element reln {ContExp*} +fn = element fn {ContExp} +declare = element declare {attribute type {xsd:string}?, + attribute scope {xsd:string}?, + attribute nargs {xsd:nonNegativeInteger}?, + attribute occurrence {"prefix"|"infix"|"function-model"}?, + DefEncAtt, + ContExp+} + + +interval.class = interval +ContExp |= interval.class + + +interval = element interval { CommonAtt, DefEncAtt,closure?, ContExp,ContExp} + +unary-functional.class = inverse | ident | domain | codomain | image | ln | log | moment +ContExp |= unary-functional.class + + +inverse = element inverse { CommonAtt, DefEncAtt, empty} +ident = element ident { CommonAtt, DefEncAtt, empty} +domain = element domain { CommonAtt, DefEncAtt, empty} +codomain = element codomain { CommonAtt, DefEncAtt, empty} +image = element image { CommonAtt, DefEncAtt, empty} +ln = element ln { CommonAtt, DefEncAtt, empty} +log = element log { CommonAtt, DefEncAtt, empty} +moment = element moment { CommonAtt, DefEncAtt, empty} + +lambda.class = lambda +ContExp |= lambda.class + + +lambda = element lambda { CommonAtt, DefEncAtt, BvarQ, DomainQ, ContExp} + +nary-functional.class = compose +ContExp |= nary-functional.class + + +compose = element compose { CommonAtt, DefEncAtt, empty} + +binary-arith.class = quotient | divide | minus | power | rem | root +ContExp |= binary-arith.class + + +quotient = element quotient { CommonAtt, DefEncAtt, empty} +divide = element divide { CommonAtt, DefEncAtt, empty} +minus = element minus { CommonAtt, DefEncAtt, empty} +power = element power { CommonAtt, DefEncAtt, empty} +rem = element rem { CommonAtt, DefEncAtt, empty} +root = element root { CommonAtt, DefEncAtt, empty} + +unary-arith.class = factorial | minus | root | abs | conjugate | arg | real | imaginary | floor | ceiling | exp +ContExp |= unary-arith.class + + +factorial = element factorial { CommonAtt, DefEncAtt, empty} +abs = element abs { CommonAtt, DefEncAtt, empty} +conjugate = element conjugate { CommonAtt, DefEncAtt, empty} +arg = element arg { CommonAtt, DefEncAtt, empty} +real = element real { CommonAtt, DefEncAtt, empty} +imaginary = element imaginary { CommonAtt, DefEncAtt, empty} +floor = element floor { CommonAtt, DefEncAtt, empty} +ceiling = element ceiling { CommonAtt, DefEncAtt, empty} +exp = element exp { CommonAtt, DefEncAtt, empty} + +nary-minmax.class = max | min +ContExp |= nary-minmax.class + + +max = element max { CommonAtt, DefEncAtt, empty} +min = element min { CommonAtt, DefEncAtt, empty} + +nary-arith.class = plus | times | gcd | lcm +ContExp |= nary-arith.class + + +plus = element plus { CommonAtt, DefEncAtt, empty} +times = element times { CommonAtt, DefEncAtt, empty} +gcd = element gcd { CommonAtt, DefEncAtt, empty} +lcm = element lcm { CommonAtt, DefEncAtt, empty} + +nary-logical.class = and | or | xor +ContExp |= nary-logical.class + + +and = element and { CommonAtt, DefEncAtt, empty} +or = element or { CommonAtt, DefEncAtt, empty} +xor = element xor { CommonAtt, DefEncAtt, empty} + +unary-logical.class = not +ContExp |= unary-logical.class + + +not = element not { CommonAtt, DefEncAtt, empty} + +binary-logical.class = implies | equivalent +ContExp |= binary-logical.class + + +implies = element implies { CommonAtt, DefEncAtt, empty} +equivalent = element equivalent { CommonAtt, DefEncAtt, empty} + +quantifier.class = forall | exists +ContExp |= quantifier.class + + +forall = element forall { CommonAtt, DefEncAtt, empty} +exists = element exists { CommonAtt, DefEncAtt, empty} + +nary-reln.class = eq | gt | lt | geq | leq +ContExp |= nary-reln.class + + +eq = element eq { CommonAtt, DefEncAtt, empty} +gt = element gt { CommonAtt, DefEncAtt, empty} +lt = element lt { CommonAtt, DefEncAtt, empty} +geq = element geq { CommonAtt, DefEncAtt, empty} +leq = element leq { CommonAtt, DefEncAtt, empty} + +binary-reln.class = neq | approx | factorof | tendsto +ContExp |= binary-reln.class + + +neq = element neq { CommonAtt, DefEncAtt, empty} +approx = element approx { CommonAtt, DefEncAtt, empty} +factorof = element factorof { CommonAtt, DefEncAtt, empty} +tendsto = element tendsto { CommonAtt, DefEncAtt, type?, empty} + +int.class = int +ContExp |= int.class + + +int = element int { CommonAtt, DefEncAtt, empty} + +Differential-Operator.class = diff +ContExp |= Differential-Operator.class + + +diff = element diff { CommonAtt, DefEncAtt, empty} + +partialdiff.class = partialdiff +ContExp |= partialdiff.class + + +partialdiff = element partialdiff { CommonAtt, DefEncAtt, empty} + +unary-veccalc.class = divergence | grad | curl | laplacian +ContExp |= unary-veccalc.class + + +divergence = element divergence { CommonAtt, DefEncAtt, empty} +grad = element grad { CommonAtt, DefEncAtt, empty} +curl = element curl { CommonAtt, DefEncAtt, empty} +laplacian = element laplacian { CommonAtt, DefEncAtt, empty} + +nary-setlist-constructor.class = set | \list +ContExp |= nary-setlist-constructor.class + + +set = element set { CommonAtt, DefEncAtt, type?, BvarQ*, DomainQ*, ContExp*} +\list = element \list { CommonAtt, DefEncAtt, order?, BvarQ*, DomainQ*, ContExp*} + +nary-set.class = union | intersect | cartesianproduct +ContExp |= nary-set.class + + +union = element union { CommonAtt, DefEncAtt, empty} +intersect = element intersect { CommonAtt, DefEncAtt, empty} +cartesianproduct = element cartesianproduct { CommonAtt, DefEncAtt, empty} + +binary-set.class = in | notin | notsubset | notprsubset | setdiff +ContExp |= binary-set.class + + +in = element in { CommonAtt, DefEncAtt, empty} +notin = element notin { CommonAtt, DefEncAtt, empty} +notsubset = element notsubset { CommonAtt, DefEncAtt, empty} +notprsubset = element notprsubset { CommonAtt, DefEncAtt, empty} +setdiff = element setdiff { CommonAtt, DefEncAtt, empty} + +nary-set-reln.class = subset | prsubset +ContExp |= nary-set-reln.class + + +subset = element subset { CommonAtt, DefEncAtt, empty} +prsubset = element prsubset { CommonAtt, DefEncAtt, empty} + +unary-set.class = card +ContExp |= unary-set.class + + +card = element card { CommonAtt, DefEncAtt, empty} + +sum.class = sum +ContExp |= sum.class + + +sum = element sum { CommonAtt, DefEncAtt, empty} + +product.class = product +ContExp |= product.class + + +product = element product { CommonAtt, DefEncAtt, empty} + +limit.class = limit +ContExp |= limit.class + + +limit = element limit { CommonAtt, DefEncAtt, empty} + +unary-elementary.class = sin | cos | tan | sec | csc | cot | sinh | cosh | tanh | sech | csch | coth | arcsin | arccos | arctan | arccosh | arccot | arccoth | arccsc | arccsch | arcsec | arcsech | arcsinh | arctanh +ContExp |= unary-elementary.class + + +sin = element sin { CommonAtt, DefEncAtt, empty} +cos = element cos { CommonAtt, DefEncAtt, empty} +tan = element tan { CommonAtt, DefEncAtt, empty} +sec = element sec { CommonAtt, DefEncAtt, empty} +csc = element csc { CommonAtt, DefEncAtt, empty} +cot = element cot { CommonAtt, DefEncAtt, empty} +sinh = element sinh { CommonAtt, DefEncAtt, empty} +cosh = element cosh { CommonAtt, DefEncAtt, empty} +tanh = element tanh { CommonAtt, DefEncAtt, empty} +sech = element sech { CommonAtt, DefEncAtt, empty} +csch = element csch { CommonAtt, DefEncAtt, empty} +coth = element coth { CommonAtt, DefEncAtt, empty} +arcsin = element arcsin { CommonAtt, DefEncAtt, empty} +arccos = element arccos { CommonAtt, DefEncAtt, empty} +arctan = element arctan { CommonAtt, DefEncAtt, empty} +arccosh = element arccosh { CommonAtt, DefEncAtt, empty} +arccot = element arccot { CommonAtt, DefEncAtt, empty} +arccoth = element arccoth { CommonAtt, DefEncAtt, empty} +arccsc = element arccsc { CommonAtt, DefEncAtt, empty} +arccsch = element arccsch { CommonAtt, DefEncAtt, empty} +arcsec = element arcsec { CommonAtt, DefEncAtt, empty} +arcsech = element arcsech { CommonAtt, DefEncAtt, empty} +arcsinh = element arcsinh { CommonAtt, DefEncAtt, empty} +arctanh = element arctanh { CommonAtt, DefEncAtt, empty} + +nary-stats.class = mean | sdev | variance | median | mode +ContExp |= nary-stats.class + + +mean = element mean { CommonAtt, DefEncAtt, empty} +sdev = element sdev { CommonAtt, DefEncAtt, empty} +variance = element variance { CommonAtt, DefEncAtt, empty} +median = element median { CommonAtt, DefEncAtt, empty} +mode = element mode { CommonAtt, DefEncAtt, empty} + +nary-constructor.class = vector | matrix | matrixrow +ContExp |= nary-constructor.class + + +vector = element vector { CommonAtt, DefEncAtt, BvarQ, DomainQ, ContExp*} +matrix = element matrix { CommonAtt, DefEncAtt, BvarQ, DomainQ, ContExp*} +matrixrow = element matrixrow { CommonAtt, DefEncAtt, BvarQ, DomainQ, ContExp*} + +unary-linalg.class = determinant | transpose +ContExp |= unary-linalg.class + + +determinant = element determinant { CommonAtt, DefEncAtt, empty} +transpose = element transpose { CommonAtt, DefEncAtt, empty} + +nary-linalg.class = selector +ContExp |= nary-linalg.class + + +selector = element selector { CommonAtt, DefEncAtt, empty} + +binary-linalg.class = vectorproduct | scalarproduct | outerproduct +ContExp |= binary-linalg.class + + +vectorproduct = element vectorproduct { CommonAtt, DefEncAtt, empty} +scalarproduct = element scalarproduct { CommonAtt, DefEncAtt, empty} +outerproduct = element outerproduct { CommonAtt, DefEncAtt, empty} + +constant-set.class = integers | reals | rationals | naturalnumbers | complexes | primes | emptyset +ContExp |= constant-set.class + + +integers = element integers { CommonAtt, DefEncAtt, empty} +reals = element reals { CommonAtt, DefEncAtt, empty} +rationals = element rationals { CommonAtt, DefEncAtt, empty} +naturalnumbers = element naturalnumbers { CommonAtt, DefEncAtt, empty} +complexes = element complexes { CommonAtt, DefEncAtt, empty} +primes = element primes { CommonAtt, DefEncAtt, empty} +emptyset = element emptyset { CommonAtt, DefEncAtt, empty} + +constant-arith.class = exponentiale | imaginaryi | notanumber | true | false | pi | eulergamma | infinity +ContExp |= constant-arith.class + + +exponentiale = element exponentiale { CommonAtt, DefEncAtt, empty} +imaginaryi = element imaginaryi { CommonAtt, DefEncAtt, empty} +notanumber = element notanumber { CommonAtt, DefEncAtt, empty} +true = element true { CommonAtt, DefEncAtt, empty} +false = element false { CommonAtt, DefEncAtt, empty} +pi = element pi { CommonAtt, DefEncAtt, empty} +eulergamma = element eulergamma { CommonAtt, DefEncAtt, empty} +infinity = element infinity { CommonAtt, DefEncAtt, empty}
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-presentation.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-presentation.rnc new file mode 100644 index 00000000000..5fa56e7b3d9 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-presentation.rnc @@ -0,0 +1,536 @@ + +# 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 + +default namespace m = "http://www.w3.org/1998/Math/MathML" + +MathExpression |= PresentationExpression + +ImpliedMrow = MathExpression* + +TableRowExpression = mtr|mlabeledtr + +TableCellExpression = mtd + +MstackExpression = MathExpression|mscarries|msline|msrow|msgroup + +MsrowExpression = MathExpression|none + +MultiScriptExpression = (MathExpression|none),(MathExpression|none) + +mpadded-length = xsd:string { + 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*' } + +linestyle = "none" | "solid" | "dashed" + +verticalalign = + "top" | + "bottom" | + "center" | + "baseline" | + "axis" + +columnalignstyle = "left" | "center" | "right" + +notationstyle = + "longdiv" | + "actuarial" | + "radical" | + "box" | + "roundedbox" | + "circle" | + "left" | + "right" | + "top" | + "bottom" | + "updiagonalstrike" | + "downdiagonalstrike" | + "verticalstrike" | + "horizontalstrike" | + "madruwb" + +idref = text +unsigned-integer = xsd:unsignedLong +integer = xsd:integer +number = xsd:decimal + +character = xsd:string { + pattern = '\s*\S\s*'} + +color = xsd:string { + 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*'} + + +group-alignment = "left" | "center" | "right" | "decimalpoint" +group-alignment-list = list {group-alignment+} +group-alignment-list-list = xsd:string { + pattern = '(\s*\{\s*(left|center|right|decimalpoint)(\s+(left|center|right|decimalpoint))*\})*\s*' } +positive-integer = xsd:positiveInteger + + +TokenExpression = mi|mn|mo|mtext|mspace|ms + +token.content = mglyph|malignmark|text + +mi = element mi {mi.attributes, token.content*} +mi.attributes = + CommonAtt, + CommonPresAtt, + TokenAtt + + +mn = element mn {mn.attributes, token.content*} +mn.attributes = + CommonAtt, + CommonPresAtt, + TokenAtt + + +mo = element mo {mo.attributes, token.content*} +mo.attributes = + CommonAtt, + CommonPresAtt, + TokenAtt, + attribute form {"prefix" | "infix" | "postfix"}?, + attribute fence {"true" | "false"}?, + attribute separator {"true" | "false"}?, + attribute lspace {length}?, + attribute rspace {length}?, + attribute stretchy {"true" | "false"}?, + attribute symmetric {"true" | "false"}?, + attribute maxsize {length | "infinity"}?, + attribute minsize {length}?, + attribute largeop {"true" | "false"}?, + attribute movablelimits {"true" | "false"}?, + attribute accent {"true" | "false"}?, + attribute linebreak {"auto" | "newline" | "nobreak" | "goodbreak" | "badbreak"}?, + attribute lineleading {length}?, + attribute linebreakstyle {"before" | "after" | "duplicate" | "infixlinebreakstyle"}?, + attribute linebreakmultchar {text}?, + attribute indentalign {"left" | "center" | "right" | "auto" | "id"}?, + attribute indentshift {length}?, + attribute indenttarget {idref}?, + attribute indentalignfirst {"left" | "center" | "right" | "auto" | "id" | "indentalign"}?, + attribute indentshiftfirst {length | "indentshift"}?, + attribute indentalignlast {"left" | "center" | "right" | "auto" | "id" | "indentalign"}?, + attribute indentshiftlast {length | "indentshift"}? + + +mtext = element mtext {mtext.attributes, token.content*} +mtext.attributes = + CommonAtt, + CommonPresAtt, + TokenAtt + + +mspace = element mspace {mspace.attributes, empty} +mspace.attributes = + CommonAtt, + CommonPresAtt, + TokenAtt, + attribute width {length}?, + attribute height {length}?, + attribute depth {length}?, + attribute linebreak {"auto" | "newline" | "nobreak" | "goodbreak" | "badbreak" | "indentingnewline"}? + + +ms = element ms {ms.attributes, token.content*} +ms.attributes = + CommonAtt, + CommonPresAtt, + TokenAtt, + attribute lquote {text}?, + attribute rquote {text}? + + +mglyph = element mglyph {mglyph.attributes,mglyph.deprecatedattributes,empty} +mglyph.attributes = + CommonAtt, CommonPresAtt, + attribute src {xsd:anyURI}?, + attribute width {length}?, + attribute height {length}?, + attribute valign {length}?, + attribute alt {text}? +mglyph.deprecatedattributes = + attribute index {integer}?, + attribute mathvariant {"normal" | "bold" | "italic" | "bold-italic" | "double-struck" | "bold-fraktur" | "script" | "bold-script" | "fraktur" | "sans-serif" | "bold-sans-serif" | "sans-serif-italic" | "sans-serif-bold-italic" | "monospace" | "initial" | "tailed" | "looped" | "stretched"}?, + attribute mathsize {"small" | "normal" | "big" | length}?, + DeprecatedTokenAtt + +msline = element msline {msline.attributes,empty} +msline.attributes = + CommonAtt, CommonPresAtt, + attribute position {integer}?, + attribute length {unsigned-integer}?, + attribute leftoverhang {length}?, + attribute rightoverhang {length}?, + attribute mslinethickness {length | "thin" | "medium" | "thick"}? + +none = element none {none.attributes,empty} +none.attributes = + CommonAtt, + CommonPresAtt + +mprescripts = element mprescripts {mprescripts.attributes,empty} +mprescripts.attributes = + CommonAtt, + CommonPresAtt + + +CommonPresAtt = + attribute mathcolor {color}?, + attribute mathbackground {color | "transparent"}? + +TokenAtt = + attribute mathvariant {"normal" | "bold" | "italic" | "bold-italic" | "double-struck" | "bold-fraktur" | "script" | "bold-script" | "fraktur" | "sans-serif" | "bold-sans-serif" | "sans-serif-italic" | "sans-serif-bold-italic" | "monospace" | "initial" | "tailed" | "looped" | "stretched"}?, + attribute mathsize {"small" | "normal" | "big" | length}?, + attribute dir {"ltr" | "rtl"}?, + DeprecatedTokenAtt + +DeprecatedTokenAtt = + attribute fontfamily {text}?, + attribute fontweight {"normal" | "bold"}?, + attribute fontstyle {"normal" | "italic"}?, + attribute fontsize {length}?, + attribute color {color}?, + attribute background {color | "transparent"}? + +MalignExpression = maligngroup|malignmark + +malignmark = element malignmark {malignmark.attributes, empty} +malignmark.attributes = + CommonAtt, CommonPresAtt, + attribute edge {"left" | "right"}? + + +maligngroup = element maligngroup {maligngroup.attributes, empty} +maligngroup.attributes = + CommonAtt, CommonPresAtt, + attribute groupalign {"left" | "center" | "right" | "decimalpoint"}? + + +PresentationExpression = TokenExpression|MalignExpression| + mrow|mfrac|msqrt|mroot|mstyle|merror|mpadded|mphantom| + mfenced|menclose|msub|msup|msubsup|munder|mover|munderover| + mmultiscripts|mtable|mstack|mlongdiv|maction + + + +mrow = element mrow {mrow.attributes, MathExpression*} +mrow.attributes = + CommonAtt, CommonPresAtt, + attribute dir {"ltr" | "rtl"}? + + +mfrac = element mfrac {mfrac.attributes, MathExpression, MathExpression} +mfrac.attributes = + CommonAtt, CommonPresAtt, + attribute linethickness {length | "thin" | "medium" | "thick"}?, + attribute numalign {"left" | "center" | "right"}?, + attribute denomalign {"left" | "center" | "right"}?, + attribute bevelled {"true" | "false"}? + + +msqrt = element msqrt {msqrt.attributes, ImpliedMrow} +msqrt.attributes = + CommonAtt, CommonPresAtt + + +mroot = element mroot {mroot.attributes, MathExpression, MathExpression} +mroot.attributes = + CommonAtt, CommonPresAtt + + +mstyle = element mstyle {mstyle.attributes, ImpliedMrow} +mstyle.attributes = + CommonAtt, CommonPresAtt, + mstyle.specificattributes, + mstyle.generalattributes, + mstyle.deprecatedattributes + +mstyle.specificattributes = + attribute scriptlevel {integer}?, + attribute displaystyle {"true" | "false"}?, + attribute scriptsizemultiplier {number}?, + attribute scriptminsize {length}?, + attribute infixlinebreakstyle {"before" | "after" | "duplicate"}?, + attribute decimalpoint {character}? + +mstyle.generalattributes = + attribute accent {"true" | "false"}?, + attribute accentunder {"true" | "false"}?, + attribute align {"left" | "right" | "center"}?, + attribute alignmentscope {list {("true" | "false") +}}?, + attribute bevelled {"true" | "false"}?, + attribute charalign {"left" | "center" | "right"}?, + attribute charspacing {length | "loose" | "medium" | "tight"}?, + attribute close {text}?, + attribute columnalign {list {columnalignstyle+} }?, + attribute columnlines {list {linestyle +}}?, + attribute columnspacing {list {(length) +}}?, + attribute columnspan {positive-integer}?, + attribute columnwidth {list {("auto" | length | "fit") +}}?, + attribute crossout {list {("none" | "updiagonalstrike" | "downdiagonalstrike" | "verticalstrike" | "horizontalstrike")*}}?, + attribute denomalign {"left" | "center" | "right"}?, + attribute depth {length}?, + attribute dir {"ltr" | "rtl"}?, + attribute edge {"left" | "right"}?, + attribute equalcolumns {"true" | "false"}?, + attribute equalrows {"true" | "false"}?, + attribute fence {"true" | "false"}?, + attribute form {"prefix" | "infix" | "postfix"}?, + attribute frame {linestyle}?, + attribute framespacing {list {length, length}}?, + attribute groupalign {group-alignment-list-list}?, + attribute height {length}?, + attribute indentalign {"left" | "center" | "right" | "auto" | "id"}?, + attribute indentalignfirst {"left" | "center" | "right" | "auto" | "id" | "indentalign"}?, + attribute indentalignlast {"left" | "center" | "right" | "auto" | "id" | "indentalign"}?, + attribute indentshift {length}?, + attribute indentshiftfirst {length | "indentshift"}?, + attribute indentshiftlast {length | "indentshift"}?, + attribute indenttarget {idref}?, + attribute largeop {"true" | "false"}?, + attribute leftoverhang {length}?, + attribute length {unsigned-integer}?, + attribute linebreak {"auto" | "newline" | "nobreak" | "goodbreak" | "badbreak"}?, + attribute linebreakmultchar {text}?, + attribute linebreakstyle {"before" | "after" | "duplicate" | "infixlinebreakstyle"}?, + attribute lineleading {length}?, + attribute linethickness {length | "thin" | "medium" | "thick"}?, + attribute location {"w" | "nw" | "n" | "ne" | "e" | "se" | "s" | "sw"}?, + attribute longdivstyle {"lefttop" | "stackedrightright" | "mediumstackedrightright" | "shortstackedrightright" | "righttop" | "left/\right" | "left)(right" | ":right=right" | "stackedleftleft" | "stackedleftlinetop"}?, + attribute lquote {text}?, + attribute lspace {length}?, + attribute mathsize {"small" | "normal" | "big" | length}?, + attribute mathvariant {"normal" | "bold" | "italic" | "bold-italic" | "double-struck" | "bold-fraktur" | "script" | "bold-script" | "fraktur" | "sans-serif" | "bold-sans-serif" | "sans-serif-italic" | "sans-serif-bold-italic" | "monospace" | "initial" | "tailed" | "looped" | "stretched"}?, + attribute maxsize {length | "infinity"}?, + attribute minlabelspacing {length}?, + attribute minsize {length}?, + attribute movablelimits {"true" | "false"}?, + attribute mslinethickness {length | "thin" | "medium" | "thick"}?, + attribute notation {text}?, + attribute numalign {"left" | "center" | "right"}?, + attribute open {text}?, + attribute position {integer}?, + attribute rightoverhang {length}?, + attribute rowalign {list {verticalalign+} }?, + attribute rowlines {list {linestyle +}}?, + attribute rowspacing {list {(length) +}}?, + attribute rowspan {positive-integer}?, + attribute rquote {text}?, + attribute rspace {length}?, + attribute selection {positive-integer}?, + attribute separator {"true" | "false"}?, + attribute separators {text}?, + attribute shift {integer}?, + attribute side {"left" | "right" | "leftoverlap" | "rightoverlap"}?, + attribute stackalign {"left" | "center" | "right" | "decimalpoint"}?, + attribute stretchy {"true" | "false"}?, + attribute subscriptshift {length}?, + attribute superscriptshift {length}?, + attribute symmetric {"true" | "false"}?, + attribute valign {length}?, + attribute width {length}? + +mstyle.deprecatedattributes = + DeprecatedTokenAtt, + attribute veryverythinmathspace {length}?, + attribute verythinmathspace {length}?, + attribute thinmathspace {length}?, + attribute mediummathspace {length}?, + attribute thickmathspace {length}?, + attribute verythickmathspace {length}?, + attribute veryverythickmathspace {length}? + +math.attributes &= CommonPresAtt +math.attributes &= mstyle.specificattributes +math.attributes &= mstyle.generalattributes + + + + +merror = element merror {merror.attributes, ImpliedMrow} +merror.attributes = + CommonAtt, CommonPresAtt + + +mpadded = element mpadded {mpadded.attributes, ImpliedMrow} +mpadded.attributes = + CommonAtt, CommonPresAtt, + attribute height {mpadded-length}?, + attribute depth {mpadded-length}?, + attribute width {mpadded-length}?, + attribute lspace {mpadded-length}?, + attribute voffset {mpadded-length}? + + +mphantom = element mphantom {mphantom.attributes, ImpliedMrow} +mphantom.attributes = + CommonAtt, CommonPresAtt + + +mfenced = element mfenced {mfenced.attributes, MathExpression*} +mfenced.attributes = + CommonAtt, CommonPresAtt, + attribute open {text}?, + attribute close {text}?, + attribute separators {text}? + + +menclose = element menclose {menclose.attributes, ImpliedMrow} +menclose.attributes = + CommonAtt, CommonPresAtt, + attribute notation {text}? + + +msub = element msub {msub.attributes, MathExpression, MathExpression} +msub.attributes = + CommonAtt, CommonPresAtt, + attribute subscriptshift {length}? + + +msup = element msup {msup.attributes, MathExpression, MathExpression} +msup.attributes = + CommonAtt, CommonPresAtt, + attribute superscriptshift {length}? + + +msubsup = element msubsup {msubsup.attributes, MathExpression, MathExpression, MathExpression} +msubsup.attributes = + CommonAtt, CommonPresAtt, + attribute subscriptshift {length}?, + attribute superscriptshift {length}? + + +munder = element munder {munder.attributes, MathExpression, MathExpression} +munder.attributes = + CommonAtt, CommonPresAtt, + attribute accentunder {"true" | "false"}?, + attribute align {"left" | "right" | "center"}? + + +mover = element mover {mover.attributes, MathExpression, MathExpression} +mover.attributes = + CommonAtt, CommonPresAtt, + attribute accent {"true" | "false"}?, + attribute align {"left" | "right" | "center"}? + + +munderover = element munderover {munderover.attributes, MathExpression, MathExpression, MathExpression} +munderover.attributes = + CommonAtt, CommonPresAtt, + attribute accent {"true" | "false"}?, + attribute accentunder {"true" | "false"}?, + attribute align {"left" | "right" | "center"}? + + +mmultiscripts = element mmultiscripts {mmultiscripts.attributes, MathExpression,MultiScriptExpression*,(mprescripts,MultiScriptExpression*)?} +mmultiscripts.attributes = + msubsup.attributes + + +mtable = element mtable {mtable.attributes, TableRowExpression*} +mtable.attributes = + CommonAtt, CommonPresAtt, + attribute align {xsd:string { + pattern ='\s*(top|bottom|center|baseline|axis)\s*[0-9]*'}}?, + attribute rowalign {list {verticalalign+} }?, + attribute columnalign {list {columnalignstyle+} }?, + attribute groupalign {group-alignment-list-list}?, + attribute alignmentscope {list {("true" | "false") +}}?, + attribute columnwidth {list {("auto" | length | "fit") +}}?, + attribute width {"auto" | length}?, + attribute rowspacing {list {(length) +}}?, + attribute columnspacing {list {(length) +}}?, + attribute rowlines {list {linestyle +}}?, + attribute columnlines {list {linestyle +}}?, + attribute frame {linestyle}?, + attribute framespacing {list {length, length}}?, + attribute equalrows {"true" | "false"}?, + attribute equalcolumns {"true" | "false"}?, + attribute displaystyle {"true" | "false"}?, + attribute side {"left" | "right" | "leftoverlap" | "rightoverlap"}?, + attribute minlabelspacing {length}? + + +mlabeledtr = element mlabeledtr {mlabeledtr.attributes, TableCellExpression+} +mlabeledtr.attributes = + mtr.attributes + + +mtr = element mtr {mtr.attributes, TableCellExpression*} +mtr.attributes = + CommonAtt, CommonPresAtt, + attribute rowalign {"top" | "bottom" | "center" | "baseline" | "axis"}?, + attribute columnalign {list {columnalignstyle+} }?, + attribute groupalign {group-alignment-list-list}? + + +mtd = element mtd {mtd.attributes, ImpliedMrow} +mtd.attributes = + CommonAtt, CommonPresAtt, + attribute rowspan {positive-integer}?, + attribute columnspan {positive-integer}?, + attribute rowalign {"top" | "bottom" | "center" | "baseline" | "axis"}?, + attribute columnalign {columnalignstyle}?, + attribute groupalign {group-alignment-list}? + + +mstack = element mstack {mstack.attributes, MstackExpression*} +mstack.attributes = + CommonAtt, CommonPresAtt, + attribute align {xsd:string { + pattern ='\s*(top|bottom|center|baseline|axis)\s*[0-9]*'}}?, + attribute stackalign {"left" | "center" | "right" | "decimalpoint"}?, + attribute charalign {"left" | "center" | "right"}?, + attribute charspacing {length | "loose" | "medium" | "tight"}? + + +mlongdiv = element mlongdiv {mlongdiv.attributes, MstackExpression,MstackExpression,MstackExpression+} +mlongdiv.attributes = + msgroup.attributes, + attribute longdivstyle {"lefttop" | "stackedrightright" | "mediumstackedrightright" | "shortstackedrightright" | "righttop" | "left/\right" | "left)(right" | ":right=right" | "stackedleftleft" | "stackedleftlinetop"}? + + +msgroup = element msgroup {msgroup.attributes, MstackExpression*} +msgroup.attributes = + CommonAtt, CommonPresAtt, + attribute position {integer}?, + attribute shift {integer}? + + +msrow = element msrow {msrow.attributes, MsrowExpression*} +msrow.attributes = + CommonAtt, CommonPresAtt, + attribute position {integer}? + + +mscarries = element mscarries {mscarries.attributes, (MsrowExpression|mscarry)*} +mscarries.attributes = + CommonAtt, CommonPresAtt, + attribute position {integer}?, + attribute location {"w" | "nw" | "n" | "ne" | "e" | "se" | "s" | "sw"}?, + attribute crossout {list {("none" | "updiagonalstrike" | "downdiagonalstrike" | "verticalstrike" | "horizontalstrike")*}}?, + attribute scriptsizemultiplier {number}? + + +mscarry = element mscarry {mscarry.attributes, MsrowExpression*} +mscarry.attributes = + CommonAtt, CommonPresAtt, + attribute location {"w" | "nw" | "n" | "ne" | "e" | "se" | "s" | "sw"}?, + attribute crossout {list {("none" | "updiagonalstrike" | "downdiagonalstrike" | "verticalstrike" | "horizontalstrike")*}}? + + +maction = element maction {maction.attributes, MathExpression+} +maction.attributes = + CommonAtt, CommonPresAtt, + attribute actiontype {text}?, + attribute selection {positive-integer}? diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict-content.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict-content.rnc new file mode 100755 index 00000000000..e854b1cd13a --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict-content.rnc @@ -0,0 +1,60 @@ +# 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 + + +default namespace m = "http://www.w3.org/1998/Math/MathML" + +ContExp = semantics-contexp | cn | ci | csymbol | apply | bind | share | cerror | cbytes | cs + +cn = element cn {cn.attributes,cn.content} +cn.content = text +cn.attributes = attribute type {"integer" | "real" | "double" | "hexdouble"} + +semantics-ci = element semantics {semantics.attributes,(ci|semantics-ci), + (annotation|annotation-xml)*} + +semantics-contexp = element semantics {semantics.attributes,ContExp, + (annotation|annotation-xml)*} + +ci = element ci {ci.attributes, ci.content} +ci.attributes = CommonAtt, ci.type? +ci.type = attribute type {"integer" | "rational" | "real" | "complex" | "complex-polar" | "complex-cartesian" | "constant" | "function" | "vector" | "list" | "set" | "matrix"} +ci.content = text + + +csymbol = element csymbol {csymbol.attributes,csymbol.content} + +SymbolName = xsd:NCName +csymbol.attributes = CommonAtt, cd +csymbol.content = SymbolName + +BvarQ = bvar* +bvar = element bvar { ci | semantics-ci} + +apply = element apply {CommonAtt,apply.content} +apply.content = ContExp+ + + +bind = element bind {CommonAtt,bind.content} +bind.content = ContExp,bvar*,ContExp + +share = element share {CommonAtt, src, empty} + +cerror = element cerror {cerror.attributes, csymbol, ContExp*} +cerror.attributes = CommonAtt + +cbytes = element cbytes {cbytes.attributes, base64} +cbytes.attributes = CommonAtt +base64 = xsd:base64Binary + +cs = element cs {cs.attributes, text} +cs.attributes = CommonAtt + +MathExpression |= ContExp diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict.rnc new file mode 100644 index 00000000000..31d2ad40051 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict.rnc @@ -0,0 +1,80 @@ +# 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 8959 2011-09-02 06:01:43Z 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. + +default namespace m = "http://www.w3.org/1998/Math/MathML" + +include "mathml3-common.rnc" + +math.content |= ContExp + +#ednote(rnc:opel-content) What is the content of a operator element, currently all text? +opel.content = text + +# we want to extend this in pragmatic CMathML, so we introduce abbrevs here. +#ednote(rnc:cn-content) What is the content of a cn? +cn.content = text |(cn,cn) +cn.type.vals = "integer"|"real"|"double" + +cn = element cn {attribute base {text}?, + attribute type {cn.type.vals}?, + Definition.attrib, + MathML.Common.attrib, + (cn.content)*} + +ci = element ci {attribute type {xsd:string}?, + attribute nargs {xsd:string}?, + attribute occurrence {xsd:string}?, + Definition.attrib, + MathML.Common.attrib, + opel.content, + name.attrib?} + +cdname.attrib = attribute cd {xsd:NCName} + +csymbol = element csymbol {MathML.Common.attrib, + Definition.attrib,cdname.attrib?,cdbase.attrib?, + opel.content} + +# the content of the apply element, leave it empty and extend it later +apply = element apply {MathML.Common.attrib,cdbase.attrib?,apply.content} +apply-head = apply|bind|ci|csymbol|semantics-apply +apply.content = apply-head,ContExp* +semantics-apply = element semantics {semantics.attribs,apply-head, semantics-annotation*} + +qualifier = notAllowed + +# the content of the bind element, leave it empty and extend it later +bind = element bind {MathML.Common.attrib,cdbase.attrib?,bind.content} +bind-head = apply|csymbol|semantics-bind +bind.content = bind-head,bvar*,qualifier?,ContExp +semantics-bind = element semantics {semantics.attribs,bind-head, semantics-annotation*} + +bvar = element bvar {MathML.Common.attrib,cdbase.attrib?,bvar-head} +bvar-head = ci|semantics-bvar +semantics-bvar = element semantics {semantics.attribs,bvar-head, semantics-annotation*} + +share = element share {MathML.Common.attrib,attribute href {xsd:anyURI}} + +# the content of the cerror element, leave it empty and extend it later +cerror = element cerror {MathML.Common.attrib,cdbase.attrib?,cerror.content} +cerror-head = csymbol|apply|semantics-cerror +cerror.content = cerror-head,ContExp* +semantics-cerror = element semantics {semantics.attribs,cerror-head, semantics-annotation*} + +semantics-cmml = element semantics {semantics.attribs,ContExp, semantics-annotation*} + +ContExp = cn| ci | csymbol | apply | bind | share | cerror | semantics-cmml diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3.rnc new file mode 100644 index 00000000000..317db3dd468 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3.rnc @@ -0,0 +1,21 @@ +# 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 + + +default namespace m = "http://www.w3.org/1998/Math/MathML" + +## Content MathML +include "mathml3-content.rnc" + +## Presentation MathML +include "mathml3-presentation.rnc" + +## math and semantics common to both Content and Presentation +include "mathml3-common.rnc" diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mocksoap.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mocksoap.rnc new file mode 100644 index 00000000000..745ee82d7ce --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mocksoap.rnc @@ -0,0 +1,39 @@ +# A RelaxNG schema for Mock Soap with OMDoc content (OMDoc 1.3) +# $Id: mocksoap.rnc 8959 2011-09-02 06:01:43Z kohlhase $ +# $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/mocksoap.rnc $ +# See the documentation and examples at http://www.omdoc.org +# Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) + +namespace omdoc = "http://omdoc.org/ns" +namespace env = "http://www.w3.org/2003/05/soap-envelope" +namespace ws = "http://www.mathweb.org/ws-fictional" + +start = Envelope + +include "omdoc-common.rnc" +include "omdocmobj.rnc" +include "omdocdoc.rnc" +include "omdocdc.rnc" +include "omdoccc.rnc" +include "omdocmtxt.rnc" +include "omdocst.rnc" +include "omdocpf.rnc" + + +Envelope = element env:Envelope {Body} +Body = element env:Body {(prover|prove|proof|theory)*} +prover = element ws:prover {attribute env:encodingStyle {xsd:anyURI}?, + name?,version?,URL?,uptime?,sysinfo?} +name = element ws:name {text} +version = element ws:version {text} +URL = element ws:URL {text} +uptime = element ws:uptime {text} +sysinfo = element ws:sysinfo {ostype?,mips?} +ostype = element ws:ostype {text} +mips = element ws:mips {text} + +prove = element ws:prove {attribute env:encodingStyle {xsd:anyURI}?, + (assertion|replyWith|timeout)*} +replyWith = element ws:replyWith {state*} +timeout = element ws:timeout {text} +state = element ws:state {text} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcd2.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcd2.rnc new file mode 100644 index 00000000000..2a2b64e4371 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcd2.rnc @@ -0,0 +1,59 @@ +# ********************************************* +# +# Relax NG Schema for OpenMath CD +# +# ********************************************* + +default namespace = "http://www.openmath.org/OpenMathCD" + +include "openmath2.rnc" + +start = CD + +CDComment = element CDComment { text } +CDName = element CDName { xsd:NCName } +CDUses = element CDUses { CDName* } +CDURL = element CDURL { xsd:anyURI } +CDBase = element CDBase { xsd:anyURI } +text-or-om = (text | OMOBJ)* +CDReviewDate = element CDReviewDate { xsd:date } +CDDate = element CDDate { xsd:date } +CDVersion = element CDVersion { xsd:nonNegativeInteger } +CDRevision = element CDRevision { xsd:nonNegativeInteger } +CDStatus = element CDStatus { + "official" | + "experimental" | + "private" | + "obsolete"} +Description = element Description { text } +Name = element Name { xsd:NCName } +Role = element Role { + "binder" | + "attribution" | + "semantic-attribution" | + "error" | + "application" | + "constant" } +CMP = element CMP { text } +FMP = element FMP { + attribute kind {xsd:string}?, + OMOBJ + } +# allow embedded OM +Example = element Example { text-or-om } +CDDefinition = + element CDDefinition { + CDComment*, + (Name & Role? & Description), + (CDComment | Example | FMP | CMP)* + } +CD = + element CD { + (CDComment* & Description? & + CDName & CDURL? & CDBase? & + CDReviewDate? & CDDate & CDStatus & + CDUses? & + CDVersion & CDRevision), + ( CDDefinition,CDComment* )+ + } + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdgroup2.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdgroup2.rnc new file mode 100644 index 00000000000..3b6754e471d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdgroup2.rnc @@ -0,0 +1,33 @@ + +# Schema for OpenMath CD groups + +# info on the CD group itself + +default namespace = "http://www.openmath.org/OpenMathCDG" + +CDGroupName = element CDGroupName { xsd:NCName } +CDGroupVersion = element CDGroupVersion { xsd:nonNegativeInteger } +CDGroupRevision = element CDGroupRevision { xsd:nonNegativeInteger } +CDGroupURL = element CDGroupURL { text } +CDGroupDescription = element CDGroupDescription { text } +# info on the CDs in the group +CDComment = element CDComment { text } +CDGroupMember = + element CDGroupMember { + CDComment?, CDName, CDVersion?, CDURL? + } +CDName = element CDName { xsd:NCName } +CDVersion = element CDVersion { xsd:nonNegativeInteger } +CDURL = element CDURL { text } +# structure of the group +CDGroup = + element CDGroup { + CDGroupName, + CDGroupVersion, + CDGroupRevision?, + CDGroupURL, + CDGroupDescription, + (CDGroupMember | CDComment)* + } +start = CDGroup + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdsig2.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdsig2.rnc new file mode 100644 index 00000000000..32aa235cc76 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdsig2.rnc @@ -0,0 +1,32 @@ +# ********************************************* +# +# Relax NG Schema for OpenMath CD Signatures +# +# ********************************************* + +default namespace = "http://www.openmath.org/OpenMathCDS" + +include "openmath2.rnc" + +start = CDSignatures + +CDSComment = element CDSComment { text } +CDSReviewDate = element CDSReviewDate { text } +CDSStatus = element CDSStatus { + "official" | + "experimental" | + "private" | + "obsolete"} +CDSignatures = + element CDSignatures { + attlist.CDSignatures, + (CDSComment)*, + (CDSReviewDate? & CDSStatus), + (CDSComment | Signature)* + } +attlist.CDSignatures = + attribute cd { xsd:NCName }, + attribute type { xsd:NCName } +Signature = element Signature { attlist.Signature, OMOBJ? } +attlist.Signature = attribute name { text } + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc-common.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc-common.rnc new file mode 100644 index 00000000000..eef4f53b04e --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc-common.rnc @@ -0,0 +1,66 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" +namespace local = "" + +# all the explicitly namespaced attributes, except xml:lang, which +# is handled explicitly +nonlocal.attribs = attribute * - (local:* | xml:*) {xsd:string}* + +# the attributes for CSS and PRES styling +css.attribs = attribute style {xsd:string}? & attribute class {xsd:string}? + +omdocref = xsd:anyURI # an URI reference pointing to an OMDoc fragment +omdocrefs = list {xsd:anyURI*} # a whitespace-separated list of omdocref + +xref.attrib = attribute xref {omdocref} +tref = attribute tref {omdocref} + +# for the moment, we may get regexp at some point. +curie = xsd:string +curies = xsd:string +safecurie = xsd:string + +about.attrib = attribute about {xsd:anyURI|safecurie} +xmlbase.attrib = attribute xml:base {xsd:anyURI} +xmlid.attrib = attribute xml:id {xsd:ID} + +idrest.attribs = css.attribs & nonlocal.attribs & about.attrib? & xmlbase.attrib? + +id.attribs = xmlid.attrib? & idrest.attribs + +toplevel.attribs = id.attribs, attribute generated-from {omdocref}? + +iso639 = "aa" | "ab" | "af" | "am" | "ar" | "as" | +"ay" | "az" | "ba" | "be" | "bg" | "bh" | "bi" | "bn" | "bo" | "br" | "ca" | "co" +| "cs" | "cy" | "da" | "de" | "dz" | "el" | "en" | "eo" | "es" | "et" | "eu" | +"fa" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "ha" +| "he" | "hi" | "hr" | "hu" | "hy" | "ia" | "ie" | "ik" | "id" | "is" | "it" | +"iu" | "ja" | "jv" | "ka" | "kk" | "kl" | "km" | "kn" | "ko" | "ks" | "ku" | "ky" +| "la" | "ln" | "lo" | "lt" | "lv" | "mg" | "mi" | "mk" | "ml" | "mn" | "mo" | +"mr" | "ms" | "mt" | "my" | "na" | "ne" | "nl" | "no" | "oc" | "om" | "or" | "pa" +| "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sd" | +"sg" | "sh" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st" +| "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" | +"to" | "tr" | "ts" | "tt" | "tw" | "ug" | "uk" | "ur" | "uz" | "vi" | "vo" | "wo" +| "xh" | "yi" | "yo" | "za" | "zh" | "zu" + +xml.lang.attrib = attribute xml:lang {iso639}? + +Anything = (AnyElement|text)* +AnyElement = element * {AnyAttribute,(text | AnyElement)*} +AnyAttribute = attribute * { text }* + +## useful classes to be extended in the modules +inline.class = empty +omdoc.class = empty +plike.class = empty + +## mixed models +inline.model = text & inline.class + +metadata.model &= dublincore diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc.rnc new file mode 100644 index 00000000000..0616aaf0147 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc.rnc @@ -0,0 +1,24 @@ +# 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 = omdoc + +include "omdoc-common.rnc" +include "omdocmobj.rnc" +include "omdocmeta.rnc" +include "omdocdoc.rnc" +include "omdocdc.rnc" +include "omdoccc.rnc" +include "omdocmtxt.rnc" +include "omdocrt.rnc" +include "omdocpres.rnc" +include "omdocst.rnc" +include "omdoccth.rnc" +include "omdocdg.rnc" +include "omdocpf.rnc" +include "omdocadt.rnc" +include "omdocext.rnc" +include "omdocquiz.rnc" diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocadt.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocadt.rnc new file mode 100644 index 00000000000..131df5606ff --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocadt.rnc @@ -0,0 +1,49 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" +omdoc.class &= adt* + +adt.sym.attrib = id.attribs,scope.attrib,attribute name {xsd:NCName} + +# adts are abstract data types, they are short forms for groups of symbols +# and their definitions, therefore, they have much the same attributes. + +adt.attribs = toplevel.attribs & + attribute parameters {list {xsd:NCName*}}? +adt.class = sortdef+ +adt.model = metadata.class & adt.class +adt = element adt {tref|(adt.attribs & adt.model)} + +adttype = "loose" | "generated" | "free" +sortdef.attribs = adt.sym.attrib & + attribute role {"sort"}? & + attribute type {adttype}? +sortdef.model = metadata.class & constructor* & insort* & recognizer? +sortdef = element sortdef {tref|(sortdef.attribs &sortdef.model)} + +insort.attribs = attribute for {omdocref} +insort.model = empty +insort = element insort {tref|(insort.attribs & insort.model)} + +constructor.attribs = adt.sym.attrib & sym.role.attrib? +constructor.model = metadata.class & argument* +constructor = element constructor {tref|(constructor.attribs & constructor.model)} + +recognizer.attribs = adt.sym.attrib & sym.role.attrib? +recognizer.model = metadata.class +recognizer = element recognizer {tref|(recognizer.attribs & recognizer.model)} + +argument.attribs = empty +argument.model = type & selector? +argument = element argument {tref|(argument.attribs & argument.model)} + +selector.attribs = adt.sym.attrib & + sym.role.attrib? & + attribute total {"yes" | "no"}? +selector.model = metadata.class +selector = element selector {tref|(selector.attribs & selector.model)} + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccc.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccc.rnc new file mode 100644 index 00000000000..3828aec5a6d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccc.rnc @@ -0,0 +1,10 @@ +# 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 +license = grammar {include "creativecommons.rnc" {description = parent plike.class}} + +metadata.class &= license* diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccth.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccth.rnc new file mode 100644 index 00000000000..8e52773b51d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccth.rnc @@ -0,0 +1,53 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +constitutive.class &= inclusion* +imports.model &= morphism? & + attribute type { "local" | "global"}? & + attribute conservativity {"conservative" | "monomorphism" | "definitional"}? & + attribute conservativity-just {omdocref}? + +toplevel.attribs &= attribute generated-via {omdocref}? +constitutive.attribs &= attribute generated-via {omdocref}? + +omdoc.class &= theory-inclusion* & axiom-inclusion* +theory-inclusion.justification = obligation* +axiom-inclusion.justification = obligation* + +fromto.attrib = from.attrib & attribute to {omdocref} +# attributes 'to' and 'from' are URIref + +morphism.attribs = id.attribs & + attribute hiding {omdocrefs}? & + attribute base {omdocrefs}? +morphism.model = def.eq? +morphism = element morphism {tref|(morphism.attribs & morphism.model)} +# base points to some other morphism it extends + +inclusion.attribs = id.attribs & attribute via {omdocref} +inclusion.model = empty +inclusion = element inclusion {tref|(inclusion.attribs & inclusion.model)} +# via points to a theory-inclusion + +theory-inclusion.attribs = toplevel.attribs & fromto.attrib +theory-inclusion.model = metadata? & morphism? & theory-inclusion.justification +theory-inclusion = element theory-inclusion {tref|(theory-inclusion.attribs & theory-inclusion.model)} + +axiom-inclusion.attribs = toplevel.attribs & fromto.attrib +axiom-inclusion.model = metadata? & morphism? & axiom-inclusion.justification +axiom-inclusion = element theory-inclusion {tref|(axiom-inclusion.attribs & axiom-inclusion.model)} + +obligation.attribs = id.attribs & + attribute induced-by {omdocref} & + attribute assertion {omdocref} +obligation.model = empty +obligation = element obligation {tref|(obligation.attribs & obligation.model)} +# 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/rnc/omdoc/omdocdc.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdc.rnc new file mode 100644 index 00000000000..7d91738da37 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdc.rnc @@ -0,0 +1,29 @@ +# 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 +dc.common = id.attribs & nonlocal.attribs +dc.comlang =dc.common & xml.lang.attrib + +dublincore = grammar {include "MARCRelators.rnc" + include "dublincore.rnc" + {dc.date = parent dc.common & + attribute action {xsd:NMTOKEN}? & + attribute who {xsd:anyURI}? & + (xsd:date|xsd:dateTime) + dc.identifier = parent tref|(parent dc.common & + attribute scheme {xsd:NMTOKEN} & + text) + dc.type = parent tref|(parent dc.common & ("Dataset" | "Text" | "Collection")) + dc.inline = parent tref|(parent dc.comlang & parent inline.model) + dc.text = parent tref|(parent dc.comlang & parent plike.class) + dc.person = parent tref|(parent dc.common & + attribute role {MARCRelators}? & + parent inline.model) + dc.rights = parent tref|(parent dc.comlang & parent plike.class) + dc.source = parent plike.class}} + +metadata.model &= dublincore diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdg.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdg.rnc new file mode 100644 index 00000000000..af5cfe2fc5b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdg.rnc @@ -0,0 +1,28 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +omdoc.class &= decomposition* & path-just* +omdoccth.theory-inclusion.justification &= decomposition* +omdoccth.axiom-inclusion.justification &= path-just* + +decomposition.attribs = toplevel.attribs & for.attrib? & + attribute links {omdocrefs} +decomposition.model = empty +decomposition = element decomposition {tref|(decomposition.attribs & decomposition.model)} +# 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 + +path-just.attribs = for.attrib? & id.attribs & + attribute local {omdocref} & + attribute globals {omdocrefs} +path-just.model = empty +path-just = element path-just {tref|(path-just.attribs & path-just.model)} +# 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/rnc/omdoc/omdocdoc.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdoc.rnc new file mode 100644 index 00000000000..77215095b2b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdoc.rnc @@ -0,0 +1,62 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" +# extend the stuff that can go into a mathematical text + +omdoc.class &= ignore* & tableofcontents* + +ignore.attribs = id.attribs & + attribute type {xsd:string}? & + attribute comment {xsd:string}? +ignore.model = Anything +ignore = element ignore {tref|(ignore.attribs & ignore.model)} + +tableofcontents.attribs = attribute level {xsd:nonNegativeInteger}? +tableofcontents.model = empty +tableofcontents = element tableofcontents {tref|(tableofcontents.attribs & tableofcontents.model)} + +index.attribs = id.attribs +index.model = empty +index = element index {tref|(index.attribs & index.model)} + +bibliography.attribs = id.attribs, attribute files {text} +bibliography.model = empty +bibliography = element bibliography {tref|(bibliography.attribs & bibliography.model)} + + +group.attribs = id.attribs, + attribute type {xsd:anyURI}?, + attribute modules {xsd:anyURI}?, + attribute layout {text}? + +## The <omdoc> and <omgroup> elements allow frontmatter and backmatter, +## which we will now define +frontmatter = metadata.class & tableofcontents? +backmatter = index? & bibliography? +docstruct.class = omgroup* +omdoc.class &= docstruct.class +mainmatter = omdoc.class + +omgroup.attribs = toplevel.attribs & group.attribs +omgroup.model = frontmatter,mainmatter,backmatter +omgroup = element omgroup {tref|(omgroup.attribs & omgroup.model)} + +## the model of the document root only differs from <omgroup> in the version attribute +omdoc.attribs = toplevel.attribs & group.attribs & + attribute version {xsd:string {pattern = "1.3"}}? +omdoc.model =frontmatter,mainmatter,backmatter +omdoc = element omdoc {tref|(omdoc.attribs & omdoc.model)} + + +############################## deprecated ################################ +# the following is for legacy only, and will be removed soon. +ref.attribs = id.attribs & xref.attrib & attribute type {"include" | "cite"} +ref.model = empty +ref = element ref{ref.attribs & ref.model} + +omdoc.class &= ref* +inline.class &= ref* diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocext.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocext.rnc new file mode 100644 index 00000000000..8b37d56603b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocext.rnc @@ -0,0 +1,64 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +plike.class &= omlet* +omdoc.class &= private* & code* + +private.attribs = toplevel.attribs & + for.attrib? & + attribute requires {omdocref}? & + attribute reformulates {omdocref}? +private.model = metadata.class & data+ +private = element private {tref|(private.attribs & private.model)} +# reformulates is a URIref to the omdoc elements that are reformulated by the +# system-specific information in this element + +code.attribs = private.attribs +code.model = metadata.class & data* & input* & output* & effect* +code = element code {tref|(code.attribs & code.model)} + +input.attribs = id.attribs +input.model = mcf.class +input = element input {tref|(input.attribs & input.model)} + +output.attribs = id.attribs +output.model = mcf.class +output = element output {tref|(output.attribs & output.model)} + +effect.attribs = id.attribs +effect.model = mcf.class +effect = element effect {tref|(effect.attribs & effect.model)} + +data.attribs = id.attribs & + attribute href {xsd:anyURI}? & + attribute size {xsd:string}? & + attribute pto {xsd:string}? & + attribute pto-version {xsd:string}? & + attribute original {"external" | "local"}? + +data.textformat = "TeX" +data.text = data.attribs & attribute format {data.textformat}? & text +data.any = data.attribs & attribute format {xsd:anyURI}? & Anything +data.model = data.text | data.any +data = element data {tref|data.model} + +omlet.attribs = id.attribs & + attribute action {"display" | "execute" | "other"}? & + attribute show {"new" | "replace" | "embed" | "other"}? & + attribute actuate {"onPresent" | "onLoad" | "onRequest" | "other"}? +omlet.param = text & inline.class & param* +omlet.data = attribute data {xsd:anyURI}|(private|code) +omlet.model = metadata.class & omlet.param & omlet.data +omlet = element omlet {tref|(omlet.attribs & omlet.model)} + +param.attribs = id.attribs & + attribute name {xsd:string} & + attribute value {xsd:string}? & + attribute valuetype {"data" | "ref" | "object"}? +param.model = mobj? +param = element param {tref|(param.attribs & param.model)} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmeta.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmeta.rnc new file mode 100644 index 00000000000..a77d98d65d4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmeta.rnc @@ -0,0 +1,39 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +rel.attrib = attribute rel {curies} +rev.attrib = attribute rev {curies} +content.attrib = attribute content {xsd:string} +resource.attrib = attribute resource {xsd:anyURI|safecurie} +property.attrib = attribute property {curies} +datatype.attrib = attribute datatype {curie} +typeof.attrib = attribute typeof {curies} + +meta.attribs = id.attribs & property.attrib?& datatype.attrib? & xml.lang.attrib +meta.model = content.attrib | Anything | (content.attrib & Anything) +meta = element meta {tref|(meta.attribs & meta.model)} + +mlink.attribs = id.attribs & rel.attrib? & rev.attrib? & resource.attrib? +mlink.class = resource* & mlink* & meta* +mlink.model = attribute href {curie}|mlink.class +mlink = element link {tref|(mlink.attribs,mlink.model)} + +resource.attribs = id.attribs & typeof.attrib? & about.attrib? +resource.class = meta* & mlink* +resource = element resource {tref|(resource.attribs & resource.class)} + +metadata.class = metadata? & meta* & mlink* +metadata.model = metadata.class +metadata.attribs = id.attribs +metadata = element metadata {tref|(metadata.attribs & metadata.model)} + +rdfa.attribs = rel.attrib? & rev.attrib? & content.attrib? & about.attrib? + & resource.attrib? & property.attrib? & datatype.attrib? + & typeof.attrib? + +id.attribs &= rdfa.attribs diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmobj.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmobj.rnc new file mode 100644 index 00000000000..dfe54e9d1ac --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmobj.rnc @@ -0,0 +1,27 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +namespace om = "http://www.openmath.org/OpenMath" +namespace local = "" + +# the legacy element, it can encapsulate the non-migrated formats +legacy.attribs = id.attribs & + attribute formalism {xsd:anyURI}? & + attribute format {xsd:anyURI} +legacy.model = Anything +legacy = element legacy {tref|(legacy.attribs & legacy.model)} + +nonom.attribs = attribute * - (local:* | om:*) {text}* +extom.attribs = idrest.attribs & nonom.attribs +omobj = grammar {include "openmath2.rnc" + common.attributes &= parent extom.attribs} + +cmml = grammar {include "mathml3-common.rnc" + include "mathml3-strict-content.rnc"} + +mobj = legacy | omobj | cmml diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc new file mode 100644 index 00000000000..e4130acab1c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc @@ -0,0 +1,105 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +omdoc.class &= omtext* + +#attribute for is a whitespace-separated list of URIrefs +for.attrib = attribute for {omdocrefs} +from.attrib = attribute from {omdocref} +mc.class = metadata.class & CMP* +mcf.class = mc.class & FMP* + +rsttype = "abstract" | "introduction" | "annote" | + "conclusion" | "thesis" | "comment" | "antithesis" | + "elaboration" | "motivation" | "evidence" | "note" | + "warning" | "question" | "answer" | "transition" + +statementtype = "axiom" | "definition" | "example" | "proof" | + "derive" | "hypothesis" | "notation" + +assertiontype = "assertion" | "theorem" | "lemma" | "corollary" | "proposition" | + "conjecture" | "false-conjecture" | "obligation" | + "postulate" | "formula" | "assumption" | "rule" + +verbalizes.attrib = attribute verbalizes {omdocrefs} +omtext.type.attrib = attribute type {rsttype | statementtype | assertiontype | xsd:anyURI} +index.attrib = attribute index {xsd:NMTOKEN} +parallel.attribs = verbalizes.attrib? & index.attrib? & omtext.type.attrib? + +omtext.attribs = toplevel.attribs & + omtext.type.attrib? & + attribute for {omdocref}? & + attribute from {omdocref}? & + verbalizes.attrib? +omtext.model = mcf.class +omtext = element omtext {tref|(omtext.attribs & omtext.model)} + +CMP.attribs = xml.lang.attrib & id.attribs +CMP.model = plike.class +CMP = element CMP {tref|(CMP.attribs & CMP.model)} + +term.attribs = id.attribs & + attribute role {text}? & + attribute cdbase {xsd:anyURI}? & + attribute cd {xsd:NCName} & + attribute name {xsd:NCName} +term.model = inline.model +term = element term {tref|(term.attribs & term.model)} + +FMP.attribs = id.attribs & attribute logic {xsd:NMTOKEN}? +FMP.model = (assumption*,conclusion*)|mobj +FMP = element FMP {tref|(FMP.attribs & FMP.model)} + +assumption.attribs = id.attribs & + attribute inductive {"yes" | "no"}? +assumption.model = mobj +assumption = element assumption {tref|(assumption.attribs & assumption.model)} + +conclusion.attribs = id.attribs +conclusion.model = mobj +conclusion = element conclusion {tref|(conclusion.attribs & conclusion.model)} + +note.attribs = id.attribs & for.attrib? & parallel.attribs & attribute type {xsd:NMTOKEN}? +note.model = inline.model +note = element note {tref|(note.attribs & note.model)} + +# index +index.att = attribute sort-by {text}? & + attribute see {omdocrefs}? & + attribute seealso {omdocrefs}? & + attribute links {list {xsd:anyURI*}}? + +idx.attribs = id.attribs|xref.attrib +idx.model = idt? & ide+ +idx = element idx {tref|(idx.attribs & idx.model)} + +ide.attribs = (id.attribs & index.att & index.attrib) | xref.attrib +ide.model = idp* +ide = element ide {tref|(ide.attribs & ide.model)} + +idt.attribs = id.attribs|xref.attrib +idt.model = inline.model +idt = element idt {tref|(idt.attribs & idt.model)} + +idp.attribs = index.att +idp.model = inline.model +idp = element idp {tref|(idp.attribs & idp.model)} + +# citations +citation.attribs = id.attribs & attribute bibrefs {text} +citation.model = empty +citation = element citation {tref|(citation.attribs & citation.model)} + +# citations +oref.attribs = id.attribs & attribute href {xsd:anyURI} +oref.model = empty +oref = element oref {tref|(oref.attribs & oref.model)} + +# what can go into a mathematical text +op.class = \term* & mobj* & note* & idx* & citation* & oref* +inline.class &=op.class diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpf.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpf.rnc new file mode 100644 index 00000000000..d10b6e89600 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpf.rnc @@ -0,0 +1,39 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +omdocpf.opt.content &= proof* & proofobject* +omdoc.class &= proof* & proofobject* + +proof.attribs = toplevel.attribs & for.attrib? +proof.model = metadata.class & omtext* & symbol* & definition* & derive* & hypothesis* +proof = element proof {tref|(proof.attribs & proof.model)} + +proofobject.attribs = proof.attribs +proofobject.model = metadata.class & mobj +proofobject = element proofobject {tref|(proofobject.attribs & proofobject.model)} + +derive.attribs = id.attribs & attribute type {"conclusion" | "gap"}? +derive.model = mcf.class & method? +derive = element derive {tref|(derive.attribs & derive.model)} + +hypothesis.attribs = id.attribs & attribute inductive {"yes" | "no"}? +hypothesis.model = mcf.class +hypothesis = element hypothesis {tref|(hypothesis.attribs & hypothesis.model)} + +method.attribs = id.attribs & xref.attrib? +method.model = mobj* & premise* & proof* & proofobject* +method = element method {tref|(method.attribs & method.model)} + +premise.attribs = xref.attrib & attribute rank {xsd:nonNegativeInteger}? +premise.model = empty +premise = element premise {tref|(premise.attribs & premise.model)} + +# 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/rnc/omdoc/omdocphys.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocphys.rnc new file mode 100644 index 00000000000..88c30df8169 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocphys.rnc @@ -0,0 +1,47 @@ +# A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module PHYS +# $Id: omdocphys.rnc 8959 2011-09-02 06:01:43Z kohlhase $ +# $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocphys.rnc $ +# See the documentation and examples at http://www.omdoc.org +# Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) + +system.attribs = id.attribs & + attribute type {"ideal" | "real"} +system.model = metadata.class & + observable* & improvement? & algebra? & realization? +system = element system {tref|(system.attribs & system.model)} + +observable.attribs = id.attribs & + attribute low {xsd:float} & + attribute high {xsd:float} +observable.model = mobj,mobj +observable = element observable {tref|(observable.attribs & observable.model)} + +improvement.attribs = id.attribs +improvement.model = mcf.class +improvement = element improvement {tref|(improvement.attribs & improvement.model)} + +realization.attribs = id.attribs +realization.model = mcf.class +realization = element realization {tref|(realization.attribs & realization.model)} + +interpretation.attribs = id.attribs +interpretation.model = mcf.class +interpretation = element interpretation {tref|(interpretation.attribs & interpretation.model)} + +state.attribs = id.attribs & attribute of {omdocref} +state.model = metadata.class & value* +state = element state {tref|(state.attribs & state.model)} + +value.attribs = id.attribs & + attribute for {omdocref} & + attribute num {xsd:float} +value.model = metadata.class +value = element value {tref|(value.attribs & value.model)} + +experiment.attribs = id.attribs +experiment.model = mcf.class,state,state +experiment = element experiment {tref|(experiment.attribs & experiment.model)} + +evidence.attribs = id.attribs & attribute for {omdocref} +evidence.model = experiment*,interpretation +evidence = element evidence {tref|(evidence.attribs & evidence.model)} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpres.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpres.rnc new file mode 100644 index 00000000000..2d2b26db632 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpres.rnc @@ -0,0 +1,91 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" +omdoc.class &= notation* + +## we first add the ic and ec attributes for notation contexts everywhere +ic.attrib = attribute ic {text} +ec.attrib = attribute ec {text} +idrest.attribs &= ic.attrib? & ec.attrib? + +prototype.attribs = empty +prototype.model = protoexp +prototype = element prototype {tref|(prototype.attribs & prototype.model)} + +protoexp = grammar {include "openmath2.rnc" + {start = omel + common.attributes = parent id.attribs} + omel |= parent proto.class + omvar |= parent proto.class + common.attributes &= parent ntn.attrib} + | grammar {include "mathml3.rnc" {start = ContExp} + ContExp |= parent proto.class + ci |= parent proto.class + CommonAtt &= parent ntn.attrib} + +precedence.att = attribute precedence {xsd:integer} | attribute argprec {xsd:integer} +context.att = attribute xml:lang {text}? & + attribute context {text}? & + attribute variant {text}? + +format.att = attribute format {text}? + +rendering.attribs = precedence.att? & context.att & format.att +rendering.model = renderexp + +rendering = element rendering {tref|(rendering.attribs & rendering.model)} + +renderexp = grammar {include "mathml3-common.rnc" {start = PresentationExpression} + include "mathml3-presentation.rnc" + PresentationExpression |= parent render.class + CommonAtt &= parent ntn.attrib + mtable.content.class |= parent render.class + mtr.content.class |= parent render.class} + | (pdata|render.class)* + +pdata.attribs = empty +pdata.model = text +pdata = element pdata {pdata.attribs & pdata.model} + +iterexp = grammar {include "mathml3.rnc" + {start = PresentationExpression|mtr|mlabeledtr|mtd} + PresentationExpression |= parent render.class + MathML.Common.attrib &= parent ntn.attrib + mtable.content.class |= parent render.class + mtr.content.class |= parent render.class} + + name.attrib = attribute name {xsd:NCName}? + triple.att = attribute cdbase {xsd:anyURI}? & name.attrib & attribute cd {xsd:NCName}? + +notation.attribs = id.attribs & triple.att +notation.model = metadata.class & CMP* & prototype+ & rendering* +notation = element notation {tref|(notation.attribs & notation.model)} + +# we extend the content and presentation models by metavariables +proto.class = exprlist | expr +render.class = render | iterate +ntn.attrib = attribute cr {text}? & attribute egroup {text}? + +exprlist.attribs = name.attrib +exprlist.model = protoexp* +exprlist = element exprlist {exprlist.attribs & exprlist.model} + +expr.attribs = name.attrib +expr.model = empty +expr = element expr {tref|(expr.attribs & expr.model)} + +iterate.attribs = name.attrib & precedence.att? +iterate.model = separator & iterexp* +iterate = element iterate {tref|(iterate.attribs & iterate.model)} + +render.attribs = name.attrib & precedence.att? +render.model = empty +render = element render {tref|(render.attribs & render.model)} + +separator.attribs = empty +separator.model = renderexp* +separator = element separator {tref|(separator.attribs & separator.model)} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocquiz.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocquiz.rnc new file mode 100644 index 00000000000..176ce32feae --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocquiz.rnc @@ -0,0 +1,37 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +omdoc.class &= exercise* & hint* & mc* & solution* +plike.class &= hint* + +exercise.attribs = toplevel.attribs & for.attrib? +exercise.model = mcf.class | omdoc.class +exercise = element exercise {tref|(exercise.attribs & exercise.model)} + +omdocpf.opt.content = notAllowed + +hint.attribs = toplevel.attribs & for.attrib? +hint.model = mcf.class +hint = element hint {tref|(hint.attribs & hint.model)} + +solution.attribs = toplevel.attribs & for.attrib? +solution.model = mcf.class | omdoc.class +solution = element solution {tref|(solution.attribs & solution.model)} + +mc.attribs = toplevel.attribs & for.attrib? +mc.model = choice,hint?,answer +mc = element mc {tref|(mc.attribs & mc.model)} + +choice.attribs = id.attribs +choice.model = mcf.class +choice = element choice {tref|(choice.attribs & choice.model)} + +answer.attribs = id.attribs & attribute verdict {"true" | "false"}? +answer.model = mcf.class +answer = element answer {tref|(answer.attribs & answer.model)} + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocrt.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocrt.rnc new file mode 100644 index 00000000000..ac7c3010494 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocrt.rnc @@ -0,0 +1,32 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +rst.attribs = verbalizes.attrib? + +## We extend the three main content models by xhtml elements +inline.class &= grammar {include "pxhtml.rnc" + {Inline.model = text & parent metadata.class & Inline.class} + Inline.class &= parent op.class + span.attlist &= parent rst.attribs + start = Inline.class} + +plike.class &= grammar {include "pxhtml.rnc" + {Inline.model = text & parent metadata.class & Inline.class} + Common.attrib &= parent idrest.attribs & parent parallel.attribs + Inline.class &= parent op.class + span.attlist &= parent rst.attribs + start = Block.class} + +omdoc.class &= grammar {include "pxhtml.rnc" + {Inline.model = text & parent metadata.class & Inline.class} + Common.attrib &= parent idrest.attribs & parent parallel.attribs + Inline.class &= parent op.class + Block.cass &= parent plike.class + Flow.model &= parent omdoc.class + span.attlist &= parent rst.attribs + start = List.class} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocst.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocst.rnc new file mode 100644 index 00000000000..46419186d52 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocst.rnc @@ -0,0 +1,135 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +omdoc.class &= symbol* & axiom* & definition* & imports* & assertion* & type* & alternative* & example* & theory* + +constitutive.attribs = id.attribs & attribute generated-from {omdocref}? +sym.role.attrib = attribute role {"type" | "sort" | "object" | + "binder" | "attribution" | "application" | "constant" | + "semantic-attribution" | "error"} +theory-unique = xsd:NCName +scope.attrib = attribute scope {"global" | "local"}? +symbol.attribs = scope.attrib & + attribute name {theory-unique}? & + constitutive.attribs & + sym.role.attrib? +symbol.model = metadata.class & type* +symbol = element symbol {tref|(symbol.attribs & symbol.model)} + +forname.attrib = attribute for {list {xsd:NCName+}} +axiom.attribs = constitutive.attribs & forname.attrib & attribute type {xsd:string}? +axiom.model = metadata.class & mcf.class +axiom = element axiom {tref|(axiom.attribs & axiom.model)} + +#informal definitions +def.informal = attribute type {"informal"}? + +#simple definitions +def.simple.attribs = attribute type {"simple"} +def.simple = def.simple.attribs & mobj + +#implicit definitions +exists.attrib = attribute existence {omdocref} +unique.attrib = attribute uniqueness {omdocref} +def.implicit.attribs = attribute type {"implicit"} & exists.attrib? & unique.attrib? +def.implicit = def.implicit.attribs & FMP* + +exhaust.attrib = attribute exhaustivity {omdocref} +consist.attrib = attribute consistency {omdocref} + +def.pattern.attribs = attribute type {"pattern"}? & exhaust.attrib? & consist.attrib? +def.pattern.model = requation* +def.pattern = def.pattern.attribs & def.pattern.model + +def.inductive.attribs = attribute type {"inductive"}? & exhaust.attrib? & consist.attrib? +def.inductive.model = requation* & measure? & ordering? +def.inductive = def.inductive.attribs & def.inductive.model + +def.eq = def.pattern | def.inductive + +#all definition forms, add more by extending this. +defs.all = def.informal | def.simple | def.implicit | def.eq + +# 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. +definition.attribs = constitutive.attribs & forname.attrib +definition = element definition {tref|(definition.attribs & mc.class & defs.all)} + +requation.attribs = id.attribs +requation.model = mobj,mobj +requation = element requation {tref|(requation.attribs & requation.model)} + +measure.attribs = id.attribs +measure.model = mobj +measure = element measure {tref|(measure.attribs & measure.model)} + +ordering.attribs = id.attribs & attribute terminating {omdocref}? +ordering.model = mobj +ordering = element ordering {tref|(ordering.attribs & ordering.model)} + +# the non-constitutive statements, they need a theory attribute +toplevel.attribs &= attribute theory {omdocref}? + +ded.status.class = "satisfiable" | "counter-satisfiable" | "no-consequence" | + "theorem" | "conter-theorem" | "contradictory-axioms" | + "tautologous-conclusion" | " tautology" | "equivalent" | + "conunter-equivalent" | "unsatisfiable-conclusion" | "unsatisfiable" + +just-by.attrib = attribute just-by {omdocref} +assertion.attribs = toplevel.attribs & + attribute type {assertiontype}? & + attribute status {ded.status.class}? & + just-by.attrib? +assertion.model = mcf.class +assertion = element assertion {tref|(assertion.attribs & assertion.model)} +# 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. + +type.attribs = toplevel.attribs & just-by.attrib? & + attribute system {omdocref}? & + attribute for {omdocref}? +type.model = mc.class, mobj, mobj? +type = element type {tref|(type.attribs & type.model)} + +##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) +alternative.attribs = toplevel.attribs & for.attrib & + ((attribute equivalence {omdocref}, + attribute equivalence-thm {omdocref}) | + (attribute entailed-by {omdocref} & + attribute entails {omdocref} & + attribute entailed-by-thm {omdocref} & + attribute entails-thm {omdocref})) +alternative.model = mc.class & defs.all +alternative = element alternative {tref|(alternative.attribs & alternative.model)} + +example.attribs = toplevel.attribs & for.attrib & + attribute type {"for" | "against" }? & + attribute assertion {omdocref}? +example.model = mc.class,mobj* +example = element example {tref|(example.attribs & example.model)} + +theory.attribs = id.attribs & + attribute cdurl {xsd:anyURI}? & + attribute cdbase {xsd:anyURI}? & + attribute cdreviewdate {xsd:date}? & + attribute cdversion {xsd:nonNegativeInteger}? & + attribute cdrevision {xsd:nonNegativeInteger}? & + attribute cdstatus {"official" | "experimental" |"private" | "obsolete"}? +theory.model = metadata.class & omdoc.class +theory = element theory {tref|(theory.attribs & theory.model)} + +imports.attribs = id.attribs & from.attrib +imports.model = metadata.class +imports = element imports {tref|(imports.attribs & imports.model)} + + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/openmath2.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/openmath2.rnc new file mode 100644 index 00000000000..2d07eb14148 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/openmath2.rnc @@ -0,0 +1,89 @@ +# 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 + +default namespace om = "http://www.openmath.org/OpenMath" + +start = OMOBJ + +# OpenMath object constructor +OMOBJ = element OMOBJ { compound.attributes, + attribute version { xsd:string }?, + omel } + +# Elements which can appear inside an OpenMath object +omel = + OMS | OMV | OMI | OMB | OMSTR | OMF | OMA | OMBIND | OME | OMATTR |OMR + +# things which can be variables +omvar = OMV | attvar + +attvar = element OMATTR { common.attributes,(OMATP , (OMV | attvar))} + + +cdbase = attribute cdbase { xsd:anyURI}? + +# attributes common to all elements +common.attributes = (attribute id { xsd:ID })? + +# attributes common to all elements that construct compount OM objects. +compound.attributes = common.attributes,cdbase + +# symbol +OMS = element OMS { common.attributes, + attribute name {xsd:NCName}, + attribute cd {xsd:NCName}, + cdbase } + +# variable +OMV = element OMV { common.attributes, + attribute name { xsd:NCName} } + +# integer +OMI = element OMI { common.attributes, + xsd:string {pattern = "\s*(-\s?)?[0-9]+(\s[0-9]+)*\s*"}} +# byte array +OMB = element OMB { common.attributes, xsd:base64Binary } + +# string +OMSTR = element OMSTR { common.attributes, text } + +# IEEE floating point number +OMF = element OMF { common.attributes, + ( attribute dec { xsd:double } | + attribute hex { xsd:string {pattern = "[0-9A-F]+"}}) } + +# apply constructor +OMA = element OMA { compound.attributes, omel+ } + +# binding constructor +OMBIND = element OMBIND { compound.attributes, omel, OMBVAR, omel } + +# variables used in binding constructor +OMBVAR = element OMBVAR { common.attributes, omvar+ } + +# error constructor +OME = element OME { common.attributes, OMS, (omel|OMFOREIGN)* } + +# attribution constructor and attribute pair constructor +OMATTR = element OMATTR { compound.attributes, OMATP, omel } + +OMATP = element OMATP { compound.attributes, (OMS, (omel | OMFOREIGN) )+ } + +# foreign constructor +OMFOREIGN = element OMFOREIGN { + compound.attributes, attribute encoding {xsd:string}?, + (omel|notom)* } + +# Any elements not in the om namespace +# (valid om is allowed as a descendant) +notom = + (element * - om:* {attribute * { text }*,(omel|notom)*} + | text) + +# reference constructor +OMR = element OMR { common.attributes, + attribute href { xsd:anyURI } + } + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/pxhtml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/pxhtml.rnc new file mode 100644 index 00000000000..f9758a57506 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/pxhtml.rnc @@ -0,0 +1,17 @@ +# XHTML for paragraphs in OMDoc +# this is a subset of the xhtml RelaxNG schema for XHTML we use it for paragraphs in OMDoc1.3 + +default namespace xhtml = "http://www.w3.org/1999/xhtml" + +include "xhtml-datatypes.rnc" +include "xhtml-attribs.rnc" +include "xhtml-text.rnc" +include "xhtml-hypertext.rnc" +include "xhtml-list.rnc" +include "xhtml-image.rnc" +include "xhtml-param.rnc" +include "xhtml-object.rnc" +include "xhtml-bdo.rnc" +include "xhtml-applet.rnc" +include "xhtml-table.rnc" +include "xhtml-inlstyle.rnc" diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/schemas.xml b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/schemas.xml new file mode 100644 index 00000000000..7709ff94ead --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/schemas.xml @@ -0,0 +1,4 @@ +<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0"> + <uri pattern="*.omdoc" typeId="OMDoc"/> + <typeId id="OMDoc" uri="omdoc.rnc"/> +</locatingRules> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo new file mode 100644 index 00000000000..1d7969e6fd5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo @@ -0,0 +1,3 @@ +- maybe move metadata back into omdoc-core.mod +- is omgroup.... really conditional now? +- integrate MathML diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo.txt b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo.txt new file mode 100644 index 00000000000..1b4aec578a8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo.txt @@ -0,0 +1,2 @@ +- tighten up the grammar for definition, we can make the relation between + type and content explicit now diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-applet.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-applet.rnc new file mode 100644 index 00000000000..eaaa1a15a52 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-applet.rnc @@ -0,0 +1,19 @@ +# Applet Module + +applet = + element applet { + applet.attlist, + # No restrictions on mixed content in TREX. + param*, + Flow.model + } +applet.attlist = + Core.attrib & + attribute alt { Text.datatype } & + attribute archive { text }? & + attribute code { text }? & + attribute codebase { URI.datatype }? & + attribute object { text }? & + attribute height { Length.datatype } & + attribute width { Length.datatype } +Inline.class &= applet* diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-attribs.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-attribs.rnc new file mode 100644 index 00000000000..0aa6e323164 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-attribs.rnc @@ -0,0 +1,14 @@ +# Common Attributes Module + +id.attrib = attribute id { ID.datatype }? +class.attrib = attribute class { NMTOKENS.datatype }? +title.attrib = attribute title { Text.datatype }? +Core.attrib = id.attrib & class.attrib & title.attrib +lang.attrib = attribute xml:lang { LanguageCode.datatype }? +I18n.attrib = lang.attrib +Common.attrib = Core.attrib & I18n.attrib +CommonIdRequired.attrib = + attribute id { ID.datatype } & + class.attrib & + title.attrib & + I18n.attrib diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-basic-table.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-basic-table.rnc new file mode 100644 index 00000000000..c0205d29716 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-basic-table.rnc @@ -0,0 +1,28 @@ +# Basic Tables Module + +table = element table { table.attlist & caption? & tr+ } +table.attlist = + Common.attrib & + attribute summary { Text.datatype }? +caption = element caption { caption.attlist, Inline.model } +caption.attlist = Common.attrib +tr = element tr { tr.attlist & (th | td)+ } +tr.attlist = Common.attrib & CellHAlign.attrib & CellVAlign.attrib +th = element th { th.attlist & Flow.model } +th.attlist = Cell.attrib +td = element td { td.attlist & Flow.model } +td.attlist = Cell.attrib +Cell.attrib = + Common.attrib & + attribute abbr { Text.datatype }? & + attribute axis { text }? & + attribute headers { IDREFS.datatype }? & + scope.attrib & + attribute rowspan { Number.datatype }? & + attribute colspan { Number.datatype }? & + CellHAlign.attrib & + CellVAlign.attrib +CellHAlign.attrib = attribute align { "left" | "center" | "right" }? +CellVAlign.attrib = attribute valign { "top" | "middle" | "bottom" }? +scope.attrib = attribute scope { "row" | "col" }? +Block.class &= table* diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-bdo.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-bdo.rnc new file mode 100644 index 00000000000..96bd91e378d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-bdo.rnc @@ -0,0 +1,7 @@ +# Bi-directional Module + +bdo = element bdo { bdo.attlist & Inline.model } +bdo.attlist = Core.attrib & lang.attrib & dir.attrib +dir.attrib = attribute dir { "ltr" | "rtl" } +I18n.attrib &= dir.attrib? +Inline.class &= bdo* diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-datatypes.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-datatypes.rnc new file mode 100644 index 00000000000..596598039dd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-datatypes.rnc @@ -0,0 +1,47 @@ +# Datatypes Module + +# Length defined for cellpadding/cellspacing + +# nn for pixels or nn% for percentage length +Length.datatype = text +# space-separated list of link types +LinkTypes.datatype = NMTOKENS.datatype +# single or comma-separated list of media descriptors +MediaDesc.datatype = text +# pixel, percentage, or relative +MultiLength.datatype = text +# one or more digits (NUMBER) +Number.datatype = text +# integer representing length in pixels +Pixels.datatype = text +# script expression +Script.datatype = text +# textual content +Text.datatype = text +# Imported Datatypes ................................ + +# a single character from [ISO10646] +Character.datatype = text +# a character encoding, as per [RFC2045] +Charset.datatype = text +# a space separated list of character encodings, as per [RFC2045] +Charsets.datatype = text +# media type, as per [RFC2045] +ContentType.datatype = text +# comma-separated list of media types, as per [RFC2045] +ContentTypes.datatype = text +# date and time information. ISO date format +Datetime.datatype = text +# formal public identifier, as per [ISO8879] +FPI.datatype = text +# a language code, as per [RFC1766] +LanguageCode.datatype = xsd:language +# a Uniform Resource Identifier, see [URI] +URI.datatype = xsd:anyURI +# a space-separated list of Uniform Resource Identifiers, see [URI] +URIs.datatype = text +NMTOKEN.datatype = xsd:NMTOKEN +NMTOKENS.datatype = xsd:NMTOKENS +ID.datatype = xsd:ID +IDREF.datatype = xsd:IDREF +IDREFS.datatype = xsd:IDREFS diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-hypertext.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-hypertext.rnc new file mode 100644 index 00000000000..0dc78e6161f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-hypertext.rnc @@ -0,0 +1,16 @@ +# Hypertext Module + +# Depends on text module. + +a = element a { a.attlist & Inline.model } +a.attlist = + Common.attrib & + attribute href { URI.datatype }? & + attribute charset { Charset.datatype }? & + attribute type { ContentType.datatype }? & + attribute hreflang { LanguageCode.datatype }? & + attribute rel { LinkTypes.datatype }? & + attribute rev { LinkTypes.datatype }? & + attribute accesskey { Character.datatype }? & + attribute tabindex { Number.datatype }? +Inline.class &= a* diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-image.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-image.rnc new file mode 100644 index 00000000000..f897cc6d956 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-image.rnc @@ -0,0 +1,11 @@ +# Image Module + +img = element img { img.attlist } +img.attlist = + Common.attrib & + attribute src { URI.datatype } & + attribute alt { Text.datatype } & + attribute longdesc { URI.datatype }? & + attribute height { Length.datatype }? & + attribute width { Length.datatype }? +Inline.class &= img* diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-inlstyle.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-inlstyle.rnc new file mode 100644 index 00000000000..aa69b75ab61 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-inlstyle.rnc @@ -0,0 +1,3 @@ +# Inline Style Module + +Core.attrib &= attribute style { text }? diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-list.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-list.rnc new file mode 100644 index 00000000000..ce20fc89884 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-list.rnc @@ -0,0 +1,16 @@ +# List Module + +dl = element dl { dl.attlist & (dt | dd)+ } +dl.attlist = Common.attrib +dt = element dt { dt.attlist & Inline.model } +dt.attlist = Common.attrib +dd = element dd { dd.attlist &Flow.model } +dd.attlist = Common.attrib +ol = element ol { ol.attlist & li+ } +ol.attlist = Common.attrib +ul = element ul { ul.attlist & li+ } +ul.attlist = Common.attrib +li = element li { li.attlist & Flow.model } +li.attlist = Common.attrib +List.class = ul* & ol* & dl* +Block.class &= List.class diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-object.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-object.rnc new file mode 100644 index 00000000000..2ec52ecf798 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-object.rnc @@ -0,0 +1,24 @@ +# Object Module + +object = + element object { + object.attlist, + # No restrictions on mixed content in TREX. + param*, + Flow.model + } +object.attlist = + Common.attrib & + attribute declare { "declare" }? & + attribute classid { URI.datatype }? & + attribute codebase { URI.datatype }? & + attribute data { URI.datatype }? & + attribute type { ContentType.datatype }? & + attribute codetype { ContentType.datatype }? & + attribute archive { URIs.datatype }? & + attribute standby { Text.datatype }? & + attribute height { Length.datatype }? & + attribute width { Length.datatype }? & + attribute name { text }? & + attribute tabindex { Number.datatype }? +Inline.class &= object* diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-param.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-param.rnc new file mode 100644 index 00000000000..641f695eab8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-param.rnc @@ -0,0 +1,9 @@ +# Param Module + +param = element param { param.attlist } +param.attlist = + id.attrib & + attribute name { text } & + attribute value { text }? & + attribute valuetype { "data" | "ref" | "object" }? & + attribute type { ContentType.datatype }? diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-table.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-table.rnc new file mode 100644 index 00000000000..ab2b4d20ee4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-table.rnc @@ -0,0 +1,67 @@ +# Tables Module + +# This builds on the basic tables module, unlike with the DTD +# implementation. + +include "xhtml-basic-table.rnc" { + table = + element table { + table.attlist, + caption?, + (col* | colgroup*), + ((thead?, tfoot?, tbody+) | tr+) + } + th = element th { th.attlist & Flow.model } + td = element td { td.attlist & Flow.model } + CellHAlign.attrib = + attribute align { + "left" | "center" | "right" | "justify" | "char" + }? & + attribute char { Character.datatype }? & + attribute charoff { Length.datatype }? + CellVAlign.attrib = + attribute valign { "top" | "middle" | "bottom" | "baseline" }? + scope.attrib = + attribute scope { "row" | "col" | "rowgroup" | "colgroup" }? +} +table.attlist &= + attribute width { Length.datatype }? & + attribute border { Pixels.datatype }? & + frame.attrib & + rules.attrib & + attribute cellspacing { Length.datatype }? & + attribute cellpadding { Length.datatype }? +col = element col { col.attlist } +col.attlist = + Common.attrib & + attribute span { Number.datatype }? & + attribute width { MultiLength.datatype }? & + CellHAlign.attrib & + CellVAlign.attrib +colgroup = element colgroup { colgroup.attlist & col* } +colgroup.attlist = + Common.attrib & + attribute span { Number.datatype }? & + attribute width { MultiLength.datatype }? & + CellHAlign.attrib & + CellVAlign.attrib +tbody = element tbody { tbody.attlist & tr+ } +tbody.attlist = Common.attrib & CellHAlign.attrib & CellVAlign.attrib +thead = element thead { thead.attlist & tr+ } +thead.attlist = Common.attrib & CellHAlign.attrib & CellVAlign.attrib +tfoot = element tfoot { tfoot.attlist & tr+ } +tfoot.attlist = Common.attrib & CellHAlign.attrib & CellVAlign.attrib +frame.attrib = + attribute frame { + "void" + | "above" + | "below" + | "hsides" + | "lhs" + | "rhs" + | "vsides" + | "box" + | "border" + }? +rules.attrib = + attribute rules { "none" | "groups" | "rows" | "cols" | "all" }? diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-text.rnc new file mode 100644 index 00000000000..b9e999be009 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-text.rnc @@ -0,0 +1,86 @@ +# Text Module +br = element br { br.attlist & empty } +br.attlist = Core.attrib + +span = element span { span.attlist & Inline.model } +span.attlist = Common.attrib + +abbr = element abbr { abbr.attlist & Inline.model } +abbr.attlist = Common.attrib + +acronym = element acronym { acronym.attlist & Inline.model } +acronym.attlist = Common.attrib + +cite = element cite { cite.attlist & Inline.model } +cite.attlist = Common.attrib + +code = element code { code.attlist & Inline.model } +code.attlist = Common.attrib + +dfn = element dfn { dfn.attlist & Inline.model } +dfn.attlist = Common.attrib + +em = element em { em.attlist & Inline.model } +em.attlist = Common.attrib + +kbd = element kbd { kbd.attlist & Inline.model } +kbd.attlist = Common.attrib + +q = element q { q.attlist & Inline.model } +q.attlist = + Common.attrib & + attribute cite { URI.datatype }? + +samp = element samp { samp.attlist & Inline.model } +samp.attlist = Common.attrib + +strong = element strong { strong.attlist & Inline.model } +strong.attlist = Common.attrib + +var = element var { var.attlist & Inline.model } +var.attlist = Common.attrib + +\div = element div { div.attlist & Flow.model } +div.attlist = Common.attrib + +p = element p { p.attlist & Inline.model } +p.attlist = Common.attrib + +address = element address { address.attlist & Inline.model } +address.attlist = Common.attrib + +blockquote = element blockquote { blockquote.attlist & Block.model } +blockquote.attlist = + Common.attrib & + attribute cite { URI.datatype }? + +pre = element pre { pre.attlist & Inline.model } +pre.attlist = + Common.attrib & + attribute xml:space { "preserve" }? + +Block.class = address* & blockquote* & \div* & p* & pre* + +Inline.class = + abbr* + & acronym* + & br* + & cite* + & code* + & dfn* + & em* + & kbd* + & q* + & samp* + & span* + & strong* + & var* + +Inline.model = text & Inline.class +# This is redefined by the legacy module to include inlines. + +Block.mix = Block.class + +Block.model = Block.mix+ + +Flow.model = text & Inline.class & Block.class diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/owl.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/owl.rnc new file mode 100644 index 00000000000..a262df3fc31 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/owl.rnc @@ -0,0 +1,44 @@ +# 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) + +namespace owl = "http://www.w3.org/2002/07/owl#" +namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" +namespace rdfs = "http://www.w3.org/2000/01/rdf-schema#" +namespace stex = "http://kwarc.info/ns/sTeX" +namespace local = "" + +nonlocal-attribs = attribute * - (local:* | owl:* | rdf:* | rdfs:*) {xsd:string} + +start = RDF + +RDF = element rdf:RDF {nonlocal-attribs & Ontology} + +Ontology.attribs = nonlocal-attribs* & about.attrib? +Ontology.model = Class* & Property* +Ontology = element owl:Ontology {Ontology.attribs & Ontology.model} + +about.attrib = attribute rdf:about {xsd:anyURI} +resource.attrib = attribute rdf:resource {xsd:anyURI} +label.attrib = attribute rdfs:label {text} +comment.attrib = attribute rdfs:comment {text} + + +Class.attribs = nonlocal-attribs* & about.attrib? & label.attrib? & comment.attrib? +Class.model = rdftype* & subClassOf* & disjointWith* & isDefinedBy? +Class = element rdfs:Class {Class.attribs & Class.model} + +Property.attribs = nonlocal-attribs* & about.attrib? & label.attrib? & comment.attrib? +Property.model = rdftype* & domain? & range & isDefinedBy? +Property = element rdf:Property {Property.attribs & Property.model} + +rdftype.attribs = nonlocal-attribs* & resource.attrib +#rdftype.model = notAllowed +rdftype = element rdf:type {rdftype.attribs} + +subClassOf = element rdfs:subClassOf {resource.attrib} +isDefinedBy = element rdfs:isDefinedBy {resource.attrib} +disjointWith = element owl:disjointWith {resource.attrib} + +range = element rdfs:range {resource.attrib} +domain = element rdfs:domain {resource.attrib} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/owl2+ltxml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2+ltxml.rnc new file mode 100644 index 00000000000..4a2259005d8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2+ltxml.rnc @@ -0,0 +1,15 @@ +# 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) + +namespace owl = "http://www.w3.org/2002/07/owl#" + +include "owl2xml.rnc" + +LTXML.Math = grammar { + include "LaTeXML/LaTeXML-common.rnc" + include "LaTeXML/LaTeXML-math.rnc" + start = Math} +Ontology.model &=LTXML.Math & axiom + +axiom = element owl:Axiom { LTXML.Math& Annotation} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/owl2-xml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2-xml.rnc new file mode 100644 index 00000000000..cf0bb9c5774 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2-xml.rnc @@ -0,0 +1,532 @@ +# 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. + +default namespace = "http://www.w3.org/2002/07/owl#" + +# The ontology +Prefix.type = + attribute name { + xsd:string { + pattern = + "([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-]|[-]|[⁰-]|[Ⰰ-]|[、-]|[豈-﷏]|[ﷰ-�]|[𐀀-]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?|" + } + }, + attribute IRI { xsd:anyURI } +start |= Prefix +Prefix = element Prefix { Prefix.type } +Import.type = attribute specialAttrs { text } +start |= Import +Import = element Import { Import.type } +Ontology.type = + Prefix*, + Import*, + ontologyAnnotations, + Axiom*, + attribute ontologyIRI { xsd:anyURI }?, + attribute versionIRI { xsd:anyURI }?, + attribute specialAttrs { text } +start |= Ontology +Ontology = element Ontology { Ontology.type } +# 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). +Entity = + Class + | Datatype + | ObjectProperty + | DataProperty + | AnnotationProperty + | NamedIndividual +# This is the type for the attribute. The complex type for the element is capitalized. +abbreviatedIRI = + xsd:string { + 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]|·|[̀-ͯ]|[‿-⁀] ))?)?:)" + } +Class.type = + ClassExpression, + attribute IRI { xsd:anyURI }?, + attribute abbreviatedIRI { abbreviatedIRI }? +start |= Class +Class = element Class { Class.type } +Datatype.type = + DataRange, + attribute IRI { xsd:anyURI }?, + attribute abbreviatedIRI { abbreviatedIRI }? +start |= Datatype +Datatype = element Datatype { Datatype.type } +ObjectProperty.type = + ObjectPropertyExpression, + attribute IRI { xsd:anyURI }?, + attribute abbreviatedIRI { abbreviatedIRI }? +start |= ObjectProperty +ObjectProperty = element ObjectProperty { ObjectProperty.type } +DataProperty.type = + DataPropertyExpression, + attribute IRI { xsd:anyURI }?, + attribute abbreviatedIRI { abbreviatedIRI }? +start |= DataProperty +DataProperty = element DataProperty { DataProperty.type } +AnnotationProperty.type = + attribute IRI { xsd:anyURI }?, + attribute abbreviatedIRI { abbreviatedIRI }?, + attribute specialAttrs { text } +start |= AnnotationProperty +AnnotationProperty = element AnnotationProperty { AnnotationProperty.type } +Individual = attribute specialAttrs { text }, (NamedIndividual | AnonymousIndividual) +NamedIndividual.type = + Individual, + attribute IRI { xsd:anyURI }?, + attribute abbreviatedIRI { abbreviatedIRI }? +start |= NamedIndividual +NamedIndividual = element NamedIndividual { NamedIndividual.type } +AnonymousIndividual.type = + Individual, + attribute nodeID { xsd:NCName } +start |= AnonymousIndividual +AnonymousIndividual = + element AnonymousIndividual { AnonymousIndividual.type } +Literal.type = + attribute datatypeIRI { xsd:anyURI }, + attribute specialAttrs { text } +start |= Literal +Literal = element Literal { Literal.type } +# Declarations +Declaration.type = Axiom, Entity +start |= Declaration +Declaration = element Declaration { Declaration.type } +# Object property expressions +ObjectPropertyExpression = attribute specialAttrs { text }, (ObjectProperty | ObjectInverseOf) +ObjectInverseOf.type = ObjectPropertyExpression, ObjectProperty +start |= ObjectInverseOf +ObjectInverseOf = element ObjectInverseOf { ObjectInverseOf.type } +# Data property expressions +DataPropertyExpression = attribute specialAttrs { text }, DataProperty +# Data ranges +DataRange = attribute specialAttrs { text }, + (Datatype + | DataIntersectionOf + | DataUnionOf + | DataComplementOf + | DataOneOf + | DatatypeRestriction) +DataIntersectionOf.type = DataRange, DataRange+ +start |= DataIntersectionOf +DataIntersectionOf = element DataIntersectionOf { DataIntersectionOf.type } +DataUnionOf.type = DataRange, DataRange+ +start |= DataUnionOf +DataUnionOf = element DataUnionOf { DataUnionOf.type } +DataComplementOf.type = DataRange, DataRange +start |= DataComplementOf +DataComplementOf = element DataComplementOf { DataComplementOf.type } +DataOneOf.type = DataRange, Literal+ +start |= DataOneOf +DataOneOf = element DataOneOf { DataOneOf.type } +DatatypeRestriction.type = + DataRange, + Datatype, + element FacetRestriction { FacetRestriction }+ +start |= DatatypeRestriction +DatatypeRestriction = + element DatatypeRestriction { DatatypeRestriction.type } +FacetRestriction = + Literal, + attribute facet { xsd:anyURI }, + attribute specialAttrs { text } +# Class expressions +ClassExpression = attribute specialAttrs { text }, + (Class + | ObjectIntersectionOf + | ObjectUnionOf + | ObjectComplementOf + | ObjectOneOf + | ObjectSomeValuesFrom + | ObjectAllValuesFrom + | ObjectHasValue + | ObjectHasSelf + | ObjectMinCardinality + | ObjectMaxCardinality + | ObjectExactCardinality + | DataSomeValuesFrom + | DataAllValuesFrom + | DataHasValue + | DataMinCardinality + | DataMaxCardinality + | DataExactCardinality) +ObjectIntersectionOf.type = ClassExpression, ClassExpression+ +start |= ObjectIntersectionOf +ObjectIntersectionOf = + element ObjectIntersectionOf { ObjectIntersectionOf.type } +ObjectUnionOf.type = ClassExpression, ClassExpression+ +start |= ObjectUnionOf +ObjectUnionOf = element ObjectUnionOf { ObjectUnionOf.type } +ObjectComplementOf.type = ClassExpression, ClassExpression +start |= ObjectComplementOf +ObjectComplementOf = element ObjectComplementOf { ObjectComplementOf.type } +ObjectOneOf.type = ClassExpression, Individual+ +start |= ObjectOneOf +ObjectOneOf = element ObjectOneOf { ObjectOneOf.type } +ObjectSomeValuesFrom.type = + ClassExpression, ObjectPropertyExpression, ClassExpression +start |= ObjectSomeValuesFrom +ObjectSomeValuesFrom = + element ObjectSomeValuesFrom { ObjectSomeValuesFrom.type } +ObjectAllValuesFrom.type = + ClassExpression, ObjectPropertyExpression, ClassExpression +start |= ObjectAllValuesFrom +ObjectAllValuesFrom = + element ObjectAllValuesFrom { ObjectAllValuesFrom.type } +ObjectHasValue.type = ClassExpression, ObjectPropertyExpression, Individual +start |= ObjectHasValue +ObjectHasValue = element ObjectHasValue { ObjectHasValue.type } +ObjectHasSelf.type = ClassExpression, ObjectPropertyExpression +start |= ObjectHasSelf +ObjectHasSelf = element ObjectHasSelf { ObjectHasSelf.type } +ObjectMinCardinality.type = + ClassExpression, + ObjectPropertyExpression, + ClassExpression?, + attribute cardinality { xsd:nonNegativeInteger } +start |= ObjectMinCardinality +ObjectMinCardinality = + element ObjectMinCardinality { ObjectMinCardinality.type } +ObjectMaxCardinality.type = + ClassExpression, + ObjectPropertyExpression, + ClassExpression?, + attribute cardinality { xsd:nonNegativeInteger } +start |= ObjectMaxCardinality +ObjectMaxCardinality = + element ObjectMaxCardinality { ObjectMaxCardinality.type } +ObjectExactCardinality.type = + ClassExpression, + ObjectPropertyExpression, + ClassExpression?, + attribute cardinality { xsd:nonNegativeInteger } +start |= ObjectExactCardinality +ObjectExactCardinality = + element ObjectExactCardinality { ObjectExactCardinality.type } +DataSomeValuesFrom.type = ClassExpression, DataPropertyExpression+, DataRange +start |= DataSomeValuesFrom +DataSomeValuesFrom = element DataSomeValuesFrom { DataSomeValuesFrom.type } +DataAllValuesFrom.type = ClassExpression, DataPropertyExpression+, DataRange +start |= DataAllValuesFrom +DataAllValuesFrom = element DataAllValuesFrom { DataAllValuesFrom.type } +DataHasValue.type = ClassExpression, DataPropertyExpression, Literal +start |= DataHasValue +DataHasValue = element DataHasValue { DataHasValue.type } +DataMinCardinality.type = + ClassExpression, + DataPropertyExpression, + DataRange?, + attribute cardinality { xsd:nonNegativeInteger } +start |= DataMinCardinality +DataMinCardinality = element DataMinCardinality { DataMinCardinality.type } +DataMaxCardinality.type = + ClassExpression, + DataPropertyExpression, + DataRange?, + attribute cardinality { xsd:nonNegativeInteger } +start |= DataMaxCardinality +DataMaxCardinality = element DataMaxCardinality { DataMaxCardinality.type } +DataExactCardinality.type = + ClassExpression, + DataPropertyExpression, + DataRange?, + attribute cardinality { xsd:nonNegativeInteger } +start |= DataExactCardinality +DataExactCardinality = + element DataExactCardinality { DataExactCardinality.type } +# Axioms +Axiom = axiomAnnotations, attribute specialAttrs { text }, + (Declaration + | ClassAxiom + | ObjectPropertyAxiom + | DataPropertyAxiom + | DatatypeDefinition + | HasKey + | Assertion + | AnnotationAxiom) +# Class expression axioms +ClassAxiom = Axiom | SubClassOf | EquivalentClasses | DisjointClasses | DisjointUnion +SubClassOf.type = + ClassAxiom, + ClassExpression, + # This is the subexpression + ClassExpression + # This is the superexpression + +start |= SubClassOf +SubClassOf = element SubClassOf { SubClassOf.type } +EquivalentClasses.type = ClassAxiom, ClassExpression+ +start |= EquivalentClasses +EquivalentClasses = element EquivalentClasses { EquivalentClasses.type } +DisjointClasses.type = ClassAxiom, ClassExpression+ +start |= DisjointClasses +DisjointClasses = element DisjointClasses { DisjointClasses.type } +DisjointUnion.type = ClassAxiom, Class, ClassExpression+ +start |= DisjointUnion +DisjointUnion = element DisjointUnion { DisjointUnion.type } +# Object property axioms +ObjectPropertyAxiom = Axiom| + SubObjectPropertyOf + | EquivalentObjectProperties + | DisjointObjectProperties + | InverseObjectProperties + | ObjectPropertyDomain + | ObjectPropertyRange + | FunctionalObjectProperty + | InverseFunctionalObjectProperty + | ReflexiveObjectProperty + | IrreflexiveObjectProperty + | SymmetricObjectProperty + | AsymmetricObjectProperty + | TransitiveObjectProperty +SubObjectPropertyOf.type = + ObjectPropertyAxiom, + (# This is the subproperty expression or the property chain + ObjectPropertyExpression + | element ObjectPropertyChain { ObjectPropertyChain.type }), + ObjectPropertyExpression + # This is the superproperty expression + +start |= SubObjectPropertyOf +SubObjectPropertyOf = + element SubObjectPropertyOf { SubObjectPropertyOf.type } +ObjectPropertyChain.type = + ObjectPropertyExpression+, + attribute specialAttrs { text } +EquivalentObjectProperties.type = + ObjectPropertyAxiom, ObjectPropertyExpression+ +start |= EquivalentObjectProperties +EquivalentObjectProperties = + element EquivalentObjectProperties { EquivalentObjectProperties.type } +DisjointObjectProperties.type = + ObjectPropertyAxiom, ObjectPropertyExpression+ +start |= DisjointObjectProperties +DisjointObjectProperties = + element DisjointObjectProperties { DisjointObjectProperties.type } +ObjectPropertyDomain.type = + ObjectPropertyAxiom, ObjectPropertyExpression, ClassExpression +start |= ObjectPropertyDomain +ObjectPropertyDomain = + element ObjectPropertyDomain { ObjectPropertyDomain.type } +ObjectPropertyRange.type = + ObjectPropertyAxiom, ObjectPropertyExpression, ClassExpression +start |= ObjectPropertyRange +ObjectPropertyRange = + element ObjectPropertyRange { ObjectPropertyRange.type } +InverseObjectProperties.type = + ObjectPropertyAxiom, + ObjectPropertyExpression, + ObjectPropertyExpression +start |= InverseObjectProperties +InverseObjectProperties = + element InverseObjectProperties { InverseObjectProperties.type } +FunctionalObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression +start |= FunctionalObjectProperty +FunctionalObjectProperty = + element FunctionalObjectProperty { FunctionalObjectProperty.type } +InverseFunctionalObjectProperty.type = + ObjectPropertyAxiom, ObjectPropertyExpression +start |= InverseFunctionalObjectProperty +InverseFunctionalObjectProperty = + element InverseFunctionalObjectProperty { + InverseFunctionalObjectProperty.type + } +ReflexiveObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression +start |= ReflexiveObjectProperty +ReflexiveObjectProperty = + element ReflexiveObjectProperty { ReflexiveObjectProperty.type } +IrreflexiveObjectProperty.type = + ObjectPropertyAxiom, ObjectPropertyExpression +start |= IrreflexiveObjectProperty +IrreflexiveObjectProperty = + element IrreflexiveObjectProperty { IrreflexiveObjectProperty.type } +SymmetricObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression +start |= SymmetricObjectProperty +SymmetricObjectProperty = + element SymmetricObjectProperty { SymmetricObjectProperty.type } +AsymmetricObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression +start |= AsymmetricObjectProperty +AsymmetricObjectProperty = + element AsymmetricObjectProperty { AsymmetricObjectProperty.type } +TransitiveObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression +start |= TransitiveObjectProperty +TransitiveObjectProperty = + element TransitiveObjectProperty { TransitiveObjectProperty.type } +# Data property axioms +DataPropertyAxiom = Axiom | + SubDataPropertyOf + | EquivalentDataProperties + | DisjointDataProperties + | DataPropertyDomain + | DataPropertyRange + | FunctionalDataProperty +SubDataPropertyOf.type = + DataPropertyAxiom, + DataPropertyExpression, + # This is the subproperty expression + DataPropertyExpression + # This is the superproperty expression + +start |= SubDataPropertyOf +SubDataPropertyOf = element SubDataPropertyOf { SubDataPropertyOf.type } +EquivalentDataProperties.type = DataPropertyAxiom, DataPropertyExpression+ +start |= EquivalentDataProperties +EquivalentDataProperties = + element EquivalentDataProperties { EquivalentDataProperties.type } +DisjointDataProperties.type = DataPropertyAxiom, DataPropertyExpression+ +start |= DisjointDataProperties +DisjointDataProperties = + element DisjointDataProperties { DisjointDataProperties.type } +DataPropertyDomain.type = + DataPropertyAxiom, DataPropertyExpression, ClassExpression +start |= DataPropertyDomain +DataPropertyDomain = element DataPropertyDomain { DataPropertyDomain.type} +DataPropertyRange.type = DataPropertyAxiom, DataPropertyExpression, DataRange +start |= DataPropertyRange +DataPropertyRange = element DataPropertyRange { DataPropertyRange.type } +FunctionalDataProperty.type = DataPropertyAxiom, DataPropertyExpression +start |= FunctionalDataProperty +FunctionalDataProperty = + element FunctionalDataProperty { FunctionalDataProperty.type } +# Datatype definitions +DatatypeDefinition.type = Axiom, Datatype, DataRange +start |= DatatypeDefinition +DatatypeDefinition = element DatatypeDefinition { DatatypeDefinition.type } +# Key axioms +HasKey.type = + Axiom, + ClassExpression, + ObjectPropertyExpression*, + DataPropertyExpression* +start |= HasKey +HasKey = element HasKey { HasKey.type } +# Assertions +Assertion = Axiom | + SameIndividual + | DifferentIndividuals + | ClassAssertion + | ObjectPropertyAssertion + | NegativeObjectPropertyAssertion + | DataPropertyAssertion + | NegativeDataPropertyAssertion +SameIndividual.type = Assertion, Individual+ +start |= SameIndividual +SameIndividual = element SameIndividual { SameIndividual.type } +DifferentIndividuals.type = Assertion, Individual+ +start |= DifferentIndividuals +DifferentIndividuals = + element DifferentIndividuals { DifferentIndividuals.type } +ClassAssertion.type = Assertion, ClassExpression, Individual +start |= ClassAssertion +ClassAssertion = element ClassAssertion { ClassAssertion.type } +ObjectPropertyAssertion.type = + Assertion, + ObjectPropertyExpression, + Individual, + # This is the source invididual + Individual + # This is the target individual + +start |= ObjectPropertyAssertion +ObjectPropertyAssertion = + element ObjectPropertyAssertion { ObjectPropertyAssertion.type } +NegativeObjectPropertyAssertion.type = + Assertion, + ObjectPropertyExpression, + Individual, + # This is the source invididual + Individual + # This is the target individual + +start |= NegativeObjectPropertyAssertion +NegativeObjectPropertyAssertion = + element NegativeObjectPropertyAssertion { + NegativeObjectPropertyAssertion.type + } +DataPropertyAssertion.type = + Assertion, + DataPropertyExpression, + Individual, + # This is the source invididual + Literal + # This is the target individual + +start |= DataPropertyAssertion +DataPropertyAssertion = + element DataPropertyAssertion { DataPropertyAssertion.type } +NegativeDataPropertyAssertion.type = + Assertion, + DataPropertyExpression, + Individual, + # This is the source invididual + Literal + # This is the target individual + +start |= NegativeDataPropertyAssertion +NegativeDataPropertyAssertion = + element NegativeDataPropertyAssertion { + NegativeDataPropertyAssertion.type + } +# Annotations +IRI.type = attribute specialAttrs { text } +start |= IRI +IRI = element IRI { IRI.type } +AbbreviatedIRI.type = attribute specialAttrs { text } +start |= AbbreviatedIRI +AbbreviatedIRI = element AbbreviatedIRI { AbbreviatedIRI.type } +AnnotationSubject = IRI | AbbreviatedIRI | AnonymousIndividual +AnnotationValue = IRI | AbbreviatedIRI | AnonymousIndividual | Literal +Annotation.type = + annotationAnnotations, + AnnotationProperty, + AnnotationValue, + attribute specialAttrs { text } +start |= Annotation +Annotation = element Annotation { Annotation.type } +axiomAnnotations = Annotation* +ontologyAnnotations = Annotation* +annotationAnnotations = Annotation* +# Annotation axioms +AnnotationAxiom = Axiom | + AnnotationAssertion + | SubAnnotationPropertyOf + | AnnotationPropertyDomain + | AnnotationPropertyRange +AnnotationAssertion.type = + AnnotationAxiom, + AnnotationProperty, + AnnotationSubject, + AnnotationValue +start |= AnnotationAssertion +AnnotationAssertion = + element AnnotationAssertion { AnnotationAssertion.type } +SubAnnotationPropertyOf.type = + AnnotationAxiom, + AnnotationProperty, + # This is the subproperty + AnnotationProperty + # This is the superproperty + +start |= SubAnnotationPropertyOf +SubAnnotationPropertyOf = + element SubAnnotationPropertyOf { SubAnnotationPropertyOf.type } +AnnotationPropertyDomain.type = + AnnotationAxiom, AnnotationProperty, IRI, AbbreviatedIRI +start |= AnnotationPropertyDomain +AnnotationPropertyDomain = + element AnnotationPropertyDomain { AnnotationPropertyDomain.type } +AnnotationPropertyRange.type = + AnnotationAxiom, AnnotationProperty, IRI, AbbreviatedIRI +start |= AnnotationPropertyRange +AnnotationPropertyRange = + element AnnotationPropertyRange { AnnotationPropertyRange.type } diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/owl2xml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2xml.rnc new file mode 100644 index 00000000000..73b0ba51cc9 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2xml.rnc @@ -0,0 +1,138 @@ +# 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) + +default namespace owl = "http://www.w3.org/2002/07/owl#" +namespace local = "" + +nonlocal-attribs = attribute * - (local:* | owl:*) {xsd:string} + +start = Ontology + +base.attrib = element xml:base {xsd:anyURI} +ontologyIRI.attrib = attribute ontologyIRI {xsd:anyURI} +IRI.attrib = attribute IRI {text} | attribute abbreviatedIRI {text} +datatypeIRI.attrib = attribute datatypeIRI {text} +name.attrib = attribute name {text} +facet.attrib = attribute facet {xsd:anyURI} +cardinality.attrib = attribute cardinality {xsd:integer} + +Ontology.attribs = ontologyIRI.attrib? & base.attrib? +Ontology.model = Prefix* & Declaration* & Import* & Axioms* + +Axioms = AnnotationAssertion* + & DatatypeDefinition* & HasKey* & SubClassOf* & EquivalentClasses* + & ObjectProperties* & DataProperties* + & DisjointClasses* & DifferentIndividuals* & SameIndividual* + & ObjectPropertyAssertion* & DataPropertyAssertion* & ClassAssertion* + & NegativeObjectPropertyAssertion* & NegativeDataPropertyAssertion* & NegativeClassAssertion* + +Ontology = element Ontology {Ontology.attribs & Ontology.model} + +Prefix = element Prefix {name.attrib & IRI.attrib} +Import = element Import {xsd:anyURI} +ObjectProperties = SymmetricObjectProperty* & AsymmetricObjectProperty* & ReflexiveObjectProperty* + & IrreflexiveObjectProperty* & FunctionalObjectProperty* & InverseObjectProperty* + & DisjointObjectProperties* & InverseFunctionalObjectProperty* & TransitiveObjectProperty* + & TransitiveObjectProperty* & ObjectPropertyDomain* & ObjectPropertyRange* + & InverseObjectProperties* & SubObjectPropertyOf* & EquivalentObjectProperties* +DataProperties = SymmetricDataProperty* & AsymmetricDataProperty* & ReflexiveDataProperty* + & IrreflexiveDataProperty* & FunctionalDataProperty* & InverseDataProperty* + & DisjointDataProperties* & InverseFunctionalDataProperty* & TransitiveDataProperty* + & TransitiveDataProperty* & DataPropertyDomain* & DataPropertyRange* + & InverseDataProperties* & SubDataPropertyOf* & EquivalentDataProperties* + +Declaration.model = Class.model | Data.model +Declaration = element Declaration {Declaration.model} +NamedIndividual = element NamedIndividual {IRI.attrib} +ClassAssertion = element ClassAssertion {Class.model,Ind.class} +NegativeClassAssertion = element NegativeClassAssertion {Class.model,Ind.class} + +ObjectProperty = element ObjectProperty {IRI.attrib} +SymmetricObjectProperty = element SymmetricObjectProperty {ObjectProperty*} +AsymmetricObjectProperty = element AsymmetricObjectProperty {ObjectProperty*} +DisjointObjectProperties = element DisjointObjectProperties {ObjectProperty*} +ReflexiveObjectProperty = element ReflexiveObjectProperty {ObjectProperty} +IrreflexiveObjectProperty = element IrreflexiveObjectProperty {ObjectProperty} +FunctionalObjectProperty = element FunctionalObjectProperty {ObjectProperty} +InverseFunctionalObjectProperty = element InverseFunctionalObjectProperty {ObjectProperty} +InverseObjectProperty = element InverseObjectProperty {ObjectProperty} +InverseObjectProperties = element InverseObjectProperties {ObjectProperty*} +TransitiveObjectProperty = element TransitiveObjectProperty {ObjectProperty*} +EquivalentObjectProperties = element EquivalentObjectProperties {ObjectProperty*} +ObjectPropertyDomain = element ObjectPropertyDomain {ObjectProperty,Class} +ObjectPropertyRange = element ObjectPropertyRange {ObjectProperty,Class} +SubObjectPropertyOf = element SubObjectPropertyOf {(ObjectProperty|ObjectPropertyChain),ObjectProperty} +ObjectPropertyChain = element ObjectPropertyChain {ObjectProperty*} +ObjectPropertyAssertion = element ObjectPropertyAssertion {ObjectProperty*,Ind.class,Ind.class} +NegativeObjectPropertyAssertion = element NegativeObjectPropertyAssertion {ObjectProperty*,Ind.class,Ind.class} + +SymmetricDataProperty = element SymmetricDataProperty {DataProperty*} +AsymmetricDataProperty = element AsymmetricDataProperty {DataProperty*} +DisjointDataProperties = element DisjointDataProperties {DataProperty*} +ReflexiveDataProperty = element ReflexiveDataProperty {DataProperty} +IrreflexiveDataProperty = element IrreflexiveDataProperty {DataProperty} +FunctionalDataProperty = element FunctionalDataProperty {DataProperty} +InverseFunctionalDataProperty = element InverseFunctionalDataProperty {DataProperty} +InverseDataProperty = element InverseDataProperty {DataProperty} +InverseDataProperties = element InverseDataProperties {DataProperty*} +TransitiveDataProperty = element TransitiveDataProperty {DataProperty*} +EquivalentDataProperties = element EquivalentDataProperties {DataProperty*} +DataPropertyDomain = element DataPropertyDomain {DataProperty,Class} +DataPropertyRange = element DataPropertyRange {DataProperty,Datatype} +SubDataPropertyOf = element SubDataPropertyOf {(DataProperty|DataPropertyChain),DataProperty} +DataPropertyChain = element DataPropertyChain {DataProperty*} +DataPropertyAssertion = element DataPropertyAssertion {DataProperty*,Ind.class,Literal} +NegativeDataPropertyAssertion = element NegativeDataPropertyAssertion {DataProperty*,Ind.class,Literal} + + +DataProperty = element DataProperty {IRI.attrib} +Datatype = element Datatype {IRI.attrib} +Class= element Class{IRI.attrib} + +Annotation = element Annotation {AnnotationProperty & Literal} +AnnotationAssertion= element AnnotationAssertion {AnnotationProperty,IRI,Literal} +AnnotationProperty= element AnnotationProperty {IRI.attrib} +IRI = element IRI {xsd:anyURI} +Literal = element Literal {datatypeIRI.attrib? & text} + +DatatypeDefinition.model = Datatype* & DatatypeRestriction* & DataComplementOf* & DataIntersectionOf* & DataOneOf* +DatatypeDefinition = element DatatypeDefinition {DatatypeDefinition.model} +DatatypeRestriction = element DatatypeRestriction {Datatype & FacetRestriction*} +FacetRestriction = element FacetRestriction {facet.attrib & Literal} +DataIntersectionOf = element DataIntersectionOf {Data.model*} +DataComplementOf = element DataComplementOf {Data.model*} +DataOneOf = element DataOneOf {Literal*} +DataSomeValuesFrom = element DataSomeValuesFrom {Data.model*} +DataAllValuesFrom = element DataAllValuesFrom {Data.model*} +Data.model = DataProperty | Datatype | DataOneOf | DataSomeValuesFrom + | DataAllValuesFrom | DataComplementOf | DatatypeRestriction + + +HasKey = element HasKey {Class, ObjectProperty} +SubClassOf = element SubClassOf {Annotation*,Class.model,(Data.model | Class.model)} +EquivalentClasses = element EquivalentClasses{Class.model*} + +ObjectIntersectionOf = element ObjectIntersectionOf {Class.model*} +ObjectComplementOf = element ObjectComplementOf {Class.model*} +ObjectSomeValuesFrom = element ObjectSomeValuesFrom {Class.model*} +ObjectAllValuesFrom = element ObjectAllValuesFrom {Class.model*} +ObjectOneOf = element ObjectOneOf {Class.model*} +ObjectInverseOf = element ObjectInverseOf {Class.model*} +ObjectMaxCardinality = element ObjectMaxCardinality{cardinality.attrib & Class.model*} +ObjectMinCardinality = element ObjectMinCardinality{cardinality.attrib & Class.model*} +ObjectExactCardinality = element ObjectExactCardinality{cardinality.attrib & Class.model*} +ObjectHasValue = element ObjectHasValue {ObjectProperty,Ind.class} +ObjectHasSelf = element ObjectHasSelf {ObjectProperty} +ObjectUnionOf = element ObjectUnionOf {Class.model*} +Class.model = Class | ObjectIntersectionOf | ObjectComplementOf + | ObjectSomeValuesFrom | ObjectAllValuesFrom + | ObjectOneOf | Ind.class| ObjectInverseOf | ObjectProperty + | ObjectMaxCardinality | ObjectMinCardinality | ObjectExactCardinality + | ObjectHasValue | ObjectHasSelf | ObjectUnionOf + +DisjointClasses = element DisjointClasses {Annotation?,Class.model*} +DifferentIndividuals = element DifferentIndividuals {Ind.class*} +SameIndividual = element SameIndividual {Ind.class*} + +Ind.class = NamedIndividual diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/schemas.xml b/Master/texmf-dist/source/latex/stex/schema/rnc/schemas.xml new file mode 100644 index 00000000000..301ddb0abc7 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/schemas.xml @@ -0,0 +1,6 @@ +<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0"> + <transformURI fromPattern="*.xml" toPattern="*.rnc"/> + + <uri pattern="*.tex.xml" typeId="OMDoc+ltxml"/> + <typeId id="OMDoc+ltxml" uri="omdoc+ltxml.rnc"/> +</locatingRules> diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/statements.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/statements.rnc new file mode 100644 index 00000000000..dd29b4819e4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/statements.rnc @@ -0,0 +1,50 @@ +# /=====================================================================\ +# | 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=/ + +default namespace = "http://dlmf.nist.gov/LaTeXML" + +statement.model = text|Flow.class + +example = element example {Common.attribs,attribute for {xsd:string},metadata?,(statement.model)*} +definition = element definition {Common.attribs,attribute for {xsd:string},metadata?,(statement.model)*} +definiens = element definiens {attribute name {xsd:string},(statement.model)*} +termin = element termin {attribute cd {xsd:NCName},attribute name {xsd:NCName}, + (statement.model|Math)*} + +notation = element notation {Common.attribs,attribute for {xsd:string},(statement.model)*} +notemph = element notemph {(statement.model|Math)*} + +statement-group = element statement-group + {Common.attribs,metadata?, + (omtext | example | definition | symbol | assertion | + notation | itemize | enumerate | description)*} + +symbol = element symbol {attribute name {xsd:string}} + +assertion = element assertion {Common.attribs,attribute type {xsd:string}?,metadata?,(statement.model)*} +axiom = element axiom {Common.attribs,(statement.model)*} + +proof.model = omtext|step|cases +proof = element proof {Common.attribs,attribute for {xsd:string}?,metadata?,(proof.model)*} +cases = element cases {(case|omtext)*} +case = element case {Common.attribs,attribute for {xsd:string}?,(proof.model)*} +step = element step {Common.attribs,(statement.model|method)*} +method = element method {Common.attribs,attribute xref {xsd:string},(text|Math|proof|premise)*} +premise = element premise {Common.attribs,attribute xref {xsd:string}} + +omtext = element omtext {Common.attribs,attribute for {xsd:string}?, + attribute from {xsd:string}?,attribute type {xsd:string}?, + metadata?,(text|Flow.class)*} + +statements.Block.class |= example | definition | notation | symbol | assertion | proof + | axiom | omtext | statement-group +statements.Inline.class |= definiens | notemph | termin | method + diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animation.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animation.rnc new file mode 100644 index 00000000000..89ef4dbea9e --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animation.rnc @@ -0,0 +1,208 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Animation +## +## animate, set, animateMotion, animateColor, animateTransform, mpath +## +## This module declares markup to provide support for animation. +## + +## +## SVG.Animation.class +## +[ xml:lang = "en" ] +grammar { + SVG.Animation.extra.class = notAllowed + SVG.Animation.class |= + animate + | set + | animateMotion + | animateColor + | animateTransform + | SVG.Animation.extra.class + a:documentation [ "\x{a}" ~ " SVG.Animation.attrib\x{a}" ~ " " ] + SVG.Animation.extra.attrib = empty + SVG.Animation.attrib = SVG.XLink.attrib, SVG.Animation.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.AnimationAttribute.attrib\x{a}" ~ + " " + ] + SVG.AnimationAttribute.extra.attrib = empty + SVG.AnimationAttribute.attrib = + attribute attributeName { text }, + attribute attributeType { text }?, + SVG.AnimationAttribute.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.AnimationTiming.attrib\x{a}" ~ + " " + ] + SVG.AnimationTiming.extra.attrib = empty + SVG.AnimationTiming.attrib = + attribute begin { text }?, + attribute dur { text }?, + attribute end { text }?, + attribute min { text }?, + attribute max { text }?, + [ a:defaultValue = "always" ] + attribute restart { "always" | "never" | "whenNotActive" }?, + attribute repeatCount { text }?, + attribute repeatDur { text }?, + [ a:defaultValue = "remove" ] + attribute fill { "remove" | "freeze" }?, + SVG.AnimationTiming.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.AnimationValue.attrib\x{a}" ~ + " " + ] + SVG.AnimationValue.extra.attrib = empty + SVG.AnimationValue.attrib = + [ a:defaultValue = "linear" ] + attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?, + attribute values { text }?, + attribute keyTimes { text }?, + attribute keySplines { text }?, + attribute from { text }?, + attribute to { text }?, + attribute by { text }?, + SVG.AnimationValue.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.AnimationAddtion.attrib\x{a}" ~ + " " + ] + SVG.AnimationAddtion.extra.attrib = empty + SVG.AnimationAddtion.attrib = + [ a:defaultValue = "replace" ] + attribute additive { "replace" | "sum" }?, + [ a:defaultValue = "none" ] + attribute accumulate { "none" | "sum" }?, + SVG.AnimationAddtion.extra.attrib + a:documentation [ + "\x{a}" ~ + " animate: Animate Element\x{a}" ~ + " " + ] + SVG.animate.content = SVG.Description.class* + animate = element animate { attlist.animate, SVG.animate.content } + attlist.animate &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationAttribute.attrib, + SVG.AnimationTiming.attrib, + SVG.AnimationValue.attrib, + SVG.AnimationAddtion.attrib + a:documentation [ "\x{a}" ~ " set: Set Element\x{a}" ~ " " ] + SVG.set.content = SVG.Description.class* + set = element set { attlist.set, SVG.set.content } + attlist.set &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationAttribute.attrib, + SVG.AnimationTiming.attrib, + attribute to { text }? + a:documentation [ + "\x{a}" ~ + " animateMotion: Animate Motion Element\x{a}" ~ + " " + ] + SVG.animateMotion.content = SVG.Description.class*, mpath? + animateMotion = + element animateMotion { + attlist.animateMotion, SVG.animateMotion.content + } + attlist.animateMotion &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationTiming.attrib, + SVG.AnimationAddtion.attrib, + [ a:defaultValue = "paced" ] + attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?, + attribute values { text }?, + attribute keyTimes { text }?, + attribute keySplines { text }?, + attribute from { text }?, + attribute to { text }?, + attribute by { text }?, + attribute path { text }?, + attribute keyPoints { text }?, + attribute rotate { text }?, + attribute origin { text }? + a:documentation [ + "\x{a}" ~ + " animateColor: Animate Color Element\x{a}" ~ + " " + ] + SVG.animateColor.content = SVG.Description.class* + animateColor = + element animateColor { + attlist.animateColor, SVG.animateColor.content + } + attlist.animateColor &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationAttribute.attrib, + SVG.AnimationTiming.attrib, + SVG.AnimationValue.attrib, + SVG.AnimationAddtion.attrib + a:documentation [ + "\x{a}" ~ + " animateTransform: Animate Transform Element\x{a}" ~ + " " + ] + SVG.animateTransform.content = SVG.Description.class* + animateTransform = + element animateTransform { + attlist.animateTransform, SVG.animateTransform.content + } + attlist.animateTransform &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.AnimationEvents.attrib, + SVG.External.attrib, + SVG.Animation.attrib, + SVG.AnimationAttribute.attrib, + SVG.AnimationTiming.attrib, + SVG.AnimationValue.attrib, + SVG.AnimationAddtion.attrib, + [ a:defaultValue = "translate" ] + attribute type { + "translate" | "scale" | "rotate" | "skewX" | "skewY" + }? + a:documentation [ + "\x{a}" ~ + " mpath: Motion Path Element\x{a}" ~ + " " + ] + SVG.mpath.content = SVG.Description.class* + mpath = element mpath { attlist.mpath, SVG.mpath.content } + attlist.mpath &= + SVG.Core.attrib, SVG.XLinkRequired.attrib, SVG.External.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animevents-attrib.rnc new file mode 100644 index 00000000000..efbbabc42c5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animevents-attrib.rnc @@ -0,0 +1,33 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Animation Events Attribute +## +## onbegin, onend, onrepeat, onload +## +## This module defines the AnimationEvents attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.onbegin.attrib = attribute onbegin { Script.datatype }? + SVG.onend.attrib = attribute onend { Script.datatype }? + SVG.onrepeat.attrib = attribute onrepeat { Script.datatype }? + SVG.AnimationEvents.extra.attrib = empty + SVG.AnimationEvents.attrib &= + SVG.onbegin.attrib, + SVG.onend.attrib, + SVG.onrepeat.attrib, + SVG.onload.attrib, + SVG.AnimationEvents.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-clip.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-clip.rnc new file mode 100644 index 00000000000..5471141c5fa --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-clip.rnc @@ -0,0 +1,64 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Basic Clip +## +## clipPath +## +## This module declares markup to provide support for clipping. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + ClipPathValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Clip.attrib\x{a}" ~ " " ] + SVG.Clip.extra.attrib = empty + SVG.Clip.attrib &= + attribute clip-path { ClipPathValue.datatype }?, + attribute clip-rule { ClipFillRule.datatype }?, + SVG.Clip.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Clip.class\x{a}" ~ " " ] + SVG.Clip.extra.class = notAllowed + SVG.Clip.class |= clipPath | SVG.Clip.extra.class + a:documentation [ + "\x{a}" ~ + " clipPath: Clip Path Element\x{a}" ~ + " " + ] + SVG.clipPath.class = rect | SVG.Animation.class | SVG.Use.class + SVG.clipPath.content = SVG.Description.class*, SVG.clipPath.class* + clipPath = element clipPath { attlist.clipPath, SVG.clipPath.content } + attlist.clipPath &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Text.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }?, + attribute clipPathUnits { "userSpaceOnUse" | "objectBoundingBox" }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-filter.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-filter.rnc new file mode 100644 index 00000000000..995c08e7daf --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-filter.rnc @@ -0,0 +1,338 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + FilterValue.datatype = xsd:string + NumberOptionalNumber.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Filter.attrib\x{a}" ~ " " ] + SVG.Filter.extra.attrib = empty + SVG.Filter.attrib &= + attribute filter { FilterValue.datatype }?, + SVG.Filter.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.FilterColor.attrib\x{a}" ~ " " ] + SVG.FilterColor.extra.attrib = empty + SVG.FilterColor.attrib &= + attribute color-interpolation-filters { + "auto" | "sRGB" | "linearRGB" | "inherit" + }?, + SVG.FilterColor.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Filter.class\x{a}" ~ " " ] + SVG.Filter.extra.class = notAllowed + SVG.Filter.class |= filter | SVG.Filter.extra.class + a:documentation [ + "\x{a}" ~ + " SVG.FilterPrimitive.class\x{a}" ~ + " " + ] + SVG.FilterPrimitive.extra.class = notAllowed + SVG.FilterPrimitive.class = + feBlend + | feColorMatrix + | feComponentTransfer + | feComposite + | feFlood + | feGaussianBlur + | feImage + | feMerge + | feOffset + | feTile + | SVG.FilterPrimitive.extra.class + a:documentation [ + "\x{a}" ~ + " SVG.FilterPrimitive.attrib\x{a}" ~ + " " + ] + SVG.FilterPrimitive.extra.attrib = empty + SVG.FilterPrimitive.attrib = + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute result { text }?, + SVG.FilterPrimitive.extra.attrib + a:documentation [ + "\x{a}" ~ + " SVG.FilterPrimitiveWithIn.attrib\x{a}" ~ + " " + ] + SVG.FilterPrimitiveWithIn.extra.attrib = empty + SVG.FilterPrimitiveWithIn.attrib = + SVG.FilterPrimitive.attrib, + attribute in { text }?, + SVG.FilterPrimitiveWithIn.extra.attrib + a:documentation [ "\x{a}" ~ " filter: Filter Element\x{a}" ~ " " ] + SVG.filter.content = + SVG.Description.class*, (animate | set | SVG.FilterPrimitive.class)* + filter = element filter { attlist.filter, SVG.filter.content } + attlist.filter &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute filterRes { NumberOptionalNumber.datatype }?, + attribute filterUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute primitiveUnits { "userSpaceOnUse" | "objectBoundingBox" }? + a:documentation [ + "\x{a}" ~ + " feBlend: Filter Effect Blend Element\x{a}" ~ + " " + ] + SVG.feBlend.content = (animate | set)* + feBlend = element feBlend { attlist.feBlend, SVG.feBlend.content } + attlist.feBlend &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute in2 { text }, + [ a:defaultValue = "normal" ] + attribute mode { + "normal" | "multiply" | "screen" | "darken" | "lighten" + }? + a:documentation [ + "\x{a}" ~ + " feColorMatrix: Filter Effect Color Matrix Element\x{a}" ~ + " " + ] + SVG.feColorMatrix.content = (animate | set)* + feColorMatrix = + element feColorMatrix { + attlist.feColorMatrix, SVG.feColorMatrix.content + } + attlist.feColorMatrix &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + [ a:defaultValue = "matrix" ] + attribute type { + "matrix" | "saturate" | "hueRotate" | "luminanceToAlpha" + }?, + attribute values { text }? + a:documentation [ + "\x{a}" ~ + " feComponentTransfer: Filter Effect Component Transfer Element\x{a}" ~ + " " + ] + SVG.feComponentTransfer.content = + feFuncR?, feFuncG?, feFuncB?, feFuncA? + feComponentTransfer = + element feComponentTransfer { + attlist.feComponentTransfer, SVG.feComponentTransfer.content + } + attlist.feComponentTransfer &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib + a:documentation [ + "\x{a}" ~ + " feComposite: Filter Effect Composite Element\x{a}" ~ + " " + ] + SVG.feComposite.content = (animate | set)* + feComposite = + element feComposite { attlist.feComposite, SVG.feComposite.content } + attlist.feComposite &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute in2 { text }, + [ a:defaultValue = "over" ] + attribute operator { + "over" | "in" | "out" | "atop" | "xor" | "arithmetic" + }?, + attribute k1 { Number.datatype }?, + attribute k2 { Number.datatype }?, + attribute k3 { Number.datatype }?, + attribute k4 { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feFlood: Filter Effect Flood Element\x{a}" ~ + " " + ] + SVG.feFlood.content = (animate | set | animateColor)* + feFlood = element feFlood { attlist.feFlood, SVG.feFlood.content } + attlist.feFlood &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute flood-color { SVGColor.datatype }?, + attribute flood-opacity { OpacityValue.datatype }? + a:documentation [ + "\x{a}" ~ + " feGaussianBlur: Filter Effect Gaussian Blur Element\x{a}" ~ + " " + ] + SVG.feGaussianBlur.content = (animate | set)* + feGaussianBlur = + element feGaussianBlur { + attlist.feGaussianBlur, SVG.feGaussianBlur.content + } + attlist.feGaussianBlur &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute stdDeviation { NumberOptionalNumber.datatype }? + a:documentation [ + "\x{a}" ~ + " feImage: Filter Effect Image Element\x{a}" ~ + " " + ] + SVG.feImage.content = (animate | set | animateTransform)* + feImage = element feImage { attlist.feImage, SVG.feImage.content } + attlist.feImage &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.FilterPrimitive.attrib, + SVG.XLinkEmbed.attrib, + SVG.External.attrib, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? + a:documentation [ + "\x{a}" ~ + " feMerge: Filter Effect Merge Element\x{a}" ~ + " " + ] + SVG.feMerge.content = feMergeNode* + feMerge = element feMerge { attlist.feMerge, SVG.feMerge.content } + attlist.feMerge &= + SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitive.attrib + a:documentation [ + "\x{a}" ~ + " feMergeNode: Filter Effect Merge Node Element\x{a}" ~ + " " + ] + SVG.feMergeNode.content = (animate | set)* + feMergeNode = + element feMergeNode { attlist.feMergeNode, SVG.feMergeNode.content } + attlist.feMergeNode &= + SVG.Core.attrib, + attribute in { text }? + a:documentation [ + "\x{a}" ~ + " feOffset: Filter Effect Offset Element\x{a}" ~ + " " + ] + SVG.feOffset.content = (animate | set)* + feOffset = element feOffset { attlist.feOffset, SVG.feOffset.content } + attlist.feOffset &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute dx { Number.datatype }?, + attribute dy { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feTile: Filter Effect Tile Element\x{a}" ~ + " " + ] + SVG.feTile.content = (animate | set)* + feTile = element feTile { attlist.feTile, SVG.feTile.content } + attlist.feTile &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib + a:documentation [ + "\x{a}" ~ + " feFuncR: Filter Effect Function Red Element\x{a}" ~ + " " + ] + SVG.feFuncR.content = (animate | set)* + feFuncR = element feFuncR { attlist.feFuncR, SVG.feFuncR.content } + attlist.feFuncR &= + SVG.Core.attrib, + attribute type { + "identity" | "table" | "discrete" | "linear" | "gamma" + }, + attribute tableValues { text }?, + attribute slope { Number.datatype }?, + attribute intercept { Number.datatype }?, + attribute amplitude { Number.datatype }?, + attribute exponent { Number.datatype }?, + attribute offset { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feFuncG: Filter Effect Function Green Element\x{a}" ~ + " " + ] + SVG.feFuncG.content = (animate | set)* + feFuncG = element feFuncG { attlist.feFuncG, SVG.feFuncG.content } + attlist.feFuncG &= + SVG.Core.attrib, + attribute type { + "identity" | "table" | "discrete" | "linear" | "gamma" + }, + attribute tableValues { text }?, + attribute slope { Number.datatype }?, + attribute intercept { Number.datatype }?, + attribute amplitude { Number.datatype }?, + attribute exponent { Number.datatype }?, + attribute offset { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feFuncB: Filter Effect Function Blue Element\x{a}" ~ + " " + ] + SVG.feFuncB.content = (animate | set)* + feFuncB = element feFuncB { attlist.feFuncB, SVG.feFuncB.content } + attlist.feFuncB &= + SVG.Core.attrib, + attribute type { + "identity" | "table" | "discrete" | "linear" | "gamma" + }, + attribute tableValues { text }?, + attribute slope { Number.datatype }?, + attribute intercept { Number.datatype }?, + attribute amplitude { Number.datatype }?, + attribute exponent { Number.datatype }?, + attribute offset { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feFuncA: Filter Effect Function Alpha Element\x{a}" ~ + " " + ] + SVG.feFuncA.content = (animate | set)* + feFuncA = element feFuncA { attlist.feFuncA, SVG.feFuncA.content } + attlist.feFuncA &= + SVG.Core.attrib, + attribute type { + "identity" | "table" | "discrete" | "linear" | "gamma" + }, + attribute tableValues { text }?, + attribute slope { Number.datatype }?, + attribute intercept { Number.datatype }?, + attribute amplitude { Number.datatype }?, + attribute exponent { Number.datatype }?, + attribute offset { Number.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-font.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-font.rnc new file mode 100644 index 00000000000..a45d34e3c64 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-font.rnc @@ -0,0 +1,196 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## + +## +## SVG.Font.class +## +[ xml:lang = "en" ] +grammar { + SVG.Font.extra.class = notAllowed + SVG.Font.class |= font | font-face | SVG.Font.extra.class + a:documentation [ "\x{a}" ~ " font: Font Element\x{a}" ~ " " ] + SVG.font.content = + SVG.Description.class*, + font-face, + missing-glyph, + (glyph | hkern | vkern)* + font = element font { attlist.font, SVG.font.content } + attlist.font &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.External.attrib, + attribute horiz-origin-x { Number.datatype }?, + attribute horiz-origin-y { Number.datatype }?, + attribute horiz-adv-x { Number.datatype }, + attribute vert-origin-x { Number.datatype }?, + attribute vert-origin-y { Number.datatype }?, + attribute vert-adv-y { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " font-face: Font Face Element\x{a}" ~ + " " + ] + SVG.font-face.extra.class = notAllowed + SVG.font-face.content = + SVG.Description.class*, font-face-src?, SVG.font-face.extra.class + font-face = + element font-face { attlist.font-face, SVG.font-face.content } + attlist.font-face &= + SVG.Core.attrib, + attribute font-family { text }?, + attribute font-style { text }?, + attribute font-variant { text }?, + attribute font-weight { text }?, + attribute font-stretch { text }?, + attribute font-size { text }?, + attribute unicode-range { text }?, + attribute units-per-em { Number.datatype }?, + attribute panose-1 { text }?, + attribute stemv { Number.datatype }?, + attribute stemh { Number.datatype }?, + attribute slope { Number.datatype }?, + attribute cap-height { Number.datatype }?, + attribute x-height { Number.datatype }?, + attribute accent-height { Number.datatype }?, + attribute ascent { Number.datatype }?, + attribute descent { Number.datatype }?, + attribute widths { text }?, + attribute bbox { text }?, + attribute ideographic { Number.datatype }?, + attribute alphabetic { Number.datatype }?, + attribute mathematical { Number.datatype }?, + attribute hanging { Number.datatype }?, + attribute v-ideographic { Number.datatype }?, + attribute v-alphabetic { Number.datatype }?, + attribute v-mathematical { Number.datatype }?, + attribute v-hanging { Number.datatype }?, + attribute underline-position { Number.datatype }?, + attribute underline-thickness { Number.datatype }?, + attribute strikethrough-position { Number.datatype }?, + attribute strikethrough-thickness { Number.datatype }?, + attribute overline-position { Number.datatype }?, + attribute overline-thickness { Number.datatype }? + a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ] + SVG.glyph.class = notAllowed + SVG.glyph.content = SVG.Description.class*, SVG.glyph.class* + glyph = element glyph { attlist.glyph, SVG.glyph.content } + attlist.glyph &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + attribute unicode { text }?, + attribute glyph-name { text }?, + attribute d { PathData.datatype }?, + attribute orientation { text }?, + attribute arabic-form { text }?, + attribute lang { LanguageCodes.datatype }?, + attribute horiz-adv-x { Number.datatype }?, + attribute vert-origin-x { Number.datatype }?, + attribute vert-origin-y { Number.datatype }?, + attribute vert-adv-y { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " missing-glyph: Missing Glyph Element\x{a}" ~ + " " + ] + SVG.missing-glyph.class = notAllowed + SVG.missing-glyph.content = + SVG.Description.class*, SVG.missing-glyph.class* + missing-glyph = + element missing-glyph { + attlist.missing-glyph, SVG.missing-glyph.content + } + attlist.missing-glyph &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + attribute d { PathData.datatype }?, + attribute horiz-adv-x { Number.datatype }?, + attribute vert-origin-x { Number.datatype }?, + attribute vert-origin-y { Number.datatype }?, + attribute vert-adv-y { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " hkern: Horizontal Kerning Element\x{a}" ~ + " " + ] + SVG.hkern.content = empty + hkern = element hkern { attlist.hkern, SVG.hkern.content } + attlist.hkern &= + SVG.Core.attrib, + attribute u1 { text }?, + attribute g1 { text }?, + attribute u2 { text }?, + attribute g2 { text }?, + attribute k { Number.datatype } + a:documentation [ + "\x{a}" ~ + " vkern: Vertical Kerning Element\x{a}" ~ + " " + ] + SVG.vkern.content = empty + vkern = element vkern { attlist.vkern, SVG.vkern.content } + attlist.vkern &= + SVG.Core.attrib, + attribute u1 { text }?, + attribute g1 { text }?, + attribute u2 { text }?, + attribute g2 { text }?, + attribute k { Number.datatype } + a:documentation [ + "\x{a}" ~ + " font-face-src: Font Face Source Element\x{a}" ~ + " " + ] + SVG.font-face-src.content = (font-face-uri | font-face-name)+ + font-face-src = + element font-face-src { + attlist.font-face-src, SVG.font-face-src.content + } + attlist.font-face-src &= SVG.Core.attrib + a:documentation [ + "\x{a}" ~ + " font-face-uri: Font Face URI Element\x{a}" ~ + " " + ] + SVG.font-face-uri.content = empty + font-face-uri = + element font-face-uri { + attlist.font-face-uri, SVG.font-face-uri.content + } + attlist.font-face-uri &= SVG.Core.attrib, SVG.XLinkRequired.attrib + a:documentation [ + "\x{a}" ~ + " font-face-name: Font Face Name Element\x{a}" ~ + " " + ] + SVG.font-face-name.content = empty + font-face-name = + element font-face-name { + attlist.font-face-name, SVG.font-face-name.content + } + attlist.font-face-name &= + SVG.Core.attrib, + attribute name { text }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-graphics-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-graphics-attrib.rnc new file mode 100644 index 00000000000..606e2e4e92d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-graphics-attrib.rnc @@ -0,0 +1,49 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Basic Graphics Attribute +## +## display, visibility +## +## This module defines the Graphics attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.display.attrib = + attribute display { + "inline" + | "block" + | "list-item" + | "run-in" + | "compact" + | "marker" + | "table" + | "inline-table" + | "table-row-group" + | "table-header-group" + | "table-footer-group" + | "table-row" + | "table-column-group" + | "table-column" + | "table-cell" + | "table-caption" + | "none" + | "inherit" + }? + SVG.visibility.attrib = + attribute visibility { "visible" | "hidden" | "inherit" }? + SVG.Graphics.extra.attrib = empty + SVG.Graphics.attrib &= + SVG.display.attrib, SVG.visibility.attrib, SVG.Graphics.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-structure.rnc new file mode 100644 index 00000000000..67b94df81a1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-structure.rnc @@ -0,0 +1,293 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Basic Structure +## +## svg, g, defs, desc, title, metadata, use +## +## This module declares the major structural elements and their attributes. +## +[ xml:lang = "en" ] +grammar { + + ## + ## The root element is "svg". + ## + start = svg + + ## + ## Include core set of modules + ## + div { + + ## + ## Datatypes Module + ## + include "svg-datatypes.rnc" + + ## + ## Core Attribute Module + ## + include "svg-core-attrib.rnc" + } + a:documentation [ + "\x{a}" ~ + " Content Models (Default)\x{a}" ~ + " " + ] + SVG.Profile.class = notAllowed + SVG.Gradient.class = notAllowed + SVG.Pattern.class = notAllowed + SVG.Clip.class = notAllowed + SVG.Mask.class = notAllowed + SVG.Filter.class = notAllowed + SVG.Cursor.class = notAllowed + SVG.Marker.class = notAllowed + SVG.View.class = notAllowed + SVG.Script.class = notAllowed + SVG.Font.class = notAllowed + SVG.Extensibility.class = notAllowed + SVG.Conditional.class = notAllowed + SVG.Image.class = notAllowed + SVG.Style.class = notAllowed + SVG.Shape.class = notAllowed + SVG.Text.class = notAllowed + SVG.Hyperlink.class = notAllowed + SVG.Animation.class = notAllowed + a:documentation [ + "\x{a}" ~ + " Attribute Collections (Default)\x{a}" ~ + " " + ] + SVG.Container.attrib = empty + SVG.Viewport.attrib = empty + SVG.Text.attrib = empty + SVG.TextContent.attrib = empty + SVG.Opacity.attrib = empty + SVG.Marker.attrib = empty + SVG.Profile.attrib = empty + SVG.Gradient.attrib = empty + SVG.Clip.attrib = empty + SVG.Mask.attrib = empty + SVG.Filter.attrib = empty + SVG.FilterColor.attrib = empty + SVG.Cursor.attrib = empty + SVG.External.attrib = empty + SVG.Conditional.attrib = empty + SVG.Color.attrib = empty + SVG.Paint.attrib = empty + SVG.Graphics.attrib = empty + SVG.DocumentEvents.attrib = empty + SVG.GraphicalEvents.attrib = empty + SVG.onload.attrib = empty + SVG.AnimationEvents.attrib = empty + SVG.XLink.attrib = empty + SVG.XLinkRequired.attrib = empty + SVG.XLinkEmbed.attrib = empty + SVG.XLinkReplace.attrib = empty + SVG.Style.attrib = empty + SVG.Font.attrib = empty + a:documentation [ "\x{a}" ~ " SVG.Description.class\x{a}" ~ " " ] + SVG.Description.extra.class = notAllowed + SVG.Description.class = + desc | title | metadata | SVG.Description.extra.class + a:documentation [ "\x{a}" ~ " SVG.Use.class\x{a}" ~ " " ] + SVG.Use.extra.class = notAllowed + SVG.Use.class = use | SVG.Use.extra.class + a:documentation [ "\x{a}" ~ " SVG.Structure.class\x{a}" ~ " " ] + SVG.Structure.extra.class = notAllowed + SVG.Structure.class = + svg | g | defs | SVG.Use.class | SVG.Structure.extra.class + a:documentation [ + "\x{a}" ~ + " SVG.Presentation.attrib\x{a}" ~ + " " + ] + SVG.Presentation.extra.attrib = empty + SVG.Presentation.attrib = + SVG.Container.attrib, + SVG.Viewport.attrib, + SVG.Text.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Profile.attrib, + SVG.Gradient.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.FilterColor.attrib, + SVG.Cursor.attrib, + attribute flood-color { SVGColor.datatype }?, + attribute flood-opacity { OpacityValue.datatype }?, + attribute lighting-color { SVGColor.datatype }?, + SVG.Presentation.extra.attrib + a:documentation [ + "\x{a}" ~ + " svg: SVG Document Element\x{a}" ~ + " " + ] + SVG.svg.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + svg = element svg { attlist.svg, SVG.svg.content } + attlist.svg &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.DocumentEvents.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, + [ a:defaultValue = "magnify" ] + attribute zoomAndPan { "disable" | "magnify" }?, + [ a:defaultValue = "1.1" ] attribute version { xsd:string "1.1" }?, + attribute baseProfile { Text.datatype }?, + [ a:defaultValue = "text/ecmascript" ] + attribute contentScriptType { ContentType.datatype }?, + [ a:defaultValue = "text/css" ] + attribute contentStyleType { ContentType.datatype }? + a:documentation [ "\x{a}" ~ " g: Group Element\x{a}" ~ " " ] + SVG.g.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + g = element g { attlist.g, SVG.g.content } + attlist.g &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " defs: Definisions Element\x{a}" ~ + " " + ] + SVG.defs.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + defs = element defs { attlist.defs, SVG.defs.content } + attlist.defs &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " desc: Description Element\x{a}" ~ + " " + ] + SVG.desc.content = text + desc = element desc { attlist.desc, SVG.desc.content } + attlist.desc &= SVG.Core.attrib, SVG.Style.attrib + a:documentation [ "\x{a}" ~ " title: Title Element\x{a}" ~ " " ] + SVG.title.content = text + title = element title { attlist.title, SVG.title.content } + attlist.title &= SVG.Core.attrib, SVG.Style.attrib + a:documentation [ + "\x{a}" ~ + " metadata: Metadata Element\x{a}" ~ + " " + ] + SVG.metadata.content = text + metadata = element metadata { attlist.metadata, SVG.metadata.content } + attlist.metadata &= SVG.Core.attrib + a:documentation [ "\x{a}" ~ " use: Use Element\x{a}" ~ " " ] + SVG.use.content = SVG.Description.class*, SVG.Animation.class* + use = element use { attlist.use, SVG.use.content } + attlist.use &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.XLinkEmbed.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute transform { TransformList.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-text.rnc new file mode 100644 index 00000000000..8e8b2c728bd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-text.rnc @@ -0,0 +1,137 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Basic Text +## +## text, altGlyph, altGlyphDef, glyphRef +## +## This module declares markup to provide support for text. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + FontFamilyValue.datatype = xsd:string + FontSizeValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Font.attrib\x{a}" ~ " " ] + SVG.Font.extra.attrib = empty + SVG.Font.attrib &= + attribute font-family { FontFamilyValue.datatype }?, + attribute font-size { FontSizeValue.datatype }?, + attribute font-style { + "normal" | "italic" | "oblique" | "inherit" + }?, + attribute font-weight { + "normal" + | "bold" + | "bolder" + | "lighter" + | "100" + | "200" + | "300" + | "400" + | "500" + | "600" + | "700" + | "800" + | "900" + | "inherit" + }?, + SVG.Font.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Text.class\x{a}" ~ " " ] + SVG.Text.extra.class = notAllowed + SVG.Text.class |= \text | SVG.Text.extra.class + a:documentation [ "\x{a}" ~ " SVG.TextContent.class\x{a}" ~ " " ] + SVG.TextContent.extra.class = notAllowed + SVG.TextContent.class = altGlyph | SVG.TextContent.extra.class + a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ] + SVG.text.class = + text + | SVG.Description.class + | SVG.Animation.class + | # <ref name="SVG.TextContent.extra.class"/> + SVG.Hyperlink.class + SVG.text.content = SVG.text.class* + \text = element text { attlist.text, SVG.text.content } + attlist.text &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute rotate { Numbers.datatype }?, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " altGlyph: Alternate Glyph Element\x{a}" ~ + " " + ] + SVG.altGlyph.content = text + altGlyph = element altGlyph { attlist.altGlyph, SVG.altGlyph.content } + attlist.altGlyph &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute glyphRef { text }?, + attribute format { text }? + a:documentation [ + "\x{a}" ~ + " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~ + " " + ] + SVG.altGlyphDef.content = glyphRef+ + altGlyphDef = + element altGlyphDef { attlist.altGlyphDef, SVG.altGlyphDef.content } + attlist.altGlyphDef &= SVG.Core.attrib + a:documentation [ + "\x{a}" ~ + " glyphRef: Glyph Reference Element\x{a}" ~ + " " + ] + SVG.glyphRef.content = empty + glyphRef = element glyphRef { attlist.glyphRef, SVG.glyphRef.content } + attlist.glyphRef &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Font.attrib, + SVG.XLink.attrib, + attribute glyphRef { text }?, + attribute format { text }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-clip.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-clip.rnc new file mode 100644 index 00000000000..50dd76142ea --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-clip.rnc @@ -0,0 +1,30 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace ns1 = "http://www.w3.org/2000/svg" + + +## +## 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 $ +## + +## +## Clip +## +## clipPath +## +## This module declares markup to provide support for clipping. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-clip.rnc" inherit = ns1 + + ## + ## extend content model of clipPath + ## + SVG.clipPath.class |= SVG.Shape.class | SVG.Text.class +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-conditional.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-conditional.rnc new file mode 100644 index 00000000000..922554a6a8d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-conditional.rnc @@ -0,0 +1,62 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Conditional Processing +## +## switch +## +## This module declares markup to provide support for conditional processing. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + ExtensionList.datatype = xsd:string + FeatureList.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Conditional.attrib\x{a}" ~ " " ] + SVG.Conditional.extra.attrib = empty + SVG.Conditional.attrib &= + attribute requiredFeatures { FeatureList.datatype }?, + attribute requiredExtensions { ExtensionList.datatype }?, + attribute systemLanguage { LanguageCodes.datatype }?, + SVG.Conditional.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Conditional.class\x{a}" ~ " " ] + SVG.Conditional.extra.class = notAllowed + SVG.Conditional.class |= switch | SVG.Conditional.extra.class + a:documentation [ "\x{a}" ~ " switch: Switch Element\x{a}" ~ " " ] + SVG.switch.content = + SVG.Description.class*, + (svg + | g + | use + | \text + | SVG.Animation.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Shape.class + | SVG.Hyperlink.class + | SVG.Extensibility.class)* + switch = element switch { attlist.switch, SVG.switch.content } + attlist.switch &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-container-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-container-attrib.rnc new file mode 100644 index 00000000000..fb4ac5ff47f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-container-attrib.rnc @@ -0,0 +1,33 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Container Attribute +## +## enable-background +## +## This module defines the Container attribute set. +## +[ xml:lang = "en" ] +grammar { + + ## + ## 'enable-background' property/attribute value (e.g., 'new', 'accumulate') + ## + EnableBackgroundValue.datatype = xsd:string + SVG.enable-background.attrib = + attribute enable-background { EnableBackgroundValue.datatype }? + SVG.Container.extra.attrib = empty + SVG.Container.attrib &= + SVG.enable-background.attrib, SVG.Container.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-core-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-core-attrib.rnc new file mode 100644 index 00000000000..e9d73f1601f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-core-attrib.rnc @@ -0,0 +1,35 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Core Attribute +## +## id, xml:base, xml:lang, xml:space +## +## This module defines the core set of attributes that can be present on +## any element. +## +[ xml:lang = "en" ] +grammar { + SVG.id.attrib = attribute id { xsd:ID }? + SVG.base.attrib = attribute xml:base { URI.datatype }? + SVG.lang.attrib = attribute xml:lang { LanguageCode.datatype }? + SVG.space.attrib = attribute xml:space { "default" | "preserve" }? + SVG.Core.extra.attrib = empty + SVG.Core.attrib = + SVG.id.attrib, + SVG.base.attrib, + SVG.lang.attrib, + SVG.space.attrib, + SVG.Core.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-cursor.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-cursor.rnc new file mode 100644 index 00000000000..50b42d15627 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-cursor.rnc @@ -0,0 +1,47 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Cursor +## +## cursor +## +## This module declares markup to provide support for cursor. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + CursorValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Cursor.attrib\x{a}" ~ " " ] + SVG.Cursor.extra.attrib = empty + SVG.Cursor.attrib &= + attribute cursor { CursorValue.datatype }?, + SVG.Cursor.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Cursor.class\x{a}" ~ " " ] + SVG.Cursor.extra.class = notAllowed + SVG.Cursor.class |= cursor | SVG.Cursor.extra.class + a:documentation [ "\x{a}" ~ " cursor: Cursor Element\x{a}" ~ " " ] + SVG.cursor.content = SVG.Description.class* + cursor = element cursor { attlist.cursor, SVG.cursor.content } + attlist.cursor &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.XLinkRequired.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-datatypes.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-datatypes.rnc new file mode 100644 index 00000000000..7a3ea4b659f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-datatypes.rnc @@ -0,0 +1,135 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Datatypes +## +## This module declares common data types for properties and attributes. +## + +## +## feature specification +## +[ xml:lang = "en" ] +grammar { + Boolean.datatype = "false" | "true" + + ## + ## 'clip-rule' or 'fill-rule' property/attribute value + ## + ClipFillRule.datatype = "nonzero" | "evenodd" | "inherit" + + ## + ## media type, as per [RFC2045] + ## + ContentType.datatype = xsd:string + + ## + ## a <coordinate> + ## + Coordinate.datatype = xsd:string + + ## + ## a list of <coordinate>s + ## + Coordinates.datatype = xsd:string + + ## + ## a <color> value + ## + Color.datatype = xsd:string + + ## + ## a <integer> + ## + Integer.datatype = xsd:string + + ## + ## a language code, as per [RFC3066] + ## + LanguageCode.datatype = xsd:language + + ## + ## comma-separated list of language codes, as per [RFC3066] + ## + LanguageCodes.datatype = xsd:string + + ## + ## a <ength> + ## + Length.datatype = xsd:string + + ## + ## a list of <length>s + ## + Lengths.datatype = xsd:string + + ## + ## a <number> + ## + Number.datatype = xsd:string + + ## + ## a list of <number>s + ## + Numbers.datatype = xsd:string + + ## + ## opacity value (e.g., <number>) + ## + OpacityValue.datatype = xsd:string + + ## + ## a path data specification + ## + PathData.datatype = xsd:string + + ## + ## 'preserveAspectRatio' attribute specification + ## + PreserveAspectRatioSpec.datatype = + xsd:string { + pattern = + "\s*(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)\s+(meet|slice)?\s*" + } + + ## + ## script expression + ## + Script.datatype = xsd:string + + ## + ## An SVG color value (RGB plus optional ICC) + ## + SVGColor.datatype = xsd:string + + ## + ## arbitrary text string + ## + Text.datatype = xsd:string + + ## + ## list of transforms + ## + TransformList.datatype = xsd:string + + ## + ## a Uniform Resource Identifier, see [URI] + ## + URI.datatype = xsd:anyURI + + ## + ## 'viewBox' attribute specification + ## + ViewBoxSpec.datatype = xsd:string +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-docevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-docevents-attrib.rnc new file mode 100644 index 00000000000..a03b011c8d3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-docevents-attrib.rnc @@ -0,0 +1,38 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Document Events Attribute +## +## onunload, onabort, onerror, onresize, onscroll, onzoom +## +## This module defines the DocumentEvents attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.onunload.attrib = attribute onunload { Script.datatype }? + SVG.onabort.attrib = attribute onabort { Script.datatype }? + SVG.onerror.attrib = attribute onerror { Script.datatype }? + SVG.onresize.attrib = attribute onresize { Script.datatype }? + SVG.onscroll.attrib = attribute onscroll { Script.datatype }? + SVG.onzoom.attrib = attribute onzoom { Script.datatype }? + SVG.DocumentEvents.extra.attrib = empty + SVG.DocumentEvents.attrib &= + SVG.onunload.attrib, + SVG.onabort.attrib, + SVG.onerror.attrib, + SVG.onresize.attrib, + SVG.onscroll.attrib, + SVG.onzoom.attrib, + SVG.DocumentEvents.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extensibility.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extensibility.rnc new file mode 100644 index 00000000000..23ef64bf988 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extensibility.rnc @@ -0,0 +1,62 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +default namespace ns1 = "http://www.w3.org/2000/svg" + +a:documentation [ + "\x{a}" ~ + " SVG 1.1 Extensibility Module\x{a}" ~ + " file: svg-extensibility.rng\x{a}" ~ + "\x{a}" ~ + " This is SVG, a language for describing two-dimensional graphics in XML.\x{a}" ~ + " Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.\x{a}" ~ + "\x{a}" ~ + " $Id: svg-extensibility.rng,v 1.1 2003/07/15 07:11:10 dean Exp $\x{a}" ~ + "\x{a}" +] +a:documentation [ + "\x{a}" ~ + " Extensibility\x{a}" ~ + "\x{a}" ~ + " foreignObject\x{a}" ~ + "\x{a}" ~ + " This module declares markup to provide support for extensibility.\x{a}" ~ + " " +] +a:documentation [ "\x{a}" ~ " SVG.Extensibility.class\x{a}" ~ " " ] +SVG.Extensibility.extra.class = notAllowed +SVG.Extensibility.class |= foreignObject | SVG.Extensibility.extra.class +a:documentation [ + "\x{a}" ~ + " foreignObject: Foreign Object Element\x{a}" ~ + " " +] +SVG.foreignObject.content = + (text + | svg + # ref name="foreignElement"/ + )* +foreignObject = + element foreignObject { + attlist.foreignObject, SVG.foreignObject.content + } +attlist.foreignObject &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }, + attribute height { Length.datatype }, + attribute transform { TransformList.datatype }? + +## +## any element in foreign namespace +## +foreignElement = + element * - ns1:* { + (attribute * - ns1:* { text } + | text + | foreignElement)* + } diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extresources-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extresources-attrib.rnc new file mode 100644 index 00000000000..6c1274e082a --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extresources-attrib.rnc @@ -0,0 +1,28 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## External Resources Attribute +## +## externalResourcesRequired +## +## This module defines the External attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.externalResourcesRequired.attrib = + attribute externalResourcesRequired { Boolean.datatype }? + SVG.External.extra.attrib = empty + SVG.External.attrib &= + SVG.externalResourcesRequired.attrib, SVG.External.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-filter.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-filter.rnc new file mode 100644 index 00000000000..9d4cc259ef4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-filter.rnc @@ -0,0 +1,214 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-filter.rnc" + + ## + ## extend SVG.FilterPrimitive.class + ## + SVG.FilterPrimitive.class |= + feConvolveMatrix + | feDiffuseLighting + | feDisplacementMap + | feMorphology + | feSpecularLighting + | feTurbulence + a:documentation [ + "\x{a}" ~ + " feConvolveMatrix: Filter Effect Convolve Matrix Element\x{a}" ~ + " " + ] + SVG.feConvolveMatrix.content = (animate | set)* + feConvolveMatrix = + element feConvolveMatrix { + attlist.feConvolveMatrix, SVG.feConvolveMatrix.content + } + attlist.feConvolveMatrix &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute order { NumberOptionalNumber.datatype }, + attribute kernelMatrix { text }, + attribute divisor { Number.datatype }?, + attribute bias { Number.datatype }?, + attribute targetX { Integer.datatype }?, + attribute targetY { Integer.datatype }?, + [ a:defaultValue = "duplicate" ] + attribute edgeMode { "duplicate" | "wrap" | "none" }?, + attribute kernelUnitLength { NumberOptionalNumber.datatype }?, + attribute preserveAlpha { Boolean.datatype }? + a:documentation [ + "\x{a}" ~ + " feDiffuseLighting: Filter Effect Diffuse Lighting Element\x{a}" ~ + " " + ] + SVG.feDiffuseLighting.content = + (feDistantLight | fePointLight | feSpotLight), + (animate | set | animateColor)* + feDiffuseLighting = + element feDiffuseLighting { + attlist.feDiffuseLighting, SVG.feDiffuseLighting.content + } + attlist.feDiffuseLighting &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute lighting-color { SVGColor.datatype }?, + attribute surfaceScale { Number.datatype }?, + attribute diffuseConstant { Number.datatype }?, + attribute kernelUnitLength { NumberOptionalNumber.datatype }? + a:documentation [ + "\x{a}" ~ + " feDisplacementMap: Filter Effect Displacement Map Element\x{a}" ~ + " " + ] + SVG.feDisplacementMap.content = (animate | set)* + feDisplacementMap = + element feDisplacementMap { + attlist.feDisplacementMap, SVG.feDisplacementMap.content + } + attlist.feDisplacementMap &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute in2 { text }, + attribute scale { Number.datatype }?, + [ a:defaultValue = "A" ] + attribute xChannelSelector { "R" | "G" | "B" | "A" }?, + [ a:defaultValue = "A" ] + attribute yChannelSelector { "R" | "G" | "B" | "A" }? + a:documentation [ + "\x{a}" ~ + " feMorphology: Filter Effect Morphology Element\x{a}" ~ + " " + ] + SVG.feMorphology.content = (animate | set)* + feMorphology = + element feMorphology { + attlist.feMorphology, SVG.feMorphology.content + } + attlist.feMorphology &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + [ a:defaultValue = "erode" ] + attribute operator { "erode" | "dilate" }?, + attribute radius { NumberOptionalNumber.datatype }? + a:documentation [ + "\x{a}" ~ + " feSpecularLighting: Filter Effect Specular Lighting Element\x{a}" ~ + " " + ] + SVG.feSpecularLighting.content = + (feDistantLight | fePointLight | feSpotLight), + (animate | set | animateColor)* + feSpecularLighting = + element feSpecularLighting { + attlist.feSpecularLighting, SVG.feSpecularLighting.content + } + attlist.feSpecularLighting &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitiveWithIn.attrib, + attribute lighting-color { SVGColor.datatype }?, + attribute surfaceScale { Number.datatype }?, + attribute specularConstant { Number.datatype }?, + attribute specularExponent { Number.datatype }?, + attribute kernelUnitLength { NumberOptionalNumber.datatype }? + a:documentation [ + "\x{a}" ~ + " feTurbulence: Filter Effect Turbulence Element\x{a}" ~ + " " + ] + SVG.feTurbulence.content = (animate | set)* + feTurbulence = + element feTurbulence { + attlist.feTurbulence, SVG.feTurbulence.content + } + attlist.feTurbulence &= + SVG.Core.attrib, + SVG.FilterColor.attrib, + SVG.FilterPrimitive.attrib, + attribute baseFrequency { NumberOptionalNumber.datatype }?, + attribute numOctaves { Integer.datatype }?, + attribute seed { Number.datatype }?, + [ a:defaultValue = "noStitch" ] + attribute stitchTiles { "stitch" | "noStitch" }?, + [ a:defaultValue = "turbulence" ] + attribute type { "fractalNoise" | "turbulence" }? + a:documentation [ + "\x{a}" ~ + " feDistantLight: Filter Effect Distant Light Element\x{a}" ~ + " " + ] + SVG.feDistantLight.content = (animate | set)* + feDistantLight = + element feDistantLight { + attlist.feDistantLight, SVG.feDistantLight.content + } + attlist.feDistantLight &= + SVG.Core.attrib, + attribute azimuth { Number.datatype }?, + attribute elevation { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " fePointLight: Filter Effect Point Light Element\x{a}" ~ + " " + ] + SVG.fePointLight.content = (animate | set)* + fePointLight = + element fePointLight { + attlist.fePointLight, SVG.fePointLight.content + } + attlist.fePointLight &= + SVG.Core.attrib, + attribute x { Number.datatype }?, + attribute y { Number.datatype }?, + attribute z { Number.datatype }? + a:documentation [ + "\x{a}" ~ + " feSpotLight: Filter Effect Spot Light Element\x{a}" ~ + " " + ] + SVG.feSpotLight.content = (animate | set)* + feSpotLight = + element feSpotLight { attlist.feSpotLight, SVG.feSpotLight.content } + attlist.feSpotLight &= + SVG.Core.attrib, + attribute x { Number.datatype }?, + attribute y { Number.datatype }?, + attribute z { Number.datatype }?, + attribute pointsAtX { Number.datatype }?, + attribute pointsAtY { Number.datatype }?, + attribute pointsAtZ { Number.datatype }?, + attribute specularExponent { Number.datatype }?, + attribute limitingConeAngle { Number.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-font.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-font.rnc new file mode 100644 index 00000000000..f14e10c2342 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-font.rnc @@ -0,0 +1,108 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-font.rnc" + a:documentation [ + "\x{a}" ~ + " font-face: Font Face Element\x{a}" ~ + " " + ] + SVG.font-face.extra.class &= definition-src? + a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ] + SVG.glyph.class |= + SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class + a:documentation [ + "\x{a}" ~ + " missing-glyph: Missing Glyph Element\x{a}" ~ + " " + ] + SVG.missing-glyph.class |= + SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class + a:documentation [ + "\x{a}" ~ + " font-face-uri: Font Face URI Element\x{a}" ~ + " " + ] + SVG.font-face-uri.content |= font-face-format* + a:documentation [ + "\x{a}" ~ + " font-face-format: Font Face Format Element\x{a}" ~ + " " + ] + SVG.font-face-format.content = empty + font-face-format = + element font-face-format { + attlist.font-face-format, SVG.font-face-format.content + } + attlist.font-face-format &= + SVG.Core.attrib, + attribute string { text }? + a:documentation [ + "\x{a}" ~ + " definition-src: Definition Source Element\x{a}" ~ + " " + ] + SVG.definition-src.content = empty + definition-src = + element definition-src { + attlist.definition-src, SVG.definition-src.content + } + attlist.definition-src &= SVG.Core.attrib, SVG.XLinkRequired.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-gradient.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-gradient.rnc new file mode 100644 index 00000000000..e8c6e60525f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-gradient.rnc @@ -0,0 +1,99 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Gradient +## +## linearGradient, radialGradient, stop +## +## This module declares markup to provide support for gradient fill. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + NumberOrPercentage.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Gradient.attrib\x{a}" ~ " " ] + SVG.Gradient.extra.attrib = empty + SVG.Gradient.attrib &= + attribute stop-color { SVGColor.datatype }?, + attribute stop-opacity { OpacityValue.datatype }?, + SVG.Gradient.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Gradient.class\x{a}" ~ " " ] + SVG.Gradient.extra.class = notAllowed + SVG.Gradient.class |= + linearGradient | radialGradient | SVG.Gradient.extra.class + a:documentation [ + "\x{a}" ~ + " linearGradient: Linear Gradient Element\x{a}" ~ + " " + ] + SVG.linearGradient.content = + SVG.Description.class*, (stop | animate | set | animateTransform)* + linearGradient = + element linearGradient { + attlist.linearGradient, SVG.linearGradient.content + } + attlist.linearGradient &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.Gradient.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute x1 { Coordinate.datatype }?, + attribute y1 { Coordinate.datatype }?, + attribute x2 { Coordinate.datatype }?, + attribute y2 { Coordinate.datatype }?, + attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute gradientTransform { TransformList.datatype }?, + attribute spreadMethod { "pad" | "reflect" | "repeat" }? + a:documentation [ + "\x{a}" ~ + " radialGradient: Radial Gradient Element\x{a}" ~ + " " + ] + SVG.radialGradient.content = + SVG.Description.class*, (stop | animate | set | animateTransform)* + radialGradient = + element radialGradient { + attlist.radialGradient, SVG.radialGradient.content + } + attlist.radialGradient &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.Gradient.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute cx { Coordinate.datatype }?, + attribute cy { Coordinate.datatype }?, + attribute r { Length.datatype }?, + attribute fx { Coordinate.datatype }?, + attribute fy { Coordinate.datatype }?, + attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute gradientTransform { TransformList.datatype }?, + attribute spreadMethod { "pad" | "reflect" | "repeat" }? + a:documentation [ "\x{a}" ~ " stop: Stop Element\x{a}" ~ " " ] + SVG.stop.content = (animate | set | animateColor)* + stop = element stop { attlist.stop, SVG.stop.content } + attlist.stop &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Color.attrib, + SVG.Gradient.attrib, + attribute offset { NumberOrPercentage.datatype } +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphevents-attrib.rnc new file mode 100644 index 00000000000..e5828f3dab8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphevents-attrib.rnc @@ -0,0 +1,47 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Graphical Element Events Attribute +## +## onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup, +## onmouseover, onmousemove, onmouseout, onload +## +## This module defines the GraphicalEvents attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.onfocusin.attrib = attribute onfocusin { Script.datatype }? + SVG.onfocusout.attrib = attribute onfocusout { Script.datatype }? + SVG.onactivate.attrib = attribute onactivate { Script.datatype }? + SVG.onclick.attrib = attribute onclick { Script.datatype }? + SVG.onmousedown.attrib = attribute onmousedown { Script.datatype }? + SVG.onmouseup.attrib = attribute onmouseup { Script.datatype }? + SVG.onmouseover.attrib = attribute onmouseover { Script.datatype }? + SVG.onmousemove.attrib = attribute onmousemove { Script.datatype }? + SVG.onmouseout.attrib = attribute onmouseout { Script.datatype }? + SVG.onload.attrib &= attribute onload { Script.datatype }? + SVG.GraphicalEvents.extra.attrib = empty + SVG.GraphicalEvents.attrib &= + SVG.onfocusin.attrib, + SVG.onfocusout.attrib, + SVG.onactivate.attrib, + SVG.onclick.attrib, + SVG.onmousedown.attrib, + SVG.onmouseup.attrib, + SVG.onmouseover.attrib, + SVG.onmousemove.attrib, + SVG.onmouseout.attrib, + SVG.onload.attrib, + SVG.GraphicalEvents.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphics-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphics-attrib.rnc new file mode 100644 index 00000000000..bbf132ab971 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphics-attrib.rnc @@ -0,0 +1,64 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace ns1 = "http://www.w3.org/2000/svg" + + +## +## 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 $ +## + +## +## Graphics Attribute +## +## display, image-rendering, pointer-events, shape-rendering, +## text-rendering, visibility +## +## This module defines the Graphics attribute set. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-graphics-attrib.rnc" inherit = ns1 + SVG.image-rendering.attrib = + attribute image-rendering { + "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit" + }? + SVG.pointer-events.attrib = + attribute pointer-events { + "visiblePainted" + | "visibleFill" + | "visibleStroke" + | "visible" + | "painted" + | "fill" + | "stroke" + | "all" + | "none" + | "inherit" + }? + SVG.shape-rendering.attrib = + attribute shape-rendering { + "auto" + | "optimizeSpeed" + | "crispEdges" + | "geometricPrecision" + | "inherit" + }? + SVG.text-rendering.attrib = + attribute text-rendering { + "auto" + | "optimizeSpeed" + | "optimizeLegibility" + | "geometricPrecision" + | "inherit" + }? + SVG.Graphics.attrib &= + SVG.image-rendering.attrib, + SVG.pointer-events.attrib, + SVG.shape-rendering.attrib, + SVG.text-rendering.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-hyperlink.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-hyperlink.rnc new file mode 100644 index 00000000000..705e3e3334d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-hyperlink.rnc @@ -0,0 +1,66 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Hyperlinking +## +## a +## +## This module declares markup to provide support for hyper linking. +## +[ xml:lang = "en" ] +grammar { + + ## + ## link to this target + ## + LinkTarget.datatype = xsd:NMTOKEN + a:documentation [ "\x{a}" ~ " SVG.Hyperlink.class\x{a}" ~ " " ] + SVG.Hyperlink.extra.class = notAllowed + SVG.Hyperlink.class |= a | SVG.Hyperlink.extra.class + a:documentation [ "\x{a}" ~ " a: Anchor Element\x{a}" ~ " " ] + SVG.a.content = + (text + | SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + a = element a { attlist.a, SVG.a.content } + attlist.a &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.XLinkReplace.attrib, + SVG.External.attrib, + attribute transform { TransformList.datatype }?, + attribute target { LinkTarget.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-image.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-image.rnc new file mode 100644 index 00000000000..0dffc8e1b92 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-image.rnc @@ -0,0 +1,56 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Image +## +## image +## +## This module declares markup to provide support for image. +## + +## +## SVG.Image.class +## +[ xml:lang = "en" ] +grammar { + SVG.Image.extra.class = notAllowed + SVG.Image.class |= image | SVG.Image.extra.class + a:documentation [ "\x{a}" ~ " image: Image Element\x{a}" ~ " " ] + SVG.image.content = SVG.Description.class*, SVG.Animation.class* + image = element image { attlist.image, SVG.image.content } + attlist.image &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Viewport.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Profile.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.XLinkEmbed.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }, + attribute height { Length.datatype }, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, + attribute transform { TransformList.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-marker.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-marker.rnc new file mode 100644 index 00000000000..bfb7c316bd5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-marker.rnc @@ -0,0 +1,76 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Marker +## +## marker +## +## This module declares markup to provide support for marker. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + MarkerValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Marker.attrib\x{a}" ~ " " ] + SVG.Marker.extra.attrib = empty + SVG.Marker.attrib &= + attribute marker-start { MarkerValue.datatype }?, + attribute marker-mid { MarkerValue.datatype }?, + attribute marker-end { MarkerValue.datatype }?, + SVG.Marker.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Marker.class\x{a}" ~ " " ] + SVG.Marker.extra.class = notAllowed + SVG.Marker.class |= marker | SVG.Marker.extra.class + a:documentation [ "\x{a}" ~ " marker: Marker Element\x{a}" ~ " " ] + SVG.marker.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + marker = element marker { attlist.marker, SVG.marker.content } + attlist.marker &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.External.attrib, + attribute refX { Coordinate.datatype }?, + attribute refY { Coordinate.datatype }?, + attribute markerUnits { "strokeWidth" | "userSpaceOnUse" }?, + attribute markerWidth { Length.datatype }?, + attribute markerHeight { Length.datatype }?, + attribute orient { text }?, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-mask.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-mask.rnc new file mode 100644 index 00000000000..c5b8722bf8f --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-mask.rnc @@ -0,0 +1,74 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Mask +## +## mask +## +## This module declares markup to provide support for masking. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + MaskValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Mask.attrib\x{a}" ~ " " ] + SVG.Mask.extra.attrib = empty + SVG.Mask.attrib &= + attribute mask { MaskValue.datatype }?, + SVG.Mask.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Mask.class\x{a}" ~ " " ] + SVG.Mask.extra.class = notAllowed + SVG.Mask.class |= mask | SVG.Mask.extra.class + a:documentation [ "\x{a}" ~ " mask: Mask Element\x{a}" ~ " " ] + SVG.mask.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + mask = element mask { attlist.mask, SVG.mask.content } + attlist.mask &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute maskUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute maskContentUnits { + "userSpaceOnUse" | "objectBoundingBox" + }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-opacity-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-opacity-attrib.rnc new file mode 100644 index 00000000000..c794117b5fa --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-opacity-attrib.rnc @@ -0,0 +1,34 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Paint Opacity Attribute +## +## opacity, fill-opacity, stroke-opacity +## +## This module defines the Opacity attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.opacity.attrib = attribute opacity { OpacityValue.datatype }? + SVG.fill-opacity.attrib = + attribute fill-opacity { OpacityValue.datatype }? + SVG.stroke-opacity.attrib = + attribute stroke-opacity { OpacityValue.datatype }? + SVG.Opacity.extra.attrib = empty + SVG.Opacity.attrib &= + SVG.opacity.attrib, + SVG.fill-opacity.attrib, + SVG.stroke-opacity.attrib, + SVG.Opacity.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-paint-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-paint-attrib.rnc new file mode 100644 index 00000000000..bcb9ccce9e4 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-paint-attrib.rnc @@ -0,0 +1,97 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## 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. +## +[ xml:lang = "en" ] +grammar { + + ## + ## a 'fill' or 'stroke' property/attribute value: <paint> + ## + Paint.datatype = xsd:string + + ## + ## 'stroke-dasharray' property/attribute value + ## (e.g., 'none', list of <number>s) + ## + StrokeDashArrayValue.datatype = xsd:string + + ## + ## 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) + ## + StrokeDashOffsetValue.datatype = xsd:string + + ## + ## 'stroke-miterlimit' property/attribute value (e.g., <number>) + ## + StrokeMiterLimitValue.datatype = xsd:string + + ## + ## 'stroke-width' property/attribute value (e.g., <length>) + ## + StrokeWidthValue.datatype = xsd:string + SVG.fill.attrib = attribute fill { Paint.datatype }? + SVG.fill-rule.attrib = attribute fill-rule { ClipFillRule.datatype }? + SVG.stroke.attrib = attribute stroke { Paint.datatype }? + SVG.stroke-dasharray.attrib = + attribute stroke-dasharray { StrokeDashArrayValue.datatype }? + SVG.stroke-dashoffset.attrib = + attribute stroke-dashoffset { StrokeDashOffsetValue.datatype }? + SVG.stroke-linecap.attrib = + attribute stroke-linecap { + "butt" | "round" | "square" | "inherit" + }? + SVG.stroke-linejoin.attrib = + attribute stroke-linejoin { + "miter" | "round" | "bevel" | "inherit" + }? + SVG.stroke-miterlimit.attrib = + attribute stroke-miterlimit { StrokeMiterLimitValue.datatype }? + SVG.stroke-width.attrib = + attribute stroke-width { StrokeWidthValue.datatype }? + SVG.Paint.extra.attrib = empty + SVG.Paint.attrib &= + SVG.fill.attrib, + SVG.fill-rule.attrib, + SVG.stroke.attrib, + SVG.stroke-dasharray.attrib, + SVG.stroke-dashoffset.attrib, + SVG.stroke-linecap.attrib, + SVG.stroke-linejoin.attrib, + SVG.stroke-miterlimit.attrib, + SVG.stroke-width.attrib, + SVG.Paint.extra.attrib + SVG.color.attrib = attribute color { Color.datatype }? + SVG.color-interpolation.attrib = + attribute color-interpolation { + "auto" | "sRGB" | "linearRGB" | "inherit" + }? + SVG.color-rendering.attrib = + attribute color-rendering { + "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit" + }? + SVG.Color.extra.attrib = empty + SVG.Color.attrib &= + SVG.color.attrib, + SVG.color-interpolation.attrib, + SVG.color-rendering.attrib, + SVG.Color.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-pattern.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-pattern.rnc new file mode 100644 index 00000000000..0a538fe96a8 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-pattern.rnc @@ -0,0 +1,76 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Pattern +## +## pattern +## +## This module declares markup to provide support for pattern fill. +## + +## +## SVG.Pattern.class +## +[ xml:lang = "en" ] +grammar { + SVG.Pattern.extra.class = notAllowed + SVG.Pattern.class |= pattern | SVG.Pattern.extra.class + a:documentation [ + "\x{a}" ~ + " pattern: Pattern Element\x{a}" ~ + " " + ] + SVG.pattern.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + pattern = element pattern { attlist.pattern, SVG.pattern.content } + attlist.pattern &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }?, + attribute height { Length.datatype }?, + attribute patternUnits { "userSpaceOnUse" | "objectBoundingBox" }?, + attribute patternContentUnits { + "userSpaceOnUse" | "objectBoundingBox" + }?, + attribute patternTransform { TransformList.datatype }?, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-profile.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-profile.rnc new file mode 100644 index 00000000000..ba154bdca8b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-profile.rnc @@ -0,0 +1,58 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Color Profile +## +## color-profile +## +## This module declares markup to provide support for color profile. +## + +## +## SVG.Profile.attrib +## +[ xml:lang = "en" ] +grammar { + SVG.Profile.extra.attrib = empty + SVG.Profile.attrib &= + attribute color-profile { text }?, + SVG.Profile.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Profile.class\x{a}" ~ " " ] + SVG.Profile.extra.class = notAllowed + SVG.Profile.class |= color-profile | SVG.Profile.extra.class + a:documentation [ + "\x{a}" ~ + " color-profile: Color Profile Element\x{a}" ~ + " " + ] + SVG.color-profile.content = SVG.Description.class* + color-profile = + element color-profile { + attlist.color-profile, SVG.color-profile.content + } + attlist.color-profile &= + SVG.Core.attrib, + SVG.XLink.attrib, + attribute local { text }?, + attribute name { text }, + [ a:defaultValue = "auto" ] + attribute rendering-intent { + "auto" + | "perceptual" + | "relative-colorimetric" + | "saturation" + | "absolute-colorimetric" + }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-qname.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-qname.rnc new file mode 100644 index 00000000000..884c76d157d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-qname.rnc @@ -0,0 +1,116 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace xlink = "http://www.w3.org/1999/xlink" + +# ....................................................................... + +# SVG 1.1 Qualified Name Module ......................................... + +# file: svg-qname.mod +# +# This is SVG, a language for describing two-dimensional graphics in XML. +# Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved. +# Revision: $Id: svg-qname.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ +# +# This DTD module is identified by the PUBLIC and SYSTEM identifiers: +# +# PUBLIC "-//W3C//ENTITIES SVG 1.1 Qualified Name//EN" +# SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-qname.mod" +# +# ....................................................................... + +# Qualified Name +# +# This module is contained in two parts, labeled Section 'A' and 'B': +# +# Section A declares parameter entities to support namespace- +# qualified names, namespace declarations, and name prefixing +# for SVG and extensions. +# +# Section B declares parameter entities used to provide +# namespace-qualified names for all SVG element types: + +# Section A: SVG XML Namespace Framework :::::::::::::::::::::: + +# 1. Declare a %SVG.prefixed; conditional section keyword, used +# to activate namespace prefixing. The default value should +# inherit '%NS.prefixed;' from the DTD driver, so that unless +# overridden, the default behaviour follows the overall DTD +# prefixing scheme. + +# 2. Declare a parameter entity (eg., %SVG.xmlns;) containing +# the URI reference used to identify the SVG namespace: + +# 3. Declare parameter entities (eg., %SVG.prefix;) containing +# the default namespace prefix string(s) to use when prefixing +# is enabled. This may be overridden in the DTD driver or the +# internal subset of an document instance. If no default prefix +# is desired, this may be declared as an empty string. + +# 4. Declare parameter entities (eg., %SVG.pfx;) containing the +# colonized prefix(es) (eg., '%SVG.prefix;:') used when +# prefixing is active, an empty string when it is not. + +# 5. The parameter entity %SVG.xmlns.extra.attrib; may be +# redeclared to contain any non-SVG namespace declaration +# attributes for namespaces embedded in SVG. The default +# is an empty string. + +# Declare a parameter entity XLINK.xmlns.attrib containing +# the XML Namespace declarations for XLink. +XLINK.xmlns.attrib = empty +# Declare a parameter entity %NS.decl.attrib; containing +# all XML Namespace declarations used in the DTD, plus the +# xmlns declaration for SVG, its form dependent on whether +# prefixing is active. + +# Declare a parameter entity %SVG.xmlns.attrib; containing +# all XML namespace declaration attributes used by SVG, +# including a default xmlns attribute when prefixing is +# inactive. +SVG.xmlns.attrib = empty, XLINK.xmlns.attrib +# Section B: SVG Qualified Names :::::::::::::::::::::::::::::: + +# 6. This section declares parameter entities used to provide +# namespace-qualified names for all SVG element types. + +# module: svg-structure.mod ......................... + +# module: svg-conditional.mod ....................... + +# module: svg-image.mod ............................. + +# module: svg-style.mod ............................. + +# module: svg-shape.mod ............................. + +# module: svg-text.mod .............................. + +# module: svg-marker.mod ............................ + +# module: svg-profile.mod ........................... + +# module: svg-gradient.mod .......................... + +# module: svg-pattern.mod ........................... + +# module: svg-clip.mod .............................. + +# module: svg-mask.mod .............................. + +# module: svg-filter.mod ............................ + +# module: svg-cursor.mod ............................ + +# module: svg-hyperlink.mod ......................... + +# module: svg-view.mod .............................. + +# module: svg-script.mod ............................ + +# module: svg-animation.mod ......................... + +# module: svg-font.mod .............................. + +# module: svg-extensibility.mod ..................... + +# end of svg-qname.mod diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-script.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-script.rnc new file mode 100644 index 00000000000..a990e5497fc --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-script.rnc @@ -0,0 +1,38 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Scripting +## +## script +## +## This module declares markup to provide support for scripting. +## + +## +## SVG.Script.class +## +[ xml:lang = "en" ] +grammar { + SVG.Script.extra.class = notAllowed + SVG.Script.class |= script | SVG.Script.extra.class + a:documentation [ "\x{a}" ~ " script: Script Element\x{a}" ~ " " ] + SVG.script.content = text + script = element script { attlist.script, SVG.script.content } + attlist.script &= + SVG.Core.attrib, + SVG.XLink.attrib, + SVG.External.attrib, + attribute type { ContentType.datatype } +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-shape.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-shape.rnc new file mode 100644 index 00000000000..cc80462b97d --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-shape.rnc @@ -0,0 +1,207 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Shape +## +## path, rect, circle, line, ellipse, polyline, polygon +## +## This module declares markup to provide support for graphical shapes. +## +[ xml:lang = "en" ] +grammar { + + ## + ## a list of points + ## + Points.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Shape.class\x{a}" ~ " " ] + SVG.Shape.extra.class = notAllowed + SVG.Shape.class |= + path + | rect + | circle + | line + | ellipse + | polyline + | polygon + | SVG.Shape.extra.class + a:documentation [ "\x{a}" ~ " path: Path Element\x{a}" ~ " " ] + SVG.path.content = SVG.Description.class*, SVG.Animation.class* + path = element path { attlist.path, SVG.path.content } + attlist.path &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute d { PathData.datatype }, + attribute pathLength { Number.datatype }?, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " rect: Rectangle Element\x{a}" ~ + " " + ] + SVG.rect.content = SVG.Description.class*, SVG.Animation.class* + rect = element rect { attlist.rect, SVG.rect.content } + attlist.rect &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute x { Coordinate.datatype }?, + attribute y { Coordinate.datatype }?, + attribute width { Length.datatype }, + attribute height { Length.datatype }, + attribute rx { Length.datatype }?, + attribute ry { Length.datatype }?, + attribute transform { TransformList.datatype }? + a:documentation [ "\x{a}" ~ " circle: Circle Element\x{a}" ~ " " ] + SVG.circle.content = SVG.Description.class*, SVG.Animation.class* + circle = element circle { attlist.circle, SVG.circle.content } + attlist.circle &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute cx { Coordinate.datatype }?, + attribute cy { Coordinate.datatype }?, + attribute r { Length.datatype }, + attribute transform { TransformList.datatype }? + a:documentation [ "\x{a}" ~ " line: Line Element\x{a}" ~ " " ] + SVG.line.content = SVG.Description.class*, SVG.Animation.class* + line = element line { attlist.line, SVG.line.content } + attlist.line &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute x1 { Coordinate.datatype }?, + attribute y1 { Coordinate.datatype }?, + attribute x2 { Coordinate.datatype }?, + attribute y2 { Coordinate.datatype }?, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " ellipse: Ellipse Element\x{a}" ~ + " " + ] + SVG.ellipse.content = SVG.Description.class*, SVG.Animation.class* + ellipse = element ellipse { attlist.ellipse, SVG.ellipse.content } + attlist.ellipse &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute cx { Coordinate.datatype }?, + attribute cy { Coordinate.datatype }?, + attribute rx { Length.datatype }, + attribute ry { Length.datatype }, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " polyline: Polyline Element\x{a}" ~ + " " + ] + SVG.polyline.content = SVG.Description.class*, SVG.Animation.class* + polyline = element polyline { attlist.polyline, SVG.polyline.content } + attlist.polyline &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute points { Points.datatype }, + attribute transform { TransformList.datatype }? + a:documentation [ + "\x{a}" ~ + " polygon: Polygon Element\x{a}" ~ + " " + ] + SVG.polygon.content = SVG.Description.class*, SVG.Animation.class* + polygon = element polygon { attlist.polygon, SVG.polygon.content } + attlist.polygon &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Marker.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute points { Points.datatype }, + attribute transform { TransformList.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-structure.rnc new file mode 100644 index 00000000000..370c4259c05 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-structure.rnc @@ -0,0 +1,62 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Structure +## +## svg, g, defs, desc, title, metadata, symbol, use +## +## This module declares the major structural elements and their attributes. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-structure.rnc" + + ## + ## extend SVG.Structure.class + ## + SVG.Structure.class |= symbol + a:documentation [ "\x{a}" ~ " symbol: Symbol Element\x{a}" ~ " " ] + SVG.symbol.content = + (SVG.Description.class + | SVG.Animation.class + | SVG.Structure.class + | SVG.Conditional.class + | SVG.Image.class + | SVG.Style.class + | SVG.Shape.class + | SVG.Text.class + | SVG.Marker.class + | SVG.Profile.class + | SVG.Gradient.class + | SVG.Pattern.class + | SVG.Clip.class + | SVG.Mask.class + | SVG.Filter.class + | SVG.Cursor.class + | SVG.Hyperlink.class + | SVG.View.class + | SVG.Script.class + | SVG.Font.class)* + symbol = element symbol { attlist.symbol, SVG.symbol.content } + attlist.symbol &= + SVG.Core.attrib, + SVG.Style.attrib, + SVG.Presentation.attrib, + SVG.GraphicalEvents.attrib, + SVG.External.attrib, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-style.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-style.rnc new file mode 100644 index 00000000000..68c7f48c1a3 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-style.rnc @@ -0,0 +1,56 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Style +## +## style +## +## This module declares markup to provide support for stylesheet. +## + +## +## Datatypes +## +[ xml:lang = "en" ] +grammar { + ClassList.datatype = xsd:NMTOKENS + StyleSheet.datatype = xsd:string + + ## + ## comma-separated list of media descriptors. + ## + MediaDesc.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Style.attrib\x{a}" ~ " " ] + SVG.Style.extra.attrib = empty + SVG.Style.attrib &= + attribute style { StyleSheet.datatype }?, + attribute class { ClassList.datatype }?, + SVG.Style.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.Style.class\x{a}" ~ " " ] + SVG.Style.extra.class = notAllowed + SVG.Style.class |= style | SVG.Style.extra.class + a:documentation [ "\x{a}" ~ " style: Style Element\x{a}" ~ " " ] + SVG.style.content = text + style = element style { attlist.style, SVG.style.content } + attlist.style &= + [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }?, + SVG.id.attrib, + SVG.base.attrib, + SVG.lang.attrib, + SVG.Core.extra.attrib, + attribute type { ContentType.datatype }, + attribute media { MediaDesc.datatype }?, + attribute title { Text.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-text.rnc new file mode 100644 index 00000000000..b9d52e14420 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-text.rnc @@ -0,0 +1,275 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Text +## +## text, tspan, tref, textPath, altGlyph, altGlyphDef, altGlyphItem, +## glyphRef +## +## This module declares markup to provide support for alternate glyph. +## +[ xml:lang = "en" ] +grammar { + include "svg-basic-text.rnc" + a:documentation [ "\x{a}" ~ " Datatypes\x{a}" ~ " " ] + BaselineShiftValue.datatype = xsd:string + FontSizeAdjustValue.datatype = xsd:string + GlyphOrientationHorizontalValue.datatype = xsd:string + GlyphOrientationVerticalValue.datatype = xsd:string + KerningValue.datatype = xsd:string + SpacingValue.datatype = xsd:string + TextDecorationValue.datatype = xsd:string + a:documentation [ "\x{a}" ~ " SVG.Text.attrib\x{a}" ~ " " ] + SVG.Text.extra.attrib = empty + SVG.Text.attrib &= + attribute writing-mode { + "lr-tb" | "rl-tb" | "tb-rl" | "lr" | "rl" | "tb" | "inherit" + }?, + SVG.Text.extra.attrib + a:documentation [ "\x{a}" ~ " SVG.TextContent.attrib\x{a}" ~ " " ] + SVG.TextContent.extra.attrib = empty + SVG.TextContent.attrib &= + attribute alignment-baseline { + "auto" + | "baseline" + | "before-edge" + | "text-before-edge" + | "middle" + | "central" + | "after-edge" + | "text-after-edge" + | "ideographic" + | "alphabetic" + | "hanging" + | "mathematical" + | "inherit" + }?, + attribute baseline-shift { BaselineShiftValue.datatype }?, + attribute direction { "ltr" | "rtl" | "inherit" }?, + attribute dominant-baseline { + "auto" + | "use-script" + | "no-change" + | "reset-size" + | "ideographic" + | "alphabetic" + | "hanging" + | "mathematical" + | "central" + | "middle" + | "text-after-edge" + | "text-before-edge" + | "inherit" + }?, + attribute glyph-orientation-horizontal { + GlyphOrientationHorizontalValue.datatype + }?, + attribute glyph-orientation-vertical { + GlyphOrientationVerticalValue.datatype + }?, + attribute kerning { KerningValue.datatype }?, + attribute letter-spacing { SpacingValue.datatype }?, + attribute text-anchor { "start" | "middle" | "end" | "inherit" }?, + attribute text-decoration { TextDecorationValue.datatype }?, + attribute unicode-bidi { + "normal" | "embed" | "bidi-override" | "inherit" + }?, + attribute word-spacing { SpacingValue.datatype }?, + SVG.TextContent.extra.attrib + SVG.Font.attrib &= + attribute font-size-adjust { FontSizeAdjustValue.datatype }?, + attribute font-stretch { + "normal" + | "wider" + | "narrower" + | "ultra-condensed" + | "extra-condensed" + | "condensed" + | "semi-condensed" + | "semi-expanded" + | "expanded" + | "extra-expanded" + | "ultra-expanded" + | "inherit" + }?, + attribute font-variant { "normal" | "small-caps" | "inherit" }? + + ## + ## extend SVG.Text.class + ## + SVG.Text.class |= altGlyphDef + + ## + ## extend SVG.TextContent.class + ## + SVG.TextContent.class |= tspan | tref | textPath + a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ] + SVG.text.class |= SVG.TextContent.class + attlist.text &= + SVG.Text.attrib, + SVG.TextContent.attrib, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " tspan: Text Span Element\x{a}" ~ + " " + ] + SVG.tspan.content = + (text + | tspan + | tref + | altGlyph + | animate + | set + | animateColor + | SVG.Description.class + | SVG.Hyperlink.class)* + tspan = element tspan { attlist.tspan, SVG.tspan.content } + attlist.tspan &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.External.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " tref: Text Reference Element\x{a}" ~ + " " + ] + SVG.tref.content = + (animate | set | animateColor | SVG.Description.class)* + tref = element tref { attlist.tref, SVG.tref.content } + attlist.tref &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.XLinkRequired.attrib, + SVG.External.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }? + a:documentation [ + "\x{a}" ~ + " textPath: Text Path Element\x{a}" ~ + " " + ] + SVG.textPath.content = + (text + | tspan + | tref + | altGlyph + | animate + | set + | animateColor + | SVG.Description.class + | SVG.Hyperlink.class)* + textPath = element textPath { attlist.textPath, SVG.textPath.content } + attlist.textPath &= + SVG.Core.attrib, + SVG.Conditional.attrib, + SVG.Style.attrib, + SVG.TextContent.attrib, + SVG.Font.attrib, + SVG.Paint.attrib, + SVG.Color.attrib, + SVG.Opacity.attrib, + SVG.Graphics.attrib, + SVG.Clip.attrib, + SVG.Mask.attrib, + SVG.Filter.attrib, + SVG.GraphicalEvents.attrib, + SVG.Cursor.attrib, + SVG.XLinkRequired.attrib, + SVG.External.attrib, + attribute startOffset { Length.datatype }?, + attribute textLength { Length.datatype }?, + attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?, + attribute method { "align" | "stretch" }?, + attribute spacing { "auto" | "exact" }? + a:documentation [ + "\x{a}" ~ + " altGlyph: Alternate Glyph Element\x{a}" ~ + " " + ] + attlist.altGlyph &= + SVG.TextContent.attrib, + attribute x { Coordinates.datatype }?, + attribute y { Coordinates.datatype }?, + attribute dx { Lengths.datatype }?, + attribute dy { Lengths.datatype }?, + attribute rotate { Numbers.datatype }? + a:documentation [ + "\x{a}" ~ + " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~ + " " + ] + SVG.altGlyphDef.content |= altGlyphItem+ + a:documentation [ + "\x{a}" ~ + " altGlyphItem: Alternate Glyph Item Element\x{a}" ~ + " " + ] + SVG.altGlyphItem.content = glyphRef+ + altGlyphItem = + element altGlyphItem { + attlist.altGlyphItem, SVG.altGlyphItem.content + } + attlist.altGlyphItem &= SVG.Core.attrib + a:documentation [ + "\x{a}" ~ + " glyphRef: Glyph Reference Element\x{a}" ~ + " " + ] + attlist.glyphRef &= + attribute x { Number.datatype }?, + attribute y { Number.datatype }?, + attribute dx { Number.datatype }?, + attribute dy { Number.datatype }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-view.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-view.rnc new file mode 100644 index 00000000000..41501c31f92 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-view.rnc @@ -0,0 +1,42 @@ +default namespace = "http://www.w3.org/2000/svg" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## View +## +## view +## +## This module declares markup to provide support for view. +## + +## +## SVG.View.class +## +[ xml:lang = "en" ] +grammar { + SVG.View.extra.class = notAllowed + SVG.View.class |= view | SVG.View.extra.class + a:documentation [ "\x{a}" ~ " view: View Element\x{a}" ~ " " ] + SVG.view.content = SVG.Description.class* + view = element view { attlist.view, SVG.view.content } + attlist.view &= + SVG.Core.attrib, + SVG.External.attrib, + attribute viewBox { ViewBoxSpec.datatype }?, + [ a:defaultValue = "xMidYMid meet" ] + attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?, + [ a:defaultValue = "magnify" ] + attribute zoomAndPan { "disable" | "magnify" }?, + attribute viewTarget { text }? +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-viewport-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-viewport-attrib.rnc new file mode 100644 index 00000000000..d7acd96d7c5 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-viewport-attrib.rnc @@ -0,0 +1,36 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + + +## +## 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 $ +## + +## +## Viewport Attribute +## +## clip, overflow +## +## This module defines the Viewport attribute set. +## +[ xml:lang = "en" ] +grammar { + + ## + ## 'clip' property/attribute value (e.g., 'auto', rect(...)) + ## + ClipValue.datatype = xsd:string + SVG.clip.attrib = attribute clip { ClipValue.datatype }? + SVG.overflow.attrib = + attribute overflow { + "visible" | "hidden" | "scroll" | "auto" | "inherit" + }? + SVG.Viewport.extra.attrib = empty + SVG.Viewport.attrib &= + SVG.clip.attrib, SVG.overflow.attrib, SVG.Viewport.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-xlink-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-xlink-attrib.rnc new file mode 100644 index 00000000000..c31505e04d2 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-xlink-attrib.rnc @@ -0,0 +1,67 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace xlink = "http://www.w3.org/1999/xlink" + + +## +## 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 $ +## + +## +## XLink Attribute +## +## type, href, role, arcrole, title, show, actuate +## +## This module defines the XLink, XLinkRequired, XLinkEmbed, and +## XLinkReplace attribute set. +## +[ xml:lang = "en" ] +grammar { + SVG.XLink.extra.attrib = empty + SVG.XLink.attrib &= + [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, + attribute xlink:href { URI.datatype }?, + attribute xlink:role { URI.datatype }?, + attribute xlink:arcrole { URI.datatype }?, + attribute xlink:title { text }?, + [ a:defaultValue = "other" ] attribute xlink:show { "other" }?, + [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, + SVG.XLink.extra.attrib + SVG.XLinkRequired.extra.attrib = empty + SVG.XLinkRequired.attrib &= + [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, + attribute xlink:href { URI.datatype }, + attribute xlink:role { URI.datatype }?, + attribute xlink:arcrole { URI.datatype }?, + attribute xlink:title { text }?, + [ a:defaultValue = "other" ] attribute xlink:show { "other" }?, + [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, + SVG.XLinkRequired.extra.attrib + SVG.XLinkEmbed.extra.attrib = empty + SVG.XLinkEmbed.attrib &= + [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, + attribute xlink:href { URI.datatype }, + attribute xlink:role { URI.datatype }?, + attribute xlink:arcrole { URI.datatype }?, + attribute xlink:title { text }?, + [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?, + [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?, + SVG.XLinkEmbed.extra.attrib + SVG.XLinkReplace.extra.attrib = empty + SVG.XLinkReplace.attrib &= + [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?, + attribute xlink:href { URI.datatype }, + attribute xlink:role { URI.datatype }?, + attribute xlink:arcrole { URI.datatype }?, + attribute xlink:title { text }?, + [ a:defaultValue = "replace" ] + attribute xlink:show { "new" | "replace" }?, + [ a:defaultValue = "onRequest" ] + attribute xlink:actuate { "onRequest" }?, + SVG.XLinkReplace.extra.attrib +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-basic.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-basic.rnc new file mode 100644 index 00000000000..846970b1357 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-basic.rnc @@ -0,0 +1,183 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace ns1 = "http://www.w3.org/2000/svg" +namespace xlink = "http://www.w3.org/1999/xlink" + + +## +## RELAX NG schema for SVG 1.1 Basic +## file: svg11-basic.rng +## +## This is SVG Basic, a proper subset of SVG. +## +## 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-basic.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ +## +## This is the driver file for version 1.1 of the SVG Basic RELAX NG schema. +## +## The DTD version is identified by the PUBLIC and SYSTEM identifiers: +## +## PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" +## SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" +## +## Use this URI to identify the default namespace: +## +## "http://www.w3.org/2000/svg" +## +[ xml:lang = "en" ] +grammar { + + ## + ## Viewport Attribute Module + ## + include "svg-viewport-attrib.rnc" inherit = ns1 + + ## + ## Paint Attribute Module + ## + include "svg-paint-attrib.rnc" inherit = ns1 + + ## + ## Opacity Attribute Module + ## + include "svg-opacity-attrib.rnc" inherit = ns1 + + ## + ## Graphics Attribute Module + ## + include "svg-graphics-attrib.rnc" inherit = ns1 + + ## + ## Document Events Attribute Module + ## + include "svg-docevents-attrib.rnc" inherit = ns1 + + ## + ## Graphical Element Events Attribute Module + ## + include "svg-graphevents-attrib.rnc" inherit = ns1 + + ## + ## Animation Events Attribute Module + ## + include "svg-animevents-attrib.rnc" inherit = ns1 + + ## + ## XLink Attribute Module + ## + include "svg-xlink-attrib.rnc" inherit = ns1 + + ## + ## External Resources Attribute Module + ## + include "svg-extresources-attrib.rnc" inherit = ns1 + + ## + ## Structure Module (required) + ## + include "svg-structure.rnc" inherit = ns1 + + ## + ## Conditional Processing Module + ## + include "svg-conditional.rnc" inherit = ns1 + + ## + ## Image Module + ## + include "svg-image.rnc" inherit = ns1 + + ## + ## Style Module + ## + include "svg-style.rnc" inherit = ns1 + + ## + ## Shape Module + ## + include "svg-shape.rnc" inherit = ns1 + + ## + ## Text Module + ## + include "svg-text.rnc" inherit = ns1 + + ## + ## Color Profile Module + ## + include "svg-profile.rnc" inherit = ns1 + + ## + ## Gradient Module + ## + include "svg-gradient.rnc" inherit = ns1 + + ## + ## Pattern Module + ## + include "svg-pattern.rnc" inherit = ns1 + + ## + ## Basic Clip Module + ## + include "svg-basic-clip.rnc" inherit = ns1 + + ## + ## Mask Module + ## + include "svg-mask.rnc" inherit = ns1 + + ## + ## Basic Filter Module + ## + include "svg-basic-filter.rnc" inherit = ns1 + + ## + ## Cursor Module + ## + include "svg-cursor.rnc" inherit = ns1 + + ## + ## Hyperlinking Module + ## + include "svg-hyperlink.rnc" inherit = ns1 + + ## + ## View Module + ## + include "svg-view.rnc" inherit = ns1 + + ## + ## Scripting Module + ## + include "svg-script.rnc" inherit = ns1 + + ## + ## Animation Module + ## + include "svg-animation.rnc" inherit = ns1 + + ## + ## Font Module + ## + include "svg-font.rnc" inherit = ns1 + + ## + ## Extensibility Module + ## + include "svg-extensibility.rnc" inherit = ns1 +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-tiny.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-tiny.rnc new file mode 100644 index 00000000000..40ff52469a1 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-tiny.rnc @@ -0,0 +1,138 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace ns1 = "http://www.w3.org/2000/svg" +namespace xlink = "http://www.w3.org/1999/xlink" + + +## +## RELAX NG schema for SVG 1.1 Tiny +## file: svg11-tiny.rng +## +## This is SVG Tiny, a proper subset of SVG. +## +## 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-tiny.rng,v 1.1 2003/07/15 07:11:10 dean Exp $ +## +## This is the driver file for version 1.1 of the SVG Tiny RELAX NG schema. +## +## The DTD version is identified by the PUBLIC and SYSTEM identifiers: +## +## PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" +## SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd" +## +## Use this URI to identify the default namespace: +## +## "http://www.w3.org/2000/svg" +## +[ xml:lang = "en" ] +grammar { + + ## + ## Paint Attribute Module + ## + include "svg-paint-attrib.rnc" inherit = ns1 + + ## + ## Basic Graphics Attribute Module + ## + include "svg-basic-graphics-attrib.rnc" inherit = ns1 + + ## + ## Document Events Attribute Module + ## + include "svg-docevents-attrib.rnc" inherit = ns1 + + ## + ## Graphical Element Events Attribute Module + ## + include "svg-graphevents-attrib.rnc" inherit = ns1 + + ## + ## Animation Events Attribute Module + ## + include "svg-animevents-attrib.rnc" inherit = ns1 + + ## + ## XLink Attribute Module + ## + include "svg-xlink-attrib.rnc" inherit = ns1 + + ## + ## External Resources Attribute Module + ## + include "svg-extresources-attrib.rnc" inherit = ns1 + + ## + ## Basic Structure Module (required) + ## + include "svg-basic-structure.rnc" inherit = ns1 + + ## + ## Conditional Processing Module + ## + include "svg-conditional.rnc" inherit = ns1 + + ## + ## Image Module + ## + include "svg-image.rnc" inherit = ns1 + + ## + ## Style Module + ## + include "svg-style.rnc" inherit = ns1 + + ## + ## Shape Module + ## + include "svg-shape.rnc" inherit = ns1 + + ## + ## Basic Text Module + ## + include "svg-basic-text.rnc" inherit = ns1 + + ## + ## Hyperlinking Module + ## + include "svg-hyperlink.rnc" inherit = ns1 + + ## + ## View Module + ## + include "svg-view.rnc" inherit = ns1 + + ## + ## Scripting Module + ## + include "svg-script.rnc" inherit = ns1 + + ## + ## Animation Module + ## + include "svg-animation.rnc" inherit = ns1 + + ## + ## Basic Font Module + ## + include "svg-basic-font.rnc" inherit = ns1 + + ## + ## Extensibility Module + ## + include "svg-extensibility.rnc" inherit = ns1 +} diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11.rnc new file mode 100644 index 00000000000..4e3f3b4366a --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11.rnc @@ -0,0 +1,193 @@ +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" +namespace ns1 = "http://www.w3.org/2000/svg" +namespace xlink = "http://www.w3.org/1999/xlink" + + +## +## 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" +## +[ xml:lang = "en" ] +grammar { + + ## + ## Container Attribute Module + ## + include "svg-container-attrib.rnc" inherit = ns1 + + ## + ## Viewport Attribute Module + ## + include "svg-viewport-attrib.rnc" inherit = ns1 + + ## + ## Paint Attribute Module + ## + include "svg-paint-attrib.rnc" inherit = ns1 + + ## + ## Paint Opacity Attribute Module + ## + include "svg-opacity-attrib.rnc" inherit = ns1 + + ## + ## Graphics Attribute Module + ## + include "svg-graphics-attrib.rnc" inherit = ns1 + + ## + ## Document Events Attribute Module + ## + include "svg-docevents-attrib.rnc" inherit = ns1 + + ## + ## Graphical Element Events Attribute Module + ## + include "svg-graphevents-attrib.rnc" inherit = ns1 + + ## + ## Animation Events Attribute Module + ## + include "svg-animevents-attrib.rnc" inherit = ns1 + + ## + ## XLink Attribute Module + ## + include "svg-xlink-attrib.rnc" inherit = ns1 + + ## + ## External Resources Attribute Module + ## + include "svg-extresources-attrib.rnc" inherit = ns1 + + ## + ## Structure Module (required) + ## + include "svg-structure.rnc" inherit = ns1 + + ## + ## Conditional Processing Module + ## + include "svg-conditional.rnc" inherit = ns1 + + ## + ## Image Module + ## + include "svg-image.rnc" inherit = ns1 + + ## + ## Style Module + ## + include "svg-style.rnc" inherit = ns1 + + ## + ## Shape Module + ## + include "svg-shape.rnc" inherit = ns1 + + ## + ## Text Module + ## + include "svg-text.rnc" inherit = ns1 + + ## + ## Marker Module + ## + include "svg-marker.rnc" inherit = ns1 + + ## + ## Color Profile Module + ## + include "svg-profile.rnc" inherit = ns1 + + ## + ## Gradient Module + ## + Include "svg-gradient.rnc" inherit = ns1 + + ## + ## Pattern Module + ## + include "svg-pattern.rnc" inherit = ns1 + + ## + ## Clip Module + ## + include "svg-clip.rnc" inherit = ns1 + + ## + ## Mask Module + ## + include "svg-mask.rnc" inherit = ns1 + + ## + ## Filter Module + ## + include "svg-filter.rnc" inherit = ns1 + + ## + ## Cursor Module + ## + include "svg-cursor.rnc" inherit = ns1 + + ## + ## Hyperlinking Module + ## + include "svg-hyperlink.rnc" inherit = ns1 + + ## + ## View Module + ## + include "svg-view.rnc" inherit = ns1 + + ## + ## Scripting Module + ## + include "svg-script.rnc" inherit = ns1 + + ## + ## Animation Module + ## + include "svg-animation.rnc" inherit = ns1 + + ## + ## Font Module + ## + include "svg-font.rnc" inherit = ns1 + + ## + ## Extensibility Module + ## + include "svg-extensibility.rnc" inherit = ns1 +} |