Welcome to WebmasterWorld Guest from 184.73.18.109

Forum Moderators: httpwebwitch

Using XSLT to Change Root Tag Name According to the Feeding XML

   
6:00 pm on Oct 6, 2008 (gmt 0)

5+ Year Member



I am a new XSLT developper. I have this request to fulfill, please help.

Example XML feed:
<emea_created_ticket customer='abc'>
<ticket_id>TT00887872</ticket_id>
...
<xml_transaction_type>ticket</xml_transaction_type>
</emea_created_ticket>

According to the value of xml_transaction_type, the root node after transfomation need to be different, eg.
if xml_transaction_type='order', the transformed xml will be like:

<nt_created_order customer='abc'>
...
</nt_created_order>

If xml_transaction_type='ticket' or anything else, the transformed xml will be like:
<nt_created_ticket customer='abc'>
...
</nt_created_ticket>

I am able to change the tag names and content in ... area, but can't change the root tag name. If you have answer, please let me know.

Thanks,

Wenlan

7:31 pm on Oct 6, 2008 (gmt 0)

WebmasterWorld Administrator httpwebwitch is a WebmasterWorld Top Contributor of All Time 10+ Year Member



XSLT has "if" and "choose" functionality. You'll need to construct an XPATH expression to find and evaluate the "<xml_transaction_type>" node, and depending on its value, create a "<nt_created_ticket>" or a "<nt_created_order>" node.

suggested resources:

XSLT Choose element [w3schools.com]

XPATH axes [w3schools.com]

 

Featured Threads

Hot Threads This Week

Hot Threads This Month