Added by Matt Casters, last edited by Matt Casters on May 21, 2008  (view change)

Labels:

steps steps Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

General description

The XML column step allows you to encode the content of a number of fields in a row in XML. This XML is added to the row in the form of a String field.

Content Tab

Option Description
Step name Name of the step; this name has to be unique in a single transformation
Encoding The encoding to use; this encoding is specified in the header of the XML file
Output Value The name of the new field that contains the XML
Root XML element
The name of the root element in the generated element
Omit XML header Enable to not include the XML header in the output.

Fields tab

The Fields tab is where you configure the output fields and their formats. The table below describes each of the available properties for a field:

Option Description
Fieldname Name of the field
Element name The name of the element in the XML file to use
Type Type of the field can be either String, Date, or Number
Format Format mask with which to convert data; see Number Formats for a complete description of format specifiers
Length Output string is padded to this length if it is specified
Precesion The precision to use
Currency Symbol used to represent currencies like $10,000.00 or E5.000,00
Decimal A decimal point can be a "." (10,000.00) or "," (5.000,00)
Grouping A grouping can be a "," (10,000.00) or "." (5.000,00)
Null The string to use in case the field value is null.
Attribute Make this an attribute (N means : element)
Attribute parent name
You can specify the name of the parent element to add the attribute to if previous parameter attribute is set to Y.
If no parent name is specified, the attribute is set in the parent element. See also : PDI-1223

Add XML Example

Transformation 

The transformation sample file is :

samples/transformations/XML Add - encode fields in XML and add the field.ktr

Use case 

Below is data that comes in a variety of classes and which needs to be stored as XML in a database. You want to turn the raw data into the database layout below:

Raw data

SHAPE COLOUR id X Y
RADIUS
circle blue
1
3 5
5
circle red
2 1 3
5
circle blue
5 5 9
5
circle blue
6 8 2
5
circle red
7 9 7
5
SHAPE COLOUR id
X
Y
LENGTH
WIDTH
rectangle
blue
3 3
1 6 4
rectangle
red
6 2
4
6
4
rectangle
blue
10 8 2 6
4
rectangle red
12 7 8
6
4
rectangle blue 14 5 2
6
4

Output Sample

ID X
Y
CLASS_DATA
3 4 7 <SHAPE type="circle"><COLOUR>blue</COLOUR><RADIUS> 5</RADIUS></SHAPE>
1 6 3 <SHAPE type="rectangle"><COLOUR>blue</COLOUR><WIDTH> 4</WIDTH><LENGTH> 6</LENGTH></SHAPE>
2
8 8 <SHAPE type="rectangle"><COLOUR>blue</COLOUR><WIDTH> 4</WIDTH><LENGTH>6</LENGTH></SHAPE>
5
5 2 <SHAPE type="circle"><COLOUR>blue</COLOUR><RADIUS> 5</RADIUS></SHAPE>