How to convert table data into xml file using xml output
stage? please explain step by step;
Answers were Sorted based on User's Feedback
Answer / srinivas
Hi Mukti,
To load the data into XML file first you need import the xml metadata as you expected structure by using the .xsd file or .xml file.
While importing the structure you must careful about the structure and if any value is repeating then define as a key column.
For example in above xml structre child value is diffrent and parents are same for the three rows like below :
CHANGE NAME DATASOURCE ACTION VALUE
ADD MY GSDBDatabase READ 2011
ADD MY GSDBDatabase READ 2012
ADD MY GSDBDatabase READ 2013
in above table VALUE column is unique and other values are same Note: this is taken from XML definition on question i took only 5 columns because of space issue.
In this situation you should define VALUE column as key column in XML output stage.
Job structure should like below:
SourceStage ---->transformer ----> XML output Stage.
Note:Before loading data into XML file you must sort the data other wise order will be change, what ever order you have in source the same order will load in to XML file So these words are mindful.
If you face any problem please let me knoow.
Is This Answer Correct ? | 5 Yes | 1 No |
Answer / muktimca
MY output file
<?xml version="1.0" encoding="UTF-8"?>
<defns:Provisioning
xmlns:defns="urn:ford/Application/ImportAuthorization/v1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<defns:Entity>
<defns:EntityName>
PUB
</defns:EntityName>
<defns:EntityType>
BF
</defns:EntityType>
<defns:User>
<defns:UserName>
D-KUCINA
</defns:UserName>
<defns:Role>
<defns:RoleName>
COVISINT
</defns:RoleName>
<defns:AttributeFunction>
<defns:AttributeType>
COMPOSITE
</defns:AttributeType>
<defns:Attribute>
<defns:ChangeType>
ADD
</defns:ChangeType>
<defns:Name>
SITE
</defns:Name>
<defns:DataSource>
IAR
</defns:DataSource>
<defns:Action>
READ
</defns:Action>
<defns:Value>
U6XTA
</defns:Value>
</defns:Attribute>
</defns:AttributeFunction>
</defns:Role>
</defns:User>
</defns:Entity>
<defns:Entity>
<defns:EntityName>
PUB
</defns:EntityName>
<defns:EntityType>
BF
</defns:EntityType>
<defns:User>
<defns:UserName>
KDUTTON
</defns:UserName>
<defns:Role>
<defns:RoleName>
COVISINT
</defns:RoleName>
<defns:AttributeFunction>
<defns:AttributeType>
COMPOSITE
</defns:AttributeType>
<defns:Attribute>
<defns:ChangeType>
ADD
</defns:ChangeType>
<defns:Name>
TOKEN
</defns:Name>
<defns:DataSource>
IAR
</defns:DataSource>
<defns:Action>
READ
</defns:Action>
<defns:Value>
WQRFQ
</defns:Value>
</defns:Attribute>
</defns:AttributeFunction>
</defns:Role>
</defns:User>
</defns:Entity>
<defns:Entity>
<defns:EntityName>
PUB
</defns:EntityName>
<defns:EntityType>
BF
</defns:EntityType>
<defns:User>
<defns:UserName>
L-LOZEN
</defns:UserName>
<defns:Role>
<defns:RoleName>
COVISINT
</defns:RoleName>
<defns:AttributeFunction>
<defns:AttributeType>
COMPOSITE
</defns:AttributeType>
<defns:Attribute>
<defns:ChangeType>
ADD
</defns:ChangeType>
<defns:Name>
SITE
</defns:Name>
<defns:DataSource>
IAR
</defns:DataSource>
<defns:Action>
READ
</defns:Action>
<defns:Value>
P879Y
</defns:Value>
</defns:Attribute>
</defns:AttributeFunction>
</defns:Role>
</defns:User>
</defns:Entity>
</defns:Provisioning>
<?xml version="1.0" encoding="UTF-8" ?>
- <ie:Provisioning
xmlns:ie="urn:ford/Application/ImportAuthorization/v1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ford/Application/ImportAuthorization
/v1.0 ImportAuthorizationR3.xsd">
- <ie:Entity>
<ie:EntityName>PUB</ie:EntityName>
<ie:EntityType>BF</ie:EntityType>
- <ie:User>
<ie:UserName>vbeeram1</ie:UserName>
- <ie:Role>
<ie:RoleName>sta-engineer</ie:RoleName>
- <ie:AttributeFunction>
<ie:AttributeType>BASE</ie:AttributeType>
- <ie:Attribute>
<ie:ChangeType>ADD</ie:ChangeType>
<ie:Name>MY</ie:Name>
<ie:DataSource>GSDBDatabase</ie:DataSource>
<ie:Action>READ</ie:Action>
<ie:Value>2011</ie:Value>
<ie:Value>2012</ie:Value>
<ie:Value>2013</ie:Value>
</ie:Attribute>
- <ie:Attribute>
<ie:ChangeType>DELETE</ie:ChangeType>
<ie:Name>VL</ie:Name>
<ie:DataSource>GSDBDatabase</ie:DataSource>
<ie:Action>READ</ie:Action>
<ie:Value>2011</ie:Value>
<ie:Value>2012</ie:Value>
<ie:Value>2013</ie:Value>
</ie:Attribute>
</ie:AttributeFunction>
- <ie:AttributeFunction>
<ie:AttributeType>FILTER</ie:AttributeType>
- <ie:Attribute>
<ie:ChangeType>ADD</ie:ChangeType>
<ie:Name>BuyerFilter</ie:Name>
<ie:DataSource>simngDS</ie:DataSource>
<ie:Action>READ</ie:Action>
<ie:Value>P01</ie:Value>
<ie:Value>P02</ie:Value>
</ie:Attribute>
</ie:AttributeFunction>
</ie:Role>
</ie:User>
- <ie:User>
<ie:UserName>sstiles4</ie:UserName>
- <ie:Role>
<ie:RoleName>sta-engineer</ie:RoleName>
- <ie:AttributeFunction>
<ie:AttributeType>BASE</ie:AttributeType>
- <ie:Attribute>
<ie:ChangeType>DELETE</ie:ChangeType>
<ie:Name>VL</ie:Name>
<ie:DataSource>GSDBDatabase</ie:DataSource>
<ie:Action>WRITE</ie:Action>
<ie:Value>2011</ie:Value>
<ie:Value>2013</ie:Value>
</ie:Attribute>
</ie:AttributeFunction>
- <ie:AttributeFunction>
<ie:AttributeType>COMPOSITE</ie:AttributeType>
- <ie:Attribute>
<ie:ChangeType>ADD</ie:ChangeType>
<ie:Name>Team</ie:Name>
<ie:DataSource>simngDS</ie:DataSource>
<ie:Action>READ</ie:Action>
<ie:Value>Team1</ie:Value>
<ie:Value>Team2</ie:Value>
</ie:Attribute>
</ie:AttributeFunction>
</ie:Role>
</ie:User>
</ie:Entity>
</ie:Provisioning>
please find .xsd file below
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:ford/Application/ImportAuthorization/v1
.0"
xmlns:ie="urn:ford/Application/ImportAuthorization/v1.0"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="Provisioning"
type="ie:ProvisioningType" />
<xs:complexType name="ProvisioningType">
<xs:annotation>
<xs:documentation>
Root node where “Provisioning” is the name
of the app team.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Entity"
type="ie:EntityObjectType"
minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="EntityObjectType">
<xs:annotation>
<xs:documentation>
Type of entity either application or
business function.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="EntityName" type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:element name="EntityType"
type="ie:EntityTypeType" minOccurs="1"
maxOccurs="1" />
<xs:element name="User" type="ie:UserType"
minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="UserType">
<xs:annotation>
<xs:documentation>
User Node, contains 1..n roles for a
user .
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="UserName" type="xs:string"
minOccurs="1" maxOccurs="1" />
<xs:element name="Role" type="ie:RoleType"
minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RoleType">
<xs:annotation>
<xs:documentation>
Role Node, contains all info for a
role
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="RoleName" type="xs:string"
minOccurs="1"
maxOccurs="1" />
<xs:element name="AttributeFunction"
type="ie:AttributeObjectType" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="AttributeObjectType">
<xs:annotation>
<xs:documentation>
AttributeObject, contains all info for a
role
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="AttributeType"
type="ie:AttributeObjectTypeType" minOccurs="1"
maxOccurs="1" />
<xs:element name="Attribute"
type="ie:AttributeTypeType" minOccurs="1"
maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="AttributeTypeType">
<xs:annotation>
<xs:documentation>
Attribute Node, contains all info for an
attribute.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ChangeType"
type="ie:ChangeTypeType" minOccurs="1"
maxOccurs="1" />
<xs:element name="Name" type="xs:string"
minOccurs="1" maxOccurs="1"/>
<xs:element name="DataSource" type="xs:string"
minOccurs="1" maxOccurs="1"/>
<xs:element name="Action" type="ie:ActionType"
minOccurs="1" maxOccurs="1"/>
<xs:element name="Value" type="xs:string"
minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="AttributeObjectTypeType">
<xs:restriction base="xs:string">
<xs:enumeration value="BASE" />
<xs:enumeration value="FILTER" />
<xs:enumeration value="COMPOSITE" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EntityTypeType">
<xs:restriction base="xs:string">
<xs:enumeration value="BF" />
<xs:enumeration value="APP" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ActionType">
<xs:restriction base="xs:string">
<xs:enumeration value="READ" />
<xs:enumeration value="WRITE" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ChangeTypeType">
<xs:restriction base="xs:string">
<xs:enumeration value="ADD" />
<xs:enumeration value="DELETE" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
Is This Answer Correct ? | 1 Yes | 0 No |
how will u design file watch jobs?
What can we do with datastage director?
how to run a sequential file stage in parallel if the stage is used on the TARGET side
How the ipc stage work?
How to initialize environment variables?
input Name Salay Sam 10 Sam 30 Sam 20 Ram 40 Ram 50 Output should be Name Salary Count Sam 10 3 Ram 40 2 get min salary and count of name . OutPut 2 Name Seq Sam 1 Sam 2 Sam 3 Ram 1 Ram 2
I have a few records just I want to store data in to targets cycling way how?
how to load meta data
what is operator combinality in datastage?
8000 jobs r there i given commit, suddenly job will abort? what happens? 2)diff b/t transformer stage & filter stage? 3)how to load the data in the source?
Highlight the main features of datastage?
Hi am sundar, i have datas like 00023-1010 00086-1010 00184F2-1010 . . . . SCH-AS-1010 200-0196-039 . . . Now i want the result "SCH-AS" in onee column and "1010" in another column.. Can any one tell the answer...