gpt4 book ai didi

java - 如何使用Jre默认处理器(JAXPSAXProcessor)获取XPath中的元素

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:35 26 4
gpt4 key购买 nike

我正在处理一些包含和/或标签的 xml 文件。我想把它们改造成html。在我的 XSL 中,我使用两个模板

<xsl:template match="and">
(
<xsl:apply-templates select="./*[1]" />
<xsl:text> </xsl:text>
<xsl:value-of select="name(.)" />
<xsl:text> </xsl:text>
<xsl:apply-templates select="./*[2]" />
)
</xsl:template>
<xsl:template match="or">
(
<xsl:apply-templates select="./*[1]" />
<xsl:text> </xsl:text>
<xsl:value-of select="name(.)" />
<xsl:text> </xsl:text>
<xsl:apply-templates select="./*[2]" />
)
</xsl:template>

当我使用 Xalan 作为处理器时它可以工作,但当我使用 JAXPSAXProcessor 时我收到错误: 错误 [main] JAXPSAXProcessorInvoker - “or”中存在语法错误。错误 [main] JAXPSAXProcessorInvoker - “and”中存在语法错误。

我认为 JaxPSaxProcessor 将 and/or 转换为 Xpath 中的运算符。 here you can see the list of operators我无法更改 jaxb 处理器,因为它已在很多地方使用。还有其他建议可以解决该问题吗?

最佳答案

如果 XSLT 处理器错误,您可以尝试使用多种技术来欺骗它,例如:

<xsl:template match="*[name()=concat('a', 'nd')">

<xsl:template match="*[name()=substring('land',2)">

祝你好运。

关于java - 如何使用Jre默认处理器(JAXPSAXProcessor)获取XPath中的元素<and>和<or>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4793594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com