问题标签 [xpointer]

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.

0 投票
1 回答
271 浏览

xml - Xpointer:是否可以选择一个空的节点集?

问题

我有一个XInclude包含由指定xpointer属性的表达式产生的节点集。

是否可以使用 选择xpointer一个空节点集,以便不包含任何内容?


问题

原因是我的xincluded & xpointed节点可能存在也可能不存在;所以我得到一个:

XInclude 错误:XPointer 评估失败

在指向节点不存在的情况下。


例子

表达式类似于:

我想更改 XPointer 以便在找不到节点的情况下XInclude 不包含任何内容(不引发错误)。

就像是:

有没有办法做到这一点?

0 投票
0 回答
905 浏览

xml - 使用 Xinclude 在 Log4J2 配置中仅包含子元素

我想为 log4j2 编写一个标准配置文件,并为特殊情况(测试环境、模块等)扩展它。这将允许我在主配置文件中进行更改,而无需在替代配置文件中重复它。

到目前为止,我已经尝试过 xinclude,它非常适合分离 xml 配置的主要元素,但我无法在包含之后向这些元素添加任何内容。我曾尝试使用 xPointer,但仅支持元素方案,我不确定是否可以将元素的所有子元素包含在元素方案中。

例子

附加程序文件:

这可行,但我想在包含后添加更多附加程序

由于 log4J2 只允许定义一个“Appenders”元素,我需要一种方法来执行仅返回子元素的包含。

我努力了

和使用 xpointer 的其他组合,但得到 xpointer 方案不受支持的错误。

有没有办法通过元素方案获得此功能?到目前为止,我只能使用 element(/1/n) 包含特定元素,其中 n 是元素的位置。

是否有另一种方法可以在 log4j2 支持的 xml 中获得此功能(我相信使用 Apache Xerces 解析器)?

更新:

经过大量研究,我无法找到 xerces/log4j2 的本机解决方案。我发现的两个可用替代方法是使用支持 XPointer 方案的第三方预处理器,或者扩展/重写 log4j2 XMLConfiguration 以支持多个配置文件。目前对我来说两者都不是一个可行的选择。

0 投票
0 回答
286 浏览

java - 使用特定的 xpointer 参考 Java 对 XML 进行签名

我需要用 Java 中的以下参考 URI 对 XML 文档进行签名:

xpointer(//*[@authenticate='true'])

因此,我尝试使用此参考对其进行签名:

我得到这个错误:

找不到 URI #xpointer(//*[@authenticate='true']) 和 Base null 的解析器

我在网上搜索如何修复它,我找到了这个类:

但是我没有找到如何使用它来使用我的 xpointer 对我的 XML 文档进行签名。

0 投票
2 回答
101 浏览

xml - 如何通过 XML 和 XSD 制作几何拓扑?

我需要找到使用拓扑表示来定义线的方法。现在我有类似的东西:

其中 Line/Point 是点唯一 id(UIDP) 的值。

问题

  1. 有没有办法让它更清楚,不仅得到 ID,而且使用参考或类似的东西得到孔点定义?
  2. 如何使用 XLink 或 XPointer 制作它?
  3. 如何在 XSD Schema 1.1 中定义它?
0 投票
1 回答
1626 浏览

xml - XPath - 选择具有给定属性的元素(及其子元素)以外的所有元素

我正在使用 xinclude 将文档的某些部分包含在另一个文档中,例如,在我的主文档中:

我的included.xml 看起来像:

我的问题是,我怎样才能选择所有内容,保留属性 condition="cond2" 的正确结构,但也不是子元素?所以我想选择

我在那里的 xpointer 不起作用:

0 投票
1 回答
1108 浏览

java - 尝试将 XInclude 与 Java 一起使用并使用 xml:id 解析片段

我一直在尝试让 XInclude 在我的 XML 文档中工作,最后让它在 Oxygen XML 中工作,我用它来创作 XML 文档。

然后我去了我的应用程序,它是用 Java 编写的,但它似乎不支持任何形式的 XPointer 分辨率,除非使用类似元素(/1/2)的东西。

显然,这是一个糟糕的方案,因为每次编辑文档时,XPointer 都需要更改以反映 XML 中节点的新位置!

我工作的方案只是在目标文档中使用了 xml:id :

然后,在另一个文件中:

我预计(并且正在进入氧气)会导致以下结果:

但是,在 Java 中它失败了:

以 XML 格式读取文件的资源错误 (href='data/target.xml')。原因:XPointer 解析不成功。

但是,如果我将包含标签更改为使用

那么它工作得非常好 - 但是,正如我所说,这是一个非常糟糕的解决方案。

我只是使用 Java 运行时 (1.8) 中包含的实现。

这是我正在使用的代码:

0 投票
0 回答
50 浏览

c# - XML 签名:验证所有必需的元素都已签名

我正在实现 XML 签名的验证。在我正在使用的(我希望它更多)技术文档中,(1)验证消息的所有必需元素(通过引用 Uri 使用 xpointer 指定)是否已签名和( 2)签名本身的验证。

是否可以在 C# .NET 中做出这种区分(即执行步骤 (1)),您将如何处理?

我唯一能想到的就是检查 SignedXML 类中的 Reference Uri(通过 SignedInfo 属性)。这样做的问题是,您永远无法确定是否使用了正确的 CustomSignedXML(您需要它来覆盖 GetIdElement 方法)来生成签名。

0 投票
1 回答
228 浏览

python - 带有递归 XInclude 语句的 XML

我对递归 XInclude 语句有疑问。我有一个主文件,其中 XInclude 存在于另一个文件中。包含的文件中还有进一步的 XInclude 语句。

我用 python 和库 lxml 解析我的 XML 文件。结果,不幸的是,我只得到以下信息。我的错误在哪里?还是不需要递归使用 XInlcude?

谢谢你的帮助。

主文件

拳头包括

第二个包含(Test_1_1.xml、Test_1_2.xml 和 Test_1_3.xml 与此示例相同)

我使用以下 python 代码的结果。

结果

但我本来期望并想要以下结果