Schema XML

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Schema XML sau Schema XML este un limbaj pentru descrierea conținutului unui fișier XML , singurul care a ajuns până acum la validarea oficială a W3C (1.1).

La fel ca toate limbajele de descriere a conținutului XML, scopul său este de a contura ce elemente sunt permise, ce tipuri de date sunt asociate cu acestea și ce relație ierarhică au elementele conținute într-un fișier XML între ele.

Aceasta permite în principal validarea fișierului XML, adică verificarea faptului că elementele sale sunt în conformitate cu descrierea în limbajul XML Schema .

Schema XML permite, de asemenea, extragerea dintr-un fișier XML, sau mai degrabă o vizualizare dintr-un fișier XML, a unui set de obiecte cu anumite atribute și o structură. Această abordare a fost puternic împinsă de Microsoft ; unii critici îl contestă, deoarece ar putea introduce „puncte de legătură” în sistemul proprietar Microsoft pentru accesarea datelor într-un fișier XML. [1]

XSD

O „Definiție schemă XML” (XSD) este un exemplu ( instanță ) de schemă XML scrisă în limbajul schemei XML. Un XSD definește tipul unui document XML în termeni de constrângeri: ce elemente și atribute pot apărea, în ce relație între ele, ce tip de date poate conține și multe altele. De asemenea, poate fi utilizat cu un program de validare pentru a stabili la ce tip aparține un anumit document XML.

Principala diferență între XSD și alte limbaje de descriere a conținutului XML este că XSD a fost dezvoltat cu intenția ca determinarea validității unui document să poată produce o colecție de informații care aderă la anumite tipuri de date .

Istorie

Specificația XSD recunoaște influența DTD-urilor și a altor scheme XML, cum ar fi DDML, SOX, XML-Data și XDR.

Schema XML a adoptat caracteristici din toate aceste propuneri, dar reprezintă un compromis între ele. Dintre acești precursori, XDR și SOX au continuat să fie acceptate pentru o perioadă de timp chiar și după publicarea specificației XML Schema. Unele produse Microsoft au acceptat XDR până la lansarea MSXML 6.0 (care a abandonat XDR în favoarea XML Schema) în decembrie 2006 . Commerce One și-a susținut schema SOX, până când a intrat în faliment în 2004 .

Caracteristici

Din punct de vedere tehnic, o schemă este o colecție abstractă de metadate , constând dintr-un set de componente ale schemei : în principal declarații de atribute și elemente și definiții de tip simplu și complex. Aceste componente de schemă sunt de obicei create prin procesarea unei colecții de documente de schemă , care conțin definiții ale acestor componente .

Documentele de schemă sunt organizate pe spații de nume : toate componentele de schemă descrise acolo aparțin unui spațiu de nume țintă, iar acesta din urmă este o proprietate a documentului de schemă în ansamblu. Un document schemă poate include alte documente schemă pentru același spațiu de nume și poate importa documente schemă pentru un spațiu de nume diferit.

Când un document de instanță este validat în raport cu o schemă (un proces numit evaluare ), schema poate fi fie transmisă ca parametru motorului de validare, fie poate fi xsi:schemaLocation direct din documentul de instanță folosind două atribute speciale, xsi:schemaLocation și xsi:schemaLocation xsi:noNamespaceSchemaLocation . Ultimul mecanism impune ca clientul care invocă validarea să fie sigur că va avea loc în raport cu schema corectă.

Documentele de schemă XML au de obicei extensia .xsd . Un tip MIME specific nu a fost încă înregistrat pentru documentele XSD, deci tipurile MIME utilizate de obicei pentru aceste documente sunt „application / xml” sau „text / xml”.

Tipuri de date

Spre deosebire de DTD-uri, schemele XML permit validarea conținutului unui element sau atribut cu privire la un anumit tip de date. De exemplu, un atribut poate fi restricționat pentru a stoca doar o dată validă sau un număr zecimal .

XSD oferă un set de 19 tipuri de date primitive ( boolean , șir , zecimal, dublu, float , anyURI, QName, hexBinary, base64Binary, durata, data, ora, dataTime, gYear, gYearMonth, gMonth, gMonthDay, gDay și NOTATION). XSD permite construirea de noi tipuri de date pornind de la aceste tipuri primitive prin trei mecanisme posibile: restricție (reducerea setului de valori permise), listă (extensie la o secvență de valori) și unire (posibilitatea de a alege o valoare din diferite tipuri) . Specificarea limbajului în sine indică douăzeci și cinci de tipuri derivate, iar alte derivări de tip pot fi definite de utilizatori în propriile lor scheme.

Exemplu

Mai jos este un exemplu de schemă de document destul de simplă, care este destinată descrierii unei adrese.

Reprezentarea grafică a unei scheme XML
 <? xml version = "1.0" encoding = "utf-8"?>
<xs: schema elementFormDefault = "calificat" xmlns: xs = "http://www.w3.org/2001/XMLSchema" >
  <xs: element name = "Address" >
    <xs: complexType>
      <xs: secvență>
        <xs: element name = "Destinatar" type = "xs: string" />
        <xs: element name = "House" type = "xs: string" />
        <xs: element name = "Street" type = "xs: string" />
        <xs: element name = "Town" type = "xs: string" />
        <xs: element name = "County" type = "xs: string" minOccurs = "0" />
        <xs: element name = "PostCode" type = "xs: string" />
        <xs: element name = "Țară" >
          <xs: simpleType>
            <xs: restriction base = "xs: string" >
              <xs: enumeration value = "FR" />
              <xs: enumeration value = "DE" />
              <xs: enumeration value = "ES" />
              <xs: enumeration value = "UK" />
              <xs: enumeration value = "US" />
            </ xs: restricție>
          </ xs: simpleType>
        </ xs: element>
      </ xs: secvență>
    </ xs: complexType>
  </ xs: element>
</ xs: schema>

Un exemplu de document XML conform schemei XSD care are ca scop descrierea unei adrese:

 <? xml version = "1.0" encoding = "utf-8"?>
<Adresa xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" 
         xsi: noNamespaceSchemaLocation = "SimpleAddress.xsd" >
  <Recipient> Dl Walter C. Brown </Recipient>
  <Casa> 49 </Casa>
  <Street> Featherstone Street </Street>
  <Town> LONDRA </Town>
  < PostCode > EC1Y 8SY </ PostCode >
  <Country> UK </Country>
</Adresă>

Există o varietate de instrumente de dezvoltare care pot crea reprezentări grafice ale unei scheme.

Alte utilizări ale schemei XML

Principalul motiv pentru definirea unei scheme XSD este descrierea formală a unui document XML. Cu toate acestea, schemele XML au diverse utilizări dincolo de simpla validare.

Generarea de documente

Schemele XML pot fi utilizate pentru a genera documentații care pot fi căutate de om; această caracteristică este deosebit de utilă atunci când autorii au furnizat codului elemente de adnotare. Nu există standarde formale pentru generarea documentației, dar există multe instrumente disponibile cu această funcționalitate, cum ar fi foile de stil Xs3p , care produc documente HTML de înaltă calitate și materiale de imprimat.

Generarea codului

Schemele XML pot fi, de asemenea, utilizate pentru a genera cod sursă , la care se face referire cu legarea datelor XML . Codul permite conținutul expus de documentele XML să fie tratate ca obiecte în mediul de programare.

Notă

Elemente conexe

linkuri externe

Internet Portal internet : accesați intrările Wikipedia care se ocupă de internet