curs nou xml

Download Curs Nou XML

Post on 15-Jul-2015

113 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

Tehnologii XMLLucian Sasu 30 mai 2007

2

Cuprins1 Introducere in tehnologii XML 1.1 Scopul cursului . . . . . . . . . . . . . . . . . 1.2 Prezentare general . . . . . . . . . . . . . . . a 1.3 Trsturi ale limbajului XML . . . . . . . . . aa 1.3.1 Formatul datelor . . . . . . . . . . . . 1.3.2 Limbaj de marcare specic domeniului 1.3.3 Acces programatic facil . . . . . . . . . 1.3.4 Creare uoar . . . . . . . . . . . . . . s a 1.3.5 Utilizare uoar Internet . . . . . . . s a n 1.3.6 Modelul semistructurat . . . . . . . . . 1.4 Tehnologii nrudite . . . . . . . . . . . . . . . 1.4.1 XSL . . . . . . . . . . . . . . . . . . . 1.4.2 XPath, XLink, XPointer . . . . . . . . 1.4.3 DTD, XSD . . . . . . . . . . . . . . . 1.5 Aplicatii XML . . . . . . . . . . . . . . . . . . 1.6 Tipuri de instrumente XML . . . . . . . . . . 1.7 Compozitia unui document XML . . . . . . . 1.7.1 Declaratia XML . . . . . . . . . . . . . 1.7.2 Elemente . . . . . . . . . . . . . . . . 1.7.3 Atribute . . . . . . . . . . . . . . . . . 1.7.4 Comentarii . . . . . . . . . . . . . . . 1.7.5 Referinte la entiti . . . . . . . . . . . at 1.7.6 Sectiuni de marcare . . . . . . . . . . . 1.7.7 Instructiuni de procesare . . . . . . . . 1.8 Spatii de nume . . . . . . . . . . . . . . . . . 1.9 Buna formare a documentelor XML . . . . . . 1.10 Arborele ataat unui document XML . . . . . s 1.11 Versiunea 1.1 de XML . . . . . . . . . . . . . 3 9 9 9 11 11 11 12 12 12 13 13 13 14 14 14 15 16 16 17 19 22 22 23 23 25 26 28 28

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . .

4 2 DTD 2.1 Documente valide . . . . . . . . . . . . . . 2.2 Document Type Denition - generaliti . at 2.3 Declaratii DTD . . . . . . . . . . . . . . . 2.4 Comentarii DTD . . . . . . . . . . . . . n 2.5 Declarare de elemente . . . . . . . . . . . 2.5.1 Specicarea de continut oarecare . 2.5.2 Specicarea continutului de tip text 2.5.3 Specicarea elementelor copil . . . 2.5.4 Continut mixat . . . . . . . . . . . 2.5.5 Elemente goale . . . . . . . . . . . 2.5.6 Exemplu . . . . . . . . . . . . . . . 3 DTD - continuare 3.1 Declaratii de entiti . . . . . . . . . at 3.1.1 Entiti interne . . . . . . . . at 3.1.2 Entiti externe . . . . . . . . at 3.2 Declarare de atribute . . . . . . . . . 3.2.1 Generaliti . . . . . . . . . . at 3.2.2 Atribute fr valori implicite . aa 3.2.3 Tipuri de date pentru atribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CUPRINS 31 31 32 33 36 37 37 38 39 43 43 44 47 47 47 48 50 50 51 53 59 59 62 62 62 63 63 63 63 63 64 64 64 64 65 65 65 66 66

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 XPath 4.1 Prezentare general . . . . . . . . . . . a 4.2 Modelul de date XPath 1.0 . . . . . . . 4.2.1 Tipul numeric . . . . . . . . . . 4.2.2 Tipul ir de caractere . . . . . . s 4.2.3 Tipul logic . . . . . . . . . . . . 4.2.4 Tipul set de noduri . . . . . . . 4.3 Noduri - caracteristici . . . . . . . . . 4.3.1 Numele nodului . . . . . . . . . 4.3.2 Ordinea documentului . . . . . 4.3.3 Relatia de familie cu alte noduri 4.3.4 Valoarea de string a unui nod . 4.4 Tipuri de noduri . . . . . . . . . . . . 4.4.1 Nodul rdcin . . . . . . . . . a a a 4.4.2 Nodul element . . . . . . . . . . 4.4.3 Nodul atribut . . . . . . . . . . 4.4.4 Nodul instructiune de procesare 4.4.5 Nodul comentariu . . . . . . . . 4.4.6 Nod text . . . . . . . . . . . . .

CUPRINS 4.4.7 Nod spatiu de nume . . . . . . . . Expresii de localizare . . . . . . . . . . . . 4.5.1 Exemplicare . . . . . . . . . . . . 4.5.2 Structura unei expresii de localizare 4.5.3 Axe XPath . . . . . . . . . . . . . 4.5.4 Teste pentru noduri . . . . . . . . . 4.5.5 Predicate XPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 66 68 68 69 69 71 71 73 73 74 75 75 77 78 79 80 80 80 81 81 82 82 82

