XSLT以格式<ns:foo>更改标记的值

时间:2016-03-24 15:06:58

标签: xslt transform

我有以下标记和值:

<dc:source xmlns:dc="http://purl.org/dc/elements/1.1/"> CH-BAR#E53#1000/893#382#1</dc:source>

我想用它来改变它的值(CH-BAR ...):

<xsl:template match="dc:source/text()">
    <xsl:value-of select="$DocNumber"/>
  </xsl:template>

但是由于":" ...

,xslt会抛出错误

我可以在这做什么?

干杯

1 个答案:

答案 0 :(得分:0)

如果不绑定到命名空间,则不能使用命名空间前缀 - 例如:

<xsl:template match="dc:source/text()" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <xsl:value-of select="..."/>
</xsl:template>

通常,您将在xsl:stylesheet根元素中声明所有必需的命名空间,从而使它们可用于所有后代。