enginyeria del software iii - repositori.udl.cat

39
Enginyeria del Software III XML PRESENTACIÓ Roberto García Despatx EPS 3.15 [email protected]

Upload: others

Post on 25-Jul-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enginyeria del Software III - repositori.udl.cat

Enginyeria del Software III

XML PRESENTACIÓ

Roberto García Despatx EPS 3.15 [email protected]

Page 2: Enginyeria del Software III - repositori.udl.cat

CONTINGUTS DEL TEMA X

ML. P

resentació

2

  Introducció   Eines per treballar amb XML   Elaboració de documents

XML   Documents XML ben formats i

documents XML vàlids   DTDs   Namespaces

  Fulls d’estil per documents XML   DSSSL   CSS   XSL, XSLT y XPath   XSL-FO: objectes de formateig

  XHTML 1.0   Diferencies amb HTML   Convertir HTML a XHTML

manualment i automàticament   Visualitzar XHTML en els

navegadors actuals

  WML (Wireles Markup Language)

  XML en els navegadors   CSS, XSLT, DOM y Javascript

  Enllaços en XML   El futur de XML

Page 3: Enginyeria del Software III - repositori.udl.cat

GENERALITATS

 XML es el format i el model per intercanviar informació entre components, aplicacions, i empreses a través d’Internet

 Microsoft, IBM, Sun, etc., estan apostant fortament per aquesta tecnologia

 XML és un estàndard obert a Internet (W3C)  XML habilita una nova generació d’aplicacions a

Internet

3

XM

L. Presentació

Page 4: Enginyeria del Software III - repositori.udl.cat

ORÍGENS

 SGML (Standarized Generalized Markup Language) estàndard ISO 8879 en 1986   estàndard internacional per la definició de l’estructura

i el contingut de diferents tipus de documents electrònics

  Problema: complexitat de l'estàndard

4

XM

L. Presentació

Page 5: Enginyeria del Software III - repositori.udl.cat

ORÍGENS

 HTML (HyperText Markup Language) basat en:   ASCII: qualsevol processador el pot llegir i guardar   Basat en SGML:

  Per donar format al text ASCII   Només un subcongunt de SGML,

simplicitat

5

XM

L. Presentació

Page 6: Enginyeria del Software III - repositori.udl.cat

ORÍGENS

 Problemes de HTML:   Pensat per a mostrar-se en un navegador però no per

impressió o disseny   Número d’etiquetes limitades   NO pot mostrar contingut dinàmic   Estructura i disseny estan barrejats (dades + presentació)   NO força la bona estructura de la pàgina

  Ex.: poden deixar-se etiquetes sense tancar   Complica el processament per ordinador   La seva interpretació depèn del software utilitzat

 Proposta: XML

6

XM

L. Presentació

Page 7: Enginyeria del Software III - repositori.udl.cat

ORÍGENS

 Que NO ÉS XML   XML no és HTML++

  No és una versió millorada de HTML

  XML no és un llenguatge per fer millors pàgines web   XML no està limitat a la web

7

XM

L. Presentació

Page 8: Enginyeria del Software III - repositori.udl.cat

ORÍGENS

 Que ÉS XML   Una versió abreujada de SGML,

optimitzada per Internet   XML ofereix el 80% dels avantatges de SGML

amb un 20% de la seva complexitat [R. Ligth]   Especificació XML 30 pàg., SGML 500 !!

  Estàndard obert, sense llicències   Internacionalitzable (I18N)   Basat en text pla, no binari   Modular i ampliable   Permet definir tipus de documents propis

  XHTML, ODT, DOCX,...

8

XM

L. Presentació

SGML

XML HTML

Page 9: Enginyeria del Software III - repositori.udl.cat

ORÍGENS

 XML és un llenguatge utilitzat per   estructurar i descriure dades   de forma que puguin ser enteses o interpretades per

diferents aplicacions  Suport per qualsevol llenguatge i/o sistema operatiu  XML és un meta-llenguatge

  Permet definir llenguatges de marcat, adequats a usos determinats

 XML és un estàndard d’Internet, aprovat pel W3C   Original:

http://www.w3.org/TR/REC-xml   Traducció castellà:

