XSL更改参数值

时间:2013-05-13 14:47:04

标签: xslt parameters

看看我的XML(简化):

<head>
<body>
<xs:element type="xs:double"/>
</body>
</head>

我想要做的是将值“xs:double”更改为“doubleOrEmpty”,这是我的自定义类型,允许双打和空字符串。是否可以使用XSL?如果不是我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:2)

嗯,你当然可以写XSLT来转换

<head xmlns:xs="http://www.w3.org/2001/XMLSchema">
<body>
<xs:element type="xs:double"/>
</body>
</head>

<head xmlns:xs="http://www.w3.org/2001/XMLSchema">
<body>
<xs:element type="doubleOrEmtpy"/>
</body>
</head>

使用:

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xsl:template match="@* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="body/xs:element/@type[. = 'xs:double']">
  <xsl:attribute name="type">doubleOrEmtpy</xsl:attribute>
</xsl:template>

</xsl:stylesheet>