user2935276
user2935276

Reputation: 115

XML tagname starting with number is not working

I want to update the component 870Jars atrribute values using Jenkins build. When i open the xml file in IE, I am getting the below error

Error:- The XML page cannot be displayed

Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.

A name was started with an invalid character. Error processing resource 'https://svn.retailerinfo.com/svn/Stores/Po...

<870Jars> ---^

XML file:-

<?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>

Is there any way where i can start a tag name with a number ?

I used &lt;/870Jars&gt; in place of <870Jars> but it is just printing the value rather than working as tag

Upvotes: 11

Views: 25576

Answers (3)

jim owens
jim owens

Reputation: 51

Simple workaround is to {concat('_',data(desired_tag_name_here))} and filter out the first character elsewhere if it is a lodash. A tidbit hacky, but when CData and other methods are either too dirty or make the code unreadable, just tag a note by the concatenation, fix it with the next handler, and move on about your business

Upvotes: 0

Gusdor
Gusdor

Reputation: 14334

An XML element whose name starts with a number is illegal XML. You should not start with numbers.

XML elements must follow these naming rules:

  • Names can contain letters, numbers, and other characters
  • Names cannot start with a number or punctuation character
  • Names cannot start with the letters xml (or XML, or Xml, etc)
  • Names cannot contain spaces

Any name can be used, no words are reserved.

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

Specification Details.

Upvotes: 26

defau1t
defau1t

Reputation: 10619

Try using a CDATA like below:

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

Upvotes: -4

Related Questions