2010-09-07 19 views

Respuesta

-1

Este tutorial on XPATH es bastante simple y fácil de seguir. También puedes ver los tutoriales asociados en XML y XQUERY.

+1

w3schools no es de ninguna manera afiliado con W3C, por favor arreglar el texto del enlace. Sin embargo, tienen algunos tutoriales agradables y fáciles. – jasso

5

XPath es un lenguaje de consulta simple que sirve para buscar en XML DOM. Creo que se puede comparar con las sentencias SQL Select con bases de datos. XPath puede evaluar muchos programas que funcionan con XML y tiene un uso masivo. Te recomiendo que lo aprendas.

XQuery es mucho más potente y complicado, también ofrece muchas opciones de cómo transformar el resultado, ofrece ciclos, etc. Pero también es el lenguaje de consulta. También se usa como lenguaje de consulta en bases de datos XML. Creo que este lenguaje solo tiene un uso específico y probablemente no es necesario conocerlo, al principio no habrá suficiente si sabes que existe y lo que puede

Hay una explicación simple, espero que sea suficiente y comprensible

-2

También sugiero que eche un vistazo a esa página a continuación, lo que podría ayudarnos a tener una idea.

link text

+0

Nice one Deniz .. –

13

XPath es una manera de localizar elementos específicos en un árbol XML.

Por ejemplo, dada la siguiente estructura:

<myfarm> 
    <animal type="dog"> 
    <name>Fido</name> 
    <color>Black</color> 
    </animal> 
    <animal type="cat"> 
    <name>Mitsy</name> 
    <color>Orange</color> 
    </animal> 
</myfarm> 

XPath permite recorrer la estructura, tales como:

/myfarm/animal[@type="dog"]/name/text() 

que le daría "Fido"

XQuery es un lenguaje de consulta XML que utiliza XPath para consultar estructuras XML. Sin embargo, también permite que se definan y llamen funciones, así como consultas complejas de estructuras de datos usando expresiones FLWOR. FLWOR permite la funcionalidad de unión entre conjuntos de datos definidos en XML. FLWOR article from wikipedia

XQuery muestra (utilizando algún XPath) es:

declare function local:toggle-boolean($b as xs:string) 
as xs:string 
{ 
    if ($b = "Yes") then "true" 
    else if ($b = "No") then "false" 
    else if ($b = "true") then "Yes" 
    else if ($b = "false") then "No" 
    else "[ERROR] @ local:toggle-boolean" 
}; 

<ResultXML> 
    <ChangeTrue>{ local:toggle-boolean(doc("file.xml")/article[@id="1"]/text()) }</ChangeTrue> 
    <ChangeNo>{ local:toggle-boolean(doc("file.xml")/article[@id="2"]/text()) }</ChangeNo> 
</ResultXML> 
+2

+1 explicación útil y ejemplos. Sin embargo, 2 correcciones: 1) "en un XML DOM" debería decir "en un árbol XML". DOM es una interfaz específica que no es necesaria para XPath. 2) "XQuery es una extensión de XPath" - Yo diría que "XQuery es un lenguaje de consulta de documentos XML que usa XPath". Tanto como el lenguaje C usa operadores aritméticos, pero C es mucho más que una "extensión de" operadores aritméticos. – LarsH

+0

Gracias por los comentarios. Aclarado mi publicación. –

+0

@LarsH: Vale la pena señalar que XQuery en realidad es una extensión (o superconjunto) de XPath. Cualquier expresión XPath válida también es una expresión XQuery válida. – Tomas

Cuestiones relacionadas