diff options
Diffstat (limited to 'examples/cxx/hybrid/polyroot/supermen.xsd')
-rw-r--r-- | examples/cxx/hybrid/polyroot/supermen.xsd | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/examples/cxx/hybrid/polyroot/supermen.xsd b/examples/cxx/hybrid/polyroot/supermen.xsd new file mode 100644 index 0000000..9178168 --- /dev/null +++ b/examples/cxx/hybrid/polyroot/supermen.xsd @@ -0,0 +1,40 @@ +<?xml version="1.0"?> + +<!-- + +file : examples/cxx/hybrid/polyroot/supermen.xsd +author : Boris Kolpackov <boris@codesynthesis.com> +copyright : not copyrighted - public domain + +--> + +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <xsd:complexType name="person"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + + <!-- substitution group root --> + <xsd:element name="person" type="person"/> + + <xsd:complexType name="superman"> + <xsd:complexContent> + <xsd:extension base="person"> + <xsd:attribute name="can-fly" type="xsd:boolean" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="superman" type="superman" substitutionGroup="person"/> + + <xsd:complexType name="batman"> + <xsd:complexContent> + <xsd:extension base="superman"> + <xsd:attribute name="wing-span" type="xsd:unsignedInt" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + +</xsd:schema> |