Home » Articole » Articole » Calculatoare » Dezvoltarea web » XML » XML: Sintaxa XPath abreviată vs. neabreviată

XML: Sintaxa XPath abreviată vs. neabreviată

postat în: XML 0

XPath a fost creat astfel încât nodurile să poată fi menționate foarte succint, păstrând în același timp capacitatea de a căuta în multe opțiuni. Cele mai multe utilizări ale XPath vor presupune căutarea nodurilor copil, nodurilor părinte sau nodurilor de atribut ale unui anumit nod. Deoarece aceste utilizări sunt atât de comune, se poate folosi o sintaxă prescurtată pentru a se referi la aceste noduri căutate frecvent. Urmează un document XML care simulează un arbore (tipul care are frunze și ramuri). Acesta va fi folosit pentru a demonstra diferitele tipuri de sintaxă.

<?xml version="1.0" encoding="UTF-8"?>
    <trunk name="the_trunk">
        <bigBranch name="bb1" thickness="thick">
            <smallBranch name="sb1">
                <leaf name="leaf1" color="brown" />
		<leaf name="leaf2" weight="50" />
		<leaf name="leaf3" />
	    </smallBranch>
	    <smallBranch name="sb2">
                <leaf name="leaf4" weight="90" />
		<leaf name="leaf5" color="purple" />
            </smallBranch>
        </bigBranch>
        <bigBranch name="bb2">
            <smallBranch name="sb3">
		<leaf name="leaf6" />
	    </smallBranch>
	    <smallBranch name="sb4">
		<leaf name="leaf7" />
		<leaf name="leaf8" />
		<leaf name="leaf9" color="black" />
		<leaf name="leaf10" weight="100" />
            </smallBranch>
        </bigBranch>
    </trunk>

Expunerea 9.2: copac. xml – Exemplu de pagină XML

Următoarele sunt câteva exemple de căi de locație XPath în engleză, XPath abreviat, apoi XPath neabreviat.

Selecția 1:

Literar: Toate elementele <leaf> din acest document care sunt copii ale elementelor <smallBranch> care sunt copii ale elementelor <bigBranch>, care sunt copii ale trunchiului, care este un copil al rădăcinii.
Abreviat: /trunk/bigBranch/smallBranch/leaf
Neabreviat: /child::trunk/child::bigBranch/child::smallBranch/child::leaf

Selecția 2:

Literar: Elementele <bigBranch> cu atributul „nume” egal cu „bb3”, care sunt copii ai elementului trunk, care este un copil al rădăcinii.
Abreviat: /trunk/bigBranch[@name=’bb3’] Neabreviat: /child::trunk/child::bigBranch[attribute::name=’bb3’]

Observați cum putem specifica ce obiecte bigBranch dorim utilizând un predicat în exemplul anterior. Acest lucru restrânge căutarea doar la nodurile bigBranch care satisfac predicatul. Predicatul este partea din instrucțiunea XPath care este între paranteze drepte. În acest caz, predicatul solicită nodurile bigBranch cu atributul „name” setat la „bb3”.

Ultimele două exemple presupun că dorim să specificăm calea de la rădăcină. Să presupunem acum că specificăm calea de la un nod <smallBranch>.

Selecția 3:

Literar: Nodul părinte al <smallBranch> curent. (Rețineți că această selecție este relativă la un <smallBranch>)
Abreviat: ..
Neabreviat: parent::node()

Când utilizați sintaxa neabreviată, este posibil să observați că apelați un părinte sau un copil urmat de două puncte (::). Fiecare dintre acestea se numește axă. Veți afla mai multe despre axe în curând.

De asemenea, acesta poate fi un moment bun pentru a explica conceptul de cale de locație. O cale de locație este seria de pași de locație luați pentru a ajunge la nodul/nodurile selectate. Pașii de locație sunt părți ale instrucțiunilor XPath separate prin caractere /. Ele reprezintă un pas pe calea spre găsirea nodurilor pe care doriți să le selectați.

Pașii de locație sunt formați din trei părți: o axă (copil, părinți, descendent etc.), un test de nod (numele unui nod sau o funcție care preia unul sau mai multe noduri) și o serie de predicate (teste pe noduri care restrâng rezultatele, eliminând nodurile care nu trec testul predicatului).

Deci, într-o cale de locație, fiecare dintre pașii de locație returnează o listă de noduri. Dacă mai sunt pași pe cale după un pas de locație, următorul pas este executat pe toate nodurile returnate de acel pas.

(Include texte din Wikibooks traduse și adaptate de Nicolae Sfetcu)

Big Data: Modele de afaceri - Securitatea megadatelor
Big Data: Modele de afaceri – Securitatea megadatelor

Nu rata oportunitatea de a rămâne competitiv într-o lume bazată pe date!

Nu a fost votat Interval de prețuri: 18.33 lei până la 27.52 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Tehnologia Blockchain - Bitcoin
Tehnologia Blockchain – Bitcoin

Transformă-ți perspectiva asupra tehnologiei blockchain și începe să descoperi oportunitățile digitale de mâine!

Nu a fost votat Interval de prețuri: 22.92 lei până la 55.08 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Întreţinerea şi repararea calculatoarelor
Întreţinerea şi repararea calculatoarelor

Vrei să înveți cum funcționează un calculator și cum îl poți repara sau întreține singur?

Nu a fost votat 0.00 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.


Descoperă mai multe la MultiMedia

Abonează-te ca să primești ultimele articole prin email.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *