¿Cuál es la diferencia entre XPath
, XQuery
y XPointer
? Por lo que sé, XQuery
es una versión extendida de XPath
. Tengo algunos conocimientos básicos de XPath
. ¿Hay alguna función disponible en XPath
que no esté en XQuery
? Ayer escuché una nueva palabra, XPointer
. Estoy confundido. ¿Qué idioma se usa para qué propósito?Diferencia entre XPath, XQuery y XPointer
Respuesta
Wikipedia es un buen lugar para comenzar a hacer preguntas como esta. En general, XPath es un lenguaje utilizado para señalar sucintamente los nodos XML exactos en un DOM. XQuery es un superconjunto de XPath que también proporciona la sintaxis FLWOR, que es similar a SQL. Finalmente, XPointer incluye XPath, pero también proporciona un esquema de direccionamiento basado en posición más simple.
Por supuesto, siempre puede leer las especificaciones W3C para más detalles.
Bueno, creo que XQuery es algo digno de ser distinguido. XPath y XPointer son casi iguales y se utilizan para la selección de nodos XML. XQuery por otro lado es una extensión bastante grande de XPath. Por ejemplo, da la posibilidad de declarar funciones personalizadas. Por lo tanto, es más como el lenguaje de programación, que funciona de forma nativa con XML. Se puede extraer de algunas muestras aquí: embedding-xquery-in-java
Saludos
Aunque la respuesta por Matthew da una buena primera impresión, hay mucho más que decir sobre las normas mencionadas, y hay muchos más que están relacionados . Hay un buen artículo de la revista del grupo de usuarios de XML Holanda disponible en línea, que cuenta mucho sobre la historia de XQuery, y toma varios de estos estándares en perspectiva. La primera parte es bastante relevante aquí:
XQuery significa XML Query Language. Eso ya dice la esencia. Es un lenguaje para seleccionar subconjuntos y subestructuras desde un gran conjunto de archivos XML. El resultado puede ser manipulado en algo que sea adecuado para ser utilizado en, por ejemplo, un proceso posterior, o para mostrar en un navegador web. XPath se usa mucho en XQuery.
Todos los estándares XML tienen su propio alcance. Nombraré algunos. XSLT es un lenguaje para transformar XML en otro formato. XPointer es una extensión de XPath para direccionar nodos con mayor precisión dentro de fragmentos XML o incluso subpartes de nodos. XLink es un estándar para definir relaciones. XInclude es un estándar para componer varias piezas de XML en una utilizando, por ejemplo, las relaciones XLink. Y XProc es un estándar con el que se puede describir cómo deben procesarse los documentos XML para obtener un resultado final deseado. Se expresa en XML y describe el proceso paso a paso, también llamado XML Pipelines. Dentro de XProc usa a.o. XQuery, XSLT y XIncluir idiomas (y por lo tanto indirectamente XPath, XPointer y XLink también) para expresar lo que se debe hacer exactamente dentro de cada paso.
Todos estos estándares están vinculados. Están relacionados y dependen el uno del otro.La superposición entre algunos de los estándares XML mencionados se resume bastante bien en la siguiente imagen que también se puede encontrar en W3Schools:
artículo completo se puede encontrar aquí: http://grtjn.blogspot.nl/2011/10/xquery-novelties-revisited.html
HTH!
XPath se limita intencionadamente a leer nodos existentes.
Como XSLT, XQuery puede crear nodos. También puede actualizar nodos (con XQuery Update Facility).
Desde mi punto de vista ;-)
- 1. entre XLink, XPointer y XInclude
- 2. Explicar xpath y xquery en términos simples
- 3. ¿Cómo uso QXmlQuery correctamente? (XQuery/XPath Qt)
- 4. Biblioteca de Java que admite XPointer con el esquema xpointer()?
- 5. Filtrar consultas SQL en la columna XML usando XPath/XQuery
- 6. La diferencia entre: analizador SAX, XPath, DOM, XMLPullParser
- 7. MySQL: diferencia entre ', `,' y"
- 8. Diferencia entre objeto y *?
- 9. Diferencia entre. y #
- 10. ¿Diferencia entre == y caso?
- 11. La diferencia entre $ * y $ @
- 12. Diferencia entre & y &
- 13. ¿Tiene XQuery (o XPath) equivalentes a Actualizar, Insertar y Eliminar, así como Seleccionar?
- 14. VBA: Diferencia entre y y +
- 15. filtro xquery en el atributo y el elemento
- 16. ¿Cuál es la diferencia entre XSL Pattern y XPath en sintaxis?
- 17. ¿Cuál es la diferencia entre // node y/descenddant :: node en xpath?
- 18. Diferencia entre -Wconversion entre gcc y g ++
- 19. Diferencia entre subprocess.Popen y os.system
- 20. Diferencia entre decimal y decimal
- 21. ¿Diferencia entre trazo y relleno?
- 22. Diferencia entre interrupción y eventos
- 23. Diferencia entre netTcpContextBinding y netTcpBinding
- 24. ¿Diferencia entre brújula y sass?
- 25. Diferencia entre "__method__" y "método"
- 26. Diferencia entre Mealy y Moore
- 27. Diferencia entre HashSet y HashMap?
- 28. diferencia entre ajax y enviar
- 29. Diferencia entre sistema y shell_exec
- 30. Diferencia entre Style y ControlTemplate
Además de lo anterior XQuery implementador, Consulta XML fue sólo el comienzo de XQuery. Desde su creación, se han definido estándares adicionales, como XQuery Full-Text y XQuery Update Facility, para hacerlo aún más versátil de lo que ya es. Aunque ya está un poco anticuado, el artículo mencionado más arriba atraviesa la mayoría de estos ... – grtjn