Reputation: 115
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
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 </870Jars>
in place of <870Jars> but it is just printing the value rather than working as tag
Upvotes: 11
Views: 25576
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
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
Upvotes: 26
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