1

我有一个带有声明的 XML 文档

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.04" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.008.001.04 file://BE-FILE01/tverschu$/SR%20(Standards%20Release)/SR2013/ISO/Payments%20Initiation/SR2013_MX_Schemas_PaymentsInitiation/pain.008.001.04.xsd">

实际上,我想在 XSLT 转换中使用 XPath(1.0) 来获取xmlns命名空间属性或属性的内容xsi:schemaLocation,因此我可以删除/重新创建 xsd 文件的名称。

使用:

/*/namespace::*

给我

http>//www.w3.org/XML/1998/命名空间

但无论我尝试什么,我似乎都无法获得这些属性的实际内容,有什么想法吗?

4

1 回答 1

1

您应该能够@schemaLocation使用/*/@xsi:schemaLocation.

xmlns“属性”是命名空间声明,而不是属性。您不能这样查询它们。/*/namespace::*对我来说完全没问题。是在/*查询<Document/>标签吗?xml命名空间总是可以设置的,你检查所有返回值了吗?

于 2013-08-10T14:18:18.437 回答