1 / 43

Semantica și pragmatica limbajului natural Daniela G ÎFU

UNIVERSIT ATEA “AL EXANDRU I OAN CUZA” DIN IAŞI FACULT ATEA DE INFORMATIC Ă. Semantica și pragmatica limbajului natural Daniela G ÎFU http://students.info.uaic.ro/~daniela.gifu/. Cursul nr. 8. Sintaxa XML. Date semistructurate XML Istoric XML. Marcarea documentelor De ce XML ?

trung
Download Presentation

Semantica și pragmatica limbajului natural Daniela G ÎFU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIVERSITATEA “ALEXANDRU IOAN CUZA” DIN IAŞI FACULTATEA DE INFORMATICĂ Semanticași pragmatica limbajului natural Daniela GÎFU http://students.info.uaic.ro/~daniela.gifu/

  2. Cursulnr. 8 Sintaxa XML

  3. Date semistructurate • XML • Istoric XML. Marcarea documentelor • De ce XML? • Avantaje / Dezavantaje XML • Sintaxa XML

  4. Tipuri de date: • structurate (relațional) • semistructurate • nestructurate (text). => date parțial structurate

  5. Motive pentru care datele ar fi semistructurate: • structura datelor poate fi implicită, ascunsă, necunoscută sau utilizatorul decide să o ignore; • nu se cunoaște structura sau se poate modifica în viitor; • integrarea datelor din surse eterogene – într-un asemenea caz, un model de date structurat este prea rigid, cel puțin într-o primă fază; exemplu: bibliografie, carte, organigrama; • date „sparse” – pe modelul relațional am avea multe date NULL; • datele sunt modelate pe structură ierarhică, recursivă; • ordinea este importantă; • nu se poate interoga o bază de date structurată fără a cunoaște schema (se poate, dar e dificil), însă uneori apare nevoia de a interoga datele fără a cunoaște schema.

  6. Date semistructurate – depozite de date XML, BD OO sau BD obiect-relaționale • Caracteristici: • nu au o schemă fixă (precum cea relațională); • structura este implicită sau non-regulată; • imbricate sau eterogene; • reprezentare ca graf etichetat; • (cel puțin) XML: nu solicită schemă suplimentară. • Exemple: pagini Web, integrare informatii din surse eterogene (ex: o bibliografie), XML.

  7. Marcarea unui document electronic – o constituie codurile care se găsesc prin textul documentului (meta data), care oferă informație necesară procesării electronice, precum nume, stil, sau structura documentului. • Origine marcare: industria publicistică (“instrucțiuni” pentru tipograf).

  8. Marcare procedurală - În procesarea textelor, utilizatorul alege din meniul aplicației diferite operații de formatare. • aceste informații sunt marcaje și sunt reținute prin coduri speciale în text; • instructiunile de formatare spun aplicației cum să facă afișarea/tipărirea textului. - Este o procedură pentru „output device” (ex: RTF). • nu înregistrează structura documentului (dă doar indicații de afișare); • este inflexibil (o schimbare a regulilor de formatare trebuie materializată manual); • marcarea depinde de soft-ul folosit; • este o operație costisitoare ca timp.

  9. Exemple marcare document parte dintr-un document RTF, pentru afișarea: Linia 1 continutboldcuvantitalicsfarsit

  10. Exemple marcare document - RTF {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid7668181 Linia 1} {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid12744919 \par } \pard \ltrpar\ql li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright \rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid12982338 continut} {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid7668181 } {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1033\langnp1033\insrsid7668181\charrsid7668181 bold} {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid7668181 } {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid12982338 cuvant} {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid7668181 } {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1033\langnp1033\insrsid7668181\charrsid7668181 italic} {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid7668181 } {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid12982338 sfarsit} {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid7668181 \par }

  11. Marcare generică - odată cu introducerea macrourilor – acestea înlocuiesc controalele cu apeluri către proceduri de formatare externe; - un tag este atașat unui element text, iar reguli de formatare sunt asociate tag-urilor; - o aplicație de formatare procesează textul și produce documentul într-un anumit format. • este mai portabila și mai flexibilă; dacă se folosesc macrouri – schimbarea unei reguli de formatare presupune doar schimbarea macroului. • permite o oarecare descriere de structura a documentului. Ex: LaTeX LaTeX => fisier .tex => document .pdf.

  12. Exemple marcare document • un mesaj From: George P. To: Ana-Maria M. Subject: Acte noi Am auzit ca trebuie sa completam noi formulare. Daca ai vreunul, te rog sa-mi trimiti si mie. Cand ai timp, uita-te la http://www.adresa.org – am pus cateva poze din ultima excursie. George

  13. Exemple marcare document un mesajîn LaTeX \begin{document} \noindent{\it From:} George P. \newline{\it To:} Ana-Maria M. \newline{\itSubject:} {\bfActenoi} \newline \newline Am auzit ca trebuiesacompletamnoiformulare. Dacaaivreunul, terogsa-mi trimitisimie. \newline \newline Candaitimp, uita-te la \underlined {http://www.adresa.org} – am pus catevapoze din ultimaexcursie. \noindent \underlined {George} \end{document}

  14. Exemple marcare document articol(LaTeX) \title[...]{Can we talk about humor in religious speech?} \author{Daniela Gifu} \address{Faculty of Computer Science} \address{Alexandru Ioan Cuza University of Iasi} \email{daniela.gifu(a)info.uaic.ro} \date{September 2013} % submission date \begin{document} \begin{abstract} The influence of the audience and the nature of the situations that he faces determine the shape and the intensity of the type of speech.(…) \end{abstract} \maketitle \section {Introduction} The paper defines the notions of religious speech, highlights the importance of completeness preach-humour, representing the goal of this this research.(…) \newline \The present study can help the researchers concerned with the religious language issues, and the spiritual orators that are interested to be optimally and effectively understood by a particular audience....} ...

  15. SGML • nu oferă o structură standard – există o serie de tipuri de documente atât de diferite (cărți, articole, dicționare, orare s.a.) => nu se poate stabili un tipar pentru toate => nu impune un set de marcaje / tag-uri, ci propune un limbaj pentru descrierea structurii documentelor și marcarea corespunzătoare a acestora (reguli!!!). Obs1: SGML – inițial proiectat pentru a permite „sharing” de mari documente care să fie citibile de sisteme de calcul, în domenii precum guvernare, industrie, armata s.a. • Structura documentului este, în general, definităfolosindaltelimbaje (ex: DTD = Document Type Definition) – care identifică elementele care pot să apară în document. Obs2: HTML este o aplicație SGML. Obs3: HTML include tag-uri de formatare a.i. este partial un limbaj de marcare procedurală (de exemplu <B>); pe de alta parte – permite adăugarea de stylesheets și folosirea atributului class => HTML este parțial și un limbaj de codificare generică.

  16. Exemple marcare document - un mesaj (aplicație SGML) <mesaj> <header> <from>George P. <to>Ana-Maria M. <subject>Acte noi <body> <para>Am auzit ca trebuie sa completam noi formulare. Daca ai vreunul, te rog sa-mi trimiti si mie. <para>Cand ai timp, uita-te la http://www.adresa.org – am pus cateva poze din ultima excursie. <signature>George </mesaj>

  17. Exemple marcare document - un mesaj (HTML= aplicație SGML) <html> <head> <title>Mesaj - Acte noi</title> </head> <body> <h2>Acte noi</h2> <br/> <i>From:</i>George P. <br/> <i>To:</i>Ana-Maria M. <p>Am auzit ca trebuie sa completam noi formulare. Daca ai vreunul, te rog sa-mi trimiti si mie.<p> <p>Cand ai timp, uita-te la <a href=“http://www.adresa.org”>http://www.adresa.org</a> – am pus cateva poze din ultima excursie.</p> <u>George</u> </body> </html>

  18. Exemple marcare document - un mesaj (HTML + stil) <html> <head> <title>Mesaj - Acte noi</title> <style> .from {font-style: italic;} </style> </head> <body> <h2>Acte noi</h2> <br/> <span class=“from”>From:</span>George P. <br/> <i>To:</i>Ana-Maria M. <p>(...)<p> <p>(...)</p> <u>George</u> </body> </html>

  19. Exemple marcare document - un mesaj (XML) <?xml version=”1.0”?> <!DOCTYPE memo SYSTEM “mesaj.dtd”> <message> <header> <from>George P.</from> <to>Ana-Maria M.</to> <subject>Acte noi</subject> </header> <body> <para>Am auzit ca trebuie sa completam noi formulare. Daca ai vreunul, te rog sa-mi trimiti si mie.</para> <para>Cand ai timp, uita-te la <url>http://www.adresa.org</url> – am pus cateva poze din ultima excursie.</para> <signature>George</signature> </body> </message>

  20. XML In dezvoltarea XML - două influențe • fiecare vroia mai multe tag-uri (matematicianul vroia tag-uri pentru scrierea de formule, chimistul – de asemenea etc.); • trebuia limitat numărul de tag-uri pentru ca paginile să fie mai ușor de încărcat (sau ϵ browser-e care nu cunosc întreg setul de tag-uri). => pentru a rezolva problema „un limbaj cu mai multe tag-uri și mai puține tag-uri” => XML: • să nu existe tag-uri predefinite (permite unui autor să definească oricâte tag-uri). • să fie mai strict (decât HTML, …).

  21. Ce este XML? • un standard pentru “marcarea” documentelor, susținut de W3C; • o specificare / tehnologie pentru crearea de limbaje de marcare particularizate; • o tehnologie orientată în principal pentru gestiunea, afișarea și organizarea datelor; • definește o sintaxă generică folosită în marcarea datelor cu tag-uri simple, citibile de o persoană; • furnizează un format standard pentru documente electronice – format destul de flexibil pentru a fi customizat pentru diferite domenii precum site-uri Web, schimb electronic de date, genealogie, imobiliare, serializare de obiecte, sisteme de voice-mail, alte domenii științifice (matematică, chimie, etc.) s.a.

  22. Ce este XML? • un limbaj de meta-marcare (metamarkup language) pentru documente text. • datele sunt incluse în document ca șiruri de caractere (se pot include obiecte de tip imagine, audio etc.). • unitatea XML de baza de dată și marcare este elementul. • Specificația XML definește sintaxa care trebuie să fie respectată în marcare: • cum sunt delimitate elementele de tag-uri; • cum arată un tag; • ce nume sunt acceptabile pentru elemente; • unde sunt menționate atributele...

  23. Ce este XML? • un limbaj de meta-marcare – nu are un set fix de tag-uri; • limbajul poate fi extins și adaptat pentru a îndeplini diferite cerințe; • relativ strict – se poate defini o gramatică prin care să se spună locul în care poate să apară un anumit tag; • marcajul permis într-o aplicație XML poate fi documentat într-o schemă. Un anumit document poate fi comparat cu schema și, dacă se potrivește, se spune că este valid (altfel – invalid). Ex: DTD (Document Type Definition) de la XML 1.0; W3C XML Schema Language. • Din motive de interoperabilitate, grupuri de persoane sau organizații pot să se înțeleagă să folosească anumite tag-uri. Aceste multimi de tag-uri sunt numite aplicatii XML.

  24. Marcarea dintr-un document XML • descrie structura (ierarhică a) documentului; • permite să se vadă care elemente sunt asociate cu alte elemente; • descrie, de asemenea, și semantica documentului; • nu ar trebui să indice și cum să fie afișat documentul (stil). Obs: XML este un limbaj de marcare structural și semantic, nu un limbaj de prezentare. XML oferă posibilitatea de manipulare de date pe platforme diferite, pe termen lung. XML este simplu de citit, ca structură și ca tip de document (text). Nu sunt probleme de aliniere, de trecere pe un rând nou, de delimitare, de formatul unui număr care se găsește (ca text) în document. XML – date portabile.

  25. XML - Ce nu este XML? • un limbaj de programare – nu sunt compilatoare XML care să citească documente XML și să producă un cod executabil. Un document XML pur si simplu există. • un protocol de transmitere a datelor în rețea. Datele transmise prin HTTP, FTP s.a. pot respecta formatul XML, însă trebuie să existe un soft adițional care să transmită efectiv datele. • o baza de date. In schimb, o BD poate sa conțină date în format XML (ca VARCHAR, BLOB sau un tip specializat XML) sau există BD XML.

  26. XML Parsarea documentelor XML • un document XML poate fi citit, doar dacă respectă regulile XML => există parser-e care citesc un document XML și extrag informația dorită (nu înseamnă căînțelege semantica datelor) => sunt capabile să parcurgăîntreaga structură a unui document XML. • un document XML poate fi citit de orice parser XML (nu contează aplicația căreia îi este destinat documentul, cea care l-a creat sau platforma pe care a fost creat). Dacă se mai adaugă un element, aplicația care lucra până în prezent cu acest document nu trebuie modificată (decât dacă se dorește și citirea noului element). Dacă, în schimb, se modifică numele elementelor, atunci și aplicația trebuie modificată corespunzător.

  27. XML • Validitatea documentelor XML: • Well-formed: un document XML respectă regulile XML. • Type-valid: pentru fiecare document există un DTD sau o schemă (o gramatică!!!) a cărei reguli (structură) sunt respectate. Obs. În general se dorește ca documentele să fie doar well-formed; însă, mai ales în situațiile în care un document XML este folosit pentru transfer de date între organizații, el trebuie să respecte o structură pre-definită.

  28. XML Ce avem într-un document XML? I. Elemente: fiecare element este delimitat de 2 tag-uri (început și sfârșit); conținutul unui element; există elemente goale. II. Arbori XML: • Element rădăcină; • Imbricarea elementelor. • Atribute • Declaratia XML <?xml version="1.0" encoding="ASCII" standalone="yes"?> <persoana nrcopii="2"> Victor Popa </persoana>

  29. Sintaxa XML Ex: structurăarborescentă <e1> <e11> info_e11 </e11> <e12> <e121> info_e121 </e121> <e122> info_e122 </e122> </e12> (...) <e1n> info_e1n </e1n> </e1>

  30. Validarea / doc XML well-formed • fiecare tag de început trebuie să aibă un tag de sfârșit corespunzător; • elementele trebuie să nu se suprapună; • trebuie să fie exact un element rădăcină; • valorile atributelor trebuie incluse între ghilimele sau apostroafe; • un element nu poate avea două atribute cu același nume; • comentariile și instrucțiunile de procesare nu pot să apară în interiorul tag-urilor; • caracterele „<” si „&” nu pot să apară în interiorul datelor caracter ale unui element sau atribut.

  31. Validarea / doc XML well-formed • XML este case-sensitive; • Documente data-oriented și documente narative; • Numele XML • Conțin caractere alfanumerice, litere non-english (ideograme, caractere caracteristice unei limbi), „_”, „-”, „.”. • Nu pot să conțină alte semne de punctuație în afară de acestea trei sau „whitespace”. • Denumirile care încep cu XML (indiferent de majusculă / minusculă) sunt rezervate pentru viitoare dezvoltări W3C. • Un nume XML poate să înceapă cu litere, ideograme sau „_”. Ex: corect: nume, nume_persoana, nume-persoana, nume.persoana, şcoala, _nume; incorect: -nume, .nume

  32. XML Internaționalizare • Pentru a include caractere speciale, din diferite limbi, trebuie stabilit setul de caractere din care face parte – dupa care în document se include codificarea caracterului dorit. Ex: – setul Latin-2 (Europa de est): <?xml version="1.0" encoding="ISO-8859-2"?> • Chiar dacă nu se stabilește un set de caractere pentru un document XML, se poate recunoaște unul implicit (din primele 5 caractere din declarația de document). Referințe de caractere Ex: &#1114;

  33. XML Referințe de entități • se folosesc atunci când în conținutul text al unui element trebuie folosit un caracter rezervat pentru sintaxa XML. Ex: „<” = „&lt;”; „&” = „&amp;”; „>”=„&gt;”; „””=”&quot;”; „’”=”&apos;”. Obs: &quot; și &apos; se folosesc în valorile atributelor. • Alte referințe se pot defini în DTD (Document Type Definition) – v. http://www.w3schools.com/dtd/default.asp.

  34. XML Sectiuni CDATA • Ex: se dorește includerea de cod XML sau HTML într-un document XML (ca și conținut text), trebuie înlocuite toate caracterele „<” și „&” cu referințele respective. Pentru a evita aceasta, s-a introdus secțiunea CDATA: <![CDATA[text]]> • Acest text nu este interpretat de parser. • Parser-ul XML nu spune dacă un anumit text a rezultat dintr-o secțiune CDATA sau din simplul conținut al unui element.

  35. XML Comentarii <!--Comentariu --> • Secventa „--” nu are voie să apară în interiorul comentariului. Comentariile pot fi incluse în datele caracter ale documentului, sau înainte sau după elementul rădăcină; nu pot să apară într-un tag sau într-un alt comentariu.

  36. XML Avantaje • Poate reprezenta structuri de date cunoscute: înregistrări (record), liste, arbori; • Structura ierarhică este ușor de folosit pentru multe tipuri de documente; • Format “self-documenting”: descrie structura + semnificația dată de numele elementelor; • Suport pentru diferite seturi de caractere; • Permite validare (standardizare); • Independent de platformă; • Durabil în timp (ca și compatibilitate cu tehnologii); • Ușor de folosit; • Există deja o mulțime de tehnologii orientate XML; • Flexibilitate; • Publicare de date, schimb de date, mediere de date.

  37. XML Dezavantaje • Oferă un model de date ne-normalizat; permite date; redundante – mai ales când e scris … fără o analiză adecvată; • Dificil de decis ce să fie conținut și ce să fie atribut; • Oferă mai puțin decât graf OO (Object Oriented) – v. http://norman.walsh.name/2003/06/01/xmlnotoo; • Flexibilitate ; • Oarecum – lipsă de suport în browser-e sau alte aplicații end-user • Mai strict decât HTML.

  38. Sintaxa XML - Exemplu: document XML narativ <eseu> <name><first_name>Alan</first_name><last_name>Turing</last_name></name>was one of the first people to truly deserve the name <emphasize>computer scientist</emphasize>. Although his contributions to the field are too numerous to list, his best-known are the eponymous <emphasize>Turing Test</emphasize> and <emphasize>Turing Machine</emphasize>. <definition>The <term>Turing Test</term> is to this day the standard test for determining whether a computer is truly intelligent. This test has yet to be passed. </definition> <definition>The <term>Turing Machine</term> is an abstract finite state automaton with infinite memory that can be proven equivalent to any any other finite state automaton with arbitrarily large memory. (...) </definition> <name><last_name>Turing</last_name></name> was also an accomplished <profession>mathematician</profession> and <profession>cryptographer</profession>. His assistance was crucial in helping the Allies decode the German Enigma machine. He committed suicide on <date><month>June</month> <day>7</day>, <year>1954</year></date> after being convicted of homosexuality and forced to take female hormone injections. </eseu>

  39. Sintaxa XML • Exemplu: document XML narativ (elemente+atribute) <eseu> <nameborn='1912-06-23' died='1954-06-07'><first_name>Alan</first_name><last_name>Turing</last_name></name>was one of the first people to truly deserve the name <emphasize>computer scientist</emphasize>. Although his contributions to the field are too numerous to list, his best-known are the eponymous <emphasize>Turing Test</emphasize> and <emphasize>Turing Machine</emphasize>. <last_name>Turing</last_name> was also an accomplished <profession>mathematician</profession> and <profession>cryptographer</profession>. His assistance was crucial in helping the Allies decode the German Enigma machine. <footnotesource="The Ultra Secret, F.W. Winterbotham, 1974">1</footnote> He committed suicide on <date><month>June</month> <day>7</day>, <year>1954</year></date> after being convicted of homosexuality and forced to take female hormone injections.<footnote source="Alan Turing: the Enigma, Andrew Hodges, 1983">2</footnote> </eseu>

  40. Exemple aplicații XML - Mathematical Markup Language (MathML) <mathxmlns="http://www.w3.org/1998/Math/MathML"> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>-</mo> <mi>b</mi> </mrow> <mo>&PlusMinus;</mo> <msqrt> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>-</mo> <mrow> <mn>4</mn> <mo>&InvisibleTimes;</mo> <mi>a</mi> <mo>&InvisibleTimes;</mo> <mi>c</mi> </mrow> </msqrt> </mrow> <mrow> <mn>2</mn> <mo>&InvisibleTimes;</mo> <mi>a</mi> </mrow> </mfrac> </math>

  41. Exemple aplicații XML - MusicXML <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 2.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd"> <score-partwise version="2.0"> <part-list> <score-part id="P1"> <part-name>Music</part-name> </score-part> </part-list> <part id="P1"> <measure number="1"> <attributes> <divisions>1</divisions> <key> <fifths>0</fifths> </key> <time> <beats>4</beats> <beat-type>4</beat-type> </time> <clef> <sign>G</sign> <line>2</line> </clef> </attributes> <note> <pitch> <step>C</step> <octave>4</octave> </pitch> <duration>4</duration> <type>whole</type> </note> </measure> </part> </score-partwise>

  42. Exemple aplicații XML - DocBook <?xml version="1.0" encoding="UTF-8"?> <book xml:id="simple_book" xmlns="http://docbook.org/ns/docbook" version="5.0"> <title>Very simple book</title> <chapter xml:id="chapter_1"> <title>Chapter 1</title> <para>Hello world!</para> <para>I hope that your day is proceeding <emphasis>splendidly</emphasis>!</para> </chapter> <chapter xml:id="chapter_2"> <title>Chapter 2</title> <para>Hello again, world!</para> </chapter> </book>

  43. Vă mulțumesc!

More Related