2012-01-30 39 views
0

我有一个这样的XML,XML转换失败:预期的Qname?

<?xml version="1.0" encoding="UTF-8"?> 

<appcmd> 

<APPPOOL APPPOOL.NAME="DefaultAppPool" PipelineMode="Integrated" RuntimeVersion="v2.0" state="Stopped"> 

<add name="DefaultAppPool" queueLength="1000" autoStart="false" enable32BitAppOnWin64="false"> 

</add> 

</APPPOOL> 

</appcmd> 

,我已经写了下面的XSLT上述XML转换为另一种XML,

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

<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" /> 

<xsl:template match="/appcmd/APPPOOL"> 

<xsl:variable name="AppName" select="@APPPOOL.NAME"/> 

<xsl:element name="{$AppName}"> 

    <xsl:attribute name="Name"><xsl:value-of select="@APPPOOL.NAME"/></xsl:attribute> 

    <xsl:attribute name="PipelineMode"><xsl:value-of select="@PipelineMode"/> 

    </xsl:attribute> 

    <xsl:attribute name="RuntimeVersion"><xsl:value-of select="@RuntimeVersion"/> 

    </xsl:attribute> 

    <xsl:attribute name="state"><xsl:value-of select="@state"/></xsl:attribute> 

    <xsl:copy-of select="add"/> 

</xsl:element> 

</xsl:template> 

</xsl:stylesheet> 

我提示以下错误:在 - > XSL :元素名称=“{$ AppName}” XML转换失败:预期的Qname。

请帮我

回答

0

的示例代码没有单个字符的变化可以正常使用。因此,它可能是XSLT处理器pbm,请使用以下链接检查您的代码。

http://xslt.online-toolz.com/tools/xslt-transformation.php。 Ps:无论何时请求帮助,请稍微解释一下,比如你使用哪个处理器以及相同的版本等等。 通过 Rajamani中号 NIC -OTC

0

看不到任何理由为什么这应该失败 - 除非你输入的数据显示,从不同的,和@ APPPOOL.NAME的内容是不是有效的XML名称。