Prezentarea se încărcă. Vă rugăm să așteptați

Prezentarea se încărcă. Vă rugăm să așteptați

INTRODUCERE ÎN TEORIA BAZELOR DE DATE XML (eXtensible Markup Language)

Prezentări similare


Prezentarea pe tema: "INTRODUCERE ÎN TEORIA BAZELOR DE DATE XML (eXtensible Markup Language)"— Transcriere de prezentare:

1 INTRODUCERE ÎN TEORIA BAZELOR DE DATE XML (eXtensible Markup Language)
LOREDANA MOCEAN Universitatea Babeş-Bolyai din Cluj-Napoca Facultatea de Ştiinţe Economice Catedra de Informatică Economică

2 → date semistructurate:
* Anii 60-70: - arhitecturi tranzacţionale - modele de reprezentare ierarhice * Anii 80: - apariţia reţelelor, - arhitecturi client-server, - modele de reprezentare relaţionale; - interpretarea datelor la nivel de server cu ajutorul SQL - interfeţe de programare a aplicaţiilor - punţi de asigurare a conectivităţii ODBC, JDBC - conceptual se apelează la modelul entitate – relaţie (ER) dar schema este una rigidă; se permite astfel stocarea unui volum de date uniforme ! Probleme la indexare, normalizare, integritate referenţială * Anii prezent: - arhitecturi navigaţionale, hipertext şi sisteme mobile - Daum şi Merten (2003): modelele de date cele mai potrivite sunt cele recurgând la gramatici regulare - trebuie impuse cerinţe suplimentare pentru un model ideal, aliniat la Web - datele sunt eterogene, pot proveni din diferite surse, multe informaţii evoluează în timp - datele dorite a fi modelate sunt nelimitate şi necunoscute → date semistructurate: - nu necesită definiţia unei scheme de date, - au o structură intrinsecă dar nu complet nestructurată

3 1. Definiţie XML: limbaj de marcare, permite structurarea informaţiei de diferite tipuri, folosind un set liber de instrucţiuni Describing information ! Displaying information ! XML HTML Este folosit pentru transportul datelor Este folosit pentru afişarea datelor Este folosit pentru descrierea conţinutului datelor Este folosit pentru definirea vizuală a datelor Este folosit pentru a arăta cum sunt folosite datele Este folosit pentru a defini modul de afişare a datelor Tehnologie complementară pt. HTML ! ! !

4 2. Cum pot fi folosite datele XML?
XML stochează datele în fişiere .xml Se poate folosi HTML pentru formatare şi afişare Datele XML pot fi stocate în interiorul fişierelor HTML ca şi “Data Islands” Datele XML pot fi convertite între diverse aplicaţii şi sisteme de operare, chiar cu formate incompatibile XML va fi în viitorul apropiat principalul limbaj de conversie între informaţiile financiare şi aplicaţiile B2B Datele XML, fiind independente de hard, soft şi aplicaţii, pot fi vizualizate de diferite tipuri de browsere; pot fi citite ca şi surse de date în multe limbaje de programare; XML este folosit pentru a crea noi limbaje de programare (ex. WML – Wireless Markup Language)

5 3. Sintaxa XML Categorii de constituenţi: * Declaraţia * Elementele
* Atributele * Entităţile * Secţiunile de marcare * Instrucţiunile de procesare Ex: <?xml version="1.0" encoding=“UTF-8"?> <notă> <către>Dan</către> <dela>Cristina</dela> <antet>Reminder</antet> <body>Să nu uităm să facem proiectul mâine! </body> </notă>

6 Observaţii: Trei tipuri de taguri: început, sfârşit şi vid; obligatorie existenţa tagurilor de închidere, cu excepţia primului rând; La începutul documentului apare declaraţia xml care indică limbajul de marcare, versiunea lui şi informaţii suplimentare Case – sensitive Structurile de date trebuie să fie imbricate Toate datele XML trebuie să aibă rădăcină unică Atributele sunt incluse între ghilimele Toată informaţia ce este conţinută între tagul de început şi sfârşit reprezintă zonă de date, deci se iau în considerare toate simbolurile de formatare (spaţii, enter etc.) Comentariile la fel ca şi în HTML Ex: <!-- acesta este un comentariu>

7 4. Elemente XML a. Elementele XML sunt extensibile
Ex: <data>01/03/2006 </data> b. Există relaţii între date; se definesc structuri arborescente Ex: <carte> <titlu>Primul meu XML</titlu> <prod ID=“12345” media=“hartie></prod> <capitol>Introducere in XML <para>Ce este HTML</para> <para>Ce este XML</para> </capitol> <capitol>Sintaxa XML <para>Elementele trebuie să aibă tag de închidere</para> <para>Elementele trebuie să fie imbricate</para> </carte> Primul meu XML Introducere Ce este HTML Ce este XML Sintaxa XML Elementele trebuie să aibă tag de închidere Elementele trebuie să fie imbricate

