看看我的XML(简化):
<head>
<body>
<xs:element type="xs:double"/>
</body>
</head>
我想要做的是将值“xs:double”更改为“doubleOrEmpty”,这是我的自定义类型,允许双打和空字符串。是否可以使用XSL?如果不是我怎么能实现这个目标?
答案 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>