Introducció a XQuery pptx

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quina funció principal té XQuery en relació amb les dades emmagatzemades en documents XML?

  • Aplicar estils visuals als documents XML per a la seva presentació.
  • Permetre l'edició directa de documents XML.
  • Convertir documents XML a altres formats com ara HTML o PDF.
  • Recuperar i consultar dades específiques d'aquests documents. (correct)

Quina capacitat ofereix XQuery respecte a la integració de dades procedents de diferents ubicacions?

  • Limitació a consultar només fitxers emmagatzemats localment.
  • Restricció a utilitzar dades d'una única base de dades XML.
  • Incapacitat de combinar dades amb esquemes diferents.
  • La capacitat d'unir dades que provenen de diverses fonts. (correct)

Com descriuries la naturalesa de XQuery pel que fa als llenguatges de consulta i quin llenguatge conegut comparteix característiques similars?

  • És un llenguatge funcional i declaratiu com SQL. (correct)
  • És un llenguatge de scripting com Python.
  • És un llenguatge orientat a objectes com Java.
  • És un llenguatge imperatiu com C++.

Quina és una característica clau del funcionament d'XQuery pel que fa a l'execució de consultes?

<p>Avalua una expressió per produir un resultat. (A)</p> Signup and view all the answers

En quins tipus de dades pot operar XQuery, més enllà dels fitxers XML?

<p>Pot operar amb qualsevol font de dades que pugui ser representada com a XML. (B)</p> Signup and view all the answers

Quina és la funció del W3C en relació amb XQuery?

<p>Definir l'estàndard XQuery. (D)</p> Signup and view all the answers

Què permet fer XQuery amb la informació XML, a més de seleccionar-la?

<p>Permet transformar-la i reestructurar-la. (D)</p> Signup and view all the answers

Quina relació té XQuery amb XPath?

<p>XQuery expandeix XPath i el converteix en un llenguatge de consultes. (D)</p> Signup and view all the answers

Quin formalism utilitza XQuery per permetre als desenvolupadors inserir comentaris en el codi?

<p>(: comentari :) (C)</p> Signup and view all the answers

Com s'identifiquen les variables en XQuery?

<p>Començant amb el símbol <code>$</code>. (C)</p> Signup and view all the answers

Quina és la funció principal de la funció doc() en XQuery?

<p>Carregar un document XML i crear-ne nodes. (D)</p> Signup and view all the answers

Quina és la principal funcionalitat de l'expressió FLWOR en XQuery?

<p>Implementar una forma de bucle per processar ítems d'una connexió. (B)</p> Signup and view all the answers

Què indica la clàusula return a una expressió FLWOR en XQuery?

<p>Els valors que s'han de retornar com a resultat de la consulta. (C)</p> Signup and view all the answers

Com es pot accedir a la posició d'un node durant la iteració amb l'expressió for a XQuery?

<p>Utilitzant l'operador <code>at</code>. (B)</p> Signup and view all the answers

Quina funcionalitat ofereix la comanda let en XQuery, més enllà de la simple assignació de valor?

<p>Permet guardar resultats per usar-los posteriorment a la consulta. (B)</p> Signup and view all the answers

Com s'utilitza la comanda where en XQuery per filtrar resultats?

<p>Per aplicar condicions que determinen quins resultats es retornen. (A)</p> Signup and view all the answers

Quina és la funció principal de les expressions quantificades en XQuery?

<p>Comprovar si algun dels nodes compleix una condició. (A)</p> Signup and view all the answers

Quan s'utilitza la clàusula order by en XQuery, com s'especifica l'ordre dels resultats?

<p>Per defecte ascendent, però es pot especificar descendent amb la paraula clau <code>descending</code>. (C)</p> Signup and view all the answers

En què consisteix niuar expressions for en XQuery?

<p>Utilitzar el resultat d'un <code>for</code> extern per iterar en un <code>for</code> intern. (B)</p> Signup and view all the answers

Quin és l'objectiu principal dels espais de noms en XQuery?

<p>Evitar conflictes entre noms d'elements i atributs de diferents fonts. (A)</p> Signup and view all the answers

Quin és l'efecte de l'operador union en XQuery?

<p>Combina els resultats de dues seqüències, incloent-hi els duplicats. (C)</p> Signup and view all the answers