http://www.sidar.org/recur/desdi/traduc/es/xml/xml1

9

XM

L. Presentació

SGML

XML HTML

Page 10: Enginyeria del Software III - repositori.udl.cat

XML I OPENOFFICE

10

XM

L. Presentació

Page 11: Enginyeria del Software III - repositori.udl.cat

11

XM

L. Presentació

Page 12: Enginyeria del Software III - repositori.udl.cat

XML I MICROSOFT OFFICE

 El format del arxius de les darreres versió del MS Office és en XML   .DOCX, .PPTX, .XSLX,...   Anomenats MS Office Open XML Formats

http://es.wikipedia.org/wiki/Office_Open_XML   Motius:

  Formats d’arxiu compacte i robust   Millor interoperabilitat de dades   Formats oberts i sense “royalties”   Compatibilitat i suport per a clients i partners

12

XM

L. Presentació

Page 13: Enginyeria del Software III - repositori.udl.cat

XML I MICROSOFT OFFICE

13

XM

L. Presentació

Tirant.docx

Page 14: Enginyeria del Software III - repositori.udl.cat

XML I MICROSOFT OFFICE

14

XM

L. Presentació

Tirant.docx

document.xml

renombrar .ZIP

Page 15: Enginyeria del Software III - repositori.udl.cat

HTML VS XML

15

XM

L. Presentació

  HTML està centrat en la presentació, i és menys estructurat

  Les etiquetes i atributs són fixes

  És possible oblidar el tancament d’alguna etiqueta

  …

  XML es centra sobre dades, i és molt estructurat

  Les etiquetes i atributs són extensibles

  Es força a tenir una estructura consistent

  …

Page 16: Enginyeria del Software III - repositori.udl.cat

XM

L. Presentació

16

xml

html

Page 17: Enginyeria del Software III - repositori.udl.cat

AVANTATGES

17

XM

L. Presentació

Page 18: Enginyeria del Software III - repositori.udl.cat

AVANTATGES

18

XM

L. Presentació

Fulls d’estil per telèfons

Fulls d’estil per pantalles

d’ordindor

Fulls d’estil de servidor

Page 19: Enginyeria del Software III - repositori.udl.cat

AVANTATGES

19

XM

L. Presentació

Page 20: Enginyeria del Software III - repositori.udl.cat

AVANTATGES

  Fàcil de processar/entendre per software o per les persones   Pensat per a ser utilitzat en qualsevol idioma   Separa radicalment la informació o contingut de la seva

presentació o format   Format ideal para transaccions B2B (business to business)   Facilita tècniques d’extracció i cerca d’informació

(XSL y XPATH)   Al tenir regles per a la composició d’un document XML molt

estrictes és molt fàcil fer l’anàlisi sintàctic   A diferencia de HTML, XML és “case sensitive”

(diferencia majúscules i minúscules)

20

XM

L. Presentació

Page 21: Enginyeria del Software III - repositori.udl.cat

INCONVENIENTS

  Pot requerir massa espai   Redueix velocitat de transmissió i de processament   Molta informació redundant

  Es bo per text però molt dolent per dades binaries

  Poc eficient com llenguatge d’emmagatzemament de dades

  És una sintaxi de document, NO un llenguatge de programació

  Es possible crear format i vocabularis ... ... pot fomentar la proliferació poc controlada de vocabularis

21

XM

L. Presentació

Page 22: Enginyeria del Software III - repositori.udl.cat

EINES

 Free XML tools de Lars Marius Garshol.   http://www.garshol.priv.no/download/xmltools/

 Navegadors   Explorer 5+   Netscape 6.x   Mozilla 1.5+   Firefox 1.0+   ...

22

XM

L. Presentació

Page 23: Enginyeria del Software III - repositori.udl.cat

EINES

 Parsers XML, permeten:   validar un document XML   manipular (crear, modificar, llegir) documents XML

(mitjançant APIs estàndard DOM i SAX)

  IBM: http://alphaworks.ibm.com/xml   Microsoft: http://msdn.microsoft.com/xml   Sun: http://java.sun.com/xml   Oracle: http://otn.oracle.com/tech/xml   Saxon: http://saxon.sourceforge.net   ...

23

XM

L. Presentació