8 c. Elementele au conţinut şi atribute
c. Elementele au conţinut şi atribute. Conţinutul poate fi de tip element, mixt, simplu şi vid. Ex: element <carte> , conţine alte elemente mixt <capitol> , conţine text şi alte elemente simplu <para> conţine doar text vid <prod>, nu conţine informaţii d. Numele elementelor XML: Pot conţine litere, cifre şi caractere speciale Nu poate începe cu cifră sau semne de punctuaţie Nu poate începe cu cuvântul “XML” Nu poate conţine spaţii

9 5. Atributele XML Elementele XML pot avea atribute în tagul de început (preluare din html). Atributele sunt folosite pentru a da informaţii suplimentare despre apariţiile particulare ale unui element Ex: <file type=“gif”>computer.gif</file> Datele pot fi stocate fie în elemente arborescente fie în atribute <Pers Sex=“feminin”> <nume>Muresan</nume> <prenume>Anna</prenume> </Pers> <Pers> <Sex>feminin</Sex> <nume>Muresan</nume> <prenume>Anna</prenume> </Pers>

10 Dezavantaje ale utilizării atributelor:
- Nu pot conţine mai multe valori - Nu sunt uşor de extins cu elemente arborescente - Nu pot descrie structuri - Codul le manipulează cu greu Ex: <mesaje> <nota id=“m1”> <către>Dan</către> <dela>Cristina</dela> <antet>Reminder</antet> <body>Să nu uităm să facem proiectul mâine! </body> <nota id=“m2”> <către>Calin</către> <dela>Mihaela</dela> <antet>TotReminder</antet> <body>Eu nu pot sa vin! </body> </nota> </mesaje>

11 6. Referinţele la entităţi
Constituie pointeri către entităţi Entităţile pot fi unităţi de text, caractere, documente sau referinţe la alte documente Se folosesc atunci când se doreşte folosirea unor caractere care ar conduce la erori de procesare şi care nu ar trebui să apară în forma lor normală în text Construcţia &nume-entitate; Entităţile predefinte: Entitate Referinţa la entitate < > & & &apos; "