Què fa l'operador intersect en XQuery?

<p>Retorna només els nodes que existeixen tant a la primera com a la segona seqüència. (B)</p> Signup and view all the answers

Què permet l'operador except en XQuery?

<p>Excloure els nodes de la primera seqüència que estan presents a la segona seqüència. (D)</p> Signup and view all the answers

Quina és la funció de distinct-values() en XQuery?

<p>Retornar els valors únics presents en un conjunt de nodes, eliminant duplicats. (C)</p> Signup and view all the answers

Què implica que els resultats d'una consulta XQuery han de ser sempre un document XML vàlid?

<p>Que compleixen amb les regles de sintaxi XML i poden ser processats per altres eines XML. (A)</p> Signup and view all the answers

Quins dos tipus d'operadors de comparació existeixen a XQuery i com difereixen?

<p>Operadors generals i de valors; els generals serveixen per comparar elements i els de valors es basen en tipus definits en l'XML Schema. (A)</p> Signup and view all the answers

En quin escenari seria més apropiat utilitzar un operador de comparació general en comptes d'un operador de comparació de valors a XQuery?

<p>Quan els tipus dels elements a comparar són desconeguts o poden ser diversos. (B)</p> Signup and view all the answers

Què permet fer la construcció if...then...else en XQuery?

<p>Executar diferents blocs de codi segons si una condició és veritable o falsa. (B)</p> Signup and view all the answers

Quina és la principal diferència entre l'ús de for i let en XQuery?

<p><code>for</code> itera sobre una seqüència, mentre que <code>let</code> assigna un valor únic a una variable. (A)</p> Signup and view all the answers

Quin propòsit tenen les funcions definides per l'usuari a XQuery?

<p>Facilitar la reutilització de codi i l'abstracció de lògica complexa. (A)</p> Signup and view all the answers

Quina és una limitació de provar a classe?

<p>Es necessari utilitzar Oxygen XML - Editor. (C)</p> Signup and view all the answers

Si necessitem evaluar una expressió condicional depenent d'un valor d'un atribut, quina és la millor opció?

<p>Utilitzar la funció where juntament amb algun operador lògic. (D)</p> Signup and view all the answers

Quina és la funció principal de XQueryX respecte a XQuery?

<p>XQueryX normalitza la implementació de XQuery per la seva fàcil interpretació amb ordinadors. (A)</p> Signup and view all the answers

En el context de consultes XQuery, per a què serveix específicament la funció concat()?

<p>Per combinar múltiples cadenes de text en una de sola. (B)</p> Signup and view all the answers

Des de quin any XQuery és una recomanació W3C?

<p>2007 (B)</p> Signup and view all the answers

Quan es treballa amb documents XML a gran escala, quina avantatge ofereix la utilització d'XQuery en comparació amb altres tècniques de consulta de dades?

<p>XQuery permet l'ús d'índexs sobre documents XML, millorant significativament el rendiment de les consultes en conjunts de dades grans. (D)</p> Signup and view all the answers

Per a una aplicació distribuïda on es requereix unir dades des de múltiples servidors que retornen documents XML, quines característiques d'XQuery serien especialment útils per implementar aquesta funcionalitat?

<p>La capacitat d'XQuery per accedir i integrar dades directament des de múltiples fonts remotes, maximitzant l'eficiència de l'intercanvi d'informació. (B)</p> Signup and view all the answers

Als operadors i funcions disponibles a XQuery, quin NO és per a operacions matemàtiques?

<p>substring() (C)</p> Signup and view all the answers

En XQuery, si vols seleccionar informació d'un node que depèn d'una expressió que requereix avaluació dinàmica, quin caràcter o símbols has d'utilitzar per indicar aquesta avaluació?

<p><code>{ }</code> (A)</p> Signup and view all the answers

Si necessites combinar resultats extrets de diferents documents XML en una consulta XQuery, quina funció seria la més apropiada per utilitzar directament?

<p><code>collection()</code> (B)</p> Signup and view all the answers

Si vols obtenir la posició d'un node mentre iteraves sobre un conjunt de nodes en XQuery, quin operador utilitzaries juntament amb l'expressió for?

<p><code>at</code> (C)</p> Signup and view all the answers

