需要使用XSLT创建元素

时间:2011-03-23 07:28:35

标签: xslt

我想使用xslt 1.0在xml <a:ln w="12700">中创建一个元素。

这就是我在xslt

中所做的
<xsl:variable name="width-value">12700</xsl:variable>
<xsl:element name="a:ln">
     <xsl:attribute name="w">
          <xsl:value-of select="$width-value"/>
     </xsl:attribute>
</xsl:element>

抛出错误,

You cannot call an attribute 'w'' 
FATAL ERROR:  'Could not compile stylesheet' javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:825)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:614)
        at com.vignesh.main.convert(main.java:288)
        at com.vignesh.main.main(main.java:70)

1 个答案:

答案 0 :(得分:0)

我唯一看到的是你错过了a的名称空间声明:如果我必须让这个代码段工作,我必须添加这样的东西

<xsl:element name="a:ln" namespace="http://www.example.com/a/">

也许你在其他地方有a命名空间声明。我怀疑这个问题是由于你的XSL的其他部分引起的,因为这个代码片段看起来还不错。