使用XSLT将一个字符串模式转换为另一个字符串模式

时间:2012-01-06 22:22:34

标签: xml xslt xpath

我的源XML如下所示

<contents>
  <content>AuthorInformation</content>
  <content>PersonInformation</content>
  <content>PersonPersonalInformation</content>
  <content>GurdianDetails</content>
</contents>

我想将上面的XML转换为

<contents>
  <content>Author Information</content>
  <content>Person Information</content>
  <content>Person Personal Information</content>
  <content>Gurdian Details</content>
</contents>

在源xml文件中的任何地方内容元素数据都有大写字母我想在其间添加空格。我可以使用XSLT 2.0示例来实现这一点。

1 个答案:

答案 0 :(得分:4)

使用这样的模板:

<xsl:template match="text()">
    <xsl:value-of select="replace(., '([a-z])([A-Z])', '$1 $2')"/>
</xsl:template>

这通常对输入中的所有文本内容执行规则。您可以轻松地使其更具体(如果您不想翻译其他元素)。 replace函数是关键点。