diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng')
-rw-r--r-- | Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng | 809 |
1 files changed, 809 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng new file mode 100644 index 00000000000..4510c3776fd --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng @@ -0,0 +1,809 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A simplified RelaxNG for OWL2 (so that we can generate OWL from sTeX + https://kwarc.info/repos/kwarc/repos/stex/rnc/omdoc+ltxml.rnc + (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://www.w3.org/2002/07/owl#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="nonlocal-attribs"> + <attribute> + <anyName> + <except> + <nsName ns=""/> + <nsName/> + </except> + </anyName> + <data type="string"/> + </attribute> + </define> + <start> + <ref name="Ontology"/> + </start> + <define name="base.attrib"> + <element name="xml:base"> + <data type="anyURI"/> + </element> + </define> + <define name="ontologyIRI.attrib"> + <attribute name="ontologyIRI"> + <data type="anyURI"/> + </attribute> + </define> + <define name="IRI.attrib"> + <choice> + <attribute name="IRI"/> + <attribute name="abbreviatedIRI"/> + </choice> + </define> + <define name="datatypeIRI.attrib"> + <attribute name="datatypeIRI"/> + </define> + <define name="name.attrib"> + <attribute name="name"/> + </define> + <define name="facet.attrib"> + <attribute name="facet"> + <data type="anyURI"/> + </attribute> + </define> + <define name="cardinality.attrib"> + <attribute name="cardinality"> + <data type="integer"/> + </attribute> + </define> + <define name="Ontology.attribs"> + <interleave> + <optional> + <ref name="ontologyIRI.attrib"/> + </optional> + <optional> + <ref name="base.attrib"/> + </optional> + </interleave> + </define> + <define name="Ontology.model"> + <interleave> + <zeroOrMore> + <ref name="Prefix"/> + </zeroOrMore> + <zeroOrMore> + <ref name="Declaration"/> + </zeroOrMore> + <zeroOrMore> + <ref name="Import"/> + </zeroOrMore> + <zeroOrMore> + <ref name="Axioms"/> + </zeroOrMore> + </interleave> + </define> + <define name="Axioms"> + <interleave> + <zeroOrMore> + <ref name="AnnotationAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DatatypeDefinition"/> + </zeroOrMore> + <zeroOrMore> + <ref name="HasKey"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SubClassOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="EquivalentClasses"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ObjectProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DisjointClasses"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DifferentIndividuals"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SameIndividual"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ObjectPropertyAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataPropertyAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ClassAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="NegativeObjectPropertyAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="NegativeDataPropertyAssertion"/> + </zeroOrMore> + <zeroOrMore> + <ref name="NegativeClassAssertion"/> + </zeroOrMore> + </interleave> + </define> + <define name="Ontology"> + <element name="Ontology"> + <interleave> + <ref name="Ontology.attribs"/> + <ref name="Ontology.model"/> + </interleave> + </element> + </define> + <define name="Prefix"> + <element name="Prefix"> + <interleave> + <ref name="name.attrib"/> + <ref name="IRI.attrib"/> + </interleave> + </element> + </define> + <define name="Import"> + <element name="Import"> + <data type="anyURI"/> + </element> + </define> + <define name="ObjectProperties"> + <interleave> + <zeroOrMore> + <ref name="SymmetricObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="AsymmetricObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ReflexiveObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="IrreflexiveObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="FunctionalObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DisjointObjectProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseFunctionalObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TransitiveObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TransitiveObjectProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ObjectPropertyDomain"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ObjectPropertyRange"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseObjectProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SubObjectPropertyOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="EquivalentObjectProperties"/> + </zeroOrMore> + </interleave> + </define> + <define name="DataProperties"> + <interleave> + <zeroOrMore> + <ref name="SymmetricDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="AsymmetricDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="ReflexiveDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="IrreflexiveDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="FunctionalDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DisjointDataProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseFunctionalDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TransitiveDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="TransitiveDataProperty"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataPropertyDomain"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataPropertyRange"/> + </zeroOrMore> + <zeroOrMore> + <ref name="InverseDataProperties"/> + </zeroOrMore> + <zeroOrMore> + <ref name="SubDataPropertyOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="EquivalentDataProperties"/> + </zeroOrMore> + </interleave> + </define> + <define name="Declaration.model"> + <choice> + <ref name="Class.model"/> + <ref name="Data.model"/> + </choice> + </define> + <define name="Declaration"> + <element name="Declaration"> + <ref name="Declaration.model"/> + </element> + </define> + <define name="NamedIndividual"> + <element name="NamedIndividual"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="ClassAssertion"> + <element name="ClassAssertion"> + <ref name="Class.model"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="NegativeClassAssertion"> + <element name="NegativeClassAssertion"> + <ref name="Class.model"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="ObjectProperty"> + <element name="ObjectProperty"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="SymmetricObjectProperty"> + <element name="SymmetricObjectProperty"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="AsymmetricObjectProperty"> + <element name="AsymmetricObjectProperty"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="DisjointObjectProperties"> + <element name="DisjointObjectProperties"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="ReflexiveObjectProperty"> + <element name="ReflexiveObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="IrreflexiveObjectProperty"> + <element name="IrreflexiveObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="FunctionalObjectProperty"> + <element name="FunctionalObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="InverseFunctionalObjectProperty"> + <element name="InverseFunctionalObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="InverseObjectProperty"> + <element name="InverseObjectProperty"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="InverseObjectProperties"> + <element name="InverseObjectProperties"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="TransitiveObjectProperty"> + <element name="TransitiveObjectProperty"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="EquivalentObjectProperties"> + <element name="EquivalentObjectProperties"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectPropertyDomain"> + <element name="ObjectPropertyDomain"> + <ref name="ObjectProperty"/> + <ref name="Class"/> + </element> + </define> + <define name="ObjectPropertyRange"> + <element name="ObjectPropertyRange"> + <ref name="ObjectProperty"/> + <ref name="Class"/> + </element> + </define> + <define name="SubObjectPropertyOf"> + <element name="SubObjectPropertyOf"> + <choice> + <ref name="ObjectProperty"/> + <ref name="ObjectPropertyChain"/> + </choice> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="ObjectPropertyChain"> + <element name="ObjectPropertyChain"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectPropertyAssertion"> + <element name="ObjectPropertyAssertion"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + <ref name="Ind.class"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="NegativeObjectPropertyAssertion"> + <element name="NegativeObjectPropertyAssertion"> + <zeroOrMore> + <ref name="ObjectProperty"/> + </zeroOrMore> + <ref name="Ind.class"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="SymmetricDataProperty"> + <element name="SymmetricDataProperty"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="AsymmetricDataProperty"> + <element name="AsymmetricDataProperty"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="DisjointDataProperties"> + <element name="DisjointDataProperties"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="ReflexiveDataProperty"> + <element name="ReflexiveDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="IrreflexiveDataProperty"> + <element name="IrreflexiveDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="FunctionalDataProperty"> + <element name="FunctionalDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="InverseFunctionalDataProperty"> + <element name="InverseFunctionalDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="InverseDataProperty"> + <element name="InverseDataProperty"> + <ref name="DataProperty"/> + </element> + </define> + <define name="InverseDataProperties"> + <element name="InverseDataProperties"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="TransitiveDataProperty"> + <element name="TransitiveDataProperty"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="EquivalentDataProperties"> + <element name="EquivalentDataProperties"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="DataPropertyDomain"> + <element name="DataPropertyDomain"> + <ref name="DataProperty"/> + <ref name="Class"/> + </element> + </define> + <define name="DataPropertyRange"> + <element name="DataPropertyRange"> + <ref name="DataProperty"/> + <ref name="Datatype"/> + </element> + </define> + <define name="SubDataPropertyOf"> + <element name="SubDataPropertyOf"> + <choice> + <ref name="DataProperty"/> + <ref name="DataPropertyChain"/> + </choice> + <ref name="DataProperty"/> + </element> + </define> + <define name="DataPropertyChain"> + <element name="DataPropertyChain"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + </element> + </define> + <define name="DataPropertyAssertion"> + <element name="DataPropertyAssertion"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + <ref name="Ind.class"/> + <ref name="Literal"/> + </element> + </define> + <define name="NegativeDataPropertyAssertion"> + <element name="NegativeDataPropertyAssertion"> + <zeroOrMore> + <ref name="DataProperty"/> + </zeroOrMore> + <ref name="Ind.class"/> + <ref name="Literal"/> + </element> + </define> + <define name="DataProperty"> + <element name="DataProperty"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="Datatype"> + <element name="Datatype"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="Class"> + <element name="Class"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="Annotation"> + <element name="Annotation"> + <interleave> + <ref name="AnnotationProperty"/> + <ref name="Literal"/> + </interleave> + </element> + </define> + <define name="AnnotationAssertion"> + <element name="AnnotationAssertion"> + <ref name="AnnotationProperty"/> + <ref name="IRI"/> + <ref name="Literal"/> + </element> + </define> + <define name="AnnotationProperty"> + <element name="AnnotationProperty"> + <ref name="IRI.attrib"/> + </element> + </define> + <define name="IRI"> + <element name="IRI"> + <data type="anyURI"/> + </element> + </define> + <define name="Literal"> + <element name="Literal"> + <interleave> + <optional> + <ref name="datatypeIRI.attrib"/> + </optional> + <text/> + </interleave> + </element> + </define> + <define name="DatatypeDefinition.model"> + <interleave> + <zeroOrMore> + <ref name="Datatype"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DatatypeRestriction"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataComplementOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataIntersectionOf"/> + </zeroOrMore> + <zeroOrMore> + <ref name="DataOneOf"/> + </zeroOrMore> + </interleave> + </define> + <define name="DatatypeDefinition"> + <element name="DatatypeDefinition"> + <ref name="DatatypeDefinition.model"/> + </element> + </define> + <define name="DatatypeRestriction"> + <element name="DatatypeRestriction"> + <interleave> + <ref name="Datatype"/> + <zeroOrMore> + <ref name="FacetRestriction"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="FacetRestriction"> + <element name="FacetRestriction"> + <interleave> + <ref name="facet.attrib"/> + <ref name="Literal"/> + </interleave> + </element> + </define> + <define name="DataIntersectionOf"> + <element name="DataIntersectionOf"> + <zeroOrMore> + <ref name="Data.model"/> + </zeroOrMore> + </element> + </define> + <define name="DataComplementOf"> + <element name="DataComplementOf"> + <zeroOrMore> + <ref name="Data.model"/> + </zeroOrMore> + </element> + </define> + <define name="DataOneOf"> + <element name="DataOneOf"> + <zeroOrMore> + <ref name="Literal"/> + </zeroOrMore> + </element> + </define> + <define name="DataSomeValuesFrom"> + <element name="DataSomeValuesFrom"> + <zeroOrMore> + <ref name="Data.model"/> + </zeroOrMore> + </element> + </define> + <define name="DataAllValuesFrom"> + <element name="DataAllValuesFrom"> + <zeroOrMore> + <ref name="Data.model"/> + </zeroOrMore> + </element> + </define> + <define name="Data.model"> + <choice> + <ref name="DataProperty"/> + <ref name="Datatype"/> + <ref name="DataOneOf"/> + <ref name="DataSomeValuesFrom"/> + <ref name="DataAllValuesFrom"/> + <ref name="DataComplementOf"/> + <ref name="DatatypeRestriction"/> + </choice> + </define> + <define name="HasKey"> + <element name="HasKey"> + <ref name="Class"/> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="SubClassOf"> + <element name="SubClassOf"> + <zeroOrMore> + <ref name="Annotation"/> + </zeroOrMore> + <ref name="Class.model"/> + <choice> + <ref name="Data.model"/> + <ref name="Class.model"/> + </choice> + </element> + </define> + <define name="EquivalentClasses"> + <element name="EquivalentClasses"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectIntersectionOf"> + <element name="ObjectIntersectionOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectComplementOf"> + <element name="ObjectComplementOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectSomeValuesFrom"> + <element name="ObjectSomeValuesFrom"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectAllValuesFrom"> + <element name="ObjectAllValuesFrom"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectOneOf"> + <element name="ObjectOneOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectInverseOf"> + <element name="ObjectInverseOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="ObjectMaxCardinality"> + <element name="ObjectMaxCardinality"> + <interleave> + <ref name="cardinality.attrib"/> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="ObjectMinCardinality"> + <element name="ObjectMinCardinality"> + <interleave> + <ref name="cardinality.attrib"/> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="ObjectExactCardinality"> + <element name="ObjectExactCardinality"> + <interleave> + <ref name="cardinality.attrib"/> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </interleave> + </element> + </define> + <define name="ObjectHasValue"> + <element name="ObjectHasValue"> + <ref name="ObjectProperty"/> + <ref name="Ind.class"/> + </element> + </define> + <define name="ObjectHasSelf"> + <element name="ObjectHasSelf"> + <ref name="ObjectProperty"/> + </element> + </define> + <define name="ObjectUnionOf"> + <element name="ObjectUnionOf"> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="Class.model"> + <choice> + <ref name="Class"/> + <ref name="ObjectIntersectionOf"/> + <ref name="ObjectComplementOf"/> + <ref name="ObjectSomeValuesFrom"/> + <ref name="ObjectAllValuesFrom"/> + <ref name="ObjectOneOf"/> + <ref name="Ind.class"/> + <ref name="ObjectInverseOf"/> + <ref name="ObjectProperty"/> + <ref name="ObjectMaxCardinality"/> + <ref name="ObjectMinCardinality"/> + <ref name="ObjectExactCardinality"/> + <ref name="ObjectHasValue"/> + <ref name="ObjectHasSelf"/> + <ref name="ObjectUnionOf"/> + </choice> + </define> + <define name="DisjointClasses"> + <element name="DisjointClasses"> + <optional> + <ref name="Annotation"/> + </optional> + <zeroOrMore> + <ref name="Class.model"/> + </zeroOrMore> + </element> + </define> + <define name="DifferentIndividuals"> + <element name="DifferentIndividuals"> + <zeroOrMore> + <ref name="Ind.class"/> + </zeroOrMore> + </element> + </define> + <define name="SameIndividual"> + <element name="SameIndividual"> + <zeroOrMore> + <ref name="Ind.class"/> + </zeroOrMore> + </element> + </define> + <define name="Ind.class"> + <ref name="NamedIndividual"/> + </define> +</grammar> |