web06ModelareXML-FamiliaXML

Preview:

Citation preview

  • 8/19/2019 web06ModelareXML-FamiliaXML

    1/95

       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 (I)

    familia XML

  • 8/19/2019 web06ModelareXML-FamiliaXML

    2/95

       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        /

    „Esenț ialul în lumânare nu este ceara

    ce lasă urma, ci lumina.”

     Antoine de Saint-Exupéry

  • 8/19/2019 web06ModelareXML-FamiliaXML

    3/95

       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 web06ModelareXML-FamiliaXML

    4/95

       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        /

    datele: mai importante ca aplicațiile

    Procesare

    (programe)

    Date proprietare

    (baze de date,

    suite de birou)

    Publicarea

    datelor

    pe Web(HTML)

    Modelare

    (semi)

    structurat ă

    (XML, JSON)

    Modelare

    conceptuală

    (RDF, OWL)

    1945—1970 2000—20031994—20001970—1994 2003—

    “Data is

    less

    important 

    than code”

    “Data is

    as

    important 

    as code”

    “Data is

    more

    important 

    than code”

    evoluț ia conceptului de „dat ă”(adaptare după Daconta et al., 2003)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    5/95

       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        /

    datele: mai importante ca aplicațiile

    Procesare

    (programe)

    Date proprietare

    (baze de date,

    suite de birou)

    Publicarea

    datelor

    pe Web(HTML)

    Modelare

    (semi)

    structurat ă

    (XML, JSON)

    Modelare

    conceptuală

    (RDF, OWL)

    1945—1970 2000—20031994—20001970—1994 2003—

    “Data is

    less

    important 

    than code”

    “Data is

    as

    important 

    as code”

    “Data is

    more

    important 

    than code”

    evoluț ia conceptului de „dat ă”(adaptare după Daconta et al., 2003)

    pre-Web Web clasic Web social Web-ul datelor

    open data

  • 8/19/2019 web06ModelareXML-FamiliaXML

    6/95

       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        /

    preliminarii

    Ce model de reprezentare a datelor

    alegem pentru…

    stocarea datelor eterogene ce provin din surse multiple?

    informaț ii care evoluează în timp?

    reprezentarea limbajului natural?

  • 8/19/2019 web06ModelareXML-FamiliaXML

    7/95

       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        /

    preliminarii

    Dorim să modelăm și să procesăm date

    privitoare la

    antologii de poezii

    cataloage de produse ale unui e-shop

    depozite de reț ete gastronomice

    chestionare

    reț ele sociale

  • 8/19/2019 web06ModelareXML-FamiliaXML

    8/95

       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        /

    preliminarii

    Necesit ăț i:

    un limbaj de marcare explicit ă a informaț iilor

    datele dorite a fi modelate pot fi practic

    nelimitate (unbound ) și necunoscute

    nu exist ă a-priori un vocabular/schemă comun(ă)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    9/95

       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        /

    preliminarii

    Necesit ăț i:

    datele trebuie să poat ă fi auto-explicative(self-explanatory )

    ce reprezint ă triplul ("Sabin", "Buraga", 30374) ?

  • 8/19/2019 web06ModelareXML-FamiliaXML

    10/95

       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        /

    preliminarii

    Necesit ăț i:

    modelul adoptat să se preteze arhitecturilornavigaț ionale actuale, bazate pe hipertext 

    suport pentru specificarea URI-urilor

  • 8/19/2019 web06ModelareXML-FamiliaXML

    11/95

       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        /

    preliminarii

    Documente:

    formate particulare vs. formate generice

  • 8/19/2019 web06ModelareXML-FamiliaXML

    12/95

       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        /

    preliminarii

    Documente:

    formate particulare vs. formate generice

    codificare generică (’ 60):

    procedurală – apeluri de proceduribazat ă pe marcatori (mark-ups)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    13/95

       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        /

    preliminarii

    GenCode – Stanley Rice, Norman Scharpf 

    GML (Generalized Markup Language)

    Charles Goldfarb et al. (IBM)

    definirea formală a tipurilor de documente

    SGML (1986) – standard ISO 8879

  • 8/19/2019 web06ModelareXML-FamiliaXML

    14/95

       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        /

    preliminarii: definiții

    Marcaj – adnotare, codare, mark-up

    orice acț iune de a interpreta explicit

    o porț iune de text (conț inut)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    15/95

       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        /

    preliminarii: definiții

    Marcaj – adnotare, codare, mark-up

    exemple:

    semnele de punctuaț ie pentru limbile scrise,

    deliminatorii folosiț i în codul-sursă

  • 8/19/2019 web06ModelareXML-FamiliaXML

    16/95

       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        /

    marcaje

    speciale

  • 8/19/2019 web06ModelareXML-FamiliaXML

    17/95

       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        /

    preliminarii: definiții

    Limbaj de specificare (de adnotare, de marcare)

    set de convenț ii de marcare

    utilizate pentru codificarea datelor

  • 8/19/2019 web06ModelareXML-FamiliaXML

    18/95

       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        /

    preliminarii: definiții

    Limbaj de specificare (de adnotare, de marcare)

    set de convenț ii de marcare

    utilizate pentru codificarea datelor

    definește mulț imea de marcaje obligatorii,modul de identificare și de structurare a marcajelor

    pe baza unei gramatici

  • 8/19/2019 web06ModelareXML-FamiliaXML

    19/95

       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

    Extensible Markup Language

    meta-limbaj de marcare

    descendent simplificat al SGML destinat utilizării în Internet (1996—prezent )

  • 8/19/2019 web06ModelareXML-FamiliaXML

    20/95

       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

    Extensible Markup Language

    standard W3C (1998, 2000, 2004, 2006, 2008)

    http://www.w3.org/TR/xml/

  • 8/19/2019 web06ModelareXML-FamiliaXML

    21/95

       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

    Extensible Markup Language

    o tehnologie+

    o familie de limbaje

  • 8/19/2019 web06ModelareXML-FamiliaXML

    22/95

       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

    www.w3.org/standards/xml/

  • 8/19/2019 web06ModelareXML-FamiliaXML

    23/95

       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: caracterizare

    Marcaje descriptive

       

    case sensitive

  • 8/19/2019 web06ModelareXML-FamiliaXML

    24/95

       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: caracterizare

    Tipuri de documente

    Document Type Definition (DTD)

    specificare formală a tipurilor de documente

    (constituienț i + structură)

    folosește la verificarea corectitudinii sintactice

    detalii în

    alt curs

  • 8/19/2019 web06ModelareXML-FamiliaXML

    25/95

       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: caracterizare

    Independenț a datelor

    suport pe orice platformă hardware/software

    extinderea marcajelor

    translatarea/transformarea documentelor

  • 8/19/2019 web06ModelareXML-FamiliaXML

    26/95

       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: trăsături

    Ușor de implementat, cu suport pentru Web

    procesoare XML disponibile

    pentru toate limbajele de programare

  • 8/19/2019 web06ModelareXML-FamiliaXML

    27/95

       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: trăsături

    Suport pentru utilizarea internaț ională

    folosirea Unicode

    independent de codificare/limbă

  • 8/19/2019 web06ModelareXML-FamiliaXML

    28/95

       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: trăsături

    Meta-limbaj

    definire de alte limbaje

    portabil

  • 8/19/2019 web06ModelareXML-FamiliaXML

    29/95

       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: trăsături

    Soluț ie pentru reprezentarea conț inutuluiresurselor Web identificate de URI/IRI

    asigurarea inter-operabilit ăț ii (lingua franca)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    30/95

       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: constituienți

    Prolog (preambul)

    Elemente

    Atribute

    Entit ăț i

    Secț iuni de marcare

    Instrucț iuni de procesare

  • 8/19/2019 web06ModelareXML-FamiliaXML

    31/95

       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: prolog

    Declaraț ie care specifică versiunea

    și codificarea documentului

      

  • 8/19/2019 web06ModelareXML-FamiliaXML

    32/95

       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: prolog

    Declaraț ie care specifică versiunea

    și codificarea documentului

      

    atribut obligatoriu

    atribut 

    opț ional

    trebuie să apară o singură dat ă la începutul documentului

  • 8/19/2019 web06ModelareXML-FamiliaXML

    33/95

       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: elemente

    Element = component ă structurală (unitate-text)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    34/95

       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: elemente

    Element = component ă structurală (unitate-text)

    nume – identifică un element 

    sintaxă similară cu cea a identificatorilor de variabile

    produs

  • 8/19/2019 web06ModelareXML-FamiliaXML

    35/95

       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: elemente

    Sintactic, un element este specificat 

    via marcatori (tag-uri) – de început și de sfârșit 

    Ping Uinix

  • 8/19/2019 web06ModelareXML-FamiliaXML

    36/95

       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: elemente

    Case sensitive

     

     

  • 8/19/2019 web06ModelareXML-FamiliaXML

    37/95

       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: elemente

    Un element poate avea conț inut vid

  • 8/19/2019 web06ModelareXML-FamiliaXML

    38/95

       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: elemente

    Un element poate avea conț inut vid

  • 8/19/2019 web06ModelareXML-FamiliaXML

    39/95

       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: modele ale conținutului

    Model structural

    desemnează relaț iile dintre elemente:

    secvență, ierarhie, grupare, incluziune

  • 8/19/2019 web06ModelareXML-FamiliaXML

    40/95

       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: modele ale conținutului

    Elemente imbricate în alte elemente(pot conț ine date textuale și/sau alte elemente)

    Ping Uinix este o mascotăpolicromă

    care se vindefoarte rapid.

  • 8/19/2019 web06ModelareXML-FamiliaXML

    41/95

       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: modele ale conținutului

    Elemente imbricate în alte elemente(pot conț ine date textuale și/sau alte elemente)

    Concurs:FII Code

  • 8/19/2019 web06ModelareXML-FamiliaXML

    42/95

       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: modele ale conținutului

    Elementele trebuie să fie închiseși să se împerecheze corect 

    We don't need no education

    greșit!

  • 8/19/2019 web06ModelareXML-FamiliaXML

    43/95

       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 version 1.0 ?

    ...

    ………

    preambul

    document XML

    modelând o antologie

    de poezii

  • 8/19/2019 web06ModelareXML-FamiliaXML

    44/95

       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 version 1.0 encoding UTF 8 ?

    Ping Uinix

    http://www.pinguin.infoMascota lunii

    Blue Ory

    Ceas „isteț” cu gust de măr 

    un posibil catalog de produse în cadrul unui e-shop

  • 8/19/2019 web06ModelareXML-FamiliaXML

    45/95

       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: atribute

    Atribut 

    descrie o anumit ă proprietate (caracteristică)a unei apariț ii particulare a unui element 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    46/95

       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: atribute

    Atributele apar doar în marcajul de început 

    ...

    Tuxy Pinguinescu

  • 8/19/2019 web06ModelareXML-FamiliaXML

    47/95

       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: atribute

    Atributele pot fi specificate în orice ordine

  • 8/19/2019 web06ModelareXML-FamiliaXML

    48/95

       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: atribute

    Numele atributelor este case sensitive

     

  • 8/19/2019 web06ModelareXML-FamiliaXML

    49/95

       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: atribute

    Valorile atributelor trebuie să fie delimitate

    obligatoriu de ghilimele sau apostrofuri

    atributele f ără valoare nu sunt acceptate

    Caută:

    eronat!

  • 8/19/2019 web06ModelareXML-FamiliaXML

    50/95

       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        /

    gAngry ProfsAndroidiOS

    Windows…

    SabinBuraga

    30374…

    date XML referitoare la un joc electronic

  • 8/19/2019 web06ModelareXML-FamiliaXML

    51/95

       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        /

    p g , p p j g

    VisiCalcVC-176Y2-IBM-TEST

    ApplicationProductivitySoftware ArtsDecember 16, 1981

    VC.COM

    README.mdVisiCalc License

  • 8/19/2019 web06ModelareXML-FamiliaXML

    52/95

       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: referințe la entități

    Scop:

    codificare și referentiere a unei părț i de document 

    sintaxă:

    &identificator ;saunumăr ;

  • 8/19/2019 web06ModelareXML-FamiliaXML

    53/95

       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: referințe la entități

    Entit ăț i predefinite – similare celor de la HTML:

    < ()   & (&)   " (")

    Entit ăț i (referinț e) de tip caracter:

      (non-breaking space –   pentru HTML)ă („ă” – setul de caractere ISO-8859-2 și UTF)

    ❀ (simbolul „❀” – setul de caractere UTF)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    54/95

       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: secțiuni

    Anumite pă

    rț i din documente necesit 

    ă

    procesări speciale

    CDATA – inhibă procesarea XML

  • 8/19/2019 web06ModelareXML-FamiliaXML

    55/95

       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        /

    if (vizite 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    56/95

       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        /

     /*

    if (vizite */

    xml: secțiuni

    procesorul XML nu va interpreta sintaxa codului JavaScript 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    57/95

       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: instrucțiuni de procesare

    Includ informaț ii privitoare la aplicaț iile (externe)

    care urmează a fi executate

    pentru procesarea conț inutului

  • 8/19/2019 web06ModelareXML-FamiliaXML

    58/95

       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: instrucțiuni de procesare

    procesorul XML ar putea invoca interpretorul PHP

    pentru execuț ia programului

  • 8/19/2019 web06ModelareXML-FamiliaXML

    59/95

       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: instrucțiuni de procesare

    Exemplificare:

    asocierea unei foi de stiluri CSS pentru redareaconț inutului unui document XML

  • 8/19/2019 web06ModelareXML-FamiliaXML

    60/95

       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: procesarea spațiilor

    Spațiile albe – e.g., spațiu, TAB, caracterele NL (New Line)

    sau CR (Carriage Return) – nu au nicio semnificație

    true0

    909090

    true0909090

    marcaje ARML ( Augmented Reality Markup Language)

    (în loc de) pauză

  • 8/19/2019 web06ModelareXML-FamiliaXML

    61/95

       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 loc de) pauză

  • 8/19/2019 web06ModelareXML-FamiliaXML

    62/95

       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: familia

    XML (Extensible Markup Language)sintaxa

    XML Information Set – Infoset 

    modelul (abstract) de date XMLXLL (Extensible Linking Language)

    XLink – legături între documente

    XPointer – localizare relativă a resurselor

    XSL (Extensible Stylesheet Language)transformări și format ări: XSLT + XSL-FO

    XQuery (împreună cu XPath)

    interogarea datelor XML

  • 8/19/2019 web06ModelareXML-FamiliaXML

    63/95

       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: aplicabilitate

    Structurarea/formatarea conț inutului

    (formate de prezentare a datelor)

     în navigatorul Web: (X)HTML (Extensible HTML), HTML5

    formulare electronice: XForms

    grafică vectorială: SVG (Scalable Vector Graphics)

    lumi tridimensionale: X3D (Extensible 3D Graphics)pe platforme mobile: SVG Mobile

  • 8/19/2019 web06ModelareXML-FamiliaXML

    64/95

       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: aplicabilitate

    Reprezentarea diferitelor tipuri de continut 

    expresii matematice: MathML – www.w3.org/Math/date multimedia sincronizate:

    SMIL (Synchronized Multimedia Integration Language)

    informaț ii vocale: VoiceXML – www.voicexml.org

    componente ale interfeț ei-utilizator:e.g., XUL (Extensible User-interface Language)

    informaț ii cartografice: KML (Keyhole Markup Language)

    date hidrologice: WaterML – www.opengeospatial.org

  • 8/19/2019 web06ModelareXML-FamiliaXML

    65/95

       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: aplicabilitate

    Reprezentarea diferitelor tipuri de conț inut 

    documentaț ii: DocBook (Documentation Book )informaț ii prelucrate de suite de birou – e.g., Open Office:

    ODF (Open Document Format )

    mediatizare (syndication) – fluxuri de știri:

    RSS (Really Simple Syndication), Atom

    publicații electronice (e-books): EPUB – idpf.org/epubreguli de specificare a proceselor de afaceri:

    BRML (Business Rules Markup Language)

    avansat 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    66/95

       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: aplicabilitate

    Descrierea – conceptuală – a resurselor Web

    cadrul general: RDF (Resource Description Framework )exprimarea vocabularelor de meta-date:

    DCMI (Dublin Core Metadata Initiative),

    FOAF (Friend Of A Friend ),

    DOAP (Description Of A Project ),…

    exprimarea modelelor conceptuale – ontologii:

    OWL (Web Ontology Language)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    67/95

       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: aplicabilitate

    Descrierea serviciilor Web

    serializarea datelor transmise conform RPC:XML-RPC ( XML Remote Procedure Calls)

    descrierea serviciilor:

    WSDL (Web Service Description Language)

    exprimarea protocolului de transfer: SOAP

    modelarea proceselor de afaceri via servicii Web:

    BPEL4WS

    (Business Process Execution Language for Web Services)

     într-uncurs viitor

  • 8/19/2019 web06ModelareXML-FamiliaXML

    68/95

       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        /

    Așadar, până la urmă, ce este XML?

  • 8/19/2019 web06ModelareXML-FamiliaXML

    69/95

  • 8/19/2019 web06ModelareXML-FamiliaXML

    70/95

       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: privire de ansamblu

    XML se pretează pentru stocarea (reprezentarea)

    datelor semi-structurate

    sistemele tradiț ionale (e.g., baze de date relaț ionale)

    necesit ă specificarea unei scheme rigide

     în vederea stocării/accesării datelorpunct de vedere

     în general

    centralizat 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    71/95

       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: privire de ansamblu

    XML se pretează pentru stocarea (reprezentarea)

    datelor semi-structurate

    datele de pe Web sunt descentralizate, eterogene și pot fi,

    deseori, accesate – chiar modificate – de către oricine

    resursele disponibile la un moment dat 

    nu sunt a-priori cunoscute

  • 8/19/2019 web06ModelareXML-FamiliaXML

    72/95

       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: direcții importante

    Comunicaț ii/interacț iune

     person-to-person – instant messagingXMPP (Extensible Messaging and Presence Protocol )

    http://xmpp.org/

     person-to-computer – syndicationformatul Atom – www.atomenabled.org

    computer-to-computer – servicii Webmash-up-uri

  • 8/19/2019 web06ModelareXML-FamiliaXML

    73/95

       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: direcții importante

    Publicare deschisă a datelor

    modelare (semi-)structurat ă

    procesare independent ă de platforma/limbaj

    prezent ări multiple ale conț inutului, în diverse formate și pe sisteme eterogene

    avansat 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    74/95

       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: direcții importante

    Căutare și regăsire – knowledge retrieval 

    meta-datetagging

    navigare

    filtrare

    import/export de dateinter-operabilitate...

     în contextul aplicaț iilor Web sociale

    avansat 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    75/95

       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: direcții importante

    Modelarea proceselor (de afaceri, mai ales)

    dataflow 

    workflow

    avansat 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    76/95

       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        /

    evenimente dedicate XML

    www.xmlamsterdam.com

    xmllondon.comwww.xmlprague.czwww.balisage.net

  • 8/19/2019 web06ModelareXML-FamiliaXML

    77/95

       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: instrumente

    Analizoare (procesoare, parsers)

    Apache Xerces, Expat, libxml, MSXML,…

    Vizualizatoare și editoare structurale

    browser Web, Open Office, , MS Visual Studio

    Formatatoare – e.g., procesoare XSLT/XSL-FOAH Formatter, FOP, Saxon, Xalan, XEP

    Sisteme de gestiune a bazelor de date XML

    BaseX, eXistdb, MarkLogic

  • 8/19/2019 web06ModelareXML-FamiliaXML

    78/95

       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: demo

  • 8/19/2019 web06ModelareXML-FamiliaXML

    79/95

       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        /

    Dacă alegem nume de marcatori/atribute

    deja definite de alte limbaje XML?

  • 8/19/2019 web06ModelareXML-FamiliaXML

    80/95

       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: spații de nume

    Student Web Awards2016

    Tuxy Pinguinescu2

  • 8/19/2019 web06ModelareXML-FamiliaXML

    81/95

       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: spații de nume

    Student Web Awards2016

    Tuxy Pinguinescu2

    ?conflict!

  • 8/19/2019 web06ModelareXML-FamiliaXML

    82/95

       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: spații de nume

    Spaț iu de nume

    desemnează un vocabular utilizat 

    pentru calificarea – în mod unic –

    a elementelor/atributelor XML

  • 8/19/2019 web06ModelareXML-FamiliaXML

    83/95

       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: spații de nume

    Vocabularul definit – colecț ie de nume

    de elemente și attribute, plus maniera lor de

    structurare – poate fi desemnat de un URI

  • 8/19/2019 web06ModelareXML-FamiliaXML

    84/95

       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: spații de nume

    Vocabularul definit poate fi desemnat de un URI

    atributul xmlns specifică acest URI,atașând opț ional un identificator unic

    fiecărui vocabular folosit 

    specificaț ie W3C (2009): http://www.w3.org/TR/xml-names/

  • 8/19/2019 web06ModelareXML-FamiliaXML

    85/95

       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        /

    Tuxy Pinguinescu2

    Student Web Awards2016

    f ără conflicte!

    de studiat exemplele din arhiva

    asociată acestei prezentări

  • 8/19/2019 web06ModelareXML-FamiliaXML

    86/95

       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: spații de nume – exemple

    Vocabularul XHTML/HTML5: http://www.w3.org/1999/xhtml

    Vocabularul Atom: http://www.w3.org/2005/Atom

    Vocabularul modelului conceptual oferit de DBpedia:

    http://dbpedia.org/ontology/

    Vocabularul JSP ( Java Server Pages):

    http://java.sun.com/JSP/Page

    Vocabularul XUL (Extensible User-interface Language):

    http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul

  • 8/19/2019 web06ModelareXML-FamiliaXML

    87/95

       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: spații de nume

    Studiu de caz:includerea în documentele HTML

    a unor construcț ii provenite din alte limbaje XML

    exemplificare:

    SVG (Scalable Vector Graphics) – http://www.w3.org/TR/SVG/

    HTML + SVG

  • 8/19/2019 web06ModelareXML-FamiliaXML

    88/95

       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        /

    HTML + SVG

    O ilustrație SVG (grafică vectorială) inclusă într -o pagină Web

    SVG direct în browser...

    De utilizat un navigator Web care oferă suport nativ pentru SVG.

  • 8/19/2019 web06ModelareXML-FamiliaXML

    89/95

       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        /

  • 8/19/2019 web06ModelareXML-FamiliaXML

    90/95

       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        /

    Grafică vectorială cu SVG

    C. Bulancea & S. Buraga (2004, 2014)

    comenzi grafice

    (e.g., M=mută, C=cerc)

    aplicarea unui filtruwww.w3.org/TR/SVG/filters.html

    avansat 

  • 8/19/2019 web06ModelareXML-FamiliaXML

    91/95

       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        /

    ❤ 2016

    C. Bulancea & S. Buraga (2004, 2014)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    92/95

       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        /

    redarea conținutului grafic vectorial SVG

    Firefox

    la nivel de desktop

    Windows 10

    Safari pe platforma

    mobilă iOS 9 (iPad)

  • 8/19/2019 web06ModelareXML-FamiliaXML

    93/95

       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: spații de nume – demo

  • 8/19/2019 web06ModelareXML-FamiliaXML

    94/95

       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

    modelarea datelor prin XML

    caracterizare & constituienți,aplicații și utilizări, spații de nume XML

  • 8/19/2019 web06ModelareXML-FamiliaXML

    95/95

       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:

    extragerea datelor cu XPath