Najnowsze tutoriale tworzenie stron internetowych
 

XML Rozszerzenie schematu Element


<Pełna XML Schema Reference

Definicja i Wykorzystanie

Element przedłużający rozszerza istniejący simpleType lub complexType element.

Element informacji

  • Parent elements: simpleContent, complexContent

Składnia

<extension
id=ID
base=QName
any attributes
>

(annotation?,((group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?)))

</extension>

(Znak? Deklaruje, że element może wystąpić zero lub jeden raz, a * Znak deklaruje, że element może wystąpić zero lub więcej razy wewnątrz elementu przedłużającego)

Atrybut Opis
id Opcjonalny. Określa unikatowy identyfikator dla elementu
base Wymagany. Określa nazwę wbudowany typ danych, element simpleType lub elementu complexType
any attributes Opcjonalny. Określa atrybuty z innych przestrzeni nazw nie schematu

Przykład 1

Poniższy przykład rozszerza istniejący simpleType dodając atrybut:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:simpleType name="size">
  <xs:restriction base="xs:string">
    <xs:enumeration value="small" />
    <xs:enumeration value="medium" />
    <xs:enumeration value="large" />
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="jeans">
  <xs:simpleContent>
    <xs:extension base="size">
      <xs:attribute name="sex">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="male" />
            <xs:enumeration value="female" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>

</xs:schema>

Przykład 2

Poniższy przykład rozszerza istniejący element complexType dodając trzy elementy:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="employee" type="fullpersoninfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

</xs:schema>

<Pełna XML Schema Reference