以数字开头的XML标记名不起作用

时间:2013-10-30 08:32:55

标签: xml

我想使用Jenkins构建更新组件870Jars atrribute值。 当我在IE中打开xml文件时,我收到以下错误

错误: - 无法显示XML页面

无法使用XSL样式表查看XML输入。请更正错误,然后单击“刷新”按钮,或稍后重试。

名称以无效字符开头。处理资源“https://svn.retailerinfo.com/svn/Stores/Po ...

时出错

< 870Jars> --- ^

XML文件: -

<?xml version="1.0" encoding="UTF-8"?><Application> 
<app-name>Regist</app-name>
<baseline-version>Regist_R11.6.0.51</baseline-version>
<app-version>v11.6.0.51</app-version>
<defversion>1.0.0</defversion>
<component>
    <870Jars>
    <filename>v10.3.0-870Jars.zip</filename> 
    <targetfilename/> 
    <version>v10.3.0</version> 
    </870Jars>
</component>
</Application>

有什么方法可以用数字开始标记名称吗?

我使用&lt;/870Jars&gt;代替&lt; 870Jars&gt;但它只是打印值而不是作为标记

3 个答案:

答案 0 :(得分:19)

名称以数字开头的XML元素是非法 XML。你不应该从数字开始。

  

XML元素必须遵循以下命名规则:

     
      
  • 名称可以包含字母,数字和其他字符
  •   
  • 名称不能以数字或标点符号开头
  •   
  • 名称不能以字母xml(或XML,或Xml等)
  • 开头   
  • 名称不能包含空格
  •   
     

可以使用任何名称,不保留任何单词。

http://www.w3schools.com/xml/xml_elements.asp

Specification Details.

答案 1 :(得分:0)

简单的解决方法是{concat('_',data(desired_tag_name_here))}并过滤掉其他字符中的第一个字符(如果它是破折号)。一个小窍门,但是当CData和其他方法太脏或使代码不可读时,只需通过串联标记注释,使用下一个处理程序对其进行修复,然后继续进行业务

答案 2 :(得分:-1)

尝试使用如下的CDATA:

<component>
    <![CDATA[    
    <870Jars>
    <filename>v10.3.0-870Jars.zip</filename> 
    <targetfilename/> 
    <version>v10.3.0</version> 
    </870Jars>
 ]]>
</component>