我有一个如下的xml文件,现在我想使用XSLT对其进行转换,保留所有元素和属性,但是如果它发生在值以“SQL:”开头的属性上,则执行sql并替换具有已解析 SQL 的属性值(它涉及http://msdn.microsoft.com/en-us/library/533texsx(VS.90).aspx。现在我遇到了问题:如何检查当前节点类型是属性,以及如何替换属性值,我基于Visual Studio的默认模板如下:
示例 xml 文件(实际上有很多元素):
<DM>
<DV id="SQL:Select something from db">
<Sample aid="SQL:Select something from db">
</Sample>
</DV>
<DV id="SQL:Select something from db">
<Sample aid="SQL:Select something from db">
</Sample>
</DV>
</DM>
默认xslt:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
xmlns:ms="urn:schemas-microsoft-com:xslt" >
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>