En XQuery, si desitges assegurar-te que els resultats d'una consulta siguin vàlids segons un esquema XML definit: com ho garanteixes?

<p>Has de transformar explícitament els resultats a un format XML vàlid abans de retornar-los. (C)</p> Signup and view all the answers

Imagina que necessites unir dades de dos documents XML, però vols assegurar-te d'incloure totes les entrades del primer document, fins i tot si no hi ha coincidències al segon document. Com aconseguiries aquest comportament en XQuery?

<p>Implementant un 'outer join' manualment. (D)</p> Signup and view all the answers

Si vols fer servir l'operador order by per ordenar alfabèticament els cognoms dels alumnes en ordre descendent i, en cas de cognoms iguals, ordenar per nom en ordre ascendent, com estructuraries la clàusula order by?

<p><code>order by $alu/cognoms descending, $alu/nom ascending</code> (D)</p> Signup and view all the answers

Quan utilitzes expressions quantificades a XQuery, quin és el propòsit principal de la clàusula satisfies?

<p>Avaluar si algun o tots els nodes compleixen una determinada condició. (A)</p> Signup and view all the answers

Si necessites seleccionar tots els nodes d'un document XML excepte els nodes <nom>, quina expressió utilitzaries per excloure específicament aquests nodes en XQuery?

