-2

看看我的 XML(简化):

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

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

4

1 回答 1

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>
于 2013-05-13T15:53:41.153 回答