diff options
Diffstat (limited to 'examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/abstractreference/model/Referencer.xsd')
-rw-r--r-- | examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/abstractreference/model/Referencer.xsd | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/abstractreference/model/Referencer.xsd b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/abstractreference/model/Referencer.xsd new file mode 100644 index 000000000..ab1bde86a --- /dev/null +++ b/examples/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/abstractreference/model/Referencer.xsd @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.eclipse.org/emf/teneo/samples/issues/abstractreference" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" + xmlns:ext="http://www.eclipse.org/emf/teneo/samples/issues/abstractreference"> + + <!-- Tests: + issue with nullpointer exception when building the reference structure + --> + + <xsd:complexType name="City" abstract="true"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="address" type="xsd:IDREF" ecore:reference="ext:Address" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="Person"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="address" type="ext:Address" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="Address" abstract="true"> + <xsd:sequence> + <xsd:element name="name" type="xsd:string"/> + <xsd:element name="country" type="xsd:IDREF" ecore:reference="ext:City" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:complexType name="USAddress"> + <xsd:complexContent> + <xsd:extension base="ext:Address"> + <xsd:sequence> + <xsd:element name="state" type="xsd:string"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="USCity"> + <xsd:complexContent> + <xsd:extension base="ext:City"> + <xsd:sequence> + <xsd:element name="state" type="xsd:string"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="USOfficeAddress"> + <xsd:complexContent> + <xsd:extension base="ext:USAddress"> + <xsd:sequence> + <xsd:element name="location" type="xsd:string"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:schema> |