How to work with XML out put stage? Please explain step by
step? i need to generate XML file using Table data. Given
is the .XSD file. Please help?
Answers were Sorted based on User's Feedback
Answer / srinivas
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 ? | 1 Yes | 0 No |
Answer / muktimca
<?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 | 3 No |
My input has a unique column-id with the values 10,20,30.....how can i get first record in one o/p file,last record in another o/p file and rest of the records in 3rd o/p file?
What is the roundrobin collector?
whom do you report?
what is usage of datastage with materialized views
In Sequential file, how can i split a column into two, and that column contains string datatype. For Example, i have column of string datatype as subedar khaja. Now i want get output as separately with subedar in one column and khaja in second column. How? Coula anybody, solve it?
Why we need datasets ratherthan sequential files?
Hi all, can u explain header and trailer records in file? If a file has header and trailer /master-detail records how will you read it in datastage?
Demonstrate experience in maintaining quality process standards?
How to reverse the string using unix?
How much data u can get every day? 2)which data ur project contains? 3) what is the source in ur project?what is the biggest table & size in ur schema or in ur project?
What is the difference between SQl Loader and OCI in datastage?
what is main difference between change capture and change apply stages