【发布时间】:2019-09-06 05:58:23
【问题描述】:
我正在使用 Saxon-HE 来解析 XPath 表达式
例如:有xpath表达式:
string(xfi:identifier-scheme(xfi:identifier(/jenv-bw2-i:LegalEntityName)))
eq 'http://www.kvk.nl/kvk-id'
它有自定义功能,可以在http://www.xbrl.org/Specification/XF-PWD-2006-12-07.htm#_Toc152670686找到
我尝试使用 Saxon-HE 但出现错误:
net.sf.saxon.trans.XPathException:找不到名为 Q{http://www.xbrl.org/2005/function/instance}identifier() 的 1-argument 函数
我该如何解决这个问题?我是否需要自己实现这些功能,或者 Saxon-HE 是否能够评估它,但可能是,我在这里做错了什么? 我也尝试为此使用 Jaxen
问候,
文奇
【问题讨论】:
-
您希望如何提供自定义函数的代码? Saxon HE 允许您在 Java 中实现它们,请参阅 saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/… 和 saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/… 以及文档 saxonica.com/html/documentation/extensibility/…
-
对不起,我不知道为什么这被关闭为题外话,因为这对我来说似乎是一个完全合理的问题 - 可以通过提供更多信息来改进这个问题,但它是完全可以理解的你不知道需要什么信息。所以我提名这个重新开放。
-
同时,我将尝试在评论中简要回答。 Saxon 对 XBRL 规范中定义的函数一无所知。您将需要找到提供这些功能实现的产品。此外,它需要提供一个与 Saxon 一起工作的实现。当然,您可以自己实现这些功能,在这种情况下,Saxon 文档会告诉您如何实现。但这听起来需要做很多工作,我希望有 XBRL 包可以为您做这件事。搜索 XBRL 软件包。
-
@MichaelKay 这个问题在 OP 的编辑之前已经关闭,当时它仍然主要是一个资源请求。无论如何,它刚刚重新打开。
-
我认为 OP 没有意识到这是一个资源请求,我认为他们不了解架构和规范之间的关系。但我可能错了。