xml - 完整且简洁的 XPath 3.1 引用

标签 xml xpath xpath-3.1

我一直在阅读the W3 spec for XPath 3.1 ,对于大多数人来说太长了(他们会放弃)。是否有缩写规范?

我们的受众是我们系统的用户,他们需要编写 XPath 语句来拉回他们需要的数据。他们不是程序员,他们是商业用户。当遇到困难时,他们希望尽快找到满足其特定需求的解决方案。

更新:首先,我完全同意@kjhughes 在“内在张力”下面的评论。我认为迈克尔提出了一个很好的观点,即快速指南应该是主要用途 - 删除边缘情况。并将注释减少到最少(同样没有边缘情况),但示例是的。

我们多年来使用的是 this tutorial ,它往往在简单性和教授所有基础知识之间取得了良好的平衡。和this one还不错。

但两者都没有讨论 XPath 3.1 或为 JSON 文件制作 XPath。有没有类似的东西。

举个例子,以下是我仍在努力解决的三个基本问题:

  1. 基本查询的语法是什么。使用Southwind.json是“/Employees/Employee”来获取所有员工节点的列表(我还无法在代码中成功加载 JSON 文件,所以我无法测试它)?
  2. map 是否从 XPath 查询/评估中返回? From reading this看起来您可以创建和使用它们,但您永远不会将它们作为查询的返回项获取。
  3. 数组仅在 JSON 查询时返回吗? From reading this ,我认为是这样的。这只是映射到 JSON 数组 - 对吗?

最佳答案

完整与简洁之间存在着内在的张力。

对于完整,官方规范无可替代:XML Path Language (XPath) 3.1 。如果它对于您的需求来说似乎过于广泛,那么您根本就不是目标受众。我们希望语言实现者有一个完整、精确的标准规范来构建库和工具。这就是制定规范的全部意义。

为了简洁,您必然会牺牲完整性,但以下一些资源可能适合作为概述或介绍:


每个问题更新更新:

Our audience is users of our system that need to write an XPath statement to pull back the data they need. They are not programmers, they are business users. And they want to find a solution to their specific need as quickly as possible when they get stuck.

业务用户应该拥有适当的、特定于应用程序的 GUI,而不是期望编写原始 XPath、正则表达式或 SQL。

如果您坚持要求您的业务用户编写 XPath,并且他们至少在技术上很复杂,那么您最好的选择是编写包含常用习语和示例的案例书,他们可以尝试从中学习。补充有关 XPath 基础知识的演示。

关于xml - 完整且简洁的 XPath 3.1 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62941876/

相关文章:

c# - 使用 XPath 查询从匹配的 XML 节点获取属性值

xslt - 如何在 xpath 表达式中实现具有名称的用户定义函数?

xml - 用于收集属性作为每个选定节点的名称/值映射的 XPath 3.1 表达式

xml - Go XML - 解析 HTML 中的 bool 属性导致 XML 验证错误

python - 在 python 中从模板文件和 csv 数据生成输出文件

java - 如何获取html元素的绝对路径

xslt-3.0 - tokenize($s) 与 tokenize($s, ' ' ) 相同吗?

android - 在 Eclipse 中自动生成 xml 布局的 java 代码

java - 如何将 XML 字符串添加到现有 BaseX 数据库?

xslt - 条件同级值