Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.xsd61
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>

Back to the top