问题
我有一个XInclude,它包括一个由指定的xpointer属性的表达式产生的节点集。
是否可以使用xpointer__选择一个空节点集,从而不包含任何内容?
问题
原因是我的xincluded & xpointed节点可以存在,不能存在;所以我得到了一个:
XInclude错误: XPointer评估失败
在这种情况下,指定节点不存在。
示例
这个表达式类似于:
xmlns(ns=urn:my:namespace)
xpointer(/ns:element1/*[ns:elementA | ns:elementB])我想更改XPointer,以便在没有找到节点的情况下,XInclude不包含任何内容(而不引发错误)。
类似于:
xmlns(ns=urn:my:namespace)
xpointer(/ns:element1/*[ns:elementA | ns:elementB | NOT_FOUND_NODES ])有什么办法可以做到吗?
发布于 2015-04-28 13:49:12
你试过使用xi:后备指令吗?
例如,如果您指示
<xi:include href="somedoc.xml" xpointer="xmlns(ns=urn:my:namespace)xpointer(/ns:element1/*[ns:elementA | ns:elementB])" />并且x指针资源不存在,您将得到一个资源错误(如x指针规范中的表达式)。为了避免这种情况,您可以使用回退:
<xi:include href="somedoc.xml" xpointer="xmlns(ns=urn:my:namespace)xpointer(/ns:element1/*[ns:elementA | ns:elementB])">
<xi:fallback><NOT_FOUND_NODES/></xi:fallback>
</xi:include>因此,当x指针出现资源错误时,回退将插入NOT_FOUND_NODES元素。
https://stackoverflow.com/questions/29143167
复制相似问题