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/