2017-09-13 4 views
1

Wie Sie ein Attribut für ein Element hinzufügen, das auch Einschränkungen für Elemente enthält.So legen Sie Attribute für das Element xsd fest

   <xs:restriction base="xs:string"> 
        <xs:enumeration value="Spring"/> 
        <xs:enumeration value="Summer"/> 
        <xs:enumeration value="Autumn"/> 
        <xs:enumeration value="Fall"/> 
        <xs:enumeration value="Winter"/> 
       </xs:restriction> 
      <xs:complexType> 
       <xs:attribute name="id"/> 
      </xs:complexType> 
      </xs:simpleType> 

i möchte zu Element sowohl Attribut- und Einschränkung einzustellen. Aber so funktioniert es nicht einmal mit simpleContent & complexContent. So wie es geht?

Antwort

1

Sie müssen dies in zwei Schritten vor:

  • Definieren Sie eine einfache Art mit einem begrenzten Werteraum
  • einen komplexen Typ mit einfachem Inhalt definieren, die diese einfache Art erweitert (für den Inhalt verwendet wird) mit ein Attribut

Wie so:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema 
     xmlns:xs="http://www.w3.org/2001/XMLSchema" 
     elementFormDefault="qualified"> 
    <xs:simpleType name="restrictedsimpletype"> 
     <xs:restriction base="xs:string"> 
      <xs:enumeration value="Spring"/> 
      <xs:enumeration value="Summer"/> 
      <xs:enumeration value="Autumn"/> 
      <xs:enumeration value="Fall"/> 
      <xs:enumeration value="Winter"/> 
     </xs:restriction> 
    </xs:simpleType> 
    <xs:complexType name="restrictedwithattributes"> 
     <xs:simpleContent> 
      <xs:extension base="restrictedsimpletype"> 
       <xs:attribute name="id" type="xs:string"/> 
      </xs:extension> 
     </xs:simpleContent> 
    </xs:complexType> 
    <xs:element name="a" type="restrictedwithattributes"/> 
</xs:schema> 
+0

Vielen Dank Ghislain Fourny es wieder Aly arbeitet. – user7549997

Verwandte Themen