xsddoc/samples/stress stress.xsd,1.22,1.23
Kurt Riede <[email protected]> Tue, 07 Dec 2004 14:46:57 +0000
| Newsgroups | gmane.text.xml.xframe.xsddoc.devel |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/xframe/xsddoc/samples/stress
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14707/samples/stress
Modified Files:
stress.xsd
Log Message:
examples added for 'nillable', 'final','substitutionGroup' and other attributes
Index: stress.xsd
===================================================================
RCS file: /cvsroot/xframe/xsddoc/samples/stress/stress.xsd,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** stress.xsd 7 Oct 2004 22:50:22 -0000 1.22
--- stress.xsd 7 Dec 2004 14:46:51 -0000 1.23
***************
*** 1,162 ****
<?xml version="1.0" encoding="UTF-8"?>
! <xsd:schema targetNamespace="http://xframe.sf.net/sample/stress" xmlns:st="http://xframe.sf.net/sample/stress" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ii="http://xframe.sf.net/sample/stress/importedImported" xmlns:i="http://xframe.sf.net/sample/stress/imported" xmlns="http://xframe.sf.net/sample/stress/imported2" elementFormDefault="qualified" attributeFormDefault="unqualified">
! <xsd:annotation>
! <xsd:documentation>This namespace is used as a stress test for xsddoc.</xsd:documentation>
! </xsd:annotation>
! <xsd:include schemaLocation="cameleon.xsd"/>
! <xsd:import namespace="http://xframe.sf.net/sample/stress/imported" schemaLocation="imported.xsd"/>
! <xsd:import namespace="http://xframe.sf.net/sample/stress/imported2" schemaLocation="imported2.xsd"/>
! <xsd:import namespace="http://xframe.sf.net/sample/stress/circular1" schemaLocation="circular1.xsd"/>
! <xsd:include schemaLocation="included1.xsd"/>
! <xsd:include schemaLocation="included2.xsd"/>
! <xsd:include schemaLocation="includedIncluded.xsd"/>
! <xsd:redefine schemaLocation="redefined.xsd">
! <xsd:complexType name="testRedefine">
! <xsd:annotation>
! <xsd:documentation>
<p>This is a redefined type declaration.</p>
! </xsd:documentation>
! </xsd:annotation>
! <xsd:complexContent>
! <xsd:extension base="st:testRedefine">
! <xsd:sequence>
! <xsd:element name="testRedefined" type="xs:string"/>
! </xsd:sequence>
! </xsd:extension>
! </xsd:complexContent>
! </xsd:complexType>
! </xsd:redefine>
! <xsd:element name="russianDoll">
! <xsd:annotation>
! <xsd:documentation>An example of russian doll element declaration.
! This text is part of a documentation tag that is the first child of the <i>element</i> tag.</xsd:documentation>
! </xsd:annotation>
! <xsd:complexType>
! <xsd:sequence>
! <xsd:element name="rdRoot">
! <xsd:annotation>
! <xsd:documentation>The root of the russian doll.
! This text is part of a documentation tag that is the first child of the <i>rdRoot</i> tag.</xsd:documentation>
! </xsd:annotation>
! <xsd:complexType>
! <xsd:sequence>
! <xsd:element name="rdChild1" type="xs:string">
! <xsd:annotation>
! <xsd:documentation>The first child of the russian doll.
! This text is part of a documentation tag that is the first child of the <i>rdChild1</i> tag.</xsd:documentation>
! </xsd:annotation>
! </xsd:element>
! <xsd:element name="rdChild2">
! <xsd:annotation>
! <xsd:documentation>The second child of the russian doll.
! This text is part of a documentation tag that is the first child of the <i>rdChild2</i> tag.</xsd:documentation>
! </xsd:annotation>
! <xsd:complexType>
! <xsd:choice>
! <xsd:element name="child2node" type="st:nodeType"/>
! <xsd:element name="child2stress" type="st:stressType"/>
! </xsd:choice>
! <xsd:attributeGroup ref="st:std-attrs"/>
! <xsd:attribute name="onlyInChild2" type="xs:integer" use="required"/>
! <xsd:attribute name="reqAttr" type="xs:integer" use="required"/>
! <xsd:attribute name="optAttr" type="xs:string" use="optional"/>
! <xsd:attribute ref="st:test1"/>
! </xsd:complexType>
! </xsd:element>
! <xsd:element name="rdChild3">
! <xsd:annotation>
! <xsd:documentation>The third child of the russian doll.
! This text is part of a documentation tag that is the first child of the <i>rdChild3</i> tag.</xsd:documentation>
! </xsd:annotation>
! <xsd:simpleType>
! <xsd:restriction base="xs:string">
! <xsd:enumeration value="value1"/>
! <xsd:enumeration value="value2"/>
! <xsd:enumeration value="value3"/>
! </xsd:restriction>
! </xsd:simpleType>
! </xsd:element>
! <xsd:element name="rdChild4">
! <xsd:annotation>
! <xsd:documentation>The fourth child of the russian doll.
The type of this nested element is a local restriction of <code>xs:string</code>.
! This text is part of a documentation tag that is the fourth child of the <i>rdChild4</i> tag.</xsd:documentation>
! </xsd:annotation>
! <xsd:simpleType>
! <xsd:restriction base="xs:string">
! <xsd:maxLength value="255"/>
! <xsd:whiteSpace value="collapse"/>
! </xsd:restriction>
! </xsd:simpleType>
! </xsd:element>
! <xsd:element name="rdChild5" type="st:test2Type">
! <xsd:annotation>
! <xsd:documentation>The fifth child of the russian doll.
The type of this nested element is a local declared simpleType.
! This text is part of a documentation tag that is the fifth child of the <i>rdChild5</i> tag.</xsd:documentation>
! </xsd:annotation>
! </xsd:element>
! </xsd:sequence>
! <xsd:attributeGroup ref="st:std-attrs"/>
! <xsd:attribute name="reqAttr" type="xs:string" use="required"/>
! <xsd:attribute name="optAttr" type="xs:string" use="optional"/>
! <xsd:attribute ref="st:test2"/>
! <xsd:attribute name="onlyInRoot" type="xs:integer" use="required"/>
! </xsd:complexType>
! </xsd:element>
! </xsd:sequence>
! <xsd:attributeGroup ref="st:std-attrs"/>
! <xsd:attribute name="reqAttr" type="xs:string" use="required"/>
! <xsd:attribute name="optAttr" type="xs:string" use="optional"/>
! <xsd:attribute ref="st:test3"/>
! <xsd:attribute name="onlyInRussianDoll" type="xs:integer" use="required"/>
! </xsd:complexType>
! </xsd:element>
! <xsd:element name="stress" type="st:stressType">
! <xsd:annotation>
! <xsd:documentation>Stress test for xsddoc</xsd:documentation>
! </xsd:annotation>
! </xsd:element>
! <xsd:complexType name="stressType">
! <xsd:annotation>
! <xsd:documentation>This is plain text documentation.
Multiple Lines should
! remain multiple lines.</xsd:documentation>
! </xsd:annotation>
! <xsd:sequence maxOccurs="unbounded">
! <xsd:choice>
! <xsd:element ref="st:node"/>
! <xsd:element ref="st:stress"/>
! <xsd:element ref="st:russianDoll"/>
! <xsd:element name="includeTest" type="st:complexTypeIncluded1"/>
! <xsd:element ref="st:includedElement"/>
! </xsd:choice>
! <xsd:group ref="st:allGroup" minOccurs="0" maxOccurs="2">
! <xsd:annotation>
! <xsd:documentation>This is the documentation of the concrete usage of the all-group.</xsd:documentation>
! </xsd:annotation>
! </xsd:group>
! <xsd:group ref="st:sequenceGroup" minOccurs="0" maxOccurs="2">
! <xsd:annotation>
! <xsd:documentation>This is the documentation of the concrete usage of the sequence-group.</xsd:documentation>
! </xsd:annotation>
! </xsd:group>
! <xsd:group ref="st:choiceGroup" minOccurs="0" maxOccurs="2">
! <xsd:annotation>
! <xsd:documentation>This is the documentation of the concrete usage of the choice-group.</xsd:documentation>
! </xsd:annotation>
! </xsd:group>
! </xsd:sequence>
! <xsd:attribute name="testIncluded1" type="st:included1" use="optional"/>
! <xsd:attribute name="testInclude2" type="st:include2" use="required"/>
! </xsd:complexType>
! <xsd:element name="node" type="st:nodeType">
! <xsd:annotation>
! <xsd:documentation>A recursive element declaration.</xsd:documentation>
! </xsd:annotation>
! </xsd:element>
! <xsd:complexType name="nodeType">
! <xsd:annotation>
! <xsd:documentation>
A node in a tree.
This is XHTML documentation as mixed content inside the xs:documentation tag.
--- 1,162 ----
<?xml version="1.0" encoding="UTF-8"?>
! <xs:schema targetNamespace="http://xframe.sf.net/sample/stress" xmlns="http://xframe.sf.net/sample/stress/imported2" xmlns:i="http://xframe.sf.net/sample/stress/imported" xmlns:ii="http://xframe.sf.net/sample/stress/importedImported" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:st="http://xframe.sf.net/sample/stress" elementFormDefault="qualified" attributeFormDefault="unqualified">
! <xs:annotation>
! <xs:documentation>This namespace is used as a stress test for xsddoc.</xs:documentation>
! </xs:annotation>
! <xs:include schemaLocation="cameleon.xsd"/>
! <xs:import namespace="http://xframe.sf.net/sample/stress/imported" schemaLocation="imported.xsd"/>
! <xs:import namespace="http://xframe.sf.net/sample/stress/imported2" schemaLocation="imported2.xsd"/>
! <xs:import namespace="http://xframe.sf.net/sample/stress/circular1" schemaLocation="circular1.xsd"/>
! <xs:include schemaLocation="included1.xsd"/>
! <xs:include schemaLocation="included2.xsd"/>
! <xs:include schemaLocation="includedIncluded.xsd"/>
! <xs:redefine schemaLocation="redefined.xsd">
! <xs:complexType name="testRedefine">
! <xs:annotation>
! <xs:documentation>
<p>This is a redefined type declaration.</p>
! </xs:documentation>
! </xs:annotation>
! <xs:complexContent>
! <xs:extension base="st:testRedefine">
! <xs:sequence>
! <xs:element name="testRedefined" type="xs:string"/>
! </xs:sequence>
! </xs:extension>
! </xs:complexContent>
! </xs:complexType>
! </xs:redefine>
! <xs:element name="russianDoll">
! <xs:annotation>
! <xs:documentation>An example of russian doll element declaration.
! This text is part of a documentation tag that is the first child of the <i>element</i> tag.</xs:documentation>
! </xs:annotation>
! <xs:complexType>
! <xs:sequence>
! <xs:element name="rdRoot">
! <xs:annotation>
! <xs:documentation>The root of the russian doll.
! This text is part of a documentation tag that is the first child of the <i>rdRoot</i> tag.</xs:documentation>
! </xs:annotation>
! <xs:complexType block="#all" final="#all" mixed="true">
! <xs:sequence>
! <xs:element name="rdChild1" type="xs:string">
! <xs:annotation>
! <xs:documentation>The first child of the russian doll.
! This text is part of a documentation tag that is the first child of the <i>rdChild1</i> tag.</xs:documentation>
! </xs:annotation>
! </xs:element>
! <xs:element name="rdChild2" block="#all" final="#all">
! <xs:annotation>
! <xs:documentation>The second child of the russian doll.
! This text is part of a documentation tag that is the first child of the <i>rdChild2</i> tag.</xs:documentation>
! </xs:annotation>
! <xs:complexType>
! <xs:choice>
! <xs:element name="child2node" type="st:nodeType"/>
! <xs:element name="child2stress" type="st:stressType"/>
! </xs:choice>
! <xs:attributeGroup ref="st:std-attrs"/>
! <xs:attribute name="onlyInChild2" type="xs:integer" use="required"/>
! <xs:attribute name="reqAttr" type="xs:integer" use="required"/>
! <xs:attribute name="optAttr" type="xs:string" use="optional"/>
! <xs:attribute ref="st:test1"/>
! </xs:complexType>
! </xs:element>
! <xs:element name="rdChild3">
! <xs:annotation>
! <xs:documentation>The third child of the russian doll.
! This text is part of a documentation tag that is the first child of the <i>rdChild3</i> tag.</xs:documentation>
! </xs:annotation>
! <xs:simpleType>
! <xs:restriction base="xs:string">
! <xs:enumeration value="value1"/>
! <xs:enumeration value="value2"/>
! <xs:enumeration value="value3"/>
! </xs:restriction>
! </xs:simpleType>
! </xs:element>
! <xs:element name="rdChild4">
! <xs:annotation>
! <xs:documentation>The fourth child of the russian doll.
The type of this nested element is a local restriction of <code>xs:string</code>.
! This text is part of a documentation tag that is the fourth child of the <i>rdChild4</i> tag.</xs:documentation>
! </xs:annotation>
! <xs:simpleType>
! <xs:restriction base="xs:string">
! <xs:maxLength value="255"/>
! <xs:whiteSpace value="collapse"/>
! </xs:restriction>
! </xs:simpleType>
! </xs:element>
! <xs:element name="rdChild5" type="st:test2Type">
! <xs:annotation>
! <xs:documentation>The fifth child of the russian doll.
The type of this nested element is a local declared simpleType.
! This text is part of a documentation tag that is the fifth child of the <i>rdChild5</i> tag.</xs:documentation>
! </xs:annotation>
! </xs:element>
! </xs:sequence>
! <xs:attributeGroup ref="st:std-attrs"/>
! <xs:attribute name="reqAttr" type="xs:string" use="required"/>
! <xs:attribute name="optAttr" type="xs:string" use="optional"/>
! <xs:attribute ref="st:test2"/>
! <xs:attribute name="onlyInRoot" type="xs:integer" use="required"/>
! </xs:complexType>
! </xs:element>
! </xs:sequence>
! <xs:attributeGroup ref="st:std-attrs"/>
! <xs:attribute name="reqAttr" type="xs:string" use="required"/>
! <xs:attribute name="optAttr" type="xs:string" use="optional"/>
! <xs:attribute ref="st:test3"/>
! <xs:attribute name="onlyInRussianDoll" type="xs:integer" use="required"/>
! </xs:complexType>
! </xs:element>
! <xs:element name="stress" type="st:stressType">
! <xs:annotation>
! <xs:documentation>Stress test for xsddoc</xs:documentation>
! </xs:annotation>
! </xs:element>
! <xs:complexType name="stressType">
! <xs:annotation>
! <xs:documentation>This is plain text documentation.
Multiple Lines should
! remain multiple lines.</xs:documentation>
! </xs:annotation>
! <xs:sequence maxOccurs="unbounded">
! <xs:choice>
! <xs:element ref="st:node"/>
! <xs:element ref="st:stress"/>
! <xs:element ref="st:russianDoll"/>
! <xs:element name="includeTest" type="st:complexTypeIncluded1"/>
! <xs:element ref="st:includedElement"/>
! </xs:choice>
! <xs:group ref="st:allGroup" minOccurs="0" maxOccurs="2">
! <xs:annotation>
! <xs:documentation>This is the documentation of the concrete usage of the all-group.</xs:documentation>
! </xs:annotation>
! </xs:group>
! <xs:group ref="st:sequenceGroup" minOccurs="0" maxOccurs="2">
! <xs:annotation>
! <xs:documentation>This is the documentation of the concrete usage of the sequence-group.</xs:documentation>
! </xs:annotation>
! </xs:group>
! <xs:group ref="st:choiceGroup" minOccurs="0" maxOccurs="2">
! <xs:annotation>
! <xs:documentation>This is the documentation of the concrete usage of the choice-group.</xs:documentation>
! </xs:annotation>
! </xs:group>
! </xs:sequence>
! <xs:attribute name="testIncluded1" type="st:included1" use="optional"/>
! <xs:attribute name="testInclude2" type="st:include2" use="required"/>
! </xs:complexType>
! <xs:element name="node" type="st:nodeType">
! <xs:annotation>
! <xs:documentation>A recursive element declaration.</xs:documentation>
! </xs:annotation>
! </xs:element>
! <xs:complexType name="nodeType">
! <xs:annotation>
! <xs:documentation>
A node in a tree.
This is XHTML documentation as mixed content inside the xs:documentation tag.
***************
*** 181,457 ****
<img src="test.png"/>
<br/>
! </xsd:documentation>
! </xsd:annotation>
! <xsd:sequence maxOccurs="unbounded">
! <xsd:element ref="st:node"/>
! </xsd:sequence>
! <xsd:attribute name="description" type="xs:string">
! <xsd:annotation>
! <xsd:documentation>This is the the attribute description. some more text.
<p>This is some <i>additional description</i> to the attribute.</p>
! </xsd:documentation>
! </xsd:annotation>
! </xsd:attribute>
! <xsd:attributeGroup ref="st:std-attrs">
! <xsd:annotation>
! <xsd:documentation>This documentation explains the concrete usage of the group within the current context.</xsd:documentation>
! </xsd:annotation>
! </xsd:attributeGroup>
! </xsd:complexType>
! <xsd:attribute name="test1" type="st:test1Type">
! <xsd:annotation>
! <xsd:documentation>This is a simple attribute test</xsd:documentation>
! </xsd:annotation>
! </xsd:attribute>
! <xsd:attribute name="test2" type="st:test2Type">
! <xsd:annotation>
! <xsd:documentation>This is another simple attribute test</xsd:documentation>
! </xsd:annotation>
! </xsd:attribute>
! <xsd:attribute name="test3" type="st:test3Type">
! <xsd:annotation>
! <xsd:documentation>This is yet another simple attribute test</xsd:documentation>
! </xsd:annotation>
! </xsd:attribute>
! <xsd:attribute name="test4" type="st:test4Type">
! <xsd:annotation>
! <xsd:documentation>This is the fourth simple attribute test</xsd:documentation>
! </xsd:annotation>
! </xsd:attribute>
! <xsd:simpleType name="test1Type">
! <xsd:annotation>
! <xsd:documentation>type is from imported namespace</xsd:documentation>
! </xsd:annotation>
! <xsd:restriction base="i:simpleImported1">
! <xsd:enumeration value="value1"/>
! <xsd:enumeration value="value2"/>
! <xsd:enumeration value="value3"/>
! </xsd:restriction>
! </xsd:simpleType>
! <xsd:simpleType name="test2Type">
! <xsd:annotation>
! <xsd:documentation>type is from imported imported namespace</xsd:documentation>
! </xsd:annotation>
! <xsd:restriction base="i:simpleImported1">
! <xsd:pattern value="\c+"/>
! </xsd:restriction>
! </xsd:simpleType>
! <xsd:simpleType name="test3Type">
! <xsd:annotation>
! <xsd:documentation>type restricts type from imported namespace</xsd:documentation>
! </xsd:annotation>
! <xsd:restriction base="i:simpleImported1">
! <xsd:maxLength value="32"/>
! <xsd:whiteSpace value="preserve"/>
! </xsd:restriction>
! </xsd:simpleType>
! <xsd:simpleType name="test4Type">
! <xsd:annotation>
! <xsd:documentation>type restricts type from imported imported namespace</xsd:documentation>
! </xsd:annotation>
! <xsd:restriction base="i:simpleImported1">
! <xsd:whiteSpace value="collapse" fixed="true"/>
! </xsd:restriction>
! </xsd:simpleType>
! <xsd:simpleType name="test5Type">
! <xsd:annotation>
! <xsd:documentation>type restricts type from included schema</xsd:documentation>
! </xsd:annotation>
! <xsd:restriction base="st:included1">
! <xsd:maxLength value="64"/>
! <xsd:whiteSpace value="collapse" fixed="true"/>
! </xsd:restriction>
! </xsd:simpleType>
! <xsd:simpleType name="test6Type">
! <xsd:annotation>
! <xsd:documentation>type restricts type from included schema</xsd:documentation>
! </xsd:annotation>
! <xsd:restriction base="st:include4">
! <xsd:maxLength value="64"/>
! </xsd:restriction>
! </xsd:simpleType>
! <xsd:element name="imported2Element" type="imported2DerivedType">
! <xsd:annotation>
! <xsd:documentation>An element declaration derived from an imported type.</xsd:documentation>
! </xsd:annotation>
! </xsd:element>
! <xsd:complexType name="russianDollType">
! <xsd:annotation>
! <xsd:documentation>An example of russian doll complexType Definition.</xsd:documentation>
! </xsd:annotation>
! <xsd:sequence>
! <xsd:element name="rdRoot">
! <xsd:complexType>
! <xsd:sequence>
! <xsd:element name="rdChild1" type="xs:string"/>
! <xsd:element name="rdChild2">
! <xsd:complexType>
! <xsd:choice>
! <xsd:element name="child2node" type="st:nodeType"/>
! <xsd:element name="child2stress" type="st:stressType"/>
! </xsd:choice>
! <xsd:attribute name="name" type="xs:string" use="required"/>
! <xsd:attribute name="optAttr" type="xs:string" use="optional"/>
! <xsd:attribute ref="st:test1"/>
! </xsd:complexType>
! </xsd:element>
! </xsd:sequence>
! <xsd:attribute name="name" type="xs:string" use="required"/>
! <xsd:attribute name="optAttr" type="xs:string" use="optional"/>
! <xsd:attribute ref="st:test2"/>
! </xsd:complexType>
! </xsd:element>
! </xsd:sequence>
! <xsd:attribute name="name" type="xs:string" use="required">
! <xsd:annotation>
! <xsd:documentation>This is the name attribute.
<p>This attribute is a required attribute.</p>
! </xsd:documentation>
! </xsd:annotation>
! </xsd:attribute>
! <xsd:attribute name="optAttr" type="xs:string" use="optional"/>
! <xsd:attribute ref="st:test3"/>
! </xsd:complexType>
! <xsd:attributeGroup name="std-attrs">
! <xsd:annotation>
! <xsd:documentation>group of standard attributes</xsd:documentation>
! </xsd:annotation>
! <xsd:attribute name="id" use="optional">
! <xsd:annotation>
! <xsd:documentation>This is the the attribute description. some more text. some more text.
<p>This is some <i>additional description</i> to the attribute.</p>
! </xsd:documentation>
! </xsd:annotation>
! <xsd:simpleType>
! <xsd:restriction base="xs:ID">
! <xsd:whiteSpace value="collapse"/>
! </xsd:restriction>
! </xsd:simpleType>
! </xsd:attribute>
! <xsd:attribute name="name" use="optional">
! <xsd:annotation>
! <xsd:documentation>This is the the attribute description. some more text.
<p>This is some <i>additional description</i> to the attribute.</p>
! </xsd:documentation>
! </xsd:annotation>
! <xsd:simpleType>
! <xsd:restriction base="xs:NCName">
! <xsd:whiteSpace value="collapse"/>
! </xsd:restriction>
! </xsd:simpleType>
! </xsd:attribute>
! <xsd:attribute name="class" use="optional">
! <xsd:annotation>
! <xsd:documentation>This is the the attribute description. some more text.
<p>This is some <i>additional description</i> to the attribute.</p>
! </xsd:documentation>
! </xsd:annotation>
! <xsd:simpleType>
! <xsd:restriction base="xs:NCName">
! <xsd:whiteSpace value="collapse"/>
! </xsd:restriction>
! </xsd:simpleType>
! </xsd:attribute>
! </xsd:attributeGroup>
! <xsd:element name="simpleContentTest1" final="#all">
! <xsd:complexType>
! <xsd:simpleContent>
! <xsd:extension base="xs:Name">
! <xsd:attribute name="test" type="st:include2" use="required"/>
! <xsd:attributeGroup ref="st:std-attrs"/>
! </xsd:extension>
! </xsd:simpleContent>
! </xsd:complexType>
! </xsd:element>
! <xsd:element name="simpleContentTest2" final="#all">
! <xsd:complexType>
! <xsd:simpleContent>
! <xsd:extension base="st:test3Type">
! <xsd:attribute name="test" type="st:include2" use="required"/>
! <xsd:attributeGroup ref="st:std-attrs"/>
! </xsd:extension>
! </xsd:simpleContent>
! </xsd:complexType>
! </xsd:element>
! <xsd:element name="complexContentTest" block="restriction" final="restriction">
! <xsd:complexType>
! <xsd:complexContent>
! <xsd:extension base="st:complexTypeIncluded1">
! <xsd:sequence>
! <xsd:element name="node" type="st:nodeType"/>
! <xsd:element name="doll" type="st:russianDollType"/>
! </xsd:sequence>
! <xsd:attribute name="value" type="st:include4" default="default-value"/>
! <xsd:attribute name="test" type="xs:string" use="optional" default="test"/>
! <xsd:attributeGroup ref="st:std-attrs"/>
! <xsd:attribute name="version" type="xs:string" use="required" fixed="my-fixed-version-no"/>
! </xsd:extension>
! </xsd:complexContent>
! </xsd:complexType>
! </xsd:element>
! <xsd:element name="dataPathList">
! <xsd:complexType>
! <xsd:sequence>
! <xsd:element name="hdfDataPath" type="xs:string" maxOccurs="unbounded"/>
! </xsd:sequence>
! </xsd:complexType>
! </xsd:element>
! <xsd:element name="parentElement">
! <xsd:complexType>
! <xsd:sequence>
! <xsd:element name="childElement1" type="st:childElement1" maxOccurs="unbounded"/>
! <xsd:element name="childElement2" type="st:childElement2" maxOccurs="unbounded"/>
! </xsd:sequence>
! </xsd:complexType>
! </xsd:element>
! <xsd:simpleType name="childElement1">
! <xsd:annotation>
! <xsd:documentation>This is the type definition of the first child element</xsd:documentation>
! </xsd:annotation>
! <xsd:restriction base="xs:string"/>
! </xsd:simpleType>
! <xsd:simpleType name="childElement2">
! <xsd:annotation>
! <xsd:documentation>This is the type definition of the second child element</xsd:documentation>
! </xsd:annotation>
! <xsd:restriction base="xs:string"/>
! </xsd:simpleType>
! <xsd:group name="allGroup">
! <xsd:annotation>
! <xsd:documentation>This is description of for a simple group using the all compisitor.</xsd:documentation>
! </xsd:annotation>
! <xsd:all>
! <xsd:element name="test1" type="st:nodeType"/>
! <xsd:element name="test2" type="xs:string"/>
! <xsd:element name="test3" type="st:childElement2"/>
! </xsd:all>
! </xsd:group>
! <xsd:group name="sequenceGroup">
! <xsd:annotation>
! <xsd:documentation>This is description of for a simple group using the sequence compositor.</xsd:documentation>
! </xsd:annotation>
! <xsd:sequence>
! <xsd:element name="test1" type="st:nodeType"/>
! <xsd:element name="test2" type="xs:string"/>
! <xsd:element name="test3" type="st:childElement2"/>
! </xsd:sequence>
! </xsd:group>
! <xsd:group name="choiceGroup">
! <xsd:annotation>
! <xsd:documentation>This is description of for a simple group using the choice compositor.</xsd:documentation>
! </xsd:annotation>
! <xsd:choice>
! <xsd:element name="test1" type="st:nodeType"/>
! <xsd:element name="test2" type="xs:string"/>
! <xsd:element name="test3" type="st:childElement2"/>
! </xsd:choice>
! </xsd:group>
! <xsd:complexType name="testAllType">
! <xsd:all>
! <xsd:element name="test1" type="st:nodeType"/>
! <xsd:element name="test2" type="xs:string"/>
! <xsd:element name="test3" type="st:childElement2"/>
! </xsd:all>
! </xsd:complexType>
<!--
Examples from colinguthrie for documentation of nested element declarations.
--- 181,460 ----
<img src="test.png"/>
<br/>
! </xs:documentation>
! </xs:annotation>
! <xs:sequence maxOccurs="unbounded">
! <xs:element ref="st:node"/>
! </xs:sequence>
! <xs:attribute name="description" type="xs:string">
! <xs:annotation>
! <xs:documentation>This is the the attribute description. some more text.
<p>This is some <i>additional description</i> to the attribute.</p>
! </xs:documentation>
! </xs:annotation>
! </xs:attribute>
! <xs:attributeGroup ref="st:std-attrs">
! <xs:annotation>
! <xs:documentation>This documentation explains the concrete usage of the group within the current context.</xs:documentation>
! </xs:annotation>
! </xs:attributeGroup>
! </xs:complexType>
! <xs:attribute name="test1" type="st:test1Type">
! <xs:annotation>
! <xs:documentation>This is a simple attribute test</xs:documentation>
! </xs:annotation>
! </xs:attribute>
! <xs:attribute name="test2" type="st:test2Type">
! <xs:annotation>
! <xs:documentation>This is another simple attribute test</xs:documentation>
! </xs:annotation>
! </xs:attribute>
! <xs:attribute name="test3" type="st:test3Type">
! <xs:annotation>
! <xs:documentation>This is yet another simple attribute test</xs:documentation>
! </xs:annotation>
! </xs:attribute>
! <xs:attribute name="test4" type="st:test4Type">
! <xs:annotation>
! <xs:documentation>This is the fourth simple attribute test</xs:documentation>
! </xs:annotation>
! </xs:attribute>
! <xs:simpleType name="test1Type">
! <xs:annotation>
! <xs:documentation>type is from imported namespace</xs:documentation>
! </xs:annotation>
! <xs:restriction base="i:simpleImported1">
! <xs:enumeration value="value1"/>
! <xs:enumeration value="value2"/>
! <xs:enumeration value="value3"/>
! </xs:restriction>
! </xs:simpleType>
! <xs:simpleType name="test2Type">
! <xs:annotation>
! <xs:documentation>type is from imported imported namespace</xs:documentation>
! </xs:annotation>
! <xs:restriction base="i:simpleImported1">
! <xs:pattern value="\c+"/>
! </xs:restriction>
! </xs:simpleType>
! <xs:simpleType name="test3Type">
! <xs:annotation>
! <xs:documentation>type restricts type from imported namespace</xs:documentation>
! </xs:annotation>
! <xs:restriction base="i:simpleImported1">
! <xs:maxLength value="32"/>
! <xs:whiteSpace value="preserve"/>
! </xs:restriction>
! </xs:simpleType>
! <xs:simpleType name="test4Type">
! <xs:annotation>
! <xs:documentation>type restricts type from imported imported namespace</xs:documentation>
! </xs:annotation>
! <xs:restriction base="i:simpleImported1">
! <xs:whiteSpace value="collapse" fixed="true"/>
! </xs:restriction>
! </xs:simpleType>
! <xs:simpleType name="test5Type">
! <xs:annotation>
! <xs:documentation>type restricts type from included schema</xs:documentation>
! </xs:annotation>
! <xs:restriction base="st:included1">
! <xs:maxLength value="64"/>
! <xs:whiteSpace value="collapse" fixed="true"/>
! </xs:restriction>
! </xs:simpleType>
! <xs:simpleType name="test6Type">
! <xs:annotation>
! <xs:documentation>type restricts type from included schema</xs:documentation>
! </xs:annotation>
! <xs:restriction base="st:include4">
! <xs:maxLength value="64"/>
! </xs:restriction>
! </xs:simpleType>
! <xs:element name="imported2Element" type="imported2DerivedType">
! <xs:annotation>
! <xs:documentation>An element declaration derived from an imported type.</xs:documentation>
! </xs:annotation>
! </xs:element>
! <xs:complexType name="russianDollType">
! <xs:annotation>
! <xs:documentation>An example of russian doll complexType Definition.</xs:documentation>
! </xs:annotation>
! <xs:sequence>
! <xs:element name="rdRoot">
! <xs:complexType>
! <xs:sequence>
! <xs:element name="rdChild1" type="xs:string"/>
! <xs:element name="rdChild2">
! <xs:complexType>
! <xs:choice>
! <xs:element name="child2node" type="st:nodeType"/>
! <xs:element name="child2stress" type="st:stressType"/>
! </xs:choice>
! <xs:attribute name="name" type="xs:string" use="required"/>
! <xs:attribute name="optAttr" type="xs:string" use="optional"/>
! <xs:attribute ref="st:test1"/>
! </xs:complexType>
! </xs:element>
! </xs:sequence>
! <xs:attribute name="name" type="xs:string" use="required"/>
! <xs:attribute name="optAttr" type="xs:string" use="optional"/>
! <xs:attribute ref="st:test2"/>
! </xs:complexType>
! </xs:element>
! </xs:sequence>
! <xs:attribute name="name" type="xs:string" use="required">
! <xs:annotation>
! <xs:documentation>This is the name attribute.
<p>This attribute is a required attribute.</p>
! </xs:documentation>
! </xs:annotation>
! </xs:attribute>
! <xs:attribute name="optAttr" type="xs:string" use="optional"/>
! <xs:attribute ref="st:test3"/>
! </xs:complexType>
! <xs:attributeGroup name="std-attrs">
! <xs:annotation>
! <xs:documentation>group of standard attributes</xs:documentation>
! </xs:annotation>
! <xs:attribute name="id" use="optional">
! <xs:annotation>
! <xs:documentation>This is the the attribute description. some more text. some more text.
<p>This is some <i>additional description</i> to the attribute.</p>
! </xs:documentation>
! </xs:annotation>
! <xs:simpleType>
! <xs:restriction base="xs:ID">
! <xs:whiteSpace value="collapse"/>
! </xs:restriction>
! </xs:simpleType>
! </xs:attribute>
! <xs:attribute name="name" use="optional">
! <xs:annotation>
! <xs:documentation>This is the the attribute description. some more text.
<p>This is some <i>additional description</i> to the attribute.</p>
! </xs:documentation>
! </xs:annotation>
! <xs:simpleType>
! <xs:restriction base="xs:NCName">
! <xs:whiteSpace value="collapse"/>
! </xs:restriction>
! </xs:simpleType>
! </xs:attribute>
! <xs:attribute name="class" use="optional">
! <xs:annotation>
! <xs:documentation>This is the the attribute description. some more text.
<p>This is some <i>additional description</i> to the attribute.</p>
! </xs:documentation>
! </xs:annotation>
! <xs:simpleType>
! <xs:restriction base="xs:NCName">
! <xs:whiteSpace value="collapse"/>
! </xs:restriction>
! </xs:simpleType>
! </xs:attribute>
! </xs:attributeGroup>
! <xs:element name="simpleContentTest1" final="#all" nillable="true">
! <xs:annotation>
! <xs:documentation>This is a test of an element with simple type content.</xs:documentation>
! </xs:annotation>
! <xs:complexType>
! <xs:simpleContent>
! <xs:extension base="xs:Name">
! <xs:attribute name="test" type="st:include2" use="required"/>
! <xs:attributeGroup ref="st:std-attrs"/>
! </xs:extension>
! </xs:simpleContent>
! </xs:complexType>
! </xs:element>
! <xs:element name="simpleContentTest2" final="#all">
! <xs:complexType>
! <xs:simpleContent>
! <xs:extension base="st:test3Type">
! <xs:attribute name="test" type="st:include2" use="required"/>
! <xs:attributeGroup ref="st:std-attrs"/>
! </xs:extension>
! </xs:simpleContent>
! </xs:complexType>
! </xs:element>
! <xs:element name="complexContentTest" block="restriction" final="restriction">
! <xs:complexType>
! <xs:complexContent>
! <xs:extension base="st:complexTypeIncluded1">
! <xs:sequence>
! <xs:element name="node" type="st:nodeType"/>
! <xs:element name="doll" type="st:russianDollType"/>
! </xs:sequence>
! <xs:attribute name="value" type="st:include4" default="default-value"/>
! <xs:attribute name="test" type="xs:string" use="optional" default="test"/>
! <xs:attributeGroup ref="st:std-attrs"/>
! <xs:attribute name="version" type="xs:string" use="required" fixed="my-fixed-version-no"/>
! </xs:extension>
! </xs:complexContent>
! </xs:complexType>
! </xs:element>
! <xs:element name="dataPathList">
! <xs:complexType>
! <xs:sequence>
! <xs:element name="hdfDataPath" type="xs:string" maxOccurs="unbounded"/>
! </xs:sequence>
! </xs:complexType>
! </xs:element>
! <xs:element name="parentElement">
! <xs:complexType>
! <xs:sequence>
! <xs:element name="childElement1" type="st:childElement1" maxOccurs="unbounded"/>
! <xs:element name="childElement2" type="st:childElement2" maxOccurs="unbounded"/>
! </xs:sequence>
! </xs:complexType>
! </xs:element>
! <xs:simpleType name="childElement1">
! <xs:annotation>
! <xs:documentation>This is the type definition of the first child element</xs:documentation>
! </xs:annotation>
! <xs:restriction base="xs:string"/>
! </xs:simpleType>
! <xs:simpleType name="childElement2">
! <xs:annotation>
! <xs:documentation>This is the type definition of the second child element</xs:documentation>
! </xs:annotation>
! <xs:restriction base="xs:string"/>
! </xs:simpleType>
! <xs:group name="allGroup">
! <xs:annotation>
! <xs:documentation>This is description of for a simple group using the all compisitor.</xs:documentation>
! </xs:annotation>
! <xs:all>
! <xs:element name="test1" type="st:nodeType"/>
! <xs:element name="test2" type="xs:string"/>
! <xs:element name="test3" type="st:childElement2"/>
! </xs:all>
! </xs:group>
! <xs:group name="sequenceGroup">
! <xs:annotation>
! <xs:documentation>This is description of for a simple group using the sequence compositor.</xs:documentation>
! </xs:annotation>
! <xs:sequence>
! <xs:element name="test1" type="st:nodeType"/>
! <xs:element name="test2" type="xs:string"/>
! <xs:element name="test3" type="st:childElement2"/>
! </xs:sequence>
! </xs:group>
! <xs:group name="choiceGroup">
! <xs:annotation>
! <xs:documentation>This is description of for a simple group using the choice compositor.</xs:documentation>
! </xs:annotation>
! <xs:choice>
! <xs:element name="test1" type="st:nodeType"/>
! <xs:element name="test2" type="xs:string"/>
! <xs:element name="test3" type="st:childElement2"/>
! </xs:choice>
! </xs:group>
! <xs:complexType name="testAllType">
! <xs:all>
! <xs:element name="test1" type="st:nodeType"/>
! <xs:element name="test2" type="xs:string"/>
! <xs:element name="test3" type="st:childElement2"/>
! </xs:all>
! </xs:complexType>
<!--
Examples from colinguthrie for documentation of nested element declarations.
***************
*** 459,463 ****
<xs:complexType name="dummyfileType">
<xs:sequence>
! <xs:element name="dummytype" type="st:dummytypeType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
--- 462,466 ----
<xs:complexType name="dummyfileType">
<xs:sequence>
! <xs:element name="dummytype" type="st:dummytypeType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
***************
*** 476,480 ****
<xs:restriction base="xs:token">
<xs:maxLength value="128"/>
! </xs:restriction>
</xs:simpleType>
</xs:element>
--- 479,483 ----
<xs:restriction base="xs:token">
<xs:maxLength value="128"/>
! </xs:restriction>
</xs:simpleType>
</xs:element>
***************
*** 508,510 ****
</xs:complexType>
</xs:element>
! </xsd:schema>
--- 511,541 ----
</xs:complexType>
</xs:element>
! <xs:element name="elementWithAllAttributesTest" abstract="true" block="#all" final="#all" id="1234">
! <xs:annotation>
! <xs:documentation>This element is a test of an element with all optional attributes.</xs:documentation>
! </xs:annotation>
! <xs:complexType mixed="true">
! <xs:sequence>
! <xs:element ref="st:node"/>
! </xs:sequence>
! </xs:complexType>
! </xs:element>
! <xs:element name="substitutionGroupTest" substitutionGroup="st:node">
! <xs:annotation>
! <xs:documentation>This element is a test of a substitution group.</xs:documentation>
! </xs:annotation>
! <xs:complexType>
! <xs:sequence>
! <xs:element ref="st:node"/>
! </xs:sequence>
! </xs:complexType>
! </xs:element>
! <xs:complexType name="complexTypeWithAllAttributesTest" abstract="true" block="#all" final="#all" id="2345" mixed="true">
! <xs:annotation>
! <xs:documentation>This element is a test of a complex type with all optional attributes.</xs:documentation>
! </xs:annotation>
! <xs:sequence>
! <xs:element ref="st:node"/>
! </xs:sequence>
! </xs:complexType>
! </xs:schema>
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/