XQuery: XQuery es el lenguaje para consultar datos XML . Se utiliza para recuperar información almacenada en formato XML. XQuery para XML es similar a SQL para bases de datos. Se puede utilizar en bases de datos XML, bases de datos relacionales que contienen datos en formatos XML o documentos XML. XQuery fue diseñado por W3C y apareció por primera vez en 2007. Es una recomendación de W3C del 8 de abril de 2014 que es compatible con todas las principales bases de datos.
Usos de Xquery:
- Extraer información de la base de datos que se utilizará en servicios web como SoapUI.
- Recepción de la base de datos del formulario de datos que se utilizará con la integración de la aplicación.
- Para generar informes resumidos.
- Para recuperar información relevante de archivos XML.
Instalación y ejemplo:
- Descargue el archivo jar de Saxon .
- Extraiga el archivo zip y copie todos los archivos jar en java_base_path/JRE/lib/ext.
- Ahora cree un archivo XML con el siguiente código y asígnele el nombre «article.xml».
html
<?xml version="1.0" encoding="UTF-8"?> <articles> <article category="JAVA"> <title>Introduction to Java</title> <writer>Khushi</writer> <date>05/11/2010</date> </article> <article category="Python"> <title>Introduction to Python</title> <writer>Suman</writer> <date>10/10/2011</date> </article> <article category="XML"> <title>Introduction to XML</title> <writer>KR</writer> <date>06/09/2012</date> </article> <article category="HTML"> <title>Introduction to HTML</title> <writer>Bijay</writer> <date>03/04/2015</date> </article> </articles>
Ahora cree un archivo java con el nombre que elija (ejemplo.java en mi caso) y agregue el siguiente código en el mismo.
Java
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import javax.xml.xquery.XQConnection; import javax.xml.xquery.XQDataSource; import javax.xml.xquery.XQException; import javax.xml.xquery.XQPreparedExpression; import javax.xml.xquery.XQResultSequence; import com.saxonica.xqj.SaxonXQDataSource; class example { public static void main(String[] args) { try { solve(); } catch (Exception e) { e.printStackTrace(); } } private static void solve() throws FileNotFoundException, XQException { InputStream inputStream = new FileInputStream(new File("articles.xqy")); XQDataSource ds = new SaxonXQDataSource(); XQConnection conn = ds.getConnection(); XQPreparedExpression exp = conn.prepareExpression(inputStream); XQResultSequence result = exp.executeQuery(); while (result.next()) { System.out.println(result.getItemAsString(null)); } } }
Nota: Guarde el archivo con la extensión .java en el mismo directorio que el del artículo.xml.
Cree un archivo XQuery con el nombre “articles.xqy” con el siguiente código y guárdelo en el mismo directorio que el de article.xml.
for $x in doc("article.xml")/articles/article return $x/title
Ahora abra el símbolo del sistema en la misma carpeta donde se encuentra article.xml e ingrese el siguiente comando allí.
javac example.java java example
Como se puede ver en la salida, imprimirá el título de todos los datos del artículo almacenados en el archivo XML.
Ahora, ha ejecutado con éxito su primer código XQuery.