12 7. Secţiunile de marcare Se utilizează atunci când anumite părţi ale documentului necesită un tratament special în ce priveşte modul de procesare Secţiunea CDATA are rolul de inhibare a prelucrării construcţiilor XML; este utilizată pentru a include blocuri de text conţinând caractere care altfel ar fi recunoscute ca marcaje Secţiunile CDATA nu pot apare imbricate Sintaxa <![CDATA[…]]> Ex1: inetpref.xml <Label TopMargin=“8” Group=“1”> <Text><![CDATA[&Select the default search engine:]]></Text> </Label> Ex2: <script type=“text/javascript”> /*<![CDATA[*/ If (vizite>10) { // vizitator fidel Document.write(“<p>Hello again! </p>”); } /*]]>*/ </script>

13 8. Instrucţiunile de procesare
Reprezintă un tip special de marcaj care conţine informaţii privitoare la anumite aplicaţii ce urmează a fi executate pentru procesarea conţinutului Sintaxa <?nume_aplicatie ?> Ex1: <script> <?php echo “<p>Salut !\n</p>;?> </script> Ex2: <?xml:stylesheet type=“text/css” href=“stil.css” ?>

14 9. Tabele de stil XSL Tabelele de stil (foi de stil): instrucţiuni speciale ce dirijează procesul de prezentare a elementelor în fereastra programului client (browserului); Se foloseşte ca limbaj de formatare XSL (eXtensible Stylesheet Language); Există posibilitatea de a folosi diferite stiluri de formatare pentru aceleaşi elemente depinzând de contextul utilizării lor; Regulile de aranjare se evidenţiază prin tagurile <rule> şi </rule> Elementele XML cărora li se atribuie formatarea se evidenţiază prin descriptorul </target-element> Pentru a da o denumire concretă elementului se foloseşte atributul type=“nume_element” Ex: <xsl> <rule> <target-element type=“carte”> <p color=“green” font-size=“12”> </children> </p> </rule> </xsl> Este repetat procesul analizei pentru elementele fii

15 <element type="article"> <target-element type="author"/> </element> <td align="center"> <p color="red" font-size="14" font-style="italic"><children/></p></td> </rule> <rule> <target-element type="book"/> <tr><children/></tr> </rule> <rule> <target-element type="article"/> <tr><children/></tr> </rule> <rule> <target-element/> <td align="center"><p><children/></p></td> </rule> <rule> <target-element type="books"/> <tr><td colspan="3" bgcolor="silver">Books</td></tr> <children/> </rule> <rule> <target-element type="articles"/> <tr><td colspan="3" bgcolor="silver">Articles</td></tr> <children/> </rule> </xsl> <?XML Version="1.0"?> <documents> <books> <book id="Book1"> <title> Amintiri din copilarie </title> <author>Ion Creangă </author> <date> </date> </book> <book id="Book2"> <title> Poezii </title> <author> Mihai Eminescu </author> <date> </date> </book> </books> <articles> <article id="Article1"> <author> Dan Sirbu </author> <title> Influenţa majorării tarifelor… </title> <date> </date> </article> </articles> </documents> <xsl> <rule> <root/> <HTML> <BODY bgcolor="white"> <center><hr width="80%"/><b>Library</b> <hr width="80%"/><br/> <table width="80%" border="2"> <children/> </table></center> </BODY> </HTML> </rule> <rule> <element type="book"> <target-element type="author"/> </element> <td align="center"> <p color="red" font-size="14"> <b> <children/> </b></p></td> </rule> <rule> XML XSL

16 Regula elementului rădăcină: analiza oricărui document XML începe de la elementul rădăcină, tagurile de formatare vor fi plasate aici Ex: <xsl> <rule> <root/> <html><head><title> Bibliotecă </title></head> <body bgcolor="white" link="blue" alink="darkblue" vlink="darkblue"> <children/> </body> </html> </rule> </xsl>

17 Relaţiile între elemente: Elementele – fii se găsesc în interiorul zonei definite prin tagurile elementului – părinte. Pentru a arăta corect locul elementului în documentul XML, în XSL se utilizează tagul <element>;. Cu ajutorul lui se poate arăta care elemente sunt predecesoare lui, şi care trebuie să-l succeadă. Ex: formatarea elementului <titlu> depinde de locul lui în documentul XML: <xsl> <rule> <element type="revista"> <target-element type="titlu"/> </element> <center> <hr width=80%> <children/> <hr width=80%> </center> </rule> <rule> <element type="articol"> <target-element type="titlu"/> </element> <td align="center"><p color="blue" font-size="14" font-style="italic"> <children/> </td> </rule> </xsl>

18 Folosirea atributelor elementelor: Parametrii indicaţi în <attribute> name şi value definesc atributul XML, care trebuie să aibă elementul curent destinat prelucrării. Ex: În fragmentul următor toate elementele cu atributul free_lance=”true” vor fi evidenţiate în documentul HTML final cu o culoare gri. </xsl> <rule> <target-element type="author"> <attribute name="free_lance" value="true"> </target-element> <p color="gray"> <children/> </p> </rule>

19 <select-elements>;
Filtrarea elementelor: XSL are posibilitatea de a sorta şi de a alege elementele evidenţiate, din graful general de elemente din document. <select-elements>; - înlocuieşte în reguli elementul <children/>, definind acele elemente, care trebuiesc prelucrate în cadrul parcurgerii recursive. Ex: În fragmentul următor vor fi prelucrate numai elementele <author>: <xsl> <rule> <target–element type=" staff"/> <div> <select–elements> <target–element type = "author"/> </select–elements> </div> </rule> </xsl>

20 Ex: Calculul expresiilor:
Ex: calculul valorilor parametrilor elementelor descrise. Se trece semnul = ca primul simbol al parametrului, ce va impune procesorul XSL să calculeze valoare expresiei (sintaxa expresiei trebuie să corespundă cerinţelor JavaScript). Ex: <xsl> <rule> <target–element type="header"> <hr width="= '%'"> <children/> <hr width="80%"> </rule> </xsl> În documentul final vor apărea următoarele instrucţiuni: <hr width=80%> ... <hr width=80%>

21 Întoarce numărul curent
Executarea instrucţiunilor : O altă metodă de plasare a informaţiei în documentul HTML final, (rezultatul executării unor operaţii şi a scenariilor JavaScript), este folosirea instrucţiunilor <eval> Ex: <xsl> <rule> <element type="articles"> <target–element type="article"> </element> <tr><td><eval>childNumber(this)</eval></td> <td> <children/> </td><tr> </rule> </xsl> Obs. Întoarce numărul curent a elementului-fiu.

22 Definirea funcţiilor şi a variabilelor globale : Analog tagului <SCRIPT> în HTML, elementul <define-script> conţine funcţiile şi definiţiile variabilelor globale. Este plasat la început. Ex: <xsl> <define-script> <![CDATA[var fontSize=12; function getColor(elem) {return elem.children.item("color",0).text; <color> }]]> // Returnează conţinutul elementului-fiu </define-script> <rule> <target-element type = "leguma"> <div background-color="=getColor(this)"; font-size="=fontSize"> <children/> </div> </rule> </xsl> Dacă se aplică aceste reguli la următorul document XML: <xml> <leguma> varză <color> green </color> </leguma> </xml> La ieşire documentul HTML va conţine elementele următoare: <div background-color="green"; font-size="12">

23 10. Definirea tipului documentului DTD
DTD: defineşte setul elementelor variabile, identifică elementele care pot fi găsite în alte elemente şi defineşte atributele adevărate pentru fiecare dintre ele; Nu este obligatorie folosirea DTD; Se folosesc următoarele tipuri de reguli: - pentru elementele şi atributele lor, - descrierile categoriilor, - descrierea formatelor binare. Folosirea DTD: În fişier extern, prin referinţa la fişier DTD <?xml version="1.0" ?> <! DOCTYPE journal SYSTEM "jurnal.dtd"> Evidenţierea unei zone în interiorul documentului în care se definesc regulile necesare <! DOCTYPE journal [ <!ELEMENT journal (contacts, issues, authors)> ]>

24 Definirea elementului:
Definirea elementului: !ELEMENT, indică denumirea elementului, conţinutul şi structura lui; Dacă există în interior şi alte elemente se foloseşte secţiunea CDATA; Două instrucţiuni ce definesc tipul conţinutului: EMPTY (elementul trebuie să fie vid) şi ANY (elementul nu are o descriere specială); Consecutivitatea fiilor pentru elementul curent se defineşte în formă de listă de denumiri a elementelor, separate prin virgulă. Pentru a indica numărul repetărilor de includere a acestor elemente se folosesc +, *, ? Ex: <!ELEMENT item (titlu, autor+, sumar?)>

25 Ex:<!ELEMENT leguma (PCDATA | denumire)*>
! În cazul în care există mai multe variante ale conţinutului e necesar a se desparţi prin | Ex:<!ELEMENT leguma (PCDATA | denumire)*> ! Dacă în definirea elementului se indică un conţinut amestecat, trebuie indicată secţiunea CDATA şi elementele despărţite prin | Ex: <?xml version="1.0"?> <! DOCTYPE journal [ <!ELEMENT contacte (adresa, tel+, ?)> <!ELEMENT adresa (strada, apt)> <!ELEMENT strada PCDATA> <!ELEMENT apt (PCDATA | EMPTY)*> <!ELEMENT tel PCDATA> <!ELEMENT PCDATA> ]> ... <contacte> <adresa> <strada> Universităţii </strada> <apt id="4"> </adresa> <tel> </tel> <tel> </tel> </contacte>

26 Aplicaţii şi instrumente XML
Familia XML Formatare conţinut Reprezentare conţinut Descriere resurse web Descriere servicii web XML (eXtensible Markup Language) XHTML (extensible HTML) MathXML RDF (Resource Description Framework) RPC (Remote Procedure Call) DocBook (Documentation Book) XSL (eXtensible Stylesheet Language) WML (Wireless Markup Language) VoiceXML XMI (XML Metadata Interchange Format) WSDL (Web Service Description Language) XUL (Extensible User-Interface language) XQuery X3D (Extensible Three Dimensions) SMIL (Synchronized Multimedia Integration Language) OWL (Web Ontology Language) SOAP (Simple Object Access Protocol) XLL (eXtensible Linking Language) SVG (Scalable Vector Graphics) BRML (Business Rules Markup Language) RSS (Really Simple Syndication) Atom DCMI (Dublin Core Metadata Initiative) BPEL4WS (Business Process Execution Language for Web Services) XForms OpenDocument

27 Concluzii Puterea limbajului XML este reflectată de flexibilitatea în gestionarea documentelor de toate tipurile Abordarea XML stabileşte un echilibru între performanţa, costul şi capacitatea de utilizare a strategiilor de codificare uşor lizibile Familia XML este un punct de vedere unificator al unor tehnologii particulare: Internetul, procesarea computerizată a documentelor, stocarea şi procesarea tradiţională a datelor Modelul bazat pe XML se pretează pentru stocarea datelor semistructurate Direcţii importante de folosire a formatelor XML: Comunicaţii şi interacţiune (person2person, person2comp, comp2comp) Arhitecturi orientate pe servicii (aplicaţii EAI) Conectare slabă (loose coupling) Căutarea şi regăsirea cunoştinţelor (knowledge retrieval) Managementul cunoştinţelor (knowledge management) Modelarea proceselor (data flow, work flow)


Descărcați ppt "INTRODUCERE ÎN TEORIA BAZELOR DE DATE XML (eXtensible Markup Language)"

Prezentări similare


Publicitate de la Google