Page 24: Enginyeria del Software III - repositori.udl.cat

EINES

  Editors:   Editor de text   XMetaL, http://na.justsystems.com/content-xmetal   XMLwriter http://xmlwriter.net   XMLSpy http://www.altova.com   XML Copy Editor, http://xml-copy-editor.sourceforge.net   ... (http://en.wikipedia.org/wiki/List_of_XML_editors)

  Processadors XSLT   Transformar un document XML en un altre XML (per ex. HTML)

mitjançant una XSLT   XT de James Clark http://www.blnz.com/xt/index.html   Saxon de Michael Kay. http://saxon.sourceforge.net   Xalan del projecte XML Apache http://xml.apache.org/xalan-j/index.html

24

XM

L. Presentació

Page 25: Enginyeria del Software III - repositori.udl.cat

EINES

 Altres eines   Conversors de XML a PDF, RTF, etc. i a l’inrevés   Aplicacions que permeten cercar en documents XML   Utilitats per treballar amb XML i BBDD

  Exist, http://exist.sourceforge.net

  Per treballar amb enllaços entre documents XML.   etc.,...

25

XM

L. Presentació

Page 26: Enginyeria del Software III - repositori.udl.cat

SINTAXI XML

 Elements   Tot document XML es composa d’un o més elements   Poden ...

  tenir contingut (text, valors, etc.): <a>text</a>   contenir altres etiquetes o atributs: <a atr=“val”><b><b/></a>   els dos anteriors a la vegada: <a atr=“val”>text<b><b/></a>   estar buits: <a/>

 Atributs   Propietats que ofereixen informació de l’element   Sempre van marcats amb cometes simples o dobles, i se

situen com un valor addicional a una etiqueta <a atribut=“valor_atribut”/>

26

XM

L. Presentació

Page 27: Enginyeria del Software III - repositori.udl.cat

SINTAXI XML

 Pròleg   Declaració XML:

  Informació sobre la versió de XML   Informació sobre el tipus de codificació de caràcters que estem

utilitzant. El XML suporta els següents esquemes de codificació: o  UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4,

ISO-8859-1 a -9, ISO-2022-JP, Shift_JIS, EUC-JP,...

o  <?xml version="1.0" encoding="ISO-8859-1"?>

  Declaració “opcional” del tipus de document

27

XM

L. Presentació

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE documento SYSTEM "ejemplo.dtd">

Page 28: Enginyeria del Software III - repositori.udl.cat

SINTAXI XML

 Element arrel   Obligatori i únic

28

XM

L. Presentació

<llibres> <llibre> <titol>Mecanoscrit del segon origen</titol> <autor>Manuel de Pedrolo</autor> <editorial>Edicions 62</editorial> <preu moneda=“Euro”>6,61</preu> </llibre>

</llibres>

Page 29: Enginyeria del Software III - repositori.udl.cat

SINTAXI XML

  <!-- Això és un comentari -->

  En XML v1.0 existeixen 5 entitats predefinides, per representar caràcters especials, i que no se interpreten com marques pel processador XML. D’aquesta forma podem utilitzar per exemple el caràcter < , > , & , ‘ , “

  Entitats predefinides

29

XM

L. Presentació Entitat Caràcter

&amp; &

&lt; <

&gt; >

&apos; ‘

&quot; “

Page 30: Enginyeria del Software III - repositori.udl.cat

XM

L. Presentació

30

Page 31: Enginyeria del Software III - repositori.udl.cat

SINTAXI XML

 Seccions CDATA   Permeten integrar text en un document en XML, que

d’una altra forma seria interpretat como a etiqueta.   <![CDATA[ Aquí puc posar el que vulgui. ]]>

31

XM

L. Presentació

<ejemplo> &lt;HTML&gt; &lt;BODY&gt; Documento html dentro de uno XML &lt;/BODY&gt; &lt;/HTML&gt; </ejemplo>

<ejemplo> <![CDATA[ <HTML>; <BODY> Documento html dentro de uno XML </BODY> </HTML> ]]> </ejemplo>

Page 32: Enginyeria del Software III - repositori.udl.cat

DISSENY DE VOCABULARIS

 Representació de propietats

32

XM

L. Presentació

<pizza nombre=“margarita” precio=“6”/>

<pizza> <nombre>margarita</nombre> <precio>6</precio> </pizza>

? atributs elements

Page 33: Enginyeria del Software III - repositori.udl.cat

DISSENY DE VOCABULARIS

 Representació de propietats

33

XM

L. Presentació

<pizza nombre=“margarita” precio=“6”/>

<pizza> <nombre>margarita</nombre> <precio>6</precio> </pizza>

? atributs elements

Page 34: Enginyeria del Software III - repositori.udl.cat

VOCABULARIS ESPECÍFICS DE XML

  MathML: visualització d’equacions matemàtiques.   SVG: gràfics vectorials.   SMIL: presentacions multimèdia.   P3P: descripció característiques de privacitat.   WML: semblant a HTML per a telèfons mòbils.   VoiceML: portals basats en veu.   XML Signature: per signar recursos web.   XKMS: signatures i criptografia.   XML query: consultes a documents (BBDD).   XBRL: específic per a comptabilitat.   ebXML: e-business.   SyncXML: sincronització de dispositius.   UPnP: Plug ‘n’ Play universal.   ... 34

XM

L. Presentació

Page 35: Enginyeria del Software III - repositori.udl.cat

SINTAXI XML

 Documents   Ben formats (well-formed)

  No tenen necessariament associada una definició de tipus de dades (DTD), però segueixen les regles de XML

  Vàlids   segueixen les regles d’una definició del tipus de dades DTD

35

XM

L. Presentació

Page 36: Enginyeria del Software III - repositori.udl.cat

DOCUMENT “BEN FORMAT” XML

  Compleix la regla denominada “document”:   Conté un o més elements.   Hi ha exactament un element, denominat arrel o element

document, del qual cap part apareix en el contingut de cap altre element.

  Per la resta d’elements, si l’etiqueta d’inici esta en el contingut d’algun altre element, l’etiqueta de fi esta en el contingut del mateix element. És a dir, els elements delimitats per etiquetes de principi i final estan niats de forma adequada

  Respecta totes las restriccions de bona formació donades en l’especificació

  Cada una de las entitats analitzades a que es fa referència directa o indirectament en el document esta ben formada

36

XM

L. Presentació

Page 37: Enginyeria del Software III - repositori.udl.cat

DOCUMENTS “BEN FORMATS” XML

Miscel·lània d’errors:

<?xml version="1.0"?> <document>

<p>El meu Primer <destacar importancia=1>document XML</destacar></p] <p>Inici amb la etiqueta <document&gt;</p> <p>Seguidament tenim un element sense contingut</P> <imatge fitxer="imatge.gif">

</document>

37

XM

L. Presentació

Page 38: Enginyeria del Software III - repositori.udl.cat

VALIDAR (PARSER XML)

  Parser d’IBM: xml4j_1_1_14.zip (a Sakai)   Versió antiga però serveix perfectament per a les nostres

necessitats   Descomprimir el ZIP:

  xml4j_1_1_14.jar, que conté el parser pròpiament dit   xml4jSamples_1_1_14.jar, que conté uns exemples de com

utilitzar-lo   Crida:

  Windows: o  java –cp xml4j_1_1_14.jar;xml4jSamples_1_1_14.jar

samples.XJParse.XJParse   Linux

o  java –cp xml4j_1_1_14.jar:xml4jSamples_1_1_14.jar samples.XJParse.XJParse

  Exemple: el ZIP conté l’exemple “ExpenseReport.xml” o  java –cp xml4j_1_1_14.jar;xml4jSamples_1_1_14.jar

samples.XJParse.XJParse ExpenseReport.xml 38

XM

L. Presentació

Page 39: Enginyeria del Software III - repositori.udl.cat

BIBLIOGRAFIA ÚTIL

 Cauldwell, P.; Charla, R.; Chopra, V. (2002). Servicios Web XML. Anaya Multimedia.

  Harold, E. R.; Jeans, W. S. (2001). XML in a Nutshell: A Desktop Quick Referente. O. Reilly.

 Morrison, M. (2000). XML al descubierto. Ed. Prentice Hall.

 McLaughlin, B. (2001). Java y XML. Ed. Anaya Multimedia.

39

XM

L. Presentació