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>
|
|