Web07ModelareXML XPath ValidariXML DTD

Embed Size (px)

Citation preview

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    1/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    Tehnologii Web

    un model de date pentru Web (II)

    //*XML Infoset, acces via XPath, validări DTD

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    2/103

    , ,

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    „Înț eleptul te învață prin faptele sale,nu prin cuvintele sale.”

    Chuang-Tzu

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    3/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    Cum modelăm (reprezent ăm) datele?

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    4/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    xml-infoset

    Scop:

    specificarea unui model de date (abstract)pentru XML

    recomandare W3C, 2004

    www.w3.org/TR/xml-infoset

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    5/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    xml-infoset

    Se oferă un punct de vedere comun referitor la:

    serializarea datelor semi-structurate

    reprezentare internă (în memorie) ↔ fișier text XML

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    6/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    xml-infoset

    Se oferă un punct de vedere comun referitor la:

    crearea/folosirea de API-uri de procesare XML

    …într-o manieră standardizat ă

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    7/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    xml-infoset

    Se oferă un punct de vedere comun referitor la:

    definirea unor specificaț ii de nivel (mai) înalt exemple: XPath, XSLT sau XML Schema

    …care recurg la același model abstract XML

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    8/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    xml-infoset

    Modelul asigura inter-operabilitatea diferitelortehnologii, interfeț e de programare (API-uri)și aplicaț ii XML

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    9/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a

         c     o        /

    xml-infoset: concepte

    Document (document information item)

    considerat a fi un arbore, cu rădăcina dat ăde proprietatea [document element]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    10/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i

         n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Document (document information item)

    are proprietatea [children] desemnândlista de „lucruri” (items) din document,

    în ordinea dat ă de algoritmul DFS (depth-first search)

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    11/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Element specifică un element XML

    posedă proprietatea [parent] oferind informaț ii

    despre elementul părinte căruia îi apartine

    are asociat ă proprietatea [children]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    12/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Element 

    proprietatea [local name] desemnează numele localal elementului aparținând unui spațiu de nume indicat

    via [namespace name]

    prefixul spaț iului de nume utilizat este stocat de proprietatea [prefix]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    13/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Element 

    proprietatea [attributes] oferă lista neordonat ăa atributelor atașate

    proprietatea [namespace attributes] specificălista neordonat ă a atributelor xmlns asociate

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    14/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Atribut (attribute)desemnează conceptul de atribut XML

    numele și spaț iul de nume atașat sunt specificatede propriet ăț ile [local name] și [namespace name], respectiv

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    15/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Atribut (attribute)

    elementul căruia îi aparț ine este indicat de proprietatea [owner element]

    valoarea propriu-zisă a atributuluieste specificat ă de [normalized value]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    16/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Caractere (characters)corespund informaț iilor textuale

    ale conț inuturilor elementelor XML

    proprietatea [parent] indică elementul căruia îi aparț in

    proprietatea [children] conț ine datele-caracter propriu-zise

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    17/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Caractere (characters)

    setul de caractere utilizat este desemnat de proprietatea [character code]

    modul de procesare a spaț iilor albe este specificat de proprietatea booleană [element content whitespace]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    18/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    Element 

    Characters

    Attribute

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    19/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: concepte

    Instrucț iuni de procesare( processing instruction information item)

    Comentarii(comment information item)

    Declaraț ia tipului de document (document type declaration item)

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    20/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xml-infoset: exemplu

    Construcț iei

    îi corespunde infoset -ul:

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    21/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    În ce mod pot fi accesate datele stocate

    de un document XML?

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    22/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath

    XPath 1.0

    recomandare a Consorț iului Web (1999)

    www.w3.org/TR/xpath

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    23/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath

    XPath 1.0

    adresează părț i dintr-un document XML

    oferă facilit ăț i de bază pentru manipularea datelor(șiruri, numere,…)

    operează la nivelul structurii abstractea documentelor XML (arborele)

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    24/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath

    expresia XPath – construcț ie de bază

    evaluarea se realizează în funcț ie de context:un nod al documentului XML

    poziț ieo funcț ie (predefinită sau specificată de programator)

    o declaraț ie a unui spaț iu de nume

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    25/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath

    expresia XPath – construcț ie de bază

    în urma evaluării expresiei, e oferit un obiect:o mulț ime de noduri (node-set )

    o valoare logică – true/ falseun număr ( float )

    un șir de caractere

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    26/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Descendent /

     /html/body/article /cuprins/capitol/autor 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    27/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Traversare recursivă //

     //capitol //cuprins

     //div/a

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    28/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Traversare recursivă //

     //capitol //cuprins

     //div/a

    Atenț ie la problemele de performanță!

    De ce?

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    29/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Wildcard *

     /cuprins/*/nume

    capitol/*

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    30/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    evaluarea de expresii XPathvia extensia FirePath pentru Firefox

     /html/body/*/section

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    31/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Nodul curent .

    ./capitol

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    32/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Atribut @

    capitol/@nr 

    table/@*

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    33/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Spaț iu de nume :

    svg:*

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    34/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Spaț iu de nume ://html:*

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    35/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Filtru/index [ ]

    /cuprins/capitol[2]//li[@class = "presentation"]

    forma generală: [expresie]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    36/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    6 noduri  (de tip Element) care au ca valoarea atributului class șirul de caractere "presentation"

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    37/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    Pentru valori logice și numerice pot fi folosiț i

    operatorii uzuali:or and = != = >+ - * div mod

    comparaț iile de șiruri sunt case sensitive

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    38/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    furnizaț i semnificaț ia expresiei XPath: //*[@class="tools" or  @class="presentation"]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    39/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .

           i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – axe

    Nodul curent (context node) self 

    Nodul părinte parent Nodurile copil childNodurile descendente descendant 

    Nodurile de tip atribut  attributeNodurile spaț iilor de nume namespace

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    40/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – axe

    Nodurile ascendente ancestor

    Nodurile ascendenteori nodul curent  ancestor-or-self 

    Nodurile descendenteori nodul curent  descendant-or-self 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    41/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

     //div/descendant::a //div/descendant::*

    Ce valoare oferă fiecare expresie XPath?

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    42/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – axe

    folosind axa preceding accesăm nodurile precedenteaici, instrumentul Web de testare disponibil la

    http://www.xpathtester.com/xpath

    expresia XPath /produse/produs/promo/preceding::*

    oferă rezultatulPing Uinix

    http://www.pinguin.info

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    43/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – sintaxa prescurtată

    self      .parent   ..

    attribute     @namespace   :

    ../nume

     //child::*[@nr > 2]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    44/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – funcții

    Noduri: id(), position(), count(), name(),namespace-uri(), last(), …

    Tipuri de noduri: node(), text(), comment(),processing-instruction()

    Șiruri: concat(), starts-with(), contains(), substring(),

    string-length(), translate(), …Booleeni: not(), true(), false()Numere: sum(), round(), floor(), number(), …

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    45/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – funcții

    count(//li[@class = "presentation"])

    numărarea nodurilor ce satisfac o anumit ă condiț ie

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    46/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – funcții

    count(//a[@href]) = count(//a)truetoate elementele includ atributul href 

    count(//li[@class]) = count(//li) falseexist ă elemente care nu au specificat atributul class

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    47/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – functii

    furnizaț i semnificaț ia expresiei XPath: //nav/*/li[position() mod 2 = 1]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    48/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – functii

    găsirea sub-nodurilor elementelor  aflate pe ultimapoziț ie din primele liste neordonate: //ul[1]/li[last()]/*

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    49/103

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    50/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatoriCe efect are expresia XPath?

     //nav/*/*[position()

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    51/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

     //*[contains(text(), "XML")]furnizarea tuturor nodurilor care conț in șirul "XML"

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    52/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    precizaț i semnificaț ia expresiei XPath: //li[@class="presentation"]/*/a[@href]

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    53/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    furnizaț i semnificaț ia expresiei XPath – care-i diferenț a? //li[@class="presentation"]/*/a[@href]/text()

    j l "S"

    evaluarea expresiilor XPath

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    54/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – operatori

    instrumentul xmllint (folosește LibXML)oferit de distribuțiile GNU/Linux + Mac OS X

    xmllint projects-dtd.xml

    --xpath "substring(/projects/project[1]/desc/text(), 4, 5)"

    SuperUn super proiect pentru super studenti!

    1http://super.info/

    Super--Un proiect care nu e foarte super...2http://www.supermm.org/

    pdirect în linia de comandă

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    55/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – utilizări pragmatice

    Procesarea datelor XML

    în conjuncție cu DOM (Document Object Model )ori alte metode de prelucrare

    detalii încursul viitor

    avansat 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    56/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s

         a     c     o        /

    xsl: xpath – utilizări pragmatice

    Transformarea documentelor XML în alte formate

    în conjuncție cu XSL (Extensible Stylesheet Language)XSLT permite generarea de reprezentări

    precum HTML, XML sau text obișnuit 

    XSL-FO facilitează crearea de obiecte de formatare învederea tipăririi – e.g., generarea de documente PDF

    detalii în S. Buraga, Tehnologii XML:

    www.slideshare.net/busaco/sabin-buraga-tehnologii-xml

    avansat 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    57/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath – utilizări pragmatice

    Interogarea documentelor XML

    în conjuncție cu XQuery

    context: servere de baze de datenative sau suport pentru XML

    detalii în S. Buraga, Tehnologii XML:

    www.slideshare.net/busaco/sabin-buraga-tehnologii-xml

    de consultatsuplimentul

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    58/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath – programare

    libxml (C, cu portări pentru alte limbaje;include și utilitarul xmllint )

    http://xmlsoft.org/

    lxml și py-dom-xpath – biblioteci Pythonhttp://lxml.de/

    REXML (Ruby)modul XML cu suport și pentru XPath

    SimpleXML – procesări cu XPath în PHP

    http://php.net/manual/en/simplexmlelement.xpath.php

    define ('FLUX', 'http://www.infoq.com/feed'); // adresa fluxului de știri RSSd fi ('XPATH' '/ / h l/it ') // i XP th tili tă

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    59/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath – programaredefine ('XPATH', ' /rss/channel/item');  // expresia XPath utilizată

    // funcție ce generează o legătură HTML spre resursă, // oferind inclusiv descrierea ei

    function genereazaLegatura ($url, $titlu, $dataPub = '', $desc = '') {return "

    $titlu

    ($dataPub)

    " . $desc . "";}

    try {$xml = @simplexml_load_file (FLUX);  // încărcăm documentul XML// baleiăm însemnările (aici, elementele din RSS)foreach ($xml->xpath (XPATH) as $stiri) {

    echo genereazaLegatura ($stiri->link, $stiri->title,$stiri->pubDate, $stiri->description); }}catch (RuntimeException $e) {

    echo $e->getMessage();  // a survenit o excepție

    }

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    60/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath – programarerss version 2.0 xmlns:dc http://purl.org/dc/elements/1.1/

    InfoQhttp://www.infoq.comInfoQ feed

    Facebook Open Sources React Native, Yearand Network Class, Fresco and Nuclide

    http://www.infoq.com/news/2015/03/react-native-fresco-nuclideFri, 27 Mar 2015 12:00:00 GMT

    Social NetworkingProgrammingOpen Source

    MobileDevelopmentAbel Avram2015-03-27T12:00:00Z

    structura generală a unuiflux RSS poate fi studiată la

    http://www.rssboard.org/

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    61/103

       D   r .   S   a    b    i

       n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath – programare

    un rezultat

    al procesării

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    62/103

       D   r .   S   a    b    i

       n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath – programare

    xpath (JavaScript) – modul Node.jsde vizitat și https://nodejsmodules.org/tags/xpath

    XML::XPath – modul Perlhttps://metacpan.org/release/XML-XPath

    XPath API – diverse interfeț e de programare

    oferite de Apache Xalan și Saxon pentru Java(vezi și javax.xml.xpath.XPath din cadrul JAXP)

    hxt-xpath – Haskell XML Toolbox XPath

    https://wiki.haskell.org/HXT

    avansat 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    63/103

       D   r .   S   a    b    i

       n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath

    utilizarea obiectului $x oferit de consola browser -ului

    Chrome sau Firefox pentru evaluarea expresiilor XPath

    $x (" //p[@class='info']/*[1]/text()")

    avansat 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    64/103

       D   r .   S   a    b    i

       n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    xsl: xpath

    Instrumente XPath – exemplificări:

    FirePath, Firefinder – extensii Firebug pentru formulareade interogări XPath asupra documentelor Web

    XPath Helper, Xpath Finder – extensii pentru Chrome

    EXPath – iniț iativă de utilizare/creare de extensiipentru XPath: http://expath.org/

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    65/103

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    66/103

       D   r .   S   a    b    i

       n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    Cum verificăm corectitudinea datelor XML?

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    67/103

       D   r .   S   a    b    i

       n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    necesități

    Dorim ca datele modelate via XML

    să poat ă fi regăsite, reutilizate și partajateîntre aplicaț ii

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    68/103

       D   r .   S   a    b    i

       n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    necesități

    O cerință important ă este de a cunoaște:

    elementele/atributele ce pot fi specificate+

    modul lor de structuraree.g., ordinea, numărul minim/maxim de apariț ii,...

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    69/103

       D   r .   S   a    b    i

       n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    necesități

    O cerință important ă este de a cunoaște:

    tipul conț inutului

    exemplu: „atributul align poate avea valorile

    mutual exclusive left, right, center ”

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    70/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    necesități

    O cerință important ă este de a cunoaște:

    ce poate fi considerat valid și ce reprezint ă eroare

    exemplificare:

    elementul  are conț inut vid(nu va putea include alte elemente)

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    71/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u     s     a     c     o        /

    soluție

    Grupuri de indivizi specifică vocabularul XML(setul de elemente/atribute permise)

    și regulile de marcare  – modelele structurale

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    72/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    soluție

    Grupuri de indivizi specifică vocabularul XML(setul de elemente/atribute permise)

    și regulile de marcare  – modelele structurale

    uzual, grupurile reprezint ă:o companie, o industrie, persoane împărt ășind

    interese comune,dezvoltatori de instrumente de marcare,

    un consorț iu/organizaț ie non-profit 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    73/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    soluție

    Modelul structural se aplică unei clase de

    documente XML, în vederea verificării– via un analizor (procesor, parser XML) –a corectitudinii instanț elor de documente

    aparț inând acelei clase

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    74/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    soluție

    Aspecte de interes:

    numirea elementelor/atributelordefinirea regulilor de utilizare a acestora

    specificarea structurii și conț inutuluidefinirea constrângerilor

    oferirea unui set de convenț ii de numire

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    75/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    soluție

    Apare necesitatea specificării

    unui set de constrângeri asociate documentelorXML, astfel încât datele XML să fie verificatedaca sunt valide sau nu din punct de vedere

    structural ori al tipului conț inutului

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    76/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    soluție

    Modalit ăț ile de specificare a constrângerilor

    se pot baza pe:descrieri

    reguli

    șabloane

    avansat 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    77/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    soluție

    Modalit ăț ile de specificare a constrângerilor

    se pot baza pe:descrieri

    „exist ă un element

    având un atribut nume care are conț inutul...”

    DTD, XML Schema

    avansat 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    78/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    soluție

    Modalit ăț ile de specificare a constrângerilor

    se pot baza pe:reguli

    „orice element va avea un atribut  nume,

    iar conț inutul acestui atribut se va conforma regulii...”

    Schematrondetalii în S. Buraga, Tehnologii XML:

    www.slideshare.net/busaco/sabin-buraga-tehnologii-xml

    avansat 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    79/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    soluție

    Modalit ăț ile de specificare a constrângerilor

    se pot baza pe:șabloane – pattern-uri

    „structura documentelor din clasa ‘utilizator’ trebuiesă se potrivească (match) conform următorului șablon...”

    RELAX NGdetalii în S. Buraga, Tehnologii XML:

    www.slideshare.net/busaco/sabin-buraga-tehnologii-xml

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    80/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd

    Tipuri de documente

    Document Type Definition (DTD)specificare formală a tipurilor de documente

    (constituienț i + structură)

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    81/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd

    Tipuri de documente

    Document Type Definition (DTD)specificare formală a tipurilor de documente

    (constituienț i + structură)

    în spiritullimbajelor formale

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    82/103

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    83/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd

    Dacă DTD-ul lipsește, documentul trebuiesă respecte un număr minim de constrângeri

    document bine formatat – well formed 

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    84/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd

    Regulile sintactice de specificarea meta-elementelor DTD provin de la SGML

    DTD-ul poate exprima structura conț inutului,indicatorii de apariț ie, conectorii

    detalii: http://www.w3.org/TR/REC-xml

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    85/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s

      .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd

    Un DTD specifică un tip de document:

    d d

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    86/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd

    Un DTD specifică un tip de document:

    exemplu:lista proiectelor

    d d l

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    87/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: elemente

    conținut (neterm. & term.)#PCDATA, EMPTY, ANY

    * + ? indicatori de apariție, | conectori

    meta-element 

    nume deelement

    (neterminal)

    d d l

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    88/103

       D   r .   S   a    b    i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: elemente

    Conț inutul unui element poate fi:șir de caractere (#PCDATA – parsed character data)

    vid (EMPTY )

    orice alt marcaj/șir de caractere ( ANY )

    d d l

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    89/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: elemente

    Un element poate apărea:

    o singură dat ă – numele elementului

    de oricâte ori, inclusiv niciodat ă (*)

    macăr o dat ă (+)

    de zero sau unu ori (?)

    d d l

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    90/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: elemente

    Ordinea apariț iei elementelor:

    secvență (,)

    alternativă (|)

    dtd t ib t

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    91/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: atribute

    >

    class   (A | B | C) "A">

    t ipul conținutuluiCDATA, ID, ENTITY ,...enumerare de valori

    elementul căruia

    îi este asociat 

    mod de apariție#REQUIRED

    #IMPLIED#FIXED

    dtd t ib t

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    92/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: atribute

    Conț inutul unui atribut poate fi:

    șir de caractere (CDATA – character data)

    identificator unic (ID)

    referință la un identificator (IDREF)referință la o entitate (ENTITY )

    enumerare de valori

    dtd t ib t

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    93/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: atribute

    Un atribut poate fi declarat să apară:

    obligatoriu (#REQUIRED)

    opț ional (#IMPLIED)

    fix – se folosește o valoare a-priori specificat ă(#FIXED)

    id ID #IMPLIED

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    94/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    id   ID   #IMPLIEDxmlns   CDATA   #FIXED 'http://www.w3.org/1999/xhtml'>

    src   CDATA #REQUIREDalt   CDATA #REQUIREDheight   CDATA #IMPLIED

    width   CDATA #IMPLIED>

    fragment din DTD-ulspecificând gramatica

    limbajului HTML

    dtd lid

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    95/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: validare

    O instanță de document trebuie să aibă atașat ăo declaraț ie a tipului căruia îi aparț ine:

    dtd lid

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    96/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: validare

    Validarea documentului se realizeazăprin intermediul unui analizor – procesor, parser – XML

    (Apache Xerces, libxml, MSXML etc.)sau utilitar

    (exemple: OpenSP, , xmllint ,…)

    dtd lid

    Super

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    97/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: validare

    validarea unui document XML cu utilitarul xmllint 

    Super

    Un super proiect!

    1

    http://www.super.ro/

    > xmllint projects-dtd.xml --validprojects-dtd.xml:32: element project: validity error :Value "D" for attribute class of project is not amongthe enumerated set

    ^projects-dtd.xml:36: element stud: validity error :No declaration for attribute atribut of element stud

    1^

    projects-dtd.xml:38: element project: validity error :Element project content does not follow the DTD,expecting (title , desc? , stud , url?),

    got (title title desc stud url )

    ^

    de studiat hi

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    98/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    &busaco;…

    arhivaexemplelor

    dtd: alidare

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    99/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: validare

    validarea unui document XML via XML Editor

    pe baza Apache Xerces

    dtd: validare

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    100/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f     s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: validare

    raportarea erorilor de validare în Visual Studiorecurgând la MSXML

    https://msdn.microsoft.com/en-us/library/ms763742.aspx

    dtd: validare

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    101/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f

         s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    dtd: validare

    validarea paginilor Web pe baza DTD-urilorcorespunzătoare versiunilor HTML: 3.2, 4.01, 5,…

    validator.w3.org

    t

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    102/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f

         s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    rezumat

    extragerea și validarea datelor XML

    //*limbajul XPath definirea tipurilor de documente

  • 8/19/2019 Web07ModelareXML XPath ValidariXML DTD

    103/103

       D   r .   S   a    b

        i   n

       B   u   r   a   g   a 

         p     r     o       f

         s  .       i     n       f     o  .     u     a       i     c  .     r     o        /    ~       b     u

         s     a     c     o        /

    episodul viitor: prezentarea proiectuluiîn cadrul orelor de laborator (11—15 aprilie 2016)