0% au considerat acest document util (0 voturi)
36 vizualizări6 pagini

TD XPath

Documentul conține exerciții de utilizare a XPath pe diverse documente XML. Aceste exerciții includ întrebări despre extragerea de date, cum ar fi elemente, atribute și valori specifice din documentele XML. De asemenea, sunt incluse cerințe pentru scrierea de expresii XPath pentru a răspunde la întrebări legate de structura și conținutul documentelor.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
36 vizualizări6 pagini

TD XPath

Documentul conține exerciții de utilizare a XPath pe diverse documente XML. Aceste exerciții includ întrebări despre extragerea de date, cum ar fi elemente, atribute și valori specifice din documentele XML. De asemenea, sunt incluse cerințe pentru scrierea de expresii XPath pentru a răspunde la întrebări legate de structura și conținutul documentelor.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Universitatea din Laghouat Bază de date ș i Web

Master de informatică anul întâi Année :2014/2015


TD3 : XPath

Exerciț iul 1: să fie documentele XML:

[Link]
<?xml version="1.0" encoding="UTF-8"?>
<A>
<B>
<E>4</E>
<E>3</E>
</B>
<B>
<E>1</E>
</B>
<C>
<F>a</F>
</C>
<E>2</E>
</A>

[Link]:
<?xml version="1.0" encoding="ISO-8859-1"?>
<A>
<B>
<E>4</E>
<E>3</E>
</B>
<B></B>
<C>
<F>a</F>
<F>b</F>
</C>
</A>

Questions:
1. Oferi ț i rezultatul expresiilor XPath următoare
(a)[Link] /copil::A/copil::B
(b)[Link] /child::A/child::*[1]
(c)[Link] /descendent::C/child::*
(d)[Link] /descendant::B[child::E]
2. Oferi ț i expresiile XPath pentru a găsi în documentul X1:
(a) toate elementele de tip E.
(b) toț i copiii elementelor de tip B.
(c) toate nodurile de tiptext (frunze).

-1-
Exerciț iul 2: Fie documentul XML următor:

<livre titre="Mon livre">


<auteurs>
<auteur nom="nom1" prenom="prenom1"/>
<auteur nom="nom2" prenom="prenom2"/>
</auteurs>
<sections>
<section titre="Section1">
<chapitre titre="Chapitre1">
<paragraf>Primul paragraf</paragraf>
Al doilea paragraf
</capitol>
</section>
<section titre="Section2">
<chapitre titre="Chapitre1">
<paragraf>Primul paragraf</paragraf>
Al doilea paragraf
</capitol>
</section>
</secț iuni>
</livre>

Întrebări: Scrieț i expresiile XPath următoare în format neabrevierat:

1. găsiț i lista capitolelor din prima secț iune;


2. găsiț i lista atributelor primului autor;
3. găseș te valoarea (funcț ia string) a atributului nume al celui de-al doilea autor;
4. găsiț i lista capitolelor care conț in două paragrafe;
5. găsiț i lista capitolelor care conț in un paragraf cu cuvântul Primul;
6. găsi lista secț iunilor care au un capitol;
7. găseș te lista elementelor care au un singur atribut;
8. găsi lista elementelor care au un strămoș secț iuni, sub două forme;
9. găsi lista atributelor titlu ;
10. găsiț i lista elementelor care au doi fii ș i fără atribute;
11. găsiț i lista secț iunilor fără paragraf;
12. găseș te lista elementelor ale căror text conț ine cuvântul paragraf.

Écrivez les expressions XPath suivantes au format abrégé :

1.găseș te lista de noduri autor;


2. găsi lista tuturor nodurilor secț iune;
3. găsiț i lista capitolelor din prima secț iune;
4. găsiț i lista atributelor primului autor;
5. găsiț i valoarea atributului nume al celui de-al doilea autor;
6. găsiț i lista secț iunilor cu două capitole;
7. găsiț i lista paragrafelor a căror părinte are titlul Capitolul 1.

-2-
Exerciț iul 3: Pe documentul de mai jos, cu ajutorul limbajului XPath,
răspundeț i la următoarele întrebări.
<?xml version="1.0" encoding="UTF-8"?>
<liste_auteurs>
<autor num_authot="1">
<nom_auteur>Japrisot</nom_auteur>
<prenom_auteur>Sébastien</prenom_auteur>
<age>48</age>
<nationalite>francaise</nationalite>
</auteur>
<auteur num_auteur="3">
<nom_auteur>Dostoïevski</nom_auteur>
<nationalite>russe</nationalite>
</auteur>
<auteur num_auteur="4">
<nom_auteur>Sfeir</nom_auteur>
<prenom_auteur>Antoine</prenom_auteur>
<age>65</age>
<nationalite>francaise</nationalite>
</auteur>
<auteur num_auteur="5">
<nom_auteur>Malraux</nom_auteur>
<prenom_auteur>André</prenom_auteur>
<nationalite>francaise</nationalite>
</autor>
<auteur num_auteur="9">
<nom_auteur>Green</nom_auteur>
<prenom_auteur>Julien</prenom_auteur>
<nationalite>francaise</nationalite>
</auteur>
</liste_auteurs>

