问题标签 [xpath-1.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - 如何使用 Xpath 1.0 从 XML 文档中查找最大属性
有没有办法使用 Xpath 1.0 查询 XML 文档以返回给定属性的最大值?
例如有没有办法获得最大 id ?
xslt - 使用 XPath 选择具有特定属性值的连续元素
我有这样的 XML:
我想要的是使用 XSLT 样式表将其class
属性包含的所有元素的内容x
放入一个<x>
元素中。所以输出应该是这样的:
(或者,理想情况下,
但是当我解决了这个问题时,这是一个需要解决的问题。)
这是我的 XSLT 的相关片段:
这产生的是:
我很确定我必须在 XPath 表达式中使用计数,这样它就不会选择以下所有具有类 x 的元素,而只会选择连续的元素。但是我如何计算连续的?还是我这样做是错误的?
xslt-1.0 - XPath 中 sum 和 product 的聚合函数
与这个问题(http://stackoverflow.com/q/1333558/948404)类似,我想使用 XPath 计算结构中的产品总和,如下所示:
是否有一个 XPath 表达式计算每个项目的乘积之value
和quantity
?
更新:该解决方案必须与 PHP 的 XSLTProcessor 类一起使用,这意味着它可能必须符合 XSLT 1.0。这就是为什么我还没有接受使用 XSLT 2.0 的两个可能正确的答案。我无法在我的 PHP 实现、浏览器或 w3schools 的 Tryit Editor [1] 中测试它们。对不起!
xslt-1.0 - 使用 xsl:for-each 访问谓词中的当前节点
我一直在寻找如何访问当前节点,同时使用xsL:for-each
. 这是我的 XML:
我试图实现的是这样的 HTML 表示:
我正在使用 XPath 表达式来获取所有不同的年份,然后遍历它们,调用year
带有参数$year
和$events
. 获得价值$year
很容易,但我正在努力寻找正确的事件。以下将不起作用,可能是因为.
在第二个谓词中指的是event
正在测试的谓词。但是如何访问year
那里?
提前谢谢了!
PS:必须使用 XPath 和 XSLT 1.0。
xslt - XPath 1.0:查找指定节点之前的节点数
我熟悉在 XSLT 中使用前面的轴来确定给定当前上下文的前面元素的数量。但是,考虑到我存储在变量中的节点,我看不到这样做的方法。例如:
给定以下 XML,precedingBookCount
应该等于 3。
我在 XPath 2.0 中看到有一个可以使用的NodeComp 运算符 <<
,但在 XPath 1.0 中似乎没有。
那么我该如何在 XPath 1.0 中执行此操作呢?
xslt-1.0 - 使用 XPath 选择包含撇号的字符串
为了通过 XSLT 生成 CSS,我使用了以下表达式:
这会产生字符串Times New Roman
,而不是'Times New Roman'
我需要在 CSS 中使用的字符串。尝试将字体名称包含在其中'
或'
不起作用:
有人可以帮我找到一个合适的表达方式吗?提前谢谢了!
xslt-1.0 - 选择包含混合内容或仅使用 XPath 的文本的节点
使用 XPath 1.0 和 XSLT 1.0 我需要选择混合内容的直接父级或仅文本。考虑以下示例:
显然 classes match
,maybe-match
anddont-match
仅用于演示目的,不可用于匹配。maybe-match
意味着最好不匹配,但我可以自己解决问题,以防难以排除这些。
提前谢谢了!
debugging - 用于模拟具有多个条件的子查询的 xpath 表达式
我必须使用 xpath 1.0 在两个不同节点上使用两个标准在 xml 中找到一个值
我试着用一个例子来解释:如果我们有以下xml
我们想在最小的范围内检索 with <value>
(在<obj/data>
我们的例子中,我们将有 DDD 作为结果)。<code=X>
<obj>
<index>
我尝试了以下表达式,但它似乎不起作用:
但它不起作用
xslt - XPath 1.0 选择兄弟姐妹的不同属性
我四处寻找,但无法获得任何我发现可行的想法。
这些是我在 xml 文件中的几个节点(从 db 生成)
我希望能够从每一个中选择不同的 ATTR3。
目前,这适用于第一个
//PANELS/PANEL[not(@ATTR3 = (preceding::*/@ATTR3))]
并返回 '31' 的预期结果
但是当我尝试对第二个做同样的事情时,它什么也没有返回(我希望它再次返回'31')
//ZONES/ZONE[not(@ATTR3 = (preceding::*/@ATTR3))]
我知道第二个不起作用,因为 ATTR3 的值对于所有这些都相同,但是如何获得每个节点的不同属性值?
(这被用作我用来显示每个不同值的 for-each 的谓词)
这是这样使用的,其中一个for-each
用于ZONES,一个用于PANELS
我希望它返回
我尝试过使用preceding-sibling
而不是preceding
,但后来我得到了
每个都在这样的模板中:
xml - 我怎样才能有条件地转换一个 XML 节点,而不在这个条件之外省略它的实例?
我正在转换所有 <p>
标签并将这些节点重命名为 <Body_Text>
,条件是它们位于元素内 <body>
(使用 xsl:if
)。
我的代码正在这样做,但是它忽略了 <p>
元素之外的所有元素 <body>
,我不希望它这样做。
这是要转换的 XML:
...这是 XSL:
...这是不希望的结果(省略 <p>
元素之外的所有元素 <body>
,我不希望它这样做):
这是在http://xslt.online-toolz.com/tools/xslt-transformation.php测试的。
这是我没有得到的预期结果: