我正在处理一些包含和/或标记的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 - '或'中的语法错误。 错误[main] JAXPSAXProcessorInvoker - '和'中的语法错误。
我认为JaxPSaxProcessor转换和/或转换为Xpath中的运算符。 here you can see the list of operators 我无法更改jaxb处理器,因为它已在很多地方使用过。还有其他的解决问题吗?
答案 0 :(得分:1)
如果XSLT处理器那个错误,您可以尝试使用多种技术来欺骗它,例如:
<xsl:template match="*[name()=concat('a', 'nd')">
或
<xsl:template match="*[name()=substring('land',2)">
祝你好运。