Announcement

Collapse
No announcement yet.

ComplexType basierend auf einem anderen complexType: Elemente erneut definieren?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ComplexType basierend auf einem anderen complexType: Elemente erneut definieren?

    Hallo,

    ich habe eine Frage bzgl. eines complexType. Ich habe hier 2 xsd vorliegen.

    TYPE1.xsd definiert einen ComplexType mit mehreren Elementen:

    HTML Code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xs:schema targetNamespace="TYPENS"
     xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns="TYPENS" 
    elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="substitution">
    	
    	<xs:complexType name="TYPE1" final="extension">
    		<xs:annotation>
    			<xs:documentation>TYPE1</xs:documentation>
    		</xs:annotation>
    		<xs:sequence>
    			<xs:element ref="A"/>
    			<xs:element ref="B" minOccurs="0"/>
    			<xs:element ref="C" minOccurs="0"/>
    			<xs:element ref="D"/>
    		</xs:sequence>
    	</xs:complexType>
    </xs:schema>
    In einer 2. xsd wird ein weiterer ComplexType, basierend auf dem obigen erzeugt:

    HTML Code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xs:schema targetNamespace="TYPENS"
     xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns="TYPENS" 
    elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="substitution">
    	<xs:include schemaLocation="TYPE1.xsd"/>
    	<xs:complexType name="TYPE2">
    		<xs:complexContent>
    			<xs:restriction base="TYPE1">
    				<xs:sequence>
    					<xs:element ref="A"/>
    					<xs:element ref="B" minOccurs="0"/>
    					<xs:element ref="C" minOccurs="0"/>
    					<xs:element name="D" type="D_typ"/>
    				</xs:sequence>
    			</xs:restriction>
    		</xs:complexContent>
    	</xs:complexType>
    </xs:schema>
    
    Warum werden in der 2. xsd die Elemente erneut definiert, obwohl dieser auf dem 1 basiert, und dort auch schon die Elemente definiert wurden? Sollten hier nicht nur Erweiterungen rein? Oder ist es einfach schlecht programmiert?

    Danke für eure Hilfe.

    Gruß, Jana
Working...
X