xslt - 查找具有未知命名空间的所有元素

时间:2014-11-05 08:50:17

标签: xml xslt transformation

我有一个非常通用的xml架构,允许任何其他数据 - 我想用xslt处理这些数据。 xsd部分看起来像这样:

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
 <xs:annotation>
  <xs:documentation>any additional properties</xs:documentation>
 </xs:annotation>
</xs:any>

现在我想用xslt处理这些信息。我想到了这样的事情:“找到每个具有未知命名空间的元素。”这样可能吗?我们对如何进行有更好的建议吗?

BR

1 个答案:

答案 0 :(得分:0)

在父元素中,您当然可以使用

<xsl:template match="ns1:foo" xmlns:ns1="http://example.com/ns1">
  <xsl:apply-templates select="*[not(namespace-uri() = namespace-uri(current())]"/>
</xsl:template>

当然,在大多数情况下xmlns:ns1="http://example.com/ns1"会在xsl:stylesheet上定义,但为了使代码段完整,我将其放在模板上。