![](/img/trans.png)
[英]XPath-REXML-Ruby: Selecting multiple siblings/ancestors/descendants
[英]In REXML XPATH match function, what do multiple namespaces do in the namespace mapping?
我試圖確切地了解第785行在這里的作用:
但是我在文檔中找不到對此的明確解釋,例如:
即,我可以理解以單個命名空間(“ ps”)為目標的功能,但是添加第二個命名空間(“ d”)可以做什么?
編輯:后續澄清:考慮到“協議”名稱空間在文檔中為小寫但在代碼中為大寫,因此以此文檔開頭的文檔是否可以成功解析?
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Version="2.0" >
通過XPath查詢的響應使用兩個不同的名稱空間,
p
名稱空間前綴的名稱空間用於SAML Core ( urn:oasis:names:tc:SAML:2.0:protocol
)。 ds
的名稱空間用於XML簽名 ( http://www.w3.org/2000/09/xmldsig#
)。 兩者都通過代碼中引用行上的REXML::XPath.match
的參數聲明給XPath處理器:
{ "p" => PROTOCOL, "ds" => DSIG },
名稱空間前綴 ( p
)是任意的,不需要與文檔中使用的名稱匹配。 重要的名稱空間 ( urn:oasis:names:tc:SAML:2.0:protocol
)必須與文檔中使用的名稱空間匹配。 兩者都區分大小寫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.