以数字开始的xml节点(键)XSL转换失败



我正面临一个问题,如果XML响应包含一个以数字开头的节点(键)元素,例如<3party/>如果我试图在XSL样式表中从xml中获取此节点,则会失败,并出现以下异常。使用XSL 1.0的代码示例(我无法使用XSL 2.0提前获得通知)。

XML Snippet : <root>
                <3party>some_value</3party>
              </root>
XSL Snippet : Say above value is in a XSL variable response.   
              <xsl:variable select="$response/root/3party" />

转换异常我得到:

javax.xml.transform.TransformerException: Syntax error in '$response/root/3party'.
at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.passErrorsToListener(TransformerFactoryImpl.java:661)
at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:836)
ERROR: Thu Nov 10 12:10:00 IST 2016.411 ErrorHandler.fatalError(TransformationConfig.java:46) Thread: Thread[main,5,main] - Compilation of XSL Stylesheet: with Error: Could not compile stylesheet
 javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:832)

Xml元素不允许以数字开头。从这里:

XML元素必须遵循以下命名规则:—元素名称区分大小写—元素名称必须以字母或下划线开头-元素名不能以字母xml(或xml,或xml等)开头—元素名称可以包含字母、数字、"-"、"_"one_answers"。"元素名不能包含空格

相关内容

  • 没有找到相关文章

最新更新