REXML XPATH 匹配函数中,多个命名空间在命名空间映射中的作用是什么?
In REXML XPATH match function, what do multiple namespaces do in the namespace mapping?
我想准确了解第 785 行在这里的作用:
但是我在文档中找不到对此的明确解释,例如这里:
即我可以理解针对单个名称空间 ("ps") 的作用,但是添加第二个名称空间 ("d") 的作用是什么?
编辑:跟进澄清:假设 'protocol' 命名空间在文档中是小写但在代码中是大写,以此开头的文档是否会被成功解析?
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Version="2.0" >
通过 XPath 查询的响应使用两个不同的命名空间,
- 绑定到
p
命名空间前缀的命名空间用于 SAML
核心 (urn:oasis:names:tc:SAML:2.0:protocol
).
- 绑定到
ds
的名称空间用于 XML Signature
(http://www.w3.org/2000/09/xmldsig#
).
并且两者都通过代码中引用行上 REXML::XPath.match
的参数向 XPath 处理器声明:
{ "p" => PROTOCOL, "ds" => DSIG },
每个问题更新更新
命名空间前缀 (p
) 是任意的,不需要与文档中使用的前缀匹配。 命名空间 (urn:oasis:names:tc:SAML:2.0:protocol
) 很重要,必须与文档中使用的相匹配。两者都区分大小写。
我想准确了解第 785 行在这里的作用:
但是我在文档中找不到对此的明确解释,例如这里:
即我可以理解针对单个名称空间 ("ps") 的作用,但是添加第二个名称空间 ("d") 的作用是什么?
编辑:跟进澄清:假设 'protocol' 命名空间在文档中是小写但在代码中是大写,以此开头的文档是否会被成功解析?
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Version="2.0" >
通过 XPath 查询的响应使用两个不同的命名空间,
- 绑定到
p
命名空间前缀的命名空间用于 SAML 核心 (urn:oasis:names:tc:SAML:2.0:protocol
). - 绑定到
ds
的名称空间用于 XML Signature (http://www.w3.org/2000/09/xmldsig#
).
并且两者都通过代码中引用行上 REXML::XPath.match
的参数向 XPath 处理器声明:
{ "p" => PROTOCOL, "ds" => DSIG },
每个问题更新更新
命名空间前缀 (p
) 是任意的,不需要与文档中使用的前缀匹配。 命名空间 (urn:oasis:names:tc:SAML:2.0:protocol
) 很重要,必须与文档中使用的相匹配。两者都区分大小写。