我的问题类似于question。除了我想要一个样式表来呈现(XML到PDF)包含或不包含名称空间的XML。
因为我的一些外部系统在没有命名空间的情况下生成XML,而某些外部系是否可以容纳一个样式表来满足这两种XML?如果可能怎么样?
感谢您的回答。
答案 0 :(得分:1)
在XSLT 2.0中,您可以使用星号作为命名空间的通配符,例如分别为<xsl:template match="*:foo">
<xsl:value-of select="*:bar"/>
。在XSLT 1.0中,您可以使用union运算符,例如: <xsl:template match="foo | df:foo">
或<xsl:value-of select="bar | df:bar"/>
,只要单个输入包含命名空间或非命名空间元素,它就可以工作。
作为替代方案,您可以编写一个转换步骤来执行预处理,以添加您期望的命名空间或将其删除,然后使用第二个转换步骤将规范化的XML转换为PDF。