XSD - Panoramica

XML Schema Definition, comunemente noto come XSD, è un modo per descrivere con precisione il linguaggio XML. XSD controlla la validità della struttura e del vocabolario di un documento XML rispetto alle regole grammaticali del linguaggio XML appropriato.

Un documento XML può essere definito come:

  • Well-formed- Se il documento XML aderisce a tutte le regole XML generali, come i tag, devono essere nidificati correttamente, i tag di apertura e di chiusura devono essere bilanciati e i tag vuoti devono terminare con "/>", allora viene chiamato ben formato .

    OR

  • Valid- Un documento XML che si dice valido quando non solo è ben formato , ma è anche conforme all'XSD disponibile che specifica quali tag utilizza, quali attributi questi tag possono contenere e quali tag possono essere presenti all'interno di altri tag, tra le altre proprietà .

Il diagramma seguente mostra come XSD viene utilizzato per strutturare i documenti XML:

Ecco un semplice codice XSD. Dai un'occhiata.

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

Caratteristiche

Ecco un elenco di alcune delle caratteristiche popolari di XSD:

  • Gli XSD possono essere estensibili per aggiunte future.
  • XSD è più ricco e potente del DTD.
  • XSD è scritto in XML.
  • XSD supporta i tipi di dati.
  • XSD supporta gli spazi dei nomi.
  • XSD è la raccomandazione del W3C.