XSD - Visão geral

A definição de esquema XML, comumente conhecida como XSD, é uma maneira de descrever precisamente a linguagem XML. O XSD verifica a validade da estrutura e do vocabulário de um documento XML em relação às regras gramaticais da linguagem XML apropriada.

Um documento XML pode ser definido como -

  • Well-formed- Se o documento XML aderir a todas as regras XML gerais, como tags, devem ser aninhadas corretamente, as tags de abertura e fechamento devem ser balanceadas e as tags vazias devem terminar com '/>', então ele é chamado de bem formado .

    OR

  • Valid- Um documento XML considerado válido quando não é apenas bem formado , mas também está em conformidade com o XSD disponível que especifica quais tags ele usa, quais atributos essas tags podem conter e quais tags podem ocorrer dentro de outras tags, entre outras propriedades .

O diagrama a seguir mostra como o XSD é usado para estruturar documentos XML -

Aqui está um código XSD simples. Dê uma olhada nisto.

<?xml version = "1.0"?>

<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
   targetNamespace = "http://www.tutorialspoint.com" 
   xmlns = "http://www.tutorialspoint.com"
   elementFormDefault = "qualified">

   <xs:element name = 'class'>
      <xs:complexType>
         <xs:sequence>
            <xs:element name = 'student' type = 'StudentType' minOccurs = '0' 
               maxOccurs = 'unbounded' />
         </xs:sequence>
      </xs:complexType>
   </xs:element>

   <xs:complexType name = "StudentType">
      <xs:sequence>
         <xs:element name = "firstname" type = "xs:string"/>
         <xs:element name = "lastname" type = "xs:string"/>
         <xs:element name = "nickname" type = "xs:string"/>
         <xs:element name = "marks" type = "xs:positiveInteger"/>
      </xs:sequence>
      <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
   </xs:complexType>
   
</xs:schema>

Características

Aqui está uma lista de alguns dos recursos populares do XSD -

  • Os XSDs podem ser extensíveis para adições futuras.
  • O XSD é mais rico e poderoso do que o DTD.
  • XSD é escrito em XML.
  • XSD suporta tipos de dados.
  • XSD oferece suporte a namespaces.
  • XSD é a recomendação W3C.