aboutsummaryrefslogtreecommitdiff
path: root/examples/cxx/serializer/polyroot/supermen.xsd
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-02-24 15:16:26 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-02-24 15:16:26 +0200
commit707cc94fe52463870a9c6c8e2e66eaaa389e601d (patch)
tree13e10ff28bf4455d915f9d59b401bdbb62a393cb /examples/cxx/serializer/polyroot/supermen.xsd
Start tracking XSD/e with git after version 3.0.03.0.0
Diffstat (limited to 'examples/cxx/serializer/polyroot/supermen.xsd')
-rw-r--r--examples/cxx/serializer/polyroot/supermen.xsd41
1 files changed, 41 insertions, 0 deletions
diff --git a/examples/cxx/serializer/polyroot/supermen.xsd b/examples/cxx/serializer/polyroot/supermen.xsd
new file mode 100644
index 0000000..3d1d4a8
--- /dev/null
+++ b/examples/cxx/serializer/polyroot/supermen.xsd
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+
+<!--
+
+file : examples/cxx/serializer/polyroot/schema.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>