2014-12-04 39 views
0

我无法找到封装XML签名的正确XPath表达式。给出 例如:通过XPath引用XML签名引用签名父节点

<xxx> 
<bbb> 
    <Signature> 
     <SignedInfo> 
     ... 
     <Reference> 
      <Transforms> 
      <Transform> 
       <XPath>???<XPath> 
      <Transform> 
      <Transforms> 
      ... 
     <Reference> 
     <SignedInfo> 
     ... 
    <Signature> 
</bbb> 
<bbb> 
</bbb> 
</xxx> 

每个BBB可具有其自己的签名(和XXX不得),而且允许没有ID-属性在BBB。可能会发生多次BBB。所以我需要告诉签名使用它的包络节点。 不幸的是模式是修复,我知道不是很好,但我必须处理它。

也许这里() - 函数([http://www.w3.org/TR/xmldsig-filter2/#function-here)可能有帮助吗?我的建议是:

here()/../../../../../.. 

它开始于XPath的节点(在链接中提到的),我走在签名节点到我的BBB节点,但是这看起来很混乱。

回答

0

我得到这个问题的答案:

那简直是不可能通过XPath表达式来引用包围父元素。

您需要使用参考ID。