xquery - 查询没有显示书籍的页面或标题
问题描述
我一直在尝试查询一段时间,但我无法做到。你给我的例子很简单。借书的书名、第一作者和页码。这就是练习。这是我尝试过的,但我没有得到任何回报。
这是我的查询
let $b := //biblioteca
for $c in $b/prestamos/entrada/titulo
for $d in $b/libros/libro[/titulo=$c]
return $c and $d/paginas and $d/autor
这是 XML 文件:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<!-- Fichero: libros.xml -->
<biblioteca>
<libros>
<libro publicacion="2003" edicion="2">
<titulo>Learning XML</titulo>
<autor>
<apellido>Ray</apellido>
<nombre>Erik T.</nombre>
</autor>
<editorial>O'Reilly</editorial>
<paginas>416</paginas>
</libro>
<libro publicacion="2003" edicion="2">
<titulo>XML Imprescindible</titulo>
<autor>
<apellido>Harold</apellido>
<nombre>Elliot Rusty</nombre>
</autor>
<autor>
<apellido>Means</apellido>
<nombre>W. Scott</nombre>
</autor>
<editorial>O'Reilly</editorial>
<paginas>832</paginas>
</libro>
<libro publicacion="2002">
<titulo>XML Schema</titulo>
<autor>
<apellido>van der Vlist</apellido>
<nombre>Eric</nombre>
</autor>
<editorial>O'Reilly</editorial>
<paginas>400</paginas>
</libro>
<libro publicacion="2002">
<titulo>XPath Essentials</titulo>
<autor>
<apellido>Watt</apellido>
<nombre>Adrew</nombre>
</autor>
<editorial>Wiley</editorial>
<paginas>516</paginas>
</libro>
<libro publicacion="2005">
<titulo> Beginning XSLT 2.0: Form Novice to Professional</titulo>
<autor>
<apellido>Tennison</apellido>
<nombre>Jeni</nombre>
</autor>
<editorial>Apress</editorial>
<paginas>797</paginas>
</libro>
<libro publicacion="2007">
<titulo> XQuery</titulo>
<autor>
<apellido>Walmsley</apellido>
<nombre>Priscilla</nombre>
</autor>
<editorial>O'Reilly</editorial>
<paginas>491</paginas>
</libro>
</libros>
<!-- Tabla prestamos -->
<prestamos>
<entrada>
<titulo>XML Imprescindible</titulo>
<prestamo>
<inicio>2011-05-02</inicio>
<lector>
<nombre>Pepito</nombre>
<apellidos>Grillo</apellidos>
<direccion>Rue Percebe, 13</direccion>
<telefono>972987654</telefono>
</lector>
</prestamo>
</entrada>
<entrada>
<titulo>XML Imprescindible</titulo>
<prestamo>
<inicio>2011-02-12</inicio>
<devolucion>2011-02-16</devolucion>
<lector>
<nombre>Jose</nombre>
<apellidos>Gutiérrez González</apellidos>
<direccion>Rue Percebe, 13</direccion>
<telefono>919485432</telefono>
</lector>
</prestamo>
</entrada>
<entrada>
<titulo>XPath Essentials</titulo>
<prestamo>
<inicio>2011-02-23</inicio>
<devolucion>2011-03-10</devolucion>
<lector>
<nombre>Pepito</nombre>
<apellidos>Grillo</apellidos>
<direccion>Rue Percebe, 13</direccion>
<telefono>972987654</telefono>
</lector>
</prestamo>
</entrada>
</prestamos>
</biblioteca>
我正在使用数据库在 java 中工作,我需要用这个查询创建一个脚本,但是我从老师那里得到的例子非常基本,我在查询时找不到我犯的错误。我希望你能帮帮我
解决方案
在您可能想要$b/libros/libro[titulo=$c]
而不是的谓词$b/libros/libro[/titulo=$c]
中,/titulo
选择titulo
根元素,同时titulo
选择使用谓词titulo
的元素的子libro
元素。
该运算符and
是一个布尔运算符,所以我怀疑您是否想在return
子句中使用它。您没有显示您想要的结果,逗号运算符($c, $d/paginas, $d/autor)
更有可能返回有意义的结果。
推荐阅读
- javascript - 如何从 url 获取数据到 post 请求中?
- xcode - 由于“未知类型名称“VLConfig”和“未知类型名称“verloopSDK”,无法在 iOS 上运行 RN 应用程序
- javascript - 如何在反应原生的 API 上更新表中的列值?
- r - 绘制估计函数?
- html - Bootstrap 主题不如父容器宽
- swift - 你能控制一个 SwiftUI 动画的进度吗
- asp.net-core-mvc - ASP.NET Core 5 MVC:页脚中的版本号
- c++ - Hector Pose Estimation 不正确的帧,以及如何正确使用它?
- asp.net - EF6 代码优先模型中的复合键配置
- css - 在循环中使用时无法在 vue js 中应用样式/类