Es mostren els missatges amb l'etiqueta de comentaris XML. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris XML. Mostrar tots els missatges

dimecres, 1 de febrer del 2017

XML. Documents ben Formats

Un document XML ben format és un document que s'ajusta a les regles de sintaxi XML, com:
  •      que ha de començar amb la declaració XML
  •      ha de tenir un element arrel única
  •      Les marques de principi van deure a joc etiquetes finals
  •      elements entre majúscules i minúscules
  •      tots els elements han d'estar tancats
  •      tots els elements han d'estar niats correctament
  •      tots els valors dels atributs han de ser citats
  •      les entitats han de ser utilitzats per a caràcters especials

Fins i tot si estan ben formades documents que encara poden contenir errors, i aquests errors poden tenir greus conseqüències.


A més a més, podem usar DTD i Schema

XML Schema

Un esquema XML descriu l'estructura d'un document XML.

El llenguatge XML Schema també es coneix com a definició d'esquemes XML (XSD).


El propòsit d'un esquema XML és definir els blocs de construcció legal d'un document XML:
  • els elements i atributs que poden aparèixer en un document
  • el nombre de (i l'ordre dels) elements secundaris
  • tipus de dades per als elements i atributs
  • valors predeterminats i fixos per a elements i atributs

En el món XML, centenars de formats XML estandarditzats són d'ús diari.

Molts d'aquests estàndards XML estan definits pels esquemes XML.

Esquema XML és una (i més potent) basat en XML alternativa a la DTD.


Una de la major fortalesa dels esquemes XML és el suport per a tipus de dades.
  •      És més fàcil descriure el contingut del document permissible
  •      És més fàcil per validar l'exactitud de les dades
  •      És més fàcil definir les restriccions a les dades
  •      És més fàcil per a definir patrons de dades (formats de dades)
  •      És més fàcil per convertir dades entre diferents tipus de dades
  •  
Una altra gran força sobre els esquemes XML és que estan escrits en XML.
  •      No ha d'aprendre un nou idioma
  •      Es pot utilitzar el seu editor de XML per editar els seus arxius d'esquema
  •      Pot utilitzar el seu analitzador XML per analitzar els arxius d'esquema
  •      Es pot manipular l'esquema amb el DOM XML
  •      Vostè pot transformar el seu esquema amb XSLT

Els esquemes XML són extensibles, perquè estan escrits en XML.

Amb una definició d'esquema extensible es pot:

  •      Reutilitzar el seu esquema en altres esquemes
  •      Crear els seus propis tipus de dades derivades dels tipus estàndard
  •      Fer referència a diversos esquemes en el mateix document 
 Com fer un schema ?

L'element arrel o pare d'un schema és l'element <schema> de qualsevol XML Schema

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:schema>
...
...
</xs:schema>

xmlns:xs --> significa que usarà dades i elements definits en
http://www.w3.org/2001/XMLSchema
 
elementFormDefault="qualified" --> són elements qualificats
En el document *.xml cal que apareixi aquesta declaració
 
<arrel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="nomfitxer.xsd">
 
ELEMENTS
Els elements simples només contenen text. La sintaxi és

<xs:element name="xxx" type="yyy"/>
 
on xxx és el nom de l'element i yyy és el tipus de dades de l'element.
Esquema XML té una gran quantitat de tipus de dades incorporats. Els tipus més comuns són:

xs: string
xs: decimal
xs: integer
xs: boolean
xs: date
xs: time


Els elements simples poden tenir un valor per defecte (default) o un valor fix (fixed) especificat.
 
Els elements simples no poden tenir atributs. Si un element atributs, es considera per ser d'un tipus complex. No obstant això, el propi atribut sempre és declarat com un tipus simple.
 
La sintaxi d'un atribut és:
<xs:attribute name="xxx" type="yyy"/>
 
on xxx és el nom de l'atribut i yyy especifica el tipus de dades de l'atribut.

Esquema XML té una gran quantitat de tipus de dades incorporats. Els tipus més comuns són:
 

xs: string
xs: decimal
xs: integer
xs: boolean
xs: date
xs: time
 
ELEMENTS COMPLEXOS
 
Un element complex és un element XML que conté altres elements i / o atributs.

Hi ha quatre tipus d'elements complexos:
  •      elements buits
  •      elements que contenen altres elements únics
  •      elements que només contenen text
  •      elements que contenen tant text i altres elements
Per definir elements complexes primer escribim l'etiqueta <xs:complexType> i després <xs:sequence>. Finalment escriurem cadascun dels seus elements ( amb atributs, o no)

EXEMPLE:

book.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/home/super/Documents/book.xsd">
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price/>
  </book>

  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>

  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
    <author>Per Bothner</author>
    <author>Kurt Cagle</author>
    <author>James Linn</author>
    <author>Vaidyanathan Nagarajan</author>
    <year>2003</year>
    <price>49.99</price>


book.xsd
  </book>

  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>

</bookstore>

book.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="bookstore">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="book" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="book">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="title"/>
        <xs:element name="author" type="xs:string"/>
        <xs:element name="year" type="xs:string"/>
        <xs:element name="price" type="xs:string"/>
      </xs:sequence>
      <xs:attribute name="category" type="xs:string" use="required"/>
      <xs:attribute name="cover" type="xs:string"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="title">
    <xs:complexType mixed="true">
      <xs:attribute name="lang" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
 
 

 
   

dijous, 18 de febrer del 2016

XML. Estructura

Els documents XML formen una estructura d'arbre que comença a "l'arrel" i les branques per a "les fulles".

Suposem el següent exemple:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

Aquesta seria la seva representació:

XML utilitza una sintaxi molt auto-descripció.
Un pròleg defineix la versió de XML i la codificació de caràcters:
<?xml version="1.0" encoding="UTF-8"?>

La següent línia és el element arrel del document:

<bookstore>

La següent línia s'inicia un element <llibre>:

<book category="cooking">

Els llibres <> elements tenen 4 elements secundaris : <title>, <autor>, <any>, <> de preus.

<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>

La següent línia acaba l'element de llibre:

</book>

Documents XML es formen com arbres d'elements .
Un arbre XML s'inicia en un element arrel i les branques de l'arrel a elements secundaris .
Tots els elements poden tenir sub-elements (elements secundaris):

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

XML. Introducció


XML representa la lletra EXextensible Markup Language.

XML va ser dissenyat per emmagatzemar i transportar dades:
  • XML és una eina en programari i maquinari independent per a l'emmagatzematge i el transport de dades.
  • Es simplifica l'intercanvi de dades
  • Simplifica el transport de dades
  • Simplifica canvis de plataforma
  • Simplifica la disponibilitat de dades

Molts sistemes informàtics contenen dades en formats incompatibles. L'intercanvi de dades entre sistemes incompatibles (o sistemes actualitzats) és una tasca que consumeix temps per als desenvolupadors web. Grans quantitats de dades han de ser convertits, i dades incompatibles sovint es perd.

Emmagatzema les dades XML en format de text pla. Això proporciona una forma en programari i maquinari independent d'emmagatzemar, transportar i compartir dades.

XML també fa que sigui més fàcil d'ampliar o actualitzar als nous sistemes operatius, noves aplicacions o nous navegadors, sense perdre dades.

XML va ser dissenyat per ser alhora per ser llegible per les màquines i els homes:
  • XML va ser dissenyat per ser auto-descriptiu
  • Amb XML, les dades poden estar disponibles per a tot tipus de "màquines de lectura", com les persones, ordinadors, màquines de veu, canals de notícies, etc.
XML és una recomanació de la W3C:
  • XML es va convertir en una recomanació de la W3C el 10 febrer 1998

XML és un llenguatge de marques molt similar a HTML

XML i HTML van ser dissenyats amb diferents objectius:
  • XML va ser dissenyat per transportar dades - amb el focus en quines dades apareixen
  • HTML va ser dissenyat per mostrar les dades - amb el focus en l'aspecte de dades
  • Les etiquetes XML no estan predefinides, com són etiquetes HTML
El llenguatge XML no té etiquetes predefinides.

Exemple:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

Les etiquetes en l'exemple anterior (com <to> i <from>) no es defineixen en qualsevol estàndard XML. Aquestes etiquetes són "inventades" per l'autor del document XML.

HTML treballa amb etiquetes predefinides com <p>, <h1>, <table>, etc.

Amb XML, l'autor ha de definir tant les etiquetes i l'estructura del document.


Quan es presenten les dades en HTML, que no hauria haver d'editar l'arxiu HTML quan canvien les dades.

Amb XML, les dades es poden emmagatzemar en arxius XML.

Amb unes poques línies de codi JavaScript, es pot llegir un arxiu XML i actualitzar el contingut de les dades de qualsevol pàgina HTML.