Diferència entre revisions de la pàgina «XML Schema»

17 octets eliminats ,  fa 5 mesos
m
neteja i estandardització de codi
m (neteja i estandardització de codi)
m (neteja i estandardització de codi)
'''XML Schema''' és un [[llenguatge d'esquema]] utilitzat per descriure l'estructura i les restriccions dels continguts dels documents XML d'una forma molt precisa, més enllà de les normes sintàctiques imposades pel mateix llenguatge [[XML]]. S'aconsegueix així, una percepció del tipus de document amb un alt nivell d'abstracció.
 
Va ser desenvolupat pel [[World Wide Web Consortium]] (W3C) i va arribar al nivell de recomanació al maig de 2001.
 
==Terminologia==
 
#"XML Schema" (Esquema XML) és el nom oficial atorgat a la recomanació del W3C, que va elaborar el primer llenguatge d'esquema separat d'XML (la definició de tipus de document ([[DTD]]) forma part d'XML).
# És habitual referir-se als esquemes com "XML schema" de forma genèrica, però es recomana utilitzar el terme "document esquema" (''schema document'') o "definició d'esquema"(''schema definition''), i reservar "XML Schema" per la denominació d'aquest llenguatge específic.
#Encara que genèricament s'utilitzi "XML schemas", XSDL (''XML Schema Definition Language'') és el nom tècnic dels llenguatges d'esquema d'XML com:
::* [[Definició de Tipus de Document]] (DTD)
::* [[Document Definition Markup Language]] (DDML)
::* [[Document Structure Description]] (DSD)
::* [[SGML]]
::* [[Schema for Object-Oriented XML]] (SOX)
 
El '''[[World Wide Web Consortium]] (W3C)''' va començar a treballar en l'XML Schema el
1998. La primera versió es va convertir en recomanació oficial al maig de 2001. Una segona
edició revisada està disponible des d'octubre de 2004.
 
Aquesta recomanació está desenvolupada en tres parts:
dels documents a nivell formal. Disposa d'eines per caracteritzar detalls concrets com a
color, forma o textures i poder relacionar-los amb característiques més generals. Així
aconseguim accedir a contingut caracteritzat mitjançant informació de petits detalls.
 
Els documents esquema (normalment amb extensió .xsd d{{'}}''XML Schema Definition'' (XSD)) es
principal aportació d'XML Schema és el gran nombre dels [[tipus de dades]]
que incorpora. D'aquesta manera, XML Schema augmenta les possibilitats i funcionalitats
d'aplicacions de processament de dades, incloent tipus de dades complexes com dates, nombres i strings.
 
===Tipus de components===
Aquests components ofereixen la possibilitat de combinar característiques d'alt o baix nivell:
 
:*'''Alt nivell''': S'encarreguen de donar un significat semàntic del contingut del document. Analitzen el contingut i extreuen d'ell un significat. Aquest pot estar predefinit en la declaració de l'esquema o es pot extreure de la mateixa estructura.
 
:*'''Baix nivell''': Són característiques més concretes del document que estan incloses en els diferents camps de l'esquema i s'hi accedeix de manera directa. Són les que es comparen directament amb el criteri de recerca definit i troba paraules concretes en la definició dels esquemes.
 
XML Schema supera moltes de les limitacions i febleses de les DTDs. Va ser dissenyat completament al voltant de [[#Namespaces|namespaces]] i suporta tipus de dades típiques dels
[[llenguatges de programació]], a més de tipus personalitzats simples i complexos. Un esquema es defineix pensant en el seu ús final.
 
== Aplicacions ==
XML Schema és el llenguatge probablement més utilitzat actualment en els sistemes de classificació de dades de qualsevol tipus en un suport electrònic (material digital i
audiovisual). A més, està inclòs en l'estàndard més conegut i general en aquest camp, el [[MPEG-7]]. Els esquemes XML permeten definir les restriccions i condicions dels arxius XML als que s'associa, facilitant l'accés a la informació que contenen, tant des del punt de vista estructural com a semàntic.
 
Com tots els llenguatges d'esquema de l'XML, l'XML Schema defineix un conjunt de regles que ha de complir un document de l'XML per ser considerat " [[Validació XML|válid]] " segons l'esquema associat. Tanmateix, a diferència de la major part dels altres llenguatges d'esquema, l'XML Schema aporta la possibilitat de recopilar informació d'estructura i contingut per obtenir el model de dades utilitzat en l'esquema.
 
Aquesta funcionalitat denominada ''Post-Schema-Validation Infoset'' (PSVI), es realitza després de la validació del document, i incrementa els usos del llenguatge en combinació amb altres aplicacions o llenguatges. Per exemple, es pot utilitzar per transformar el document en una jerarquia d'objectes, als quals es pot accedir a través d'un llenguatge de [[programació orientada a objectes]] (OOP).
 
==Namespaces==
La programació a l'XML Schema es basa en [[Namespace|Namespaces]]. En podem trobar una analogia entre aquests i els anomenats ''packages'' en [[Llenguatge Java|Java]]. Cada Namespace en conté uns elements i atributs que estan estretament relacionats amb el Namespace. Així, alhora, en cas de definir un element o un atribut d'un Namespace, sempre es crearà una connexió entre els diferents camps d'aquest. A més, aquesta forma de treballar, ens permet relacionar elements que no són en la mateixa Namespace però sí que mantenen una relació.
 
Després d'escriure un document XML es pot confirmar la correcta realització mitjançant la validació d'esquemes XML: [[Validació XML]].
<pre><nowiki>
 
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Llibre">
 
Podem veure com en ambdós casos s'inicien les declaracions indicant la versió de [[XML]] que s'utilitzarà i la codificació que s'usa. Aquests dos camps són necessaris per a poder interpretar l'esquema. A més, a la següent línia de codi podem veure com es redirecciona a l'usuari a la pàgina que ofereix les pautes de creació d'XML Schema en les que es basarà la
descripció de l'esquema.
 
L'element arrel s'anomena "Llibre" i té tres fills (elements niats) i un atribut. Els fills
són "Títol", "Editorial" que han d'aparèixer una vegada i "Autors" que pot aparèixer d'una a
deu vegades. El fet que estiguin agrupats en una seqüència indica que els elements han d'aparèixer en ordre, és a dir, primer el "Títol", després els "Autors" i finalment l'"Editorial". Els tres elements són de tipus ''string''. L'atribut de llibre s'anomena "preu" i és de tipus ''double''.
 
== Vegeu també ==
* [http://www-128.ibm.com/developerworks/edu/x-dw-xvalid-i.html?S_TACT=104AHW06&S_CMP=TUT Validació de XML Schema]
 
== Enllaços externs ==
* [http://www.w3.org/XML/Schema Esquemes al World Wide Web Consortium] (en anglès)
* [http://www.w3.org/TR/xmlschema-0/ XML Shema Part 0 Primer]
1.996.113

modificacions