As you know,we can export objects(souce,target,mapping....) from informatica repository. If you are familiar with their the XML structure,you can easily use DOM to create or edit them.
Note: Informatica build-in DTD file is named "powrmart.dtd",you can find them on it's installed directory and you may need this DTD file when you use DOM.
Let's walk through general structure.
Common Nodes:
<POWERMART>//created date and repository version
<REPOSITORY>//repository name,version,codepgae and database type
<FOLDER>//name,group,owner,shared,description,permissions AND unique ID(UUID)
//All all kinds of objects have these three parent nodes. Usually we only care about repository name and folder name
Nodes of source:
<SOURCE>//database type,database name,name,etc
//if it's flat file source,you will have this node
[<FLATFILE>//codepage,delimiter,...]
<ALBEATTRIBUTE>//what did you set in property tab
<SOURCEFIELD>//one node represents one port,and you can eidt port here. Note: PHYSICALLENTH is an accumulative attribute.(take care of it)
<MetaDATAEXTENSION>//Meta data
Nodes of target:(similar with source)
<TARGET>
[<FLATFILE>]//codepage,delimiter,...
<TARGETFIELD>//one node represents one port
<TALBEATTRIBUTE>//what did you set in property tab
<MetaDATAEXTENSION>//Meta data
Nodes of mapping:
<SOURCE>//see above
<TARGET>//see above
<MAPPING>
<TRANSFORMATION>//type decide what it is in the mapping,such as "sourc qualifier","filter"
<TTRASFORMFIELD>
<TABLEATTRIBUTE>//what you set in the corresponding property tab
<INSTANCE>//create all instances for mapping form all definitions(source,transformation...)
<CONNECTOR>//one connector represent one link(come from who,arrive at where)
<TARGETLOADORDER>//define the loading sequence if existed multiple targets.
Nodes of workflow:
<WORKFLOW>
<SCHEDULER>//define scheduler
<TASK>//type decide what kind of task it is,such as "start","assignment',etc
<SESSION>//mapping name,reusalbe...
<SESSTRANSFORMATIONINST>//transformation instance in the session,e.g. source,target
<CONFIGREFERENCE>//session configuration
<SESSIONEXTENSION>//define properties for each transformation instance,e.g. source,target
<ATTRIBUTE>//What you set in session property tab
<TASKINSTANCE>//create all instances for workflow form all definitions(start,assignment,session...)
<WORKFLOWLINK>//one node represent one link in workflow
<WORKFLOWVARIABLE>//define workflow variables
<ATTRIBUTE>////What you set in workflow property tab