diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2007-05-22 02:06:46 +0100 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2007-05-22 02:06:46 +0100 |
commit | 65477054fd798728bf186aa2938727ddddbe86a5 (patch) | |
tree | 612da47b57ad4c4157f495dcf10710d32cdc6ead /data/doc/sisu/model/xml |
Imported upstream version 0.52.7upstream/0.52.7sisu_0.52.7
Diffstat (limited to 'data/doc/sisu/model/xml')
-rw-r--r-- | data/doc/sisu/model/xml/input/rnc/dom.rnc | 69 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/input/rnc/node.rnc | 67 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/input/rnc/sax.rnc | 47 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/input/rng/dom.rng | 166 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/input/rng/node.rng | 177 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/input/rng/sax.rng | 120 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/input/xsd/dom.xsd | 181 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/input/xsd/node.xsd | 159 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/input/xsd/sax.xsd | 108 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/output/rnc/dom.rnc | 144 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/output/rnc/sax.rnc | 164 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/output/rng/dom.rng | 438 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/output/rng/sax.rng | 374 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/output/xsd/dom.xsd | 327 | ||||
-rw-r--r-- | data/doc/sisu/model/xml/output/xsd/sax.xsd | 332 |
15 files changed, 2873 insertions, 0 deletions
diff --git a/data/doc/sisu/model/xml/input/rnc/dom.rnc b/data/doc/sisu/model/xml/input/rnc/dom.rnc new file mode 100644 index 00000000..7391eca4 --- /dev/null +++ b/data/doc/sisu/model/xml/input/rnc/dom.rnc @@ -0,0 +1,69 @@ +#% dom input model, part of SiSU and under the same license +default namespace = "" +start = + element document { + element head { + element header { + attribute class { xsd:NCName }, + (element creator { text } + | element date { xsd:NMTOKEN } + | element date.available { xsd:NMTOKEN } + | element date.created { xsd:NMTOKEN } + | element date.issued { xsd:NMTOKEN } + | element date.modified { xsd:NMTOKEN } + | element date.valid { xsd:NMTOKEN } + | element italicize { text } + | element language { xsd:NCName } + | element links { text } + | element markup { text } + | element rights { text } + | element skin { xsd:NCName } + | element subject { text } + | element title { text } + | element type { xsd:NCName } + | element vocabulary { xsd:NCName }) + }+ + }, + element body { + element heading1 { + heading, + element heading2 { + heading, + contents1+, + element heading3 { heading, contents1+ }+ + } + } + } + } +heading = element heading { object } +contents1 = + element contents1 { + heading, + content, + element contents2 { + heading, + content, + element contents3 { heading, content }* + }* + } +object = + element object { + element text { + (text + | italic + | element bold { xsd:NMTOKEN } + | element endnote { + element symbol { text }?, + element note { + (text + | italic + | element br { empty })+ + } + } + | element underscore { italic } + | element image.path { text } + | element italic { text })+ + } + } +italic = element italic { text } +content = element content { object+ } diff --git a/data/doc/sisu/model/xml/input/rnc/node.rnc b/data/doc/sisu/model/xml/input/rnc/node.rnc new file mode 100644 index 00000000..5116f629 --- /dev/null +++ b/data/doc/sisu/model/xml/input/rnc/node.rnc @@ -0,0 +1,67 @@ +#% node input model, part of SiSU and under the same license +default namespace = "" +start = + element document { + element head { + element header { + attribute class { xsd:NCName }, + (element creator { text } + | element date { xsd:NMTOKEN } + | element date.available { xsd:NMTOKEN } + | element date.created { xsd:NMTOKEN } + | element date.issued { xsd:NMTOKEN } + | element date.modified { xsd:NMTOKEN } + | element date.valid { xsd:NMTOKEN } + | element italicize { (text | i)+ } + | element language { xsd:NCName } + | element links { text } + | element markup { text } + | element rights { text } + | element skin { xsd:NCName } + | element subject { text } + | element title { text } + | element type { xsd:NCName } + | element vocabulary { xsd:NCName }) + }+ + }, + element body { + element object { + (element text { + attribute class { xsd:NCName }, + (text + | b + | i + | element br { empty } + | element endnote { + attribute symbol { xsd:NCName }, + (text | i)+ + } + | element image.path { text } + | element sub { text })+ + } + | (element ocn { empty }, + element table { + attribute align { xsd:NCName }, + attribute bgcolor { xsd:NCName }, + attribute border { xsd:integer }, + attribute cellpadding { xsd:integer }, + attribute summary { text }, + attribute width { text }, + element tr { + element td { + attribute valign { xsd:NCName }, + attribute width { text }, + (text | b)+ + }+ + }+ + })), + element node { + element id { xsd:integer }, + element parent { xsd:integer }, + element offspring { text }? + } + }+ + } + } +b = element b { text } +i = element i { text } diff --git a/data/doc/sisu/model/xml/input/rnc/sax.rnc b/data/doc/sisu/model/xml/input/rnc/sax.rnc new file mode 100644 index 00000000..891a18f8 --- /dev/null +++ b/data/doc/sisu/model/xml/input/rnc/sax.rnc @@ -0,0 +1,47 @@ +#% sax input model, part of SiSU and under the same license +default namespace = "" +start = + element document { + element head { + element header { + attribute class { xsd:NCName }, + (element creator { text } + | element date { xsd:NMTOKEN } + | element date.available { xsd:NMTOKEN } + | element date.created { xsd:NMTOKEN } + | element date.issued { xsd:NMTOKEN } + | element date.modified { xsd:NMTOKEN } + | element date.valid { xsd:NMTOKEN } + | element italicize { text } + | element language { xsd:NCName } + | element links { text } + | element markup { text } + | element rights { text } + | element skin { xsd:NCName } + | element subject { text } + | element title { text } + | element type { xsd:NCName } + | element vocabulary { xsd:NCName }) + }+ + }, + element body { + element object { + element text { + attribute class { xsd:NCName }, + (text + | b + | i + | element endnote { + attribute symbol { xsd:NCName }, + (text + | i + | element br { empty })+ + } + | element u { i } + | element image.path { text })+ + }? + }+ + } + } +i = element i { text } +b = element b { text } diff --git a/data/doc/sisu/model/xml/input/rng/dom.rng b/data/doc/sisu/model/xml/input/rng/dom.rng new file mode 100644 index 00000000..746421c8 --- /dev/null +++ b/data/doc/sisu/model/xml/input/rng/dom.rng @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- dom rng input model, part of SiSU and under the same license --> +<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="document"> + <element name="head"> + <oneOrMore> + <element name="header"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <choice> + <element name="creator"> + <text/> + </element> + <element name="date"> + <data type="NMTOKEN"/> + </element> + <element name="date.available"> + <data type="NMTOKEN"/> + </element> + <element name="date.created"> + <data type="NMTOKEN"/> + </element> + <element name="date.issued"> + <data type="NMTOKEN"/> + </element> + <element name="date.modified"> + <data type="NMTOKEN"/> + </element> + <element name="date.valid"> + <data type="NMTOKEN"/> + </element> + <element name="italicize"> + <text/> + </element> + <element name="language"> + <data type="NCName"/> + </element> + <element name="links"> + <text/> + </element> + <element name="markup"> + <text/> + </element> + <element name="rights"> + <text/> + </element> + <element name="skin"> + <data type="NCName"/> + </element> + <element name="subject"> + <text/> + </element> + <element name="title"> + <text/> + </element> + <element name="type"> + <data type="NCName"/> + </element> + <element name="vocabulary"> + <data type="NCName"/> + </element> + </choice> + </element> + </oneOrMore> + </element> + <element name="body"> + <element name="heading1"> + <ref name="heading"/> + <element name="heading2"> + <ref name="heading"/> + <oneOrMore> + <ref name="contents1"/> + </oneOrMore> + <oneOrMore> + <element name="heading3"> + <ref name="heading"/> + <oneOrMore> + <ref name="contents1"/> + </oneOrMore> + </element> + </oneOrMore> + </element> + </element> + </element> + </element> + </start> + <define name="heading"> + <element name="heading"> + <ref name="object"/> + </element> + </define> + <define name="contents1"> + <element name="contents1"> + <ref name="heading"/> + <ref name="content"/> + <zeroOrMore> + <element name="contents2"> + <ref name="heading"/> + <ref name="content"/> + <zeroOrMore> + <element name="contents3"> + <ref name="heading"/> + <ref name="content"/> + </element> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + <define name="object"> + <element name="object"> + <element name="text"> + <oneOrMore> + <choice> + <text/> + <ref name="italic"/> + <element name="bold"> + <data type="NMTOKEN"/> + </element> + <element name="endnote"> + <optional> + <element name="symbol"> + <text/> + </element> + </optional> + <element name="note"> + <oneOrMore> + <choice> + <text/> + <ref name="italic"/> + <element name="br"> + <empty/> + </element> + </choice> + </oneOrMore> + </element> + </element> + <element name="underscore"> + <ref name="italic"/> + </element> + <element name="image.path"> + <text/> + </element> + <element name="italic"> + <text/> + </element> + </choice> + </oneOrMore> + </element> + </element> + </define> + <define name="italic"> + <element name="italic"> + <text/> + </element> + </define> + <define name="content"> + <element name="content"> + <oneOrMore> + <ref name="object"/> + </oneOrMore> + </element> + </define> +</grammar> diff --git a/data/doc/sisu/model/xml/input/rng/node.rng b/data/doc/sisu/model/xml/input/rng/node.rng new file mode 100644 index 00000000..8b60cce8 --- /dev/null +++ b/data/doc/sisu/model/xml/input/rng/node.rng @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- node rng input model, part of SiSU and under the same license --> +<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="document"> + <element name="head"> + <oneOrMore> + <element name="header"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <choice> + <element name="creator"> + <text/> + </element> + <element name="date"> + <data type="NMTOKEN"/> + </element> + <element name="date.available"> + <data type="NMTOKEN"/> + </element> + <element name="date.created"> + <data type="NMTOKEN"/> + </element> + <element name="date.issued"> + <data type="NMTOKEN"/> + </element> + <element name="date.modified"> + <data type="NMTOKEN"/> + </element> + <element name="date.valid"> + <data type="NMTOKEN"/> + </element> + <element name="italicize"> + <oneOrMore> + <choice> + <text/> + <ref name="i"/> + </choice> + </oneOrMore> + </element> + <element name="language"> + <data type="NCName"/> + </element> + <element name="links"> + <text/> + </element> + <element name="markup"> + <text/> + </element> + <element name="rights"> + <text/> + </element> + <element name="skin"> + <data type="NCName"/> + </element> + <element name="subject"> + <text/> + </element> + <element name="title"> + <text/> + </element> + <element name="type"> + <data type="NCName"/> + </element> + <element name="vocabulary"> + <data type="NCName"/> + </element> + </choice> + </element> + </oneOrMore> + </element> + <element name="body"> + <oneOrMore> + <element name="object"> + <choice> + <element name="text"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="i"/> + <element name="br"> + <empty/> + </element> + <element name="endnote"> + <attribute name="symbol"> + <data type="NCName"/> + </attribute> + <oneOrMore> + <choice> + <text/> + <ref name="i"/> + </choice> + </oneOrMore> + </element> + <element name="image.path"> + <text/> + </element> + <element name="sub"> + <text/> + </element> + </choice> + </oneOrMore> + </element> + <group> + <element name="ocn"> + <empty/> + </element> + <element name="table"> + <attribute name="align"> + <data type="NCName"/> + </attribute> + <attribute name="bgcolor"> + <data type="NCName"/> + </attribute> + <attribute name="border"> + <data type="integer"/> + </attribute> + <attribute name="cellpadding"> + <data type="integer"/> + </attribute> + <attribute name="summary"/> + <attribute name="width"/> + <oneOrMore> + <element name="tr"> + <oneOrMore> + <element name="td"> + <attribute name="valign"> + <data type="NCName"/> + </attribute> + <attribute name="width"/> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + </choice> + </oneOrMore> + </element> + </oneOrMore> + </element> + </oneOrMore> + </element> + </group> + </choice> + <element name="node"> + <element name="id"> + <data type="integer"/> + </element> + <element name="parent"> + <data type="integer"/> + </element> + <optional> + <element name="offspring"> + <text/> + </element> + </optional> + </element> + </element> + </oneOrMore> + </element> + </element> + </start> + <define name="b"> + <element name="b"> + <text/> + </element> + </define> + <define name="i"> + <element name="i"> + <text/> + </element> + </define> +</grammar> diff --git a/data/doc/sisu/model/xml/input/rng/sax.rng b/data/doc/sisu/model/xml/input/rng/sax.rng new file mode 100644 index 00000000..14412938 --- /dev/null +++ b/data/doc/sisu/model/xml/input/rng/sax.rng @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- sax rng input model, part of SiSU and under the same license --> +<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="document"> + <element name="head"> + <oneOrMore> + <element name="header"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <choice> + <element name="creator"> + <text/> + </element> + <element name="date"> + <data type="NMTOKEN"/> + </element> + <element name="date.available"> + <data type="NMTOKEN"/> + </element> + <element name="date.created"> + <data type="NMTOKEN"/> + </element> + <element name="date.issued"> + <data type="NMTOKEN"/> + </element> + <element name="date.modified"> + <data type="NMTOKEN"/> + </element> + <element name="date.valid"> + <data type="NMTOKEN"/> + </element> + <element name="italicize"> + <text/> + </element> + <element name="language"> + <data type="NCName"/> + </element> + <element name="links"> + <text/> + </element> + <element name="markup"> + <text/> + </element> + <element name="rights"> + <text/> + </element> + <element name="skin"> + <data type="NCName"/> + </element> + <element name="subject"> + <text/> + </element> + <element name="title"> + <text/> + </element> + <element name="type"> + <data type="NCName"/> + </element> + <element name="vocabulary"> + <data type="NCName"/> + </element> + </choice> + </element> + </oneOrMore> + </element> + <element name="body"> + <oneOrMore> + <element name="object"> + <optional> + <element name="text"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="i"/> + <element name="endnote"> + <attribute name="symbol"> + <data type="NCName"/> + </attribute> + <oneOrMore> + <choice> + <text/> + <ref name="i"/> + <element name="br"> + <empty/> + </element> + </choice> + </oneOrMore> + </element> + <element name="u"> + <ref name="i"/> + </element> + <element name="image.path"> + <text/> + </element> + </choice> + </oneOrMore> + </element> + </optional> + </element> + </oneOrMore> + </element> + </element> + </start> + <define name="i"> + <element name="i"> + <text/> + </element> + </define> + <define name="b"> + <element name="b"> + <text/> + </element> + </define> +</grammar> diff --git a/data/doc/sisu/model/xml/input/xsd/dom.xsd b/data/doc/sisu/model/xml/input/xsd/dom.xsd new file mode 100644 index 00000000..8de8999a --- /dev/null +++ b/data/doc/sisu/model/xml/input/xsd/dom.xsd @@ -0,0 +1,181 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- dom input model, part of SiSU and under the same license --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> + <xs:element name="document"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:element ref="body"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="head"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="header"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="header"> + <xs:complexType> + <xs:choice> + <xs:element ref="creator"/> + <xs:element ref="date"/> + <xs:element ref="date.available"/> + <xs:element ref="date.created"/> + <xs:element ref="date.issued"/> + <xs:element ref="date.modified"/> + <xs:element ref="date.valid"/> + <xs:element ref="italicize"/> + <xs:element ref="language"/> + <xs:element ref="links"/> + <xs:element ref="markup"/> + <xs:element ref="rights"/> + <xs:element ref="skin"/> + <xs:element ref="subject"/> + <xs:element ref="title"/> + <xs:element ref="type"/> + <xs:element ref="vocabulary"/> + </xs:choice> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="creator" type="xs:string"/> + <xs:element name="date" type="xs:NMTOKEN"/> + <xs:element name="date.available" type="xs:NMTOKEN"/> + <xs:element name="date.created" type="xs:NMTOKEN"/> + <xs:element name="date.issued" type="xs:NMTOKEN"/> + <xs:element name="date.modified" type="xs:NMTOKEN"/> + <xs:element name="date.valid" type="xs:NMTOKEN"/> + <xs:element name="italicize" type="xs:string"/> + <xs:element name="language" type="xs:NCName"/> + <xs:element name="links" type="xs:string"/> + <xs:element name="markup" type="xs:string"/> + <xs:element name="rights" type="xs:string"/> + <xs:element name="skin" type="xs:NCName"/> + <xs:element name="subject" type="xs:string"/> + <xs:element name="title" type="xs:string"/> + <xs:element name="type" type="xs:NCName"/> + <xs:element name="vocabulary" type="xs:NCName"/> + <xs:element name="body"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading1"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="heading1"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element ref="heading2"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="heading2"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element maxOccurs="unbounded" ref="contents1"/> + <xs:element maxOccurs="unbounded" ref="heading3"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="heading3"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element maxOccurs="unbounded" ref="contents1"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="heading"> + <xs:complexType> + <xs:sequence> + <xs:element ref="object"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="contents1"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element ref="content"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="contents2"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="contents2"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element ref="content"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="contents3"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="contents3"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element ref="content"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="object"> + <xs:complexType> + <xs:sequence> + <xs:element ref="text"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="text"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="italic"/> + <xs:element ref="bold"/> + <xs:element ref="endnote"/> + <xs:element ref="underscore"/> + <xs:element ref="image.path"/> + <xs:element ref="italic"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="bold" type="xs:NMTOKEN"/> + <xs:element name="endnote"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="symbol"/> + <xs:element ref="note"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="symbol" type="xs:string"/> + <xs:element name="note"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="italic"/> + <xs:element ref="br"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="br"> + <xs:complexType/> + </xs:element> + <xs:element name="underscore"> + <xs:complexType> + <xs:sequence> + <xs:element ref="italic"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="image.path" type="xs:string"/> + <xs:element name="italic" type="xs:string"/> + <xs:element name="content"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="object"/> + </xs:sequence> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/data/doc/sisu/model/xml/input/xsd/node.xsd b/data/doc/sisu/model/xml/input/xsd/node.xsd new file mode 100644 index 00000000..f0fc9614 --- /dev/null +++ b/data/doc/sisu/model/xml/input/xsd/node.xsd @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- node input model, part of SiSU and under the same license --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> + <xs:element name="document"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:element ref="body"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="head"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="header"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="header"> + <xs:complexType> + <xs:choice> + <xs:element ref="creator"/> + <xs:element ref="date"/> + <xs:element ref="date.available"/> + <xs:element ref="date.created"/> + <xs:element ref="date.issued"/> + <xs:element ref="date.modified"/> + <xs:element ref="date.valid"/> + <xs:element ref="italicize"/> + <xs:element ref="language"/> + <xs:element ref="links"/> + <xs:element ref="markup"/> + <xs:element ref="rights"/> + <xs:element ref="skin"/> + <xs:element ref="subject"/> + <xs:element ref="title"/> + <xs:element ref="type"/> + <xs:element ref="vocabulary"/> + </xs:choice> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="creator" type="xs:string"/> + <xs:element name="date" type="xs:NMTOKEN"/> + <xs:element name="date.available" type="xs:NMTOKEN"/> + <xs:element name="date.created" type="xs:NMTOKEN"/> + <xs:element name="date.issued" type="xs:NMTOKEN"/> + <xs:element name="date.modified" type="xs:NMTOKEN"/> + <xs:element name="date.valid" type="xs:NMTOKEN"/> + <xs:element name="italicize"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="i"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="language" type="xs:NCName"/> + <xs:element name="links" type="xs:string"/> + <xs:element name="markup" type="xs:string"/> + <xs:element name="rights" type="xs:string"/> + <xs:element name="skin" type="xs:NCName"/> + <xs:element name="subject" type="xs:string"/> + <xs:element name="title" type="xs:string"/> + <xs:element name="type" type="xs:NCName"/> + <xs:element name="vocabulary" type="xs:NCName"/> + <xs:element name="body"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="object"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="object"> + <xs:complexType> + <xs:sequence> + <xs:choice> + <xs:element ref="text"/> + <xs:sequence> + <xs:element ref="ocn"/> + <xs:element ref="table"/> + </xs:sequence> + </xs:choice> + <xs:element ref="node"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="text"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="i"/> + <xs:element ref="br"/> + <xs:element ref="endnote"/> + <xs:element ref="image.path"/> + <xs:element ref="sub"/> + </xs:choice> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="br"> + <xs:complexType/> + </xs:element> + <xs:element name="endnote"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="i"/> + </xs:sequence> + <xs:attribute name="symbol" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="image.path" type="xs:string"/> + <xs:element name="sub" type="xs:string"/> + <xs:element name="ocn"> + <xs:complexType/> + </xs:element> + <xs:element name="table"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attribute name="align" use="required" type="xs:NCName"/> + <xs:attribute name="bgcolor" use="required" type="xs:NCName"/> + <xs:attribute name="border" use="required" type="xs:integer"/> + <xs:attribute name="cellpadding" use="required" type="xs:integer"/> + <xs:attribute name="summary" use="required"/> + <xs:attribute name="width" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="tr"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="td"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="td"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="b"/> + </xs:sequence> + <xs:attribute name="valign" use="required" type="xs:NCName"/> + <xs:attribute name="width" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="node"> + <xs:complexType> + <xs:sequence> + <xs:element ref="id"/> + <xs:element ref="parent"/> + <xs:element minOccurs="0" ref="offspring"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="id" type="xs:integer"/> + <xs:element name="parent" type="xs:integer"/> + <xs:element name="offspring" type="xs:string"/> + <xs:element name="b" type="xs:string"/> + <xs:element name="i" type="xs:string"/> +</xs:schema> diff --git a/data/doc/sisu/model/xml/input/xsd/sax.xsd b/data/doc/sisu/model/xml/input/xsd/sax.xsd new file mode 100644 index 00000000..450bfce5 --- /dev/null +++ b/data/doc/sisu/model/xml/input/xsd/sax.xsd @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- sax input model, part of SiSU and under the same license --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> + <xs:element name="document"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:element ref="body"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="head"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="header"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="header"> + <xs:complexType> + <xs:choice> + <xs:element ref="creator"/> + <xs:element ref="date"/> + <xs:element ref="date.available"/> + <xs:element ref="date.created"/> + <xs:element ref="date.issued"/> + <xs:element ref="date.modified"/> + <xs:element ref="date.valid"/> + <xs:element ref="italicize"/> + <xs:element ref="language"/> + <xs:element ref="links"/> + <xs:element ref="markup"/> + <xs:element ref="rights"/> + <xs:element ref="skin"/> + <xs:element ref="subject"/> + <xs:element ref="title"/> + <xs:element ref="type"/> + <xs:element ref="vocabulary"/> + </xs:choice> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="creator" type="xs:string"/> + <xs:element name="date" type="xs:NMTOKEN"/> + <xs:element name="date.available" type="xs:NMTOKEN"/> + <xs:element name="date.created" type="xs:NMTOKEN"/> + <xs:element name="date.issued" type="xs:NMTOKEN"/> + <xs:element name="date.modified" type="xs:NMTOKEN"/> + <xs:element name="date.valid" type="xs:NMTOKEN"/> + <xs:element name="italicize" type="xs:string"/> + <xs:element name="language" type="xs:NCName"/> + <xs:element name="links" type="xs:string"/> + <xs:element name="markup" type="xs:string"/> + <xs:element name="rights" type="xs:string"/> + <xs:element name="skin" type="xs:NCName"/> + <xs:element name="subject" type="xs:string"/> + <xs:element name="title" type="xs:string"/> + <xs:element name="type" type="xs:NCName"/> + <xs:element name="vocabulary" type="xs:NCName"/> + <xs:element name="body"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="object"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="object"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="text"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="text"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="i"/> + <xs:element ref="endnote"/> + <xs:element ref="u"/> + <xs:element ref="image.path"/> + </xs:choice> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="endnote"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="i"/> + <xs:element ref="br"/> + </xs:choice> + <xs:attribute name="symbol" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="br"> + <xs:complexType/> + </xs:element> + <xs:element name="u"> + <xs:complexType> + <xs:sequence> + <xs:element ref="i"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="image.path" type="xs:string"/> + <xs:element name="i" type="xs:string"/> + <xs:element name="b" type="xs:string"/> +</xs:schema> diff --git a/data/doc/sisu/model/xml/output/rnc/dom.rnc b/data/doc/sisu/model/xml/output/rnc/dom.rnc new file mode 100644 index 00000000..e8a3ed42 --- /dev/null +++ b/data/doc/sisu/model/xml/output/rnc/dom.rnc @@ -0,0 +1,144 @@ +#% dom output model, part of SiSU and under the same license +default namespace = "" +namespace xlink = "http://www.w3.org/1999/xlink" +start = + element document { + element head { + element header { + meta, + (element creator { text } + | element date { xsd:NMTOKEN } + | element date_available { xsd:NMTOKEN } + | element date_created { xsd:NMTOKEN } + | element date_issued { xsd:NMTOKEN } + | element date_modified { xsd:NMTOKEN } + | element date_valid { xsd:NMTOKEN } + | element keywords { text } + | element language { xsd:NCName } + | element rights { (text | link)+ } + | element source { text } + | element structure { text } + | element subject { text } + | element title { text } + | element type { text } + | element source_control { + (br + | meta + | element sc { + attribute class { xsd:NCName }, + text + })+ + }) + }+ + }, + element body { + element heading1 { + heading, + contents1*, + element heading2 { + heading, + contents1*, + element heading3 { + heading, + element contents1 { + heading, + content, + element contents2 { + heading, + content, + element contents3 { heading, content }* + }* + }+ + }* + }* + }+ + } + } +meta = element meta { text } +br = element br { empty } +heading = element heading { object } +contents1 = + element contents1 { + heading, + content, + element contents2 { + heading, + content, + element contents3 { heading, content }* + }* + } +content = element content { object* } +object = + element object { + attribute id { xsd:integer }, + element ocn { text }, + element nametag { text }?, + (element table { + attribute align { xsd:NCName }, + attribute bgcolor { xsd:NCName }, + attribute border { xsd:integer }, + attribute cellpadding { xsd:integer }, + attribute summary { text }, + attribute width { text }, + element tr { + element td { + attribute valign { xsd:NCName }, + attribute width { text }, + (text | b | i)+ + }+ + }+ + } + | element text { + attribute class { xsd:NCName }?, + (text + | b + | del + | endnote + | i + | link + | element br { empty } + | element endnote { + element number { xsd:integer }, + element note { (text | i | link)+ } + } + | element image { + attribute height { xsd:integer }, + attribute width { xsd:integer }, + attribute xlink:actuate { xsd:NCName }, + attribute xlink:href { text }, + attribute xlink:show { xsd:NCName }, + attribute xlink:type { xsd:NCName } + } + | element sub { text })+ + }) + } +i = element i { text } +b = element i { text } +u = element u { (text | b | i)+ } +sub = element sub { xsd:NCName } +sup = element sup { xsd:NCName } +del = element del { (text | b | i | link)+ } +link = + element link { + attribute xlink:href { xsd:anyURI }, + attribute xlink:type { xsd:NCName }, + xsd:anyURI + } +endnote = + element endnote { + (element number { xsd:integer } + | element symbol { text }), + element note { + (text + | b + | br + | del + | i + | link + | sub + | sup + | u + | element em { xsd:NCName } + | element sub { xsd:NCName })+ + } + } diff --git a/data/doc/sisu/model/xml/output/rnc/sax.rnc b/data/doc/sisu/model/xml/output/rnc/sax.rnc new file mode 100644 index 00000000..b242afb3 --- /dev/null +++ b/data/doc/sisu/model/xml/output/rnc/sax.rnc @@ -0,0 +1,164 @@ +# % sax output model, part of SiSU and distributed under the same license + +default namespace = "" +namespace xlink = "http://www.w3.org/1999/xlink" + +start = + element document { + element head { + (br + | meta + | element creator { + attribute class { xsd:NCName }, + (text + | element link { + attribute xlink:href { xsd:anyURI }, + attribute xlink:type { xsd:NCName }, + xsd:anyURI + })+ + } + | element date { + attribute class { xsd:NCName }, + xsd:NMTOKEN + } + | element date_available { + attribute class { xsd:NCName }, + xsd:NMTOKEN + } + | element date_created { + attribute class { xsd:NCName }, + xsd:NMTOKEN + } + | element date_issued { + attribute class { xsd:NCName }, + xsd:NMTOKEN + } + | element date_modified { + attribute class { xsd:NCName }, + xsd:NMTOKEN + } + | element date_valid { + attribute class { xsd:NCName }, + xsd:NMTOKEN + } + | element keywords { + attribute class { xsd:NCName }, + text + } + | element language { + attribute class { xsd:NCName }, + xsd:NCName + } + | element meta { xsd:NMTOKEN } + | element rights { + attribute class { xsd:NCName }, + (text | link)+ + } + | element source { + attribute class { xsd:NCName }, + text + } + | element structure { + attribute class { xsd:NCName }, + text + } + | element subject { + attribute class { xsd:NCName }, + text + } + | element title { + attribute class { xsd:NCName }, + text + } + | element type { + attribute class { xsd:NCName }, + text + } + | element source_control { + (br + | meta + | element sc { + attribute class { xsd:NCName }, + text + })+ + })+ + }, + element body { + element object { + attribute id { text }, + element ocn { + text + }, + element text { + attribute class { xsd:NCName }, + (text + | b + | br + | del + | en + | i + | link + | sub + | sup + | u + | element image { + attribute alt { text }?, + attribute height { xsd:integer }?, + attribute width { xsd:integer }?, + attribute xlink:actuate { xsd:NCName }, + attribute xlink:href { text }, + attribute xlink:show { xsd:NCName }, + attribute xlink:type { xsd:NCName } + })+ + }?, + element table { + attribute align { xsd:NCName }, + attribute bgcolor { xsd:NCName }, + attribute border { xsd:integer }, + attribute cellpadding { xsd:integer }, + attribute summary { text }, + attribute width { text }, + element tr { + element td { + attribute valign { xsd:NCName }, + attribute width { text }, + (text | b | i)+ + }+ + }+ + }?, + element endnote { + attribute notenumber { xsd:integer }?, + attribute symbol { text }?, + (element number { xsd:integer } + | element symbol { text }), + element note { + (text + | b + | br + | del + | i + | link + | sup + | u + | element em { xsd:NCName } + | element sub { xsd:NCName })+ + } + }* + }+ + } + } +meta = element meta { text } +br = element br { empty } +b = element b { (text | en | i | link | sup)+ } +i = element i { (text | b | br | sup)+ } +en = element en { text } +sub = element sub { xsd:NCName } +sup = element sup { xsd:NCName } +link = + element link { + attribute xlink:href { xsd:anyURI }, + attribute xlink:type { xsd:NCName }, + (xsd:anyURI | text | b | i | sup)+ + } +u = element u { (text | b | i)+ } +del = element del { (text | b | i | link)+ } diff --git a/data/doc/sisu/model/xml/output/rng/dom.rng b/data/doc/sisu/model/xml/output/rng/dom.rng new file mode 100644 index 00000000..eea891ec --- /dev/null +++ b/data/doc/sisu/model/xml/output/rng/dom.rng @@ -0,0 +1,438 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- dom output model, part of SiSU and under the same license --> +<grammar xmlns:xlink="http://www.w3.org/1999/xlink" ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="document"> + <element name="head"> + <oneOrMore> + <element name="header"> + <ref name="meta"/> + <choice> + <element name="creator"> + <text/> + </element> + <element name="date"> + <data type="NMTOKEN"/> + </element> + <element name="date_available"> + <data type="NMTOKEN"/> + </element> + <element name="date_created"> + <data type="NMTOKEN"/> + </element> + <element name="date_issued"> + <data type="NMTOKEN"/> + </element> + <element name="date_modified"> + <data type="NMTOKEN"/> + </element> + <element name="date_valid"> + <data type="NMTOKEN"/> + </element> + <element name="keywords"> + <text/> + </element> + <element name="language"> + <data type="NCName"/> + </element> + <element name="rights"> + <oneOrMore> + <choice> + <text/> + <ref name="link"/> + </choice> + </oneOrMore> + </element> + <element name="source"> + <text/> + </element> + <element name="structure"> + <text/> + </element> + <element name="subject"> + <text/> + </element> + <element name="title"> + <text/> + </element> + <element name="type"> + <text/> + </element> + <element name="source_control"> + <oneOrMore> + <choice> + <ref name="br"/> + <ref name="meta"/> + <element name="sc"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <text/> + </element> + </choice> + </oneOrMore> + </element> + </choice> + </element> + </oneOrMore> + </element> + <element name="body"> + <oneOrMore> + <element name="heading1"> + <ref name="heading"/> + <zeroOrMore> + <ref name="contents1"/> + </zeroOrMore> + <zeroOrMore> + <element name="heading2"> + <ref name="heading"/> + <zeroOrMore> + <ref name="contents1"/> + </zeroOrMore> + <zeroOrMore> + <element name="heading3"> + <ref name="heading"/> + <oneOrMore> + <element name="contents1"> + <ref name="heading"/> + <ref name="content"/> + <zeroOrMore> + <element name="contents2"> + <ref name="heading"/> + <ref name="content"/> + <zeroOrMore> + <element name="contents3"> + <ref name="heading"/> + <ref name="content"/> + </element> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </oneOrMore> + </element> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </oneOrMore> + </element> + </element> + </start> + <define name="meta"> + <element name="meta"> + <text/> + </element> + </define> + <define name="br"> + <element name="br"> + <empty/> + </element> + </define> + <define name="heading"> + <element name="heading"> + <ref name="object"/> + </element> + </define> + <define name="contents1"> + <element name="contents1"> + <ref name="heading"/> + <ref name="content"/> + <zeroOrMore> + <element name="contents2"> + <ref name="heading"/> + <ref name="content"/> + <zeroOrMore> + <element name="contents3"> + <ref name="heading"/> + <ref name="content"/> + </element> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + <define name="content"> + <element name="content"> + <zeroOrMore> + <ref name="object"/> + </zeroOrMore> + </element> + </define> +<!-- + <define name="contents1"> + <element name="contents1"> + <ref name="heading"/> + <element name="content"> + <oneOrMore> + <ref name="object"/> + </oneOrMore> + </element> + </element> + </define> +--> + <define name="object"> + <element name="object"> + <attribute name="id"> + <data type="integer"/> + </attribute> + <element name="ocn"> + <text/> + </element> + <optional> + <element name="nametag"> + <text/> + </element> + </optional> + <choice> + <element name="table"> + <attribute name="align"> + <data type="NCName"/> + </attribute> + <attribute name="bgcolor"> + <data type="NCName"/> + </attribute> + <attribute name="border"> + <data type="integer"/> + </attribute> + <attribute name="cellpadding"> + <data type="integer"/> + </attribute> + <attribute name="summary"/> + <attribute name="width"/> + <oneOrMore> + <element name="tr"> + <oneOrMore> + <element name="td"> + <attribute name="valign"> + <data type="NCName"/> + </attribute> + <attribute name="width"/> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="i"/> + </choice> + </oneOrMore> + </element> + </oneOrMore> + </element> + </oneOrMore> + </element> + <element name="text"> + <optional> + <attribute name="class"> + <data type="NCName"/> + </attribute> + </optional> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="del"/> + <ref name="endnote"/> + <ref name="i"/> + <ref name="link"/> + <element name="br"> + <empty/> + </element> + <element name="endnote"> + <element name="number"> + <data type="integer"/> + </element> + <element name="note"> + <oneOrMore> + <choice> + <text/> + <ref name="i"/> + <ref name="link"/> + </choice> + </oneOrMore> + </element> + </element> + <element name="image"> + <attribute name="height"> + <data type="integer"/> + </attribute> + <attribute name="width"> + <data type="integer"/> + </attribute> + <attribute name="xlink:actuate"> + <data type="NCName"/> + </attribute> + <attribute name="xlink:href"/> + <attribute name="xlink:show"> + <data type="NCName"/> + </attribute> + <attribute name="xlink:type"> + <data type="NCName"/> + </attribute> + </element> + <element name="sub"> + <text/> + </element> + </choice> + </oneOrMore> + </element> + </choice> +<!-- + <element name="text"> + <optional> + <attribute name="class"> + <data type="NCName"/> + </attribute> + </optional> + <oneOrMore> + <choice> + <text/> + <ref name="i"/> + <element name="b"> + <oneOrMore> + <choice> + <text/> + <ref name="i"/> + </choice> + </oneOrMore> + </element> + <element name="endnote"> + <choice> + <element name="number"> + <data type="integer"/> + </element> + <element name="symbol"> + <text/> + </element> + </choice> + <element name="note"> + <oneOrMore> + <choice> + <text/> + <ref name="i"/> + <element name="br"> + <empty/> + </element> + <element name="link"> + <attribute name="xlink:href"> + <data type="anyURI"/> + </attribute> + <attribute name="xlink:type"> + <data type="NCName"/> + </attribute> + <data type="anyURI"/> + </element> + </choice> + </oneOrMore> + </element> + </element> + <element name="u"> + <ref name="i"/> + </element> + </choice> + </oneOrMore> + </element> +--> + </element> + </define> +<!-- + <define name="content"> + <element name="content"> + <zeroOrMore> + <ref name="object"/> + </zeroOrMore> + </element> + </define> + <define name="b"> + <element name="b"> + <text/> + </element> + </define> +--> + <define name="i"> + <element name="i"> + <text/> + </element> + </define> + <define name="b"> + <element name="i"> + <text/> + </element> + </define> + <define name="u"> + <element name="u"> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="i"/> + </choice> + </oneOrMore> + </element> + </define> + <define name="sub"> + <element name="sub"> + <data type="NCName"/> + </element> + </define> + <define name="sup"> + <element name="sup"> + <data type="NCName"/> + </element> + </define> + <define name="del"> + <element name="del"> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="i"/> + <ref name="link"/> + </choice> + </oneOrMore> + </element> + </define> + <define name="link"> + <element name="link"> + <attribute name="xlink:href"> + <data type="anyURI"/> + </attribute> + <attribute name="xlink:type"> + <data type="NCName"/> + </attribute> + <data type="anyURI"/> + </element> + </define> + <define name="endnote"> + <element name="endnote"> + <choice> + <element name="number"> + <data type="integer"/> + </element> + <element name="symbol"> + <text/> + </element> + </choice> + <element name="note"> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="br"/> + <ref name="del"/> + <ref name="i"/> + <ref name="link"/> + <ref name="sub"/> + <ref name="sup"/> + <ref name="u"/> + <element name="em"> + <data type="NCName"/> + </element> + <element name="sub"> + <data type="NCName"/> + </element> + </choice> + </oneOrMore> + </element> + </element> + </define> +</grammar> diff --git a/data/doc/sisu/model/xml/output/rng/sax.rng b/data/doc/sisu/model/xml/output/rng/sax.rng new file mode 100644 index 00000000..a2df4fed --- /dev/null +++ b/data/doc/sisu/model/xml/output/rng/sax.rng @@ -0,0 +1,374 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- % sax output model, part of SiSU and distributed under the same license --> +<grammar xmlns:xlink="http://www.w3.org/1999/xlink" ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="document"> + <element name="head"> + <oneOrMore> + <choice> + <ref name="br"/> + <ref name="meta"/> + <element name="creator"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <oneOrMore> + <choice> + <text/> + <element name="link"> + <attribute name="xlink:href"> + <data type="anyURI"/> + </attribute> + <attribute name="xlink:type"> + <data type="NCName"/> + </attribute> + <data type="anyURI"/> + </element> + </choice> + </oneOrMore> + </element> + <element name="date"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <data type="NMTOKEN"/> + </element> + <element name="date_available"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <data type="NMTOKEN"/> + </element> + <element name="date_created"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <data type="NMTOKEN"/> + </element> + <element name="date_issued"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <data type="NMTOKEN"/> + </element> + <element name="date_modified"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <data type="NMTOKEN"/> + </element> + <element name="date_valid"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <data type="NMTOKEN"/> + </element> + <element name="keywords"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <text/> + </element> + <element name="language"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <data type="NCName"/> + </element> + <element name="meta"> + <data type="NMTOKEN"/> + </element> + <element name="rights"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <oneOrMore> + <choice> + <text/> + <ref name="link"/> + </choice> + </oneOrMore> + </element> + <element name="source"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <text/> + </element> + <element name="structure"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <text/> + </element> + <element name="subject"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <text/> + </element> + <element name="title"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <text/> + </element> + <element name="type"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <text/> + </element> + <element name="source_control"> + <oneOrMore> + <choice> + <ref name="br"/> + <ref name="meta"/> + <element name="sc"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <text/> + </element> + </choice> + </oneOrMore> + </element> + </choice> + </oneOrMore> + </element> + <element name="body"> + <oneOrMore> + <element name="object"> + <attribute name="id"/> + <!-- + <attribute name="id"> + <data type="integer"/> + </attribute> + --> + <element name="ocn"> + <text/> + <!-- + <data type="integer"/> + --> + </element> + <optional> + <element name="text"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="br"/> + <ref name="del"/> + <ref name="en"/> + <ref name="i"/> + <ref name="link"/> + <ref name="sub"/> + <ref name="sup"/> + <ref name="u"/> + <element name="image"> + <optional> + <attribute name="alt"/> + </optional> + <optional> + <attribute name="height"> + <data type="integer"/> + </attribute> + </optional> + <optional> + <attribute name="width"> + <data type="integer"/> + </attribute> + </optional> + <attribute name="xlink:actuate"> + <data type="NCName"/> + </attribute> + <attribute name="xlink:href"/> + <attribute name="xlink:show"> + <data type="NCName"/> + </attribute> + <attribute name="xlink:type"> + <data type="NCName"/> + </attribute> + </element> + </choice> + </oneOrMore> + </element> + </optional> + <optional> + <element name="table"> + <attribute name="align"> + <data type="NCName"/> + </attribute> + <attribute name="bgcolor"> + <data type="NCName"/> + </attribute> + <attribute name="border"> + <data type="integer"/> + </attribute> + <attribute name="cellpadding"> + <data type="integer"/> + </attribute> + <attribute name="summary"/> + <attribute name="width"/> + <oneOrMore> + <element name="tr"> + <oneOrMore> + <element name="td"> + <attribute name="valign"> + <data type="NCName"/> + </attribute> + <attribute name="width"/> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="i"/> + </choice> + </oneOrMore> + </element> + </oneOrMore> + </element> + </oneOrMore> + </element> + </optional> + <zeroOrMore> + <element name="endnote"> + <optional> + <attribute name="notenumber"> + <data type="integer"/> + </attribute> + </optional> + <optional> + <attribute name="symbol"/> + </optional> + <choice> + <element name="number"> + <data type="integer"/> + </element> + <element name="symbol"> + <text/> + </element> + </choice> + <element name="note"> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="br"/> + <ref name="del"/> + <ref name="i"/> + <ref name="link"/> + <ref name="sup"/> + <ref name="u"/> + <element name="em"> + <data type="NCName"/> + </element> + <element name="sub"> + <data type="NCName"/> + </element> + </choice> + </oneOrMore> + </element> + </element> + </zeroOrMore> + </element> + </oneOrMore> + </element> + </element> + </start> + <define name="meta"> + <element name="meta"> + <text/> + </element> + </define> + <define name="br"> + <element name="br"> + <empty/> + </element> + </define> + <define name="b"> + <element name="b"> + <oneOrMore> + <choice> + <text/> + <ref name="en"/> + <ref name="i"/> + <ref name="link"/> + <ref name="sup"/> + </choice> + </oneOrMore> + </element> + </define> + <define name="i"> + <element name="i"> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="br"/> + <ref name="sup"/> + </choice> + </oneOrMore> + </element> + </define> + <define name="en"> + <element name="en"> + <text/> + </element> + </define> + <define name="sub"> + <element name="sub"> + <data type="NCName"/> + </element> + </define> + <define name="sup"> + <element name="sup"> + <data type="NCName"/> + </element> + </define> + <define name="link"> + <element name="link"> + <attribute name="xlink:href"> + <data type="anyURI"/> + </attribute> + <attribute name="xlink:type"> + <data type="NCName"/> + </attribute> + <oneOrMore> + <choice> + <data type="anyURI"/> + <text/> + <ref name="b"/> + <ref name="i"/> + <ref name="sup"/> + </choice> + </oneOrMore> + </element> + </define> + <define name="u"> + <element name="u"> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="i"/> + </choice> + </oneOrMore> + </element> + </define> + <define name="del"> + <element name="del"> + <oneOrMore> + <choice> + <text/> + <ref name="b"/> + <ref name="i"/> + <ref name="link"/> + </choice> + </oneOrMore> + </element> + </define> +</grammar> diff --git a/data/doc/sisu/model/xml/output/xsd/dom.xsd b/data/doc/sisu/model/xml/output/xsd/dom.xsd new file mode 100644 index 00000000..3132338a --- /dev/null +++ b/data/doc/sisu/model/xml/output/xsd/dom.xsd @@ -0,0 +1,327 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- dom output model, part of SiSU and under the same license --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xlink="http://www.w3.org/1999/xlink"> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/> + <xs:element name="document"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:element ref="body"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="head"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="header"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="header"> + <xs:complexType> + <xs:sequence> + <xs:element ref="meta"/> + <xs:choice> + <xs:element ref="creator"/> + <xs:element ref="date"/> + <xs:element ref="date_available"/> + <xs:element ref="date_created"/> + <xs:element ref="date_issued"/> + <xs:element ref="date_modified"/> + <xs:element ref="date_valid"/> + <xs:element ref="keywords"/> + <xs:element ref="language"/> + <xs:element ref="rights"/> + <xs:element ref="source"/> + <xs:element ref="structure"/> + <xs:element ref="subject"/> + <xs:element ref="title"/> + <xs:element ref="type"/> + <xs:element ref="source_control"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="creator" type="xs:string"/> + <xs:element name="date" type="xs:NMTOKEN"/> + <xs:element name="date_available" type="xs:NMTOKEN"/> + <xs:element name="date_created" type="xs:NMTOKEN"/> + <xs:element name="date_issued" type="xs:NMTOKEN"/> + <xs:element name="date_modified" type="xs:NMTOKEN"/> + <xs:element name="date_valid" type="xs:NMTOKEN"/> + <xs:element name="keywords" type="xs:string"/> + <xs:element name="language" type="xs:NCName"/> + <xs:element name="rights"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="link"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="source" type="xs:string"/> + <xs:element name="structure" type="xs:string"/> + <xs:element name="subject" type="xs:string"/> + <xs:element name="title" type="xs:string"/> + <xs:element name="type" type="xs:string"/> + <xs:element name="source_control"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="br"/> + <xs:element ref="meta"/> + <xs:element ref="sc"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="sc"> + <xs:complexType mixed="true"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="body"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="heading1"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="heading1"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="contents1"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="heading2"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="heading2"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="contents1"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="heading3"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="heading3"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element maxOccurs="unbounded" ref="contents1"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="contents1"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element ref="content"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="contents2"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="contents2"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element ref="content"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="contents3"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="contents3"> + <xs:complexType> + <xs:sequence> + <xs:element ref="heading"/> + <xs:element ref="content"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="meta" type="xs:string"/> + <xs:element name="br"> + <xs:complexType/> + </xs:element> + <xs:element name="heading"> + <xs:complexType> + <xs:sequence> + <xs:element ref="object"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="content"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="object"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <!-- + <define name="contents1"> + <element name="contents1"> + <ref name="heading"/> + <element name="content"> + <oneOrMore> + <ref name="object"/> + </oneOrMore> + </element> + </element> + </define> + --> + <xs:element name="object"> + <xs:complexType> + <xs:sequence> + <xs:element ref="ocn"/> + <xs:element minOccurs="0" ref="nametag"/> + <xs:choice> + <xs:element ref="table"/> + <xs:element ref="text"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="id" use="required" type="xs:integer"/> + </xs:complexType> + </xs:element> + <xs:element name="ocn" type="xs:string"/> + <xs:element name="nametag" type="xs:string"/> + <xs:element name="table"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attribute name="align" use="required" type="xs:NCName"/> + <xs:attribute name="bgcolor" use="required" type="xs:NCName"/> + <xs:attribute name="border" use="required" type="xs:integer"/> + <xs:attribute name="cellpadding" use="required" type="xs:integer"/> + <xs:attribute name="summary" use="required"/> + <xs:attribute name="width" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="tr"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="td"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="td"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="i"/> + <xs:element ref="i"/> + </xs:choice> + <xs:attribute name="valign" use="required" type="xs:NCName"/> + <xs:attribute name="width" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="text"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="i"/> + <xs:element ref="del"/> + <xs:element ref="endnote"/> + <xs:element ref="i"/> + <xs:element ref="link"/> + <xs:element ref="br"/> + <xs:element name="endnote"> + <xs:complexType> + <xs:sequence> + <xs:element ref="number"/> + <xs:element name="note"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="i"/> + <xs:element ref="link"/> + </xs:choice> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element ref="image"/> + <xs:element name="sub" type="xs:string"/> + </xs:choice> + <xs:attribute name="class" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="number" type="xs:integer"/> + <xs:element name="image"> + <xs:complexType> + <xs:attribute name="height" use="required" type="xs:integer"/> + <xs:attribute name="width" use="required" type="xs:integer"/> + <xs:attribute ref="xlink:actuate" use="required"/> + <xs:attributeGroup ref="xlink:href"/> + <xs:attribute ref="xlink:show" use="required"/> + <xs:attribute ref="xlink:type" use="required"/> + </xs:complexType> + </xs:element> + <!-- + <define name="content"> + <element name="content"> + <zeroOrMore> + <ref name="object"/> + </zeroOrMore> + </element> + </define> + <define name="b"> + <element name="b"> + <text/> + </element> + </define> + --> + <xs:element name="i" type="xs:string"/> + <xs:element name="u"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="i"/> + <xs:element ref="i"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="sub" type="xs:NCName"/> + <xs:element name="sup" type="xs:NCName"/> + <xs:element name="del"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="i"/> + <xs:element ref="i"/> + <xs:element ref="link"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="link"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:attributeGroup ref="xlink:href1"/> + <xs:attribute ref="xlink:type" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="endnote"> + <xs:complexType> + <xs:sequence> + <xs:choice> + <xs:element ref="number"/> + <xs:element ref="symbol"/> + </xs:choice> + <xs:element name="note"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="i"/> + <xs:element ref="br"/> + <xs:element ref="del"/> + <xs:element ref="i"/> + <xs:element ref="link"/> + <xs:element ref="sub"/> + <xs:element ref="sup"/> + <xs:element ref="u"/> + <xs:element ref="em"/> + <xs:element ref="sub"/> + </xs:choice> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="symbol" type="xs:string"/> + <xs:element name="em" type="xs:NCName"/> +</xs:schema> diff --git a/data/doc/sisu/model/xml/output/xsd/sax.xsd b/data/doc/sisu/model/xml/output/xsd/sax.xsd new file mode 100644 index 00000000..db6eb147 --- /dev/null +++ b/data/doc/sisu/model/xml/output/xsd/sax.xsd @@ -0,0 +1,332 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- % sax output model, part of SiSU and distributed under the same license --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xlink="http://www.w3.org/1999/xlink"> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/> + <xs:element name="document"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:element ref="body"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="head"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="br"/> + <xs:element ref="meta"/> + <xs:element ref="creator"/> + <xs:element ref="date"/> + <xs:element ref="date_available"/> + <xs:element ref="date_created"/> + <xs:element ref="date_issued"/> + <xs:element ref="date_modified"/> + <xs:element ref="date_valid"/> + <xs:element ref="keywords"/> + <xs:element ref="language"/> + <xs:element name="meta" type="xs:NMTOKEN"/> + <xs:element ref="rights"/> + <xs:element ref="source"/> + <xs:element ref="structure"/> + <xs:element ref="subject"/> + <xs:element ref="title"/> + <xs:element ref="type"/> + <xs:element ref="source_control"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="creator"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="link"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:attributeGroup ref="xlink:href"/> + <xs:attribute ref="xlink:type" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="date"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NMTOKEN"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="date_available"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NMTOKEN"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="date_created"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NMTOKEN"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="date_issued"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NMTOKEN"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="date_modified"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NMTOKEN"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="date_valid"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NMTOKEN"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="keywords"> + <xs:complexType mixed="true"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="language"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:NCName"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="rights"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="link"/> + </xs:sequence> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="source"> + <xs:complexType mixed="true"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="structure"> + <xs:complexType mixed="true"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="subject"> + <xs:complexType mixed="true"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="title"> + <xs:complexType mixed="true"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="type"> + <xs:complexType mixed="true"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="source_control"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="br"/> + <xs:element ref="meta"/> + <xs:element ref="sc"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="sc"> + <xs:complexType mixed="true"> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="body"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="object"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="object"> + <xs:complexType> + <xs:sequence> + <xs:element ref="ocn"/> + <xs:element minOccurs="0" ref="text"/> + <xs:element minOccurs="0" ref="table"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="endnote"/> + </xs:sequence> + <xs:attribute name="id" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="ocn" type="xs:string"/> + <xs:element name="text"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="br"/> + <xs:element ref="del"/> + <xs:element ref="en"/> + <xs:element ref="i"/> + <xs:element ref="link"/> + <xs:element ref="sub"/> + <xs:element ref="sup"/> + <xs:element ref="u"/> + <xs:element ref="image"/> + </xs:choice> + <xs:attribute name="class" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="image"> + <xs:complexType> + <xs:attribute name="alt"/> + <xs:attribute name="height" type="xs:integer"/> + <xs:attribute name="width" type="xs:integer"/> + <xs:attribute ref="xlink:actuate" use="required"/> + <xs:attributeGroup ref="xlink:href1"/> + <xs:attribute ref="xlink:show" use="required"/> + <xs:attribute ref="xlink:type" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="table"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attribute name="align" use="required" type="xs:NCName"/> + <xs:attribute name="bgcolor" use="required" type="xs:NCName"/> + <xs:attribute name="border" use="required" type="xs:integer"/> + <xs:attribute name="cellpadding" use="required" type="xs:integer"/> + <xs:attribute name="summary" use="required"/> + <xs:attribute name="width" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="tr"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="td"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="td"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="i"/> + </xs:choice> + <xs:attribute name="valign" use="required" type="xs:NCName"/> + <xs:attribute name="width" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="endnote"> + <xs:complexType> + <xs:sequence> + <xs:choice> + <xs:element ref="number"/> + <xs:element ref="symbol"/> + </xs:choice> + <xs:element ref="note"/> + </xs:sequence> + <xs:attribute name="notenumber" type="xs:integer"/> + <xs:attribute name="symbol"/> + </xs:complexType> + </xs:element> + <xs:element name="number" type="xs:integer"/> + <xs:element name="symbol" type="xs:string"/> + <xs:element name="note"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="br"/> + <xs:element ref="del"/> + <xs:element ref="i"/> + <xs:element ref="link"/> + <xs:element ref="sup"/> + <xs:element ref="u"/> + <xs:element ref="em"/> + <xs:element ref="sub"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="em" type="xs:NCName"/> + <xs:element name="sub" type="xs:NCName"/> + <xs:element name="meta" type="xs:string"/> + <xs:element name="br"> + <xs:complexType/> + </xs:element> + <xs:element name="b"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="en"/> + <xs:element ref="i"/> + <xs:element ref="link"/> + <xs:element ref="sup"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="i"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="br"/> + <xs:element ref="sup"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="en" type="xs:string"/> + <xs:element name="sup" type="xs:NCName"/> + <xs:element name="link"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="i"/> + <xs:element ref="sup"/> + </xs:choice> + <xs:attributeGroup ref="xlink:href"/> + <xs:attribute ref="xlink:type" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="u"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="i"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="del"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="b"/> + <xs:element ref="i"/> + <xs:element ref="link"/> + </xs:choice> + </xs:complexType> + </xs:element> +</xs:schema> |