4.5

5 XPath (continuare) 5.1 Functii i operatori XPath . . . . . . . . . . . . . . . s 5.1.1 Operatori i functii pentru tipul boolean . . . s 5.1.2 Operatori i functii pentru tipul numeric . . . s 5.1.3 Functii pentru tipul ir de caractere . . . . . . s 5.1.4 Operatori i functii pentru tipul set de noduri s 5.2 XPath 2.0 . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Expresii primare . . . . . . . . . . . . . . . . 5.2.2 Expresii aritmetice . . . . . . . . . . . . . . . 5.2.3 Expresii de localizare XPath 2.0 . . . . . . . . 5.2.4 Expresii secvent . . . . . . . . . . . . . . . . a 5.2.5 Expresii de comparare . . . . . . . . . . . . . 5.2.6 Expresii logice . . . . . . . . . . . . . . . . . . 5.2.7 Expresii for . . . . . . . . . . . . . . . . . . . 5.2.8 Expresii conditionale . . . . . . . . . . . . . . 5.2.9 Expresii cuanticate . . . . . . . . . . . . . .

6 XSLT 83 6.1 Generaliti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 at 6.2 Mecanismele XSLT . . . . . . . . . . . . . . . . . . . . . . . . 84 6.2.1 Template-uri . . . . . . . . . . . . . . . . . . . . . . . 86 6.2.2 Elementul xsl:value-of . . . . . . . . . . . . . . . . . 89 6.2.3 Procesarea mai multor elemente cu xsl:for-each . . . 89 6.3 Regulile de template implicite . . . . . . . . . . . . . . . . . . 91 6.3.1 Regula de template implicit pentru elemente . . . . . 91 a 6.3.2 Regula de template implicit pentru noduri text i atria s bute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.3.3 Regula de template implicit pentru instructiuni de a procesare i comentarii . . . . . . . . . . . . . . . . . . 93 s 6.4 Template-uri pentru valori de atribute . . . . . . . . . . . . . 93 6.5 Specicarea ieirii la runtime . . . . . . . . . . . . . . . . . . . 94 s 6.5.1 Inserarea de elemente documentul de ieire cu xsl:element 94 n s 6.5.2 Inserarea de atribute documentul de ieire cu xsl:attribute 94 n s

6

CUPRINS 6.5.3 Inserarea de PI documentul de ieire cu xsl:processing-instruction 95 n s 6.5.4 Inserarea de comentarii documentul de ieire cu xsl:comment 95 n s 6.5.5 Inserarea de text documentul de ieire cu xsl:text 95 n s Moduri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 97 99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 . 101 . 101 . 101 . 102 . 102 . 102 . 102 . 102 . 103 . 104 . 108 . 108 . 108 . 108 . 109 . 109 . 110 . 111 . 111 . 111 . 111 . 111 . 113 . 113 . 114 . 114

6.6

7 XSLT (2) 8 XSL-FO 9 XML Schema 9.1 Introducere . . . . . . . . . . . . . . . . . . 9.2 Minusuri ale lui DTD . . . . . . . . . . . . . 9.2.1 Lipsa tipizrii . . . . . . . . . . . . . a 9.2.2 Sintaza non-XML . . . . . . . . . . . 9.2.3 Scalabilitatea redus . . . . . . . . . a 9.2.4 Nesuportarea spatiilor de nume . . . 9.2.5 Structura inexibil . . . . . . . . . . a 9.2.6 Alte limitri . . . . . . . . . . . . . . a 9.3 XSD . . . . . . . . . . . . . . . . . . . . . . 9.4 Tipuri complexe . . . . . . . . . . . . . . . . 9.5 Grupare . . . . . . . . . . . . . . . . . . . . 9.5.1 Grupul xsd:all . . . . . . . . . . . . 9.5.2 Grupul xsd:choice . . . . . . . . . . 9.5.3 Grupul xsd:sequence . . . . . . . . 9.6 Tipuri simple . . . . . . . . . . . . . . . . . 9.6.1 Tipuri numerice . . . . . . . . . . . . 9.6.2 Tipuri pentru reprezentarea timpului 9.6.3 Tipuri de date XML . . . . . . . . . 9.6.4 Tipuri de date ir de caractere . . . . s 9.6.5 Tipuri binare . . . . . . . . . . . . . 9.7 Derivare de tipuri . . . . . . . . . . . . . . . 9.7.1 Derivarea prin restrngere . . . . . . a 9.7.2 Reuniuni . . . . . . . . . . . . . . . . 9.7.3 Liste . . . . . . . . . . . . . . . . . . 9.8 Elemente goale . . . . . . . . . . . . . . . . 9.9 Atribute . . . . . . . . . . . . . . . . . . . . 10 API-uri pentru XML: DOM 10.1 Introducere . . . . . . . . 10.2 DOM: XML arborescent . 10.3 SAX: XML cu evenimente

i SAX s 115 . . . . . . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . . . . . 117 . . . . . . . . . . . . . . . . . . . . 121

CUPRINS

7

10.4 DOM sau SAX? . . . . . .