tutoriais mais recente desenvolvimento web
 

XSD elementos vazios


Um elemento complexo vazio não pode ter conteúdo, somente atributos.


Elementos vazios complexos

Um elemento XML vazio:

<product prodid="1345" />

O "product" elemento acima tem nenhum conteúdo de todo. Para definir um tipo sem conteúdo, é preciso definir um tipo que permite que os elementos no seu conteúdo, mas nós realmente não declarar quaisquer elementos, como este:

<xs:element name="product">
  <xs:complexType>
    <xs:complexContent>
      <xs:restriction base="xs:integer">
        <xs:attribute name="prodid" type="xs:positiveInteger"/>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

No exemplo acima, define-se um tipo de complexo, com um teor de complexo. Os sinais elemento complexContent que pretendemos restringir ou alargar o modelo de conteúdo de um tipo complexo, ea restrição de número inteiro declara um atributo mas não introduz qualquer conteúdo elemento.

No entanto, é possível declarar o "product" elemento mais compacta, como este:

<xs:element name="product">
  <xs:complexType>
    <xs:attribute name="prodid" type="xs:positiveInteger"/>
  </xs:complexType>
</xs:element>

Ou você pode dar o elemento complexType um nome, e deixar que o "product" elemento tem um atributo do tipo que se refere ao nome do complexType (se você usar esse método, vários elementos podem se referem ao mesmo tipo complexo):

<xs:element name="product" type="prodtype"/>

<xs:complexType name="prodtype">
  <xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>