1. Afi ș aț i toate elementele „ prenume_autor”.


2. Afi ș ez toate elementele „ autor” ale căror atribut „ num_auteur” este
strict mai mare decât valoarea 4.
3. Afi ș ez media vârstei.
4. Număr autori.
5. Cine este autorul pe locul 3 în document?
6. Afi ș ez con ț inutul elementelor „ naț ionalitate”.
7. Care este suma totală a vârstei autorilor?

Reamintire: media, numărarea, suma ș i conț inutul textual al unui


elementele se obț in cu ajutorul funcț iilor avg(...), count(...), sum(...) ș i
text().

-3-
Exerciț iul 4: Fie documentul XML următor:

<?xml version="1.0" encoding="UTF-8"?>


<bibliografie>
<livre>
<titre>A la recherche du temps perdu</titre>
<autori>
<auteur nom="Proust" prenom="Marcel"/>
<auteur nom="Proust" prenom="Marcelle"/>
</auteurs>
<edition>
Tara de plat
<lieu type="edition">Belgique</lieu>
Louvain
<isbn>1965894456</isbn>
<dateDepot>1905</dateDepot>
</ediț ie>
<avis>Tres bon livre surtout pour les phénomènes Itératifs </avis>
</livre>
<livre>
<titre>Un balcon en forêt</titre>
<auteurs>
<auteur nom="Gracq" prenom="Julien"/>
</autori>
<edition>
<nom>José Corti</nom>
<lieu type="edition">Paris</lieu>
<lieu type="impression">Mayenne</lieu>
<isbn>978-2-7143-0333-2</isbn>
<dateDepot>2008</dateDepot>
</ediț ie>
</livre>
</bibliografie>

Întrebări: Scrieț i următoarele expresii XPath:

1. găseș te lista elementelor care au un strămoș carte;


2. găsiț i lista numelui autorilor;
3. găsiț i valoarea (funcț ia string) a atributului nume al celui de-al doilea autor;
4. găsiț i lista cărț ilor care conț in doi autori ;
5. afişează textul etichetei avis;
6. găsiț i lista locurilor având ca valoare de tip "ediț ie".

-4-
Exerciț iul 5: Iată un document despre filme.

<?xml version="1.0" encoding="UTF-8"?>


<films>
<film>
<title>Match Point</title>
<year>2005</year>
<country>USA</country>
<genre>Crime</genre>
<director id=’14’ >
<last_name>Allen</last_name>
<first_name>Woody</first_name>
<birth_date>1935</birth_date>
</director>
<actor id=’15’ >
<first_name>Jonathan</first_name>
<last_name>Rhys Meyers</last_name>
<birth_date>1977</birth_date>
<role>Chris Wilton</role>
</actor>
<actor id=’16’ >
<first_name>Scarlett</first_name>
<last_name>Johansson</last_name>
<birth_date>1984</birth_date><role>Nola Rice</role>
</actor>
</film>

</films>

Scrieț i următoarele cereri XPath:

1. Titlurile filmelor în care joacă Scarlett Johansson.


2. Rolurile jucate de Michel Blanc
3. Primul actor în distribuț ia fiecărui film.
4. Regizorii filmelor în care joacă atât Michel Blanc, cât ș i Thierry
Lhermite.
5. Les titres des films où le directeur joue aussi un rôle comme acteur.

-5-
Exerciț iul 6: iată un document XML cu rezultate din turul doi
alegerile prezidenț iale din patru secț ii de votare.

<?xml version="1.0"?>
<Votes>
<Ville nom="Cachan" dept="94">
<Bureau num="1">
<Candidat nom="Toto" voix="3398"/><Candidat nom="Dupont" voix="6589"/>
</Birou>
<Bureau num="2">
<Candidat nom="Toto" voix="5645"/><Candidat nom="Dupont" voix="4090"/>
</Bureau>
</Oraș >
<Ville nom="L’Hay" dept="94">
<Bureau num="1">
<Candidat nom="Toto" voix="2067"/><Candidat nom="Dupont" voix="4089"/>
</Birou>
</Oraș >
<Ville nom="Bagneux" dept="92">
<Bureau num="1">
<Candidat nom="Toto" voix="4723"/><Candidat nom="Dupont" voix="5167"/>
</Birou>
</Ville>
</Voturi>

Întrebări: Traduceț i următoarele interogări SQL în interogări


XPath :

1. selectaț i distinct biroul din Voturi


2. selectaț i distinct candidat din Voturi
3. select voix din Voteswhere ville='Cachan' ș i
candidat=’Dupont’
4. select oraș din Voturi unde candidat="Toto" ș i voce >
5000
5. select [Link] din Voturi A, Voturi B
unde [Link] > [Link]
ș i [Link]=[Link]
ș i [Link]=[Link]
6. select oraș din Voturi
unde candidat='Dupont'
grupele după oraș
având suma(voix) > 8000;

-6-

S-ar putea să vă placă și