Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Llenguatge de marques i         sistemes de gestió dinformació              UF 1: Programació amb XML              Part 2C...
XML●   XML (eXtensible Markup Language) és un    estàndard del W3C per documents.       –   Defineix la sintaxi genèrica p...
XML●   XML NO és:       – No és un llenguatge de          programació       – No és un protocol de xarxa       – No és una...
XML●   XML no és només un llenguatge de    llenguatges, també és un conjunt de    tecnologies que permet la seva represent...
XML●   Les dades dun document XML es poden    representar en arbres           –   Tots els documents XML tenen una etiquet...
Document XML<?xml version="1.0" encoding="UTF-8" standalone="no"?><cendrassos>   <alumne>     <nom>Federicu Pi</nom>     <...
Anàlisi XML●   Lobjectiu principal de tenir regles a lhora    descriure documents XML és que puguin ser    llegits i inter...
Errors●   XML deixa ben clar com shan de tractar els    errors que es produeixin en els documents:       –   Errors lleus:...
Anàlisi XML●   Podem comprovar el compliment de les regles    amb un simple navegador web:                           Admin...
Analitzadors XML●   Hi ha molts analitzadors de documents i molts    dells són lliures:       –   Xmllint               ● ...
xmllint●   Xmllint és un analitzador i validador de    documents XML●   Si tot va bé ens mostra el document        $ xmlli...
Expat●   Amb el paquet dUbuntu hi tenim el programa    xmlwf que ens permet analitzar documents xml●   Aquest programa fa ...
MSXML●   El Microsoft XML Parser dóna suport per:       –   Accés HTTP amb servidor segur       –   Implementa XSL i Xpath...
Editors XML●   XML es pot crear amb qualsevol editor de    textos●   Alguns fins i tot ofereixen ressaltat de colors      ...
Editors XML●   Tot i així sempre ajudarà fer servir algun editor    amb suport XML●   Aquests editors sovint ofereixen alg...
Editors XMLPer fer edicions serioses de documents XML elmillor que podem fer és fer servir un Editorespecialitzat com:●   ...
Documents XMLRegles    Administració de Sistemes Informàtics i Xarxes
Introducció●   Els documents XML contenen text, etiquetes i    atributs<nom carrec=”professor”>Xavier Sala</nom>    Etique...
Regles bàsiques●   Tots els documents tenen una etiqueta arrel●   Totes les etiquetes shan de tancar●   Les etiquetes han ...
Cal una etiqueta arrel●   Tots els documents han de tenir una etiqueta    arrel que contingui totes les altres        <per...
Les etiquetes shan de tancar●   Cada una de les etiquetes dins dun document    XML sha de tancar.       <article>Disquet</...
Correctament niades●   Si es comencen dos etiquetes aquestes shan    de niar correctament       <inventari>          <arti...
Noms correctes●   Els noms de les etiquetes han de ser correctes:        –   Han de començar per una lletra de lalfabet o ...
Majúscules != Minúscules●   Per XML les majúscules són lletres diferents    que les minúscules●   Per tant aquestes dues s...
Valors entre cometes●   Els valors dels atributs han destar entre    cometes fins i tot si són números●   I No importa si ...
XMLCrear documents        Administració de Sistemes Informàtics i Xarxes
La declaració XML●   Els documents XML han de començar amb la    declaració que indiqui quina versió estem fent    servir ...
La declaració XML●   Atribut Encoding: Defineix el codi de    caràcters que fem servir en el document●   Com que XML està ...
La declaració XML●   Atribut standalone: Defineix si el document    XML no necessita un altre fitxer o si que el    necess...
Declaració XML●   Per tant la declaració dun fitxer podria ser una    cosa com això:<?xml version=”1.0” encoding=”UTF-8” s...
Etiquetes●   Les etiquetes van entre els símbols “<” i “>” <nom carrec=”professor”>Xavier Sala</nom>● Les etiquetes són cr...
Atributs●   Les etiquetes poden tenir atributs que en donen    informació<nom carrec=”professor”>Xavier Sala</nom>       –...
Atributs especials●   Tenim dos atributs predefinits:        –   xml:lang: Permet especificar en quin idioma             e...
Text: Entitats●   El text pot ser com es vulgui excepte uns    quants caràcters que shan de canviar i que es    coneixen c...
Text●   Podem posar el text en una secció CDATA si no    volem canviar els caràcters    <valor>       <! [CDATA[          ...
Comentaris●   Es poden afegir comentaris en els documents    XML●   Els comentaris seran ignorats pels programes    que pr...
Instruccions de procés●   Les instruccions de procés ens deixen que    programes externs puguin realitzar tasques●   Les i...
Espais de noms●   Com que cadascú pot crear les etiquetes que    vulgui       –   Al combinar documents podem trobar-nos q...
Espais de noms●   Els espais de noms permeten definir a quin    vocabulari pertany un element dun document    HTML●   Amb ...
Espais de noms●   Els espais de noms shan de carregar abans de    linici de les dades del document XML    <?xml version=”1...
Espais de noms●   A pesar de la semblança dels noms amb les    adreces web això només són noms        –   Si hi anem amb e...
Espais de noms●   No cal definir tots els espais de noms en larrel●   També es poden definir directament en els    element...
Espais de noms●   Per tant és el mateix:    <?xml version=”1.0”>    <classe xmlns:A=”http://server/alumnes”            xml...
Espais de noms●   Amb els espais de noms podem integrar les    etiquetes de diferents llenguatges dins dun    document XML...
Upcoming SlideShare
Loading in …5
×

Creació de documents xml

713 views

Published on

Creació de documents XML

Published in: Education
  • Be the first to comment

Creació de documents xml

  1. 1. Llenguatge de marques i sistemes de gestió dinformació UF 1: Programació amb XML Part 2Creació de documents XML Xavier Sala Pujolar IES Cendrassos
  2. 2. XML● XML (eXtensible Markup Language) és un estàndard del W3C per documents. – Defineix la sintaxi genèrica per marcar les dades textuals amb valors intel·ligibles per humans. – És una forma de donar format als documents prou flexible per ser personalitzada per diferents dominis: pàgines web, impressores, bases de dades, etc... – Està pensat perquè tothom el pugui fer servir en totes les possibles àrees dinterès i per sempre més. Administració de Sistemes Informàtics i Xarxes
  3. 3. XML● XML NO és: – No és un llenguatge de programació – No és un protocol de xarxa – No és una base de dades Administració de Sistemes Informàtics i Xarxes
  4. 4. XML● XML no és només un llenguatge de llenguatges, també és un conjunt de tecnologies que permet la seva representació i processament: Administració de Sistemes Informàtics i Xarxes
  5. 5. XML● Les dades dun document XML es poden representar en arbres – Tots els documents XML tenen una etiqueta pare que no és fill de ningú – Les fulles de larbre són les dades contingudes en el document <persona> <nompersona> <nom>Xavier</nom> <cognom>Sala</cognom> </nompersona> <professio> Enginyer Tècnic </professio> <professio> Professor </professio> </persona> Administració de Sistemes Informàtics i Xarxes
  6. 6. Document XML<?xml version="1.0" encoding="UTF-8" standalone="no"?><cendrassos> <alumne> <nom>Federicu Pi</nom> <any>2010</any> <matricula> <modul>XML</modul> <modul>Xarxes Locals</modul> </matricula> </alumne> <nom>Filomeno Garcia</nom> <any>2010</any> <matricula> <modul>XML</modul> </matricula> </alumne></cendrassos> Administració de Sistemes Informàtics i Xarxes
  7. 7. Anàlisi XML● Lobjectiu principal de tenir regles a lhora descriure documents XML és que puguin ser llegits i interpretats per un programa dordinador● Lanàlisi de fitxers XML es fa amb analitzadors (parsers) – Comproven que es compleixen les regles dXML – Comproven que el document està ben format – També poden comprovar que el document és “vàlid” Administració de Sistemes Informàtics i Xarxes
  8. 8. Errors● XML deixa ben clar com shan de tractar els errors que es produeixin en els documents: – Errors lleus: Violació dalgunes de les regles que estan marcades com a recomanació dXML ● El programa pot intentar continuar – Errors greus: No es compleix alguna de les regles obligatòries: no seguir la sintaxi, etc... ● El programa ha daturar-se immediatament i no continuar amb el procés Administració de Sistemes Informàtics i Xarxes
  9. 9. Anàlisi XML● Podem comprovar el compliment de les regles amb un simple navegador web: Administració de Sistemes Informàtics i Xarxes
  10. 10. Analitzadors XML● Hi ha molts analitzadors de documents i molts dells són lliures: – Xmllint ● Forma part de la llibreria libXML – Apache Xerces ● Està inclòs dins del projecte XML de la fundació Apache. Suport per Java, C i Perl – Expat ● Expat és una llibreria danàlisi XML feta en C – Microsoft XML Parser (MSXML) ● Eina de Microsoft gratuïta que està inclosa en el seu navegador Internet Explorer Administració de Sistemes Informàtics i Xarxes
  11. 11. xmllint● Xmllint és un analitzador i validador de documents XML● Si tot va bé ens mostra el document $ xmllint persona.xml <?xml version="1.0"?> <persona> <nompersona> <nom>Xavier</nom> <cognom>Sala</cognom> </nompersona> <professio>Professor</professio> <professio>Enginyer tècnic</professio> </persona>● Si hi ha errors ens els donarà informació per corregir-ho Administració de Sistemes Informàtics i Xarxes
  12. 12. Expat● Amb el paquet dUbuntu hi tenim el programa xmlwf que ens permet analitzar documents xml● Aquest programa fa servir la llibreria de C Expat: $ xmlwf fitxer.xml error.xml:6:2: mismatched tag $ xmlwf fitxer.xml $● Només analitza i no fa validacions Administració de Sistemes Informàtics i Xarxes
  13. 13. MSXML● El Microsoft XML Parser dóna suport per: – Accés HTTP amb servidor segur – Implementa XSL i Xpath. Sajusta als estàndards● Administració de Sistemes Informàtics i Xarxes
  14. 14. Editors XML● XML es pot crear amb qualsevol editor de textos● Alguns fins i tot ofereixen ressaltat de colors – Gedit, Kate Administració de Sistemes Informàtics i Xarxes
  15. 15. Editors XML● Tot i així sempre ajudarà fer servir algun editor amb suport XML● Aquests editors sovint ofereixen algunes característiques extres – Auto emplenat – Validació de documents – Creació desquemes – Transformacions, etc... Administració de Sistemes Informàtics i Xarxes
  16. 16. Editors XMLPer fer edicions serioses de documents XML elmillor que podem fer és fer servir un Editorespecialitzat com:● Microsoft Visual Studio● Altova XMLSpy● oXigen XML● Liquid XML Studio● Stylus Studio 6 XML● XMLPad Administració de Sistemes Informàtics i Xarxes
  17. 17. Documents XMLRegles Administració de Sistemes Informàtics i Xarxes
  18. 18. Introducció● Els documents XML contenen text, etiquetes i atributs<nom carrec=”professor”>Xavier Sala</nom> Etiquetes Atributs Text● No es pressuposa res de com es representaran les dades Administració de Sistemes Informàtics i Xarxes
  19. 19. Regles bàsiques● Tots els documents tenen una etiqueta arrel● Totes les etiquetes shan de tancar● Les etiquetes han destar niades correctament● Els noms de les etiquetes han de ser correctes● Les majúscules i minúscules són diferents● Els valors dels atributs han destar entre cometes Administració de Sistemes Informàtics i Xarxes
  20. 20. Cal una etiqueta arrel● Tots els documents han de tenir una etiqueta arrel que contingui totes les altres <persona> <nom>Xavier Sala</nom> <nom>Federicu Pi</nom> </persona>● Aquest no seria un document XML correcte <nom>Xavier Sala</nom> <nom>Federicu Pi</nom>● Lúnic que pot estar fora de larrel són els comentaris i instruccions de procés Administració de Sistemes Informàtics i Xarxes
  21. 21. Les etiquetes shan de tancar● Cada una de les etiquetes dins dun document XML sha de tancar. <article>Disquet</article>● No es poden fer coses com les que permet HTML <article nom=”disquet”>● Si tenim una etiqueta sense dades el podem representar amb el tancament “/>”: <article nom=”disquet” /> Administració de Sistemes Informàtics i Xarxes
  22. 22. Correctament niades● Si es comencen dos etiquetes aquestes shan de niar correctament <inventari> <article> Disquet </article> </inventari>● No es poden tancar de qualsevol forma <inventari> <article> Està tancat en ordre invers i Disquet per tant és incorrecte </inventari> </article> Administració de Sistemes Informàtics i Xarxes
  23. 23. Noms correctes● Els noms de les etiquetes han de ser correctes: – Han de començar per una lletra de lalfabet o un subratllat, guió o dos punts – No poden tenir espais – No poden començar per la paraula xml sigui com sigui escrita – No hi pot haver cap espai després de linici de la etiqueta <Correctes Incorrectes<Ciutat> </Ciutat> <XmlElement> </XmlElement><Item12> </Item12> <1Osset> </1Osset><casa-Nova> </casa-Nova> < Item> </ Item><element > </element > <Xavier Sala> </Xavier Sala><_Carai> </_Carai> <$Diners> </$Diners> Administració de Sistemes Informàtics i Xarxes
  24. 24. Majúscules != Minúscules● Per XML les majúscules són lletres diferents que les minúscules● Per tant aquestes dues són diferents: <article>Disquet</article> <Article>Disquet</Article>● I això és incorrecte! <Article> Disquet </article> Administració de Sistemes Informàtics i Xarxes
  25. 25. Valors entre cometes● Els valors dels atributs han destar entre cometes fins i tot si són números● I No importa si són cometes simples o dobles <Article quantitat=”3”>Disquet</Article>● No es pot fer això: <Article quantitat=3>Disquet</Article>● Els atributs sempre han de tenir algun valor, no es poden tenir atributs sense valor Administració de Sistemes Informàtics i Xarxes
  26. 26. XMLCrear documents Administració de Sistemes Informàtics i Xarxes
  27. 27. La declaració XML● Els documents XML han de començar amb la declaració que indiqui quina versió estem fent servir dXML – La declaració no és totalment obligatoria però és recomanable <?xml version=”1.0” ?>● Atribut “version”: Generalment es fa servir la versió “1.0” a menys que hi hagi causes de força major – La versió “1.1” aporta poques millores Administració de Sistemes Informàtics i Xarxes
  28. 28. La declaració XML● Atribut Encoding: Defineix el codi de caràcters que fem servir en el document● Com que XML està definit per un organisme internacional fa servir Unicode per defecte (UTF-8 i UTF-16) però en pot fer servir daltres US-ASCII Windows-1250 ISO-8859-2 Anglès Europa central Est dEuropa UTF-8 Windows-1251 ISO-8859-3 Unicode comprimit Ciril·lic Sud dEuropa UTF-16 Windows-1253 ISO-8859-4 UCS Comprimit Grec Nord dEuropa Windows-1252 ISO-8859-1 ISO-2022-JP Oest dEuropa Oest dEuropa Japonès Administració de Sistemes Informàtics i Xarxes
  29. 29. La declaració XML● Atribut standalone: Defineix si el document XML no necessita un altre fitxer o si que el necessita – standalone=”yes”: Significa que el document és complert i per tant no li calen altres documents – standalone=”no”: Vol dir que el document no es pot entendre per si sol. Generalment degut a que li falta algun fitxer per validar-lo Administració de Sistemes Informàtics i Xarxes
  30. 30. Declaració XML● Per tant la declaració dun fitxer podria ser una cosa com això:<?xml version=”1.0” encoding=”UTF-8” standalone=”no” ?>Segueix XML versió 1.0 Caràcters Unicode Necessita un DTD per ser validat Administració de Sistemes Informàtics i Xarxes
  31. 31. Etiquetes● Les etiquetes van entre els símbols “<” i “>” <nom carrec=”professor”>Xavier Sala</nom>● Les etiquetes són creades per lautor i han de ser autoexplicatives – Descriuen les dades que contenen <ciutat>Figueres</ciutat> Queda clar que el text és una ciutat● Poden tenir tants atributs com faci falta Administració de Sistemes Informàtics i Xarxes
  32. 32. Atributs● Les etiquetes poden tenir atributs que en donen informació<nom carrec=”professor”>Xavier Sala</nom> – Els atributs són un parell format per clau=valor – El nom dels atributs ha de ser un nom XML vàlid i no repetit – Nhi poden haver tants com calgui● Sempre han de tenir alguna cosa assignada<nom carrec=””>Filomenu Pi</nom> Administració de Sistemes Informàtics i Xarxes
  33. 33. Atributs especials● Tenim dos atributs predefinits: – xml:lang: Permet especificar en quin idioma està el contingut. El valor ha de ser un codi didioma ISO<missatge xml:lang=”ca”>Hola!</missatge><missatge xml:lang=”fr”>Salut!</missatge> – xml:space: Per forçar a que es conservin els espais en blanc: default o preserve<missatge xml:space=”preserve”> Hola Manolito!</missatge> Administració de Sistemes Informàtics i Xarxes
  34. 34. Text: Entitats● El text pot ser com es vulgui excepte uns quants caràcters que shan de canviar i que es coneixen com entitats < &lt; > &gt; “ &quot; &apos; & &amp;● No hi ha regles sobre quina ha de ser la llargada del text● Es pot escriure en qualsevol idioma del món● Es preserven els espais en blanc Administració de Sistemes Informàtics i Xarxes
  35. 35. Text● Podem posar el text en una secció CDATA si no volem canviar els caràcters <valor> <! [CDATA[ Si 5 > x llavors sumar 1 a x ] ]> </valor>● Generalment es fa servir per – grans llargades de text que requeririen molts canvis – Incloure HTML o Javascript (condicions, ...) Administració de Sistemes Informàtics i Xarxes
  36. 36. Comentaris● Es poden afegir comentaris en els documents XML● Els comentaris seran ignorats pels programes que processin el fitxer XML● Els comentaris estan entre els caràcters “<!--” i “-->” i poden ser de múltiples línies <!-- Això és un comentari --> <!-- I això també és un comentari --> Administració de Sistemes Informàtics i Xarxes
  37. 37. Instruccions de procés● Les instruccions de procés ens deixen que programes externs puguin realitzar tasques● Les instruccions de procés es tanquen entre “<?” i “?>” i el primer que shi posa és quin programa les processa <?processador funcio(valor) ?>● El programa és obligatori i en les dades shi pot posar qualsevol cosa● Des del punt de vista de XML no té cap sentit Administració de Sistemes Informàtics i Xarxes
  38. 38. Espais de noms● Com que cadascú pot crear les etiquetes que vulgui – Al combinar documents podem trobar-nos que tenim etiquetes repetides – Tot i que tinguin el mateix nom poden significar coses diferents!● Això provocaria un conflicte que no podríem resoldre – La solució és indicar-li a lordinador alguna forma de diferenciar-los Administració de Sistemes Informàtics i Xarxes
  39. 39. Espais de noms● Els espais de noms permeten definir a quin vocabulari pertany un element dun document HTML● Amb els espais de noms podem definir noms únics <alumnes:nom>Manolito Porras</alumnes:nom> <professors:nom>Filomenu Pi<professors:nom> – Ara queda clar a quin espai pertany cada una de les etiquetes “nom” Administració de Sistemes Informàtics i Xarxes
  40. 40. Espais de noms● Els espais de noms shan de carregar abans de linici de les dades del document XML <?xml version=”1.0”> <classe xmlns:A=”http://server/alumnes” xmlns:P=”http://server/professors”> <A:nom>Manolito Porras</A:nom> <P:nom>Filomenu Pi</P:nom> </classe>● En la definició tenim <classe xmlns:a=”http://server/alumnes”> Prefixe o alias de Nom de lespai Paraula clau lespai de noms Administració de Sistemes Informàtics i Xarxes
  41. 41. Espais de noms● A pesar de la semblança dels noms amb les adreces web això només són noms – Si hi anem amb el navegador no hi trobarem cap document – Es van fer servir per aconseguir tenir noms despais de noms únics i com que les adreces web ja ho són...● Podem definir quin és lespai de noms per defecte sense posar-li prefix <classe xmlns=”http://server/alumnes”> Administració de Sistemes Informàtics i Xarxes
  42. 42. Espais de noms● No cal definir tots els espais de noms en larrel● També es poden definir directament en els elements – També és vàlid pels seus descendents <classe xmlns=”http://server/alumnes”> <nom>Mariano Pardines</nom> <nom xmlns=”http://server/professors”> Federicu Pi </nom> </classe> Administració de Sistemes Informàtics i Xarxes
  43. 43. Espais de noms● Per tant és el mateix: <?xml version=”1.0”> <classe xmlns:A=”http://server/alumnes” xmlns:P=”http://server/professors”> <A:nom>Manolito Porras</A:nom> <P:nom>Filomenu Pi</P:nom> </classe> <?xml version=”1.0”> <classe xmlns=”http://server/alumnes” xmlns:P=”http://server/professors”> <nom>Manolito Porras</nom> <P:nom>Filomenu Pi</P:nom> </classe> <?xml version=”1.0”> <classe xmlns=”http://server/alumnes”> <nom>Manolito Porras<nom> <nom xmlns=”http://server/professors”>Filomenu Pi</nom> </classe> Administració de Sistemes Informàtics i Xarxes
  44. 44. Espais de noms● Amb els espais de noms podem integrar les etiquetes de diferents llenguatges dins dun document XML: SMIL, SVG, XHTML, ... XML http://www.w3.org/XML/1998/namespaces XSL http://www.w3.org/1999/XSL/Transform XSL-FO http://www.w3.org/1999/XSL/Format XHTML http://www.w3.org/1999/xhtml SVG http://www.w3.org/TR/svg Administració de Sistemes Informàtics i Xarxes

×