Greetings. I'm using DataStage 5.1. When I export a job to XML, the XML contains an unescaped ampersand, which is invalid as an XML character. This causes grief for whatever XML parser I try. The text sequence occurs twice within a TrxOutput element; once as the text for a RoutineTransforms property: "", and again (same string) as the text for a Transform property in a Columns collection. I don't see anything in the job definition that would cause these strings to be included. The offending elements look something like the following (with surrounding tags removed):
<Property Name="RoutineTransforms"></Property>
<Property Name="Transform"></Property>
The text should instead be: 
Has anyone else seen something like this? I can write code to search/replace for unescaped ampersands in the exported XML to fix the problem, but I was hoping for some type of explanation.
Thanks in advance!
Bill
Bad XML exported?
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
Ray is correct about what the value represents (thanks for the
insight!).
Indeed, it is an escaped representation of the character
corresponding to hex 1B, or 27 decimal, which is the
Unicode "escape" control character.
But this is not a legal XML character. The XML spec states
that the only legal character numbers below x20 are:
#x9 (Tab), #xA (LF), and #xD (CR)
So it seems that the DataStage export mechanism shouldn't
have exported this character.
I think I'll try just removing this value from the XML, import the
job back into DS, and see what happens (will the job break?).
Bill
insight!).
Indeed, it is an escaped representation of the character
corresponding to hex 1B, or 27 decimal, which is the
Unicode "escape" control character.
But this is not a legal XML character. The XML spec states
that the only legal character numbers below x20 are:
#x9 (Tab), #xA (LF), and #xD (CR)
So it seems that the DataStage export mechanism shouldn't
have exported this character.
I think I'll try just removing this value from the XML, import the
job back into DS, and see what happens (will the job break?).
Bill