Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » HTML / XML / XHTML » Einschränkung eines elements bei xsd

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.06.2009, 13:22 Uhr
~diego86
Gast


ich möchte das element methodtype je nachdem in welchem element es benutzt wird einschränken
bsp.: wenn ich ein cetype habe dann darin ein method definiere, dann darf das attribut m_type in method nur die werte OS und trigger annehmen,
bei smtype nur noOS.

gibts es ne möglichkeit so eine beschränkung ins schema file einzufügen.


Code:

<xsd:complexType name="methodType">
    <xsd:sequence>
        <xsd:element name="interfaceElement" type="interfaceElementType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>        
    <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
    <xsd:attribute name="m_type" use="required">    
        <xsd:simpleType>
            <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="OS"/>
                <xsd:enumeration value="NoOS"/>
                <xsd:enumeration value="trigger"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:attribute>
</xsd:complexType>

<xsd:complexType name="smType">
    <xsd:sequence>
        <xsd:element name="method" type="methodType" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="sm" type="smType" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="interfaceElement" type="interfaceElementType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
</xsd:complexType>

<xsd:complexType name="ceType">
    <xsd:sequence>
        <xsd:element name="method" type="methodType" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="ce" type="ceType" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="interfaceElement" type="interfaceElementType" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
</xsd:complexType>



meine idee, ich habe es über vererbung versucht, aber es kommen fehler medlungen beim validieren, gibt es vlt eine bessere oder andere lösung


Code:

<xsd:complexType name="methodType_module">
    <xsd:complexContent>
        <xsd:restriction base="methodType">
            <xsd:sequence>
                <xsd:element name="interfaceElement" type="interfaceElementType" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>        
            <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
            <xsd:attribute name="m_type" use="required">    
                <xsd:simpleType>
                    <xsd:restriction base="xsd:NMTOKEN">
                        <xsd:enumeration value="OStype"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:restriction>
    </xsd:complexContent>
</xsd:complexType>

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.06.2009, 12:50 Uhr
Pler
Einer von Vielen
(Operator)


Wenn man Fragen in mehreren Foren stellt, sollte man das wenigstens angeben.
computerbase.de und easy-coding.de

Ich steck bei XML Schema jetzt nicht so drin. Und habe auch nichts gefunden, wie man dieses Problem angehen könnte. Musst wohl zwei Elemente draus machen.

Dieser Post wurde am 04.06.2009 um 12:50 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ HTML / XML / XHTML ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: