Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... ·...

41
Enginyeria del Software III XML DOCUMENT TYPE DEFINITION Roberto García Despatx EPS 3.15 [email protected]

Transcript of Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... ·...

Page 1: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

Enginyeria del Software III

XML DOCUMENT TYPE DEFINITION

Roberto García

Despatx EPS 3.15

[email protected]

Page 2: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

QUÈ ÉS UNA DTD?

 Una DTD (Document Type Definition) és un conjunt de regles per   definir un document XML i   etiquetar-lo adequadament.

 En una DTD definim els "components" d’un document XML i cóm es relacionen i s’estructuren.

2

XM

L. DTD

Page 3: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

QUÈ ÉS UNA DTD?

 Crear un DTD (Definició de Tipus de Document), és com crear el nostre propi llenguatge de validació per una aplicació específica

 DTD és també un arxiu de text!

 DTD conté   Tipus d’elements   Atributs   Entitats   Restriccions de combinació i de valors que contindrà el

XML

3

XM

L. DTD

Page 4: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

QUÈ ÉS UNA DTD?

 Subjectiva: l’abstracció (model) i la forma d’implementar-la depèn de l’autor que la descriu.   És possible que per un mateix domini s’elaborin

diferents DTDs.

 Una DTD pot   residir en un arxiu extern (es pot compartir entre

varis documents XML)   estar continguda en el propi document XML (en

aquest cas no es pot compartir).

 Quan un document s’ajusta a la seva DTD es diu que aquet document és VÀLID

4

XM

L. DTD

Page 5: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

QUÈ ÉS UNA DTD?

 Un cop tenim un document XML, el processador sintàctic (aplicació o navegador), pot aplicar una DTD per saber si compleix amb les normes establertes.

 No confondre ‘ben format’ amb ‘vàlid’   Ben format = respecta la sintaxi de XML   Vàlid = respecta les regles del DTD (i ben format)

 El DTD és opcional.

5

XM

L. DTD

Page 6: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

QUÈ ÉS UNA DTD?

6

XM

L. DTD

DTD

XML (vàlid)

ERROR!

XML (ben format)

Page 7: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DTD. AVANTATGES

 Poden ser publicats o compartits per varies empreses per definir “els seus estàndards”, i així generar un estàndard de verificació.   Exemple: estàndard de factura en el sector de

l’automoció.

 Un DTD constitueix una mena de contracte o protocol entre ambdues empreses.   Un programa emet un XML, i un altre el consumeix,

però validant que compleixi amb el contracte establert.

 Moltes empreses estan publicant estàndards de validació, els quals poden ser reutilitzats.

7

XM

L. DTD

Page 8: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

TIPUS DE DECLARACIONS

 DOCTYPE  ELEMENT  ATTLIST  ENTITY  NOTATION

8

XM

L. DTD

Page 9: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DECLARACIÓ

  Interna:   <!DOCTYPE nom_tipus_doc [declaracions DTD]>

<?xml version="1.0"?> <!DOCTYPE mihtml [ <!ELEMENT mihtml (c1 | parrafo)*> <!ELEMENT c1 (#PCDATA)> <!ELEMENT parrafo (#PCDATA|negrita)*> <!ELEMENT negrita (#PCDATA)> ]> <mithml> ..... </mithml>

9

XM

L. DTD

Page 10: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DECLARACIÓ

 Externa   privada:

  <!DOCTYPE nom_tipus_doc SYSTEM arxiu_dtd>

<!DOCTYPE mihtml SYSTEM "mihtml.dtd"> <mihtml> .... </mihtml>

10

XM

L. DTD

Page 11: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DECLARACIÓ

 Externa   pública:

  <!DOCTYPE nom_de_tipus_de_document PUBLIC [FPI]>

<!DOCTYPE svg PUBLIC “-//W3C//DTD SVG20001102//EN” “http://www.w3.org/TR/CR-SVG-20001102/DTD/svg-20001102.dtd”>

<svg> .... </svg>

 Avantatge:   La mateixa DTD pot ser utilitzada per múltiples

documents XML, la seva modificació només implicaria realitzar modificacions en un únic arxiu. 11

XM

L. DTD

Tipus//propietari//paraula_clau descripció//idioma

Formal Public Identifier

URL on esta la DTD

Page 12: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DECLARACIÓ

 Mixta:   La declaració externa de la DTD defineix els elements,

atributs i entitats d’aquest tipus de document   La declaració interna algunes característiques pròpies

del document en qüestió que no afecten a la resta.

<!DOCTYPE mihtml SYSTEM "mihtml.dtd" [ <!ENTITY EPS “Escola politècnica Superior“> ]> <mihtml>

<p>&EPS;</p> </mihtml>

12

XM

L. DTD

Page 13: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DECLARACIÓ

 Altres utilitats:   Afegir nous elements, llistes d’atributs, etc..   Exemple:

  Si volem afegir text en cursiva dins de l’element parrafo en un document XML basat en mihtml, i volem que tant sols funcioni en aquest document, redefinirem l’element parrafo i crearem un nou element, cursiva

<!DOCTYPE mihtml SYSTEM "mihtml.dtd" [ <!ELEMENT parrafo (#PCDATA | negrita | cursiva)*> <!ELEMENT cursiva (#PCDATA)>

]> <mihtml> <parrafo>Texto en <cursiva>cursiva</cursiva></parrafo> </mihtml>

13

XM

L. DTD

Mihtml.dtd

<!ELEMENT mihtml (c1 | parrafo)*> <!ELEMENT c1 (#PCDATA)> <!ELEMENT parrafo (#PCDATA | negrita)*> <!ELEMENT negrita (#PCDATA)>

Page 14: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

AJUSTANT EL TIPUS D’ELEMENT

 Els elements són la base de XML, i haurien d’ajustar-se a un tipus declarat en un DTD

 La declaració d’un element en un DTD comença por “<!ELEMENT” seguit pel nom i el seu contingut

 En aquesta part de la declaració indiquem quin serà el contingut d’aquest element.

14

XM

L. DTD

<!ELEMENT nom_element (especificació del contingut)>

Page 15: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ESPECIFICACIÓ DEL CONTINGUT

 Tenim quatre possibilitats:   Que no tingui contingut.

  EMPTY   dtd: <!ELEMENT br EMPTY>   document xml: <br/>

 Que estigui format només per text.   #PCDATA

  dtd: <!ELEMENT negreta (#PCDATA)>   document xml: <negreta>text</negreta>

15

XM

L. DTD

Page 16: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ESPECIFICACIÓ DEL CONTINGUT

 Que estigui format únicament per elements.

  dtd: <!ELEMENT mihtml (c1 | parrafo | imagen)*>   document xml: <mihtml> <parrafo>....</parrafo> <parrafo>....</parrafo> </mihtml>

16

XM

L. DTD

Page 17: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ESPECIFICACIÓ DEL CONTINGUT

 Que tingui un contingut mixt de text i elements.

  dtd: <!ELEMENT parrafo (#PCDATA|negrita)*>   document xml: <parrafo>Esto es un <negrita>parrafo</negrita></parrafo> ...però també: <parrafo>Esto es un parrafo</parrafo>

17

XM

L. DTD

Page 18: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

EXEMPLE

 <!ELEMENT persona (altura, pes)>

<persona> <altura>...</altura> <ColorCabell></ ColorCabell > <pes>...</pes>

</persona>

<persona> <altura>...</altura> <pes>...</pes>

</persona> 18

XM

L. DTD

•  Ben Format •  NO vàlid

•  Ben Format •  Vàlid

Page 19: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

MODELS DE CONTINGUT

19

XM

L. DTD

Indicadors de freqüència* ? 0 ó 1 cop [0..1] * 0 ó més cops [0…n] + Obligatori [1…n]

Connectors de grup , Tots i en aquest ordre | Només un

* Si no es posa cap indicador de freqüència, [1..1]

Page 20: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

EXEMPLE

 <!ELEMENT avis (titol?,(paragraf+,grafic)*)>

 En aquest cas,   <avis> pot tenir <titol> o no (però si en té només en

tindrà un), i pot tenir 0 ó més conjunts del tipus

  <paragraf><grafic>,   <paragraf><paragraf><grafic>,   <paragraf><paragraf><paragraf><grafic>,   etc.

20

XM

L. DTD

? [0..1] * [0..n] + [1..n]

Page 21: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

EXEMPLE

 DTD més document XML  Provar la seva valideça

fent diferents variacions:   Són vàlides més etiquetes?   I més blocs nom, carrer,...?   És vàlid canviar l’ordre dels

elements de l’etiqueta?   Etc.

 Fer servir el XML4J de l’Activitat 1.1

 Provar altres DTDs i Docs 21

XM

L. DTD

<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE etiqueta[

<!ELEMENT etiqueta (nom, carrer, ciutat, pais, codi)> <!ELEMENT nom (#PCDATA)> <!ELEMENT carrer (#PCDATA)> <!ELEMENT ciutat (#PCDATA)> <!ELEMENT pais (#PCDATA)> <!ELEMENT codi (#PCDATA)>

]> <etiqueta>

<nom>Francesc Rossell Vilaró</nom> <carrer>Portal Sant Jaume, 11-A </carrer> <ciutat>Lleida</ciutat> <pais>Catalunya</pais> <codi>25024</codi>

</etiqueta>

Fitxer “etiqueta.xml” al Campus Virtual

Page 22: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DECLARACIÓ D’ATRIBUTS

 Ofereixen informació addicional a un element.  Sintaxi

<!ATTLIST nom_elem nom_atrib tipus valor_per_defecte>

 Exemple de definició: <!ELEMENT missatge …> <!ATTLIST missatge prioritat (normal | urgent) normal>   Exemple d’ús:

<missatge prioritat=“urgent”> ... </missatge>

 Per a un mateix element poden definir-se tants atributs com es vulgui.

22

XM

L. DTD

Page 23: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DECLARACIÓ DE LLISTA D’ATRIBUTS

  #REQUIRIED   és obligatori col·locar un valor en l’atribut

  #IMPLIED   el valor para aquest atribut és opcional

  #FIXED   estem fixant el valor de l’atribut i el document no serà

vàlid si a aquest atribut li donem un valor diferent.

23

XM

L. DTD

Page 24: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

EXEMPLE

<!ELEMENT missatge (de, a, text)> <!ATTLIST missatge prioritat (normal | urgent) normal> <!ELEMENT text (#PCDATA)> <!ATTLIST text idioma CDATA #REQUIRED>

< missatge prioritat=“normal”> <de>Toni</de> <a>Mark</a> <text idioma=“english”> Hello Mark, how are you?, long time no see!! </text>

<missatge>

24

XM

L. DTD

Page 25: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

TIPUS D’ATRIBUTS

 CDATA: cadena de caràcters   Ex.:

<!ATTLIST missatge data CDATA #REQUIRED> <missatge data=“15 de juliol del 2004”>

 NMTOKEN: name token, paraula sense espais NMTOKENS: llista de paraules   Només caràcters vàlids per nombrar coses

  Lletres, números, punt, guió, subratllat i dos punts

25

XM

L. DTD

Page 26: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

TIPUS D’ATRIBUTS

  ID: mitjançant aquest tipus d’atribut identifiquem de forma unívoca un element del document XML.   El seu valor ha de ser únic en el document.   El primer caràcter NO pot ser “:”   Exemple: volem identificar de forma unívoca els

elements c1, de manera que siguin fàcilment identificables i referenciables: <!ATTLIST c1id ID #REQUIRED ...>

  IDREF/IDREFS: lligat al tipus d’atribut ID.   Mitjançant la seva utilització estem indicant que fem

referència al valor d’algun atribut ID.

26

XM

L. DTD

Page 27: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

EXEMPLE

<!ELEMENT familia (persona+)> <!ELEMENT persona EMPTY> <!ATTLIST persona personaId ID #REQUIRED fillDe IDREFS #IMPLIED nom CDATA #REQUIRED>

<famila> <persona personaId=“p1” fillDe=“p2 p3” nom=“MARIA”/> <persona personaId=“p2” nom=“Joan”/> <persona personaId=“p3” nom=“Olga”/> </famila>

27

XM

L. DTD

Page 28: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

TIPUS D’ATRIBUTS

 ENUMERATS: ofereixen la possibilitat d’escollir entre un número reduït de valors definits per l’usuari.

<!ATTLIST imatge alineacio (esquerra, centrat, dreta) "esquerra">

28

XM

L. DTD

Page 29: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

VEURE MÉS EXEMPLES

 A Sakai, secció “Continguts”:   Carpetes: “3a – XML / Activitat 1.2”   Fitxer: exemples_DTD_(1).zip

  titulosinterno.xml   titulos.xml + titulos.dtd   productos.xml + productos.dtd

29

XM

L. DTD

Page 30: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DTD. ENTITATS

  XML permet organitzar el contingut d’un document XML de forma totalment flexible.   Exemple: tenim un llibre en format XML, si volem, podem

organitzar cada capítol en un arxiu diferent.

  Aquesta flexibilitat ens la permeten les entitats.   Permet dividir el document XML en varis objectes

d’emmagatzemament   Unitat d’emmagatzemament que pot contenir qualsevol cosa

  cadena de caràcters   arxiu   gràfic

  L’aplicació que hagi de treballar amb aquest document XML tractarà aquest conjunt d’objectes com un únic objecte XML.

30

XM

L. DTD

Page 31: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ENTITATS: AVANTATGES

 Faciliten la creació i el manteniment de documents XML

 Varies persones poden treballar simultàniament sobre diferents parts d’un document XML.

 Fomenten la reutilització:   Aquestes entitats poden ser reutilitzades en altres

documents XML.

31

XM

L. DTD

Page 32: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ENTITATS

 Declaració: <!ENTITY nom "contingut">   Nom: identificador de l’entitat   Contingut: el seu contingut o una referència a ell.

 Propietats que defineixen el tipus d’entitats:   Segons s’utilitza en la DTD o en el document es

classifica com paramètrica o general.   Depenent de si el contingut de l’entitat apareix en la

declaració o no, es classifica com interna o externa.   Segons si l’entitat ha de ser analitzada o no pel parser,

es classificarà com analitzada o no analitzada.

32

XM

L. DTD

Page 33: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ENTITAT GENERAL INTERNA ANALITZADA

<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE exemple

[<!ENTITY al-ESOFT3 "Alumnes de: ENGINERIA del SOFTWARE III"> ]>

<exemple> Nosaltres som els &al-ESOFT3;.

</exemple >

33

XM

L. DTD

Page 34: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ENTITAT GENERAL EXTERNA ANALITZADA

<!DOCTYPE preferits SYSTEM "preferits.dtd" [ <!-- metainformacio --> <!ENTITY cmeta SYSTEM "cap-meta.xml">

<!-- preferits --> <!ENTITY XML10pt-esp SYSTEM "XML10pesp.xml"> ]>

  Exemple complet (preferits3.xml, preferits3b.xml) al fitxer “Exercici_DTDs_amb_Entitats.zip” del Campus Virtual

34

XM

L. DTD

Page 35: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ENTITAT PARÀMETRE

 Les entitats que només poden utilitzar-se en la DTD es denominen entitats paràmetre

 Aplicable a llistes d’atributs i models de contingut.  Ajuden a organitzar les DTD i fer-la més eficient i

consistent  Exemple “documents.dtd”:

35

XM

L. DTD

<!ELEMENT contingut (titol, (paragraf | imatge | lds | lor | codi)*,seccio*)>

<!ELEMENT seccio (titol, (paragraf | imatge | lds | lor | codi)*,subseccio*)>

<!ELEMENT subseccio (titol, (paragraf | imatge | lds | lor | codi)*)>

Page 36: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ENTITAT PARÀMETRE INTERNA

 Definició: <!ENTITY % nom "contingut">

 Crida (ús): %nom;

  Aplicar entitats paràmetre a “documents.dtd” del fitxer “Exercici_DTDs.zip” disponible al Campus Virtual per tal d’evitar declaracions repetides.

36

XM

L. DTD

Page 37: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ENTITAT PARAMÈTRE EXTERNA

 Definida en un document DTD extern   Pot ser utilitzat en varies DTDs

 Es defineix un arxiu “.dtd” amb els elements que formaran l’entitat paramètrica externa   A pesar de que qualsevol extensió és vàlida, es

preferible posar “.dtd”

 Utilització en els arxius dtd:   Definició: <!ENTITY % nom SYSTEM “arxiu.dtd">   Crida (ús): %nom;

37

XM

L. DTD

Page 38: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

ENTITAT PARAMÈTRE EXTERNA

 Què tenen en comú?   documents.dtd   preferits.dtd   articles.dtd

 Generar entitat externa per a la seva reutilització   Exemple: documents3.dtd i metainformacio.dtd al fitxer

“Exercici_DTDs_amb_Entitats.zip”

38

XM

L. DTD

Page 39: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

DTDS EXISTENTS DOCBOOK

 DocBook 4.X (http://www.docbook.org/specs/)   Documentació tècnica: llibres, articles, etc.   Portabilitat: allò que escrivim en format DocBook està

pràcticament disponible en qualsevol format.   Utilitzada per la majoria de la documentació actual dels

entorns Linux

 DocBook 5.X   basat en XML Schema, no DTDs

39

XM

L. DTD

Page 40: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

XM

L. DTD

40

 MathML (Mathematical Markup Language)   http://www.w3.org/TR/MathML2/   Llenguatge XML per marcar equacions matemàtiques

en termes de la seva presentació i de la seva semàntica.   Facilitar l’ús i la reutilització de continguts que

requereixen notació matemàtica   Suportat per pocs navegadors

  Techexplorer o  Plug-in per exploradors i ActiveX per aplicacions com Microsoft

PowerPoint o Word. o  Permet mostrar TeX, LaTeX i MathML

DTDS EXISTENTS MATHML

Page 41: Enginyeria del Software IIIocw.udl.cat/enginyeria-i-arquitectura/enginyeria-del-software-iii... · DTD. AVANTATGES Poden ser publicats o compartits per varies empreses per definir

EXEMPLE MATHML

41

XM

L. DTD