<p><code>$selec/* except $selec/nom</code> (B)</p> Signup and view all the answers

Si vols combinar la informació del nom i cognom d'un alumne en un sol element <nom_complet> utilitzant XQuery, quina funció utilitzaries per concatenar els valors?

<p><code>concat()</code> (A)</p> Signup and view all the answers

Si tinguessis la necessitat de crear una funció personalitzada en XQuery que calculi el quadrat d'un número, com la declararies correctament?

<p><code>declare local:function quadrat($num as xs:integer) as xs:integer { return ($num * $num); }</code> (D)</p> Signup and view all the answers

En el context de consultes XQuery, quina diferència fonamental hi ha entre utilitzar some i every amb expressions quantificades?

<p><code>some</code> comprova que almenys un node compleixi la condició, mentre que <code>every</code> requereix que tots els nodes la compleixin. (C)</p> Signup and view all the answers

Quan treballes amb espais de noms en XQuery, quin efecte té declarar un espai de noms en la capçalera de la consulta?

<p>Defineix un prefix que es pot utilitzar per referenciar elements i atributs en aquest espai de noms. (B)</p> Signup and view all the answers

Si necessites implementar la lògica 'if...then...else' dins d'una consulta XQuery per gestionar diferents escenaris en funció d'una condició, com estructuraries correctament aquesta expressió?

<p><code>if (condició) then { resultat1 } else { resultat2 }</code> (D)</p> Signup and view all the answers

En XQuery, considerant les diferències entre els operadors de comparació general i els operadors de comparació de valors, en quin escenari seria crucial utilitzar un operador de comparació de valors en comptes d'un de comparació general?

<p>Quan es necessita una comparació estricta basada en el tipus de dades definit en l'esquema XML. (C)</p> Signup and view all the answers

Quan evalues una expressió XQuery, quin programari pots utilitzar per fer l'avaluació?

<p>Totes les opcions són correctes. (B)</p> Signup and view all the answers

Quin rol juga XQueryX en el context més ampli de XQuery i el processament de dades XML?

<p>Proporciona una sintaxi XML estàndard per representar consultes XQuery, facilitant el processament automatitzat. (D)</p> Signup and view all the answers

Considerant la funció distinct-values() en XQuery, en quin escenari concret seria més útil la seva aplicació?

<p>Quan vols extreure tots els valors únics d'un atribut o element, eliminant duplicats. (C)</p> Signup and view all the answers

Si necessites seleccionar tots els alumnes que tenen un valor d'assignatura diferent en un document XML, com utilitzaries distinct-values() per fer la cerca i mostrar els resultats?

<p><code>for $a in distinct-values(doc(&quot;alumnes.xml&quot;)/alumne/assignatura) return $a</code> (C)</p> Signup and view all the answers

Quina és la diferència principal entre let i for a XQuery?

<p><code>let</code> defineix una variable amb un valor únic, mentre que <code>for</code> itera sobre una seqüència de valors. (C)</p> Signup and view all the answers

Quan utilitzes l'operador union en XQuery, quin és el resultat si hi ha elements duplicats entre les dues seqüències que combines?

<p>L'operador <code>union</code> retorna tots els elements, incloent els duplicats de les dues seqüències. (A)</p> Signup and view all the answers

Com pots fer servir XQuery per consultar una base de dades relacional?

<p>Necessites una extensió específica de XQuery o un middleware que transformi les dades relacionals a un format compatible amb XQuery (com XML). (C)</p> Signup and view all the answers

En XQuery, quin és el resultat de l'expressió doc('fitxer.xml')//element[@atribut='valor'] si l'atribut 'valor' conté caràcters especials que podrien interferir amb la sintaxi de la consulta?

<p>Has de utilitzar funcions d'escapament per assegurar que els caràcters especials no interfereixin amb la consulta. (C)</p> Signup and view all the answers

Flashcards

Què és XQuery?

Un llenguatge funcional i declaratiu per consultar dades en format XML.

Què es pot fer amb XQuery?

Seleccionar, filtrar, buscar, unir, ordenar, transformar i manipular dades en documents XML.

Com s'estructura una expressió XQuery?

Un fitxer de text que conté expressions XQuery, dividit en pròleg i cos.

Com funcionen les variables en XQuery?

S'identifiquen amb el símbol '$' i poden emmagatzemar literals, nodes, seqüències, etc.

Signup and view all the flashcards

Què fa la funció doc() en XQuery?

doc(): Cargar un document XML i crear-ne nodes.

Signup and view all the flashcards

Què fa la funció collection()?

Retorna una seqüència de nodes referenciats per una adreça, sense necessitat d'un node arrel.

Signup and view all the flashcards

Què fa l'expressió 'for' en FLWOR?

Permet passar d'un element a un altre d'una col·lecció.

Signup and view all the flashcards

Què fa l'expressió 'let' en FLWOR?

Assigna un valor a una variable.

Signup and view all the flashcards

Què fa l'expressió 'where' en FLWOR?

Permet filtrar els resultats de la comanda segons condicions.

Signup and view all the flashcards

Què fa l'expressió 'order by' a FLWOR?

Permet ordenar els resultats per un camp abans de mostrar-los.

Signup and view all the flashcards

Què fa l'expressió 'return' a FLWOR?

Retorna el resultat.

Signup and view all the flashcards

Què permet l'operador 'at'?

Aconseguir la posició del node dins la seva seqüència.

Signup and view all the flashcards

Què fan les expressions quantificades?

Comprovar si algun dels nodes compleixen una determinada condició.

Signup and view all the flashcards

Què fa el quantificador 'some'?

Comprovar si algun element de la llista satisfà la condició.

Signup and view all the flashcards

Què fa el quantificador 'every'?

Comprovar que tots els elements de la llista satisfan la condició.

Signup and view all the flashcards

Què permet 'order by'?

Permet ordenar la col·lecció de resultats.

Signup and view all the flashcards

Els espais de noms

Es poden fer servir espais de noms en les consultes XQuery. Es poden declarar fins i tot a la capçalera.

Signup and view all the flashcards

Les unions

La comanda FLWOR ens permet crear unions entre documents

Signup and view all the flashcards

El comandament Except

Permet fer servir Except per filtrar els resultats que no ens interessen d'una consulta

Signup and view all the flashcards

Cridar les funcios let

Les funcions let es poden cridar documents sencers com a paràmetres

Signup and view all the flashcards

Study Notes

XQuery

  • Una gran quantitat de dades emmagatzemades en documents XML requereixen una forma de recuperació.
  • Un problema és obtenir dades emmagatzemades en diversos documents.
  • El W3C va definir XQuery: http://www.w3.org/TR/xquery/.

Característiques de XQuery

  • És un llenguatge funcional i declaratiu, com SQL.
  • En lloc d'executar una llista de comandes, s'avalua una expressió per donar un resultat.
  • Les expressions poden ser combinades per a resultats més complexos.
  • Consulta fitxers XML i coses que es puguin mostrar com a XML, incloent BDD relacionals.
  • Les consultes i els resultats són donats en XML.

Capacitats de XQuery

  • Selecciona la informació segons criteris.
  • Filtra la informació d'un flux de dades.
  • Busca informació en un document o grup de documents.
  • Uneix dades de múltiples documents.
  • Ordena, agrupa i afegeix dades als resultats.
  • Transforma i reestructura XML.
  • Realitza operacions aritmètiques i manipula cadenes de caràcters.

Relació amb altres llenguatges

  • XQuery expandeix XPath i el converteix en un llenguatge de consultes similar a SQL.
  • És un llenguatge de consulta dissenyat per escriure consultes sobre col·leccions de dades expressades en XML.

Altres característiques importants

  • Es pot utilitzar en fitxers XML o bases de dades amb capacitats XML.
  • Combina resultats que provenen de diferents fonts.
  • Suporta DTD i XML Schemas així com espais de noms.
  • Intenta convertir-se en un llenguatge estàndard per a la consulta de dades XML en bases de dades.

Llenguatge d'Expressions

  • És un llenguatge d'expressions on totes les expressions avaluen donant un valor determinat.
  • No es limita a la cerca; també té suport per a operacions i treball amb cadenes.
  • Exemple:
    • let $x := 5
    • let $y:=4
    • return $x+$y, el resultat és 9.
    • let $x := 'Hola'
    • return $x, el resultat és Hola.

Proves a Classe

  • Utilitza Oxygen XML Editor per a proves a classe.

  • Utilitza també els fitxers del tema anterior.

  • alumnes.xml:

      Mossen Pere Garcia
      XML...
    
  • classes.xml:

       Administració......
    

Expressions XQuery

  • Es troben en fitxers de text i tenen dues parts.
  • Pròleg: Opcional, conté expressions separades per punt i coma que afecten l'avaluació de l'expressió. Això inclou declaracions d'espais de noms, variables, funcions, etc.
  • Cos: Una expressió que pot contenir altres expressions. -declare boundary-space preserve; -declare namespace cen = "http://iescendrassos.net/alum"; -declare variable $alum := doc("catalog.xml")//alumnes; -{count($alum/nom)}, -{$catalog/nom}

Comentaris

  • Es fan posant text dins d'un interval (: :).
    • Exemple: (: Això és un comentari :)
    • Exemple: -(: També pot ser -De múltiples línies :)
  • Els comentaris en format XML no són vàlids a XQuery.

Variables

  • Variables
  • Les variables comencen amb el símbol '$'.
  • Exemple:
  • let $x := 5
  • let $y := //alumnes
  • Com pot tenir literals, seqüències de nodes o seqüències buides.

Funcions

  • Les funcions extreuen dades dels fitxers XML.
  • Hi ha més de 100 funcions.
  • Doc().
  • Document().
  • Collection().

doc()

  • Selecciona elements i atributs d'un document.
  • Exemple: doc(“classes.xml”)/classe/alumnes/alumne.
  • Carrega documents XML i crea els nodes.
  • Es poden fer servir variables per interrogar-les.
  • Exemple: $classe = doc(“classes.xml”).
  • Es poden fer recerques dins de la variable com en el fitxer.

Funció collection()

  • Retorna una seqüència de nodes referenciats per una adreça.

    • No necessita node arrel.
  • És la funció més corrent per a les bases de dades XML.

  • Però es pot definir la pròpia collection:

    
      
        
        
      

Operadors de Comparació

  • Dos tipus d'operadors.
  • Operadors de comparació general. -Serveixen comparació element i argumet. -= != < <= > >= -doc('classes.xml’)//alumne[@aprovat='si’]
  • Operadors de comparació de valors. -Compara els valors basant-se en els tipos definits a XML schema. -eq ne lt gt ge le -doc('classes.xml’)//alumne[nom eq 'Federicu’]

Operadors Booleans

  • Es fan servir operadors booleans tradicionals. -AND OR EQ NOT -$alumnes/nom and $notes

Operadors de Conjunts

  • Es fa servir "except" per filtar els resultats que no interessin
  • per $selec in doc("classes.xmĺ")//alumne
  • retorna $selec/* except $selec/nom, Pi, Garcia, Puig.
  • Es fa servir la funció distinct-values (): -for $selec in -distinct-values(doc("classes.xml")//alumne) -return $selec/nom

Operadors de Conjunts

  • union i intersect, els operadors intersect es proporcionen per potencia.
  • Doc('classe1.xmĺ')//nom intersect doc('classe2.xml')//nom
  • Els noms dels alumnes de dues clases. L'operador "unió" ajuda a que siguin afegits resultats als que ja es tinguin. Doc('classe1.xml’)//nom union doc('classe2.xml')//nom

Operadors i Funcions

  • Es fan servir operadors i funcions qualsevol dels de XPath. Els més importants son: Matèmatics
  • " +,-,*, div(), idiv(), mod,abs(), floor(), ceiling(), round(), roundhalf()

Sequencia

  • to, union, intersect,except

Agrupacció

  • count(), max(), min(), avg(), sum()

Cadena concat(), ends-with() starts-with,string(), lowercase() uppsercase(), reemplazar-cadena()

Altres

  • distinct(), empty(), exits()

Funcions

  • Podem fer servir les funcions Xpath a l'hora de crear consultes XML

  • Podem concatenar valors dels resultats obtenir-ne només la meitat for $alu in doc(“classes.xml")//alume return {$alu/nom," ",$alu/cognoms}

  • retornant noms i cognoms.



Federicu Pi


Filomeno Garcia


Manolito Puig

Funcions.

  • Amb XQuery defnim les proppies funcions.
declare funtion local:quadrat($num AS xs:integer) as
xs:integer
{
return ($num * $num)
};
  • També podems passar seqüencies d'element com a tipus i afegint element(...)*
declare funtion local:resum($num as element(alumne)*) as
xs:element(aprovats)*
{
return ($num * $num)
};

Les funcions d'Usuari.

  • Les funcions poden rebre el nombre de "dada" normal

{
local:quadrat($alumne/nota)
}


-poden demanar documents sencers per parametres:


{
local:resum(fn:doc(“classes.xmĺ”)//alumnes)
}

Avaluació en XQuery

  • Perque l'expresió en Xquery funcioni, ha de passar per un procesador de programari
  • S'envien dades i es retransmiteixen per a avaluar-les i al final obtenir el codi XML. [http://www.w3.org/XML/Query]

Saxon

  • Llibreria important i fàcil d'usar per consultes de XQuery.
  • Té versió gratuita
  • Hi ha versioions de pagament tambe com SAXON PE
  • A la versió d'Ubuntu tenim la comanda saxonb-xquery
$ saxonb-xquery alumnes.xquery

Federicu

Xqilla

  • Es pot revisar Xquera gràcies la llibreria C. Generant l'arxiu es resol:

cat helloworld.xqery

$i := “Hola món”
return $i
  • -perque la Xqilla dirigeixi correctament s'usa el comandament :
xquilla helo world.xquery

Hola món

Galax

  • Implementació del programari de Xquery 1.0 que compleix estríctament amb el W3C.
  • $ galax-run alumne.xquery , obtenint Federicu
  • $ galax-run nomsencer.xquery , obtenint Federicu Pi Filomenu Garcia Manolito Puig
  • Ttambé està disponible el repositor d'Ubundu

Kernow

  • Interficie per a Saxon, que permetrà debugar els programes al compiler Xquery amb facilitat

Programes Propiataris

  • Els editors de XML normalment ja tenen per defecte un provador de programes.
  • Algun exemples són oXigen, Microsoft Visual Studio, Altova, Liquid, Stylus studio 6, XMLpad

Base de Dades XML

  • Les bases de dades que tenen suport per codi XML
  • Nativament (exits,*), com a extensio (Oracle...).
  • Normalment tenen ajuda per interrogradors a parts de codi.

XQuery

XML estandard Objectiu de XQuery permet fer de sintaxis XMl estandard. L'expressió al ordinador ha e estar:


b

Expressions.

Per saber les seves funcions:


F -For (Selecciona una col·lecció tots els nodes)
L ( fa el resultat en una variable XQuery)
W =Selecciona on està especificat el node per la condicion
O = Ordena els nodes on especifiques segon el criteri.
R= retorna al resultat final.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Introducció a XPath
40 questions

Introducció a XPath

BoundlessHeliotrope9255 avatar
BoundlessHeliotrope9255
Introducció a XQuery i Estructura FLWOR
80 questions
Introducció a XQuery vid
20 questions

Introducció a XQuery vid

BoundlessHeliotrope9255 avatar
BoundlessHeliotrope9255
Use Quizgecko on...
Browser
Browser