ASP 101 - Active Server Pages 101 - Web05
The Place ASP Developers Go!

Please visit our partners


Windows Technology Windows Technology
15 Seconds
4GuysFromRolla.com
ASP 101
ASP Wire
VB Forums
VB Wire
WinDrivers.com
internet.commerce internet.commerce
Partners & Affiliates














ASP 101 is an
internet.com site
ASP 101 is an internet.com site
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

ASP 101 News Flash ASP 101 News Flash



 Top ASP 101 Stories Top ASP 101 Stories
Migrating to ASP.NET
Getting Scripts to Run on a Schedule
The Top 10 ASP Links @ Microsoft.com

QUICK TIP:
Use Response.Write Instead of Building Strings
Show All Tips >>
ASP 101 RSS Feed ASP 101 Updates


The Data
Back Contents Next

The Data

This case-study uses three XML files:

 

q         The incoming data (input, aka: "incoming.xml")

q         The translation definition file (process, aka: "interpreter.xml")

q         The translated data (output, seen from the test page)

 

Let's look at the structure of each of these:

Input XML

<?xml version='1.0'?>

<shipments>

<shipment>

<waybill>123WXZ99</waybill>

<carrier>Fedex</carrier>

<shipDate>20000110</shipDate>

<boxes>3</boxes>

</shipment>

<shipment>

<waybill>79843A</waybill>

<carrier>UPS</carrier>

<shipDate>20000110</shipDate>

<boxes>2</boxes>

</shipment>

<shipment>

<waybill>XXX12A</waybill>

<carrier>Fedex</carrier>

<shipDate>20000110</shipDate>

<boxes>8</boxes>

</shipment>

</shipments>

Output XML

<?xml version='1.0'?>

<shipments>

<shipment>

<waybill>123WXZ99</waybill>

<shippedby>Fedex</shippedby>

<shipped>20000110</shipped>

<numberOfBoxes>3</numberOfBoxes>

</shipment>

<shipment>

<waybill>79843A</waybill>

<shippedby>UPS</shippedby>

<shipped>20000110</shipped>

<numberOfBoxes>2</numberOfBoxes>

</shipment>

<shipment>

<waybill>XXX12A</waybill>

<shippedby>Fedex</shippedby>

<shipped>20000110</shipped>

<numberOfBoxes>8</numberOfBoxes>

</shipment>

</shipments>

The Translation Process

As you can see, the input and desired output files have a similar structure, but there are three differences:

 

q         "carrier" becomes "shippedby"

q         "shipDate" becomes "shipped"

q         "boxes" becomes "numberOfBoxes"

 

The required element mapping is defined in the following XML file:

 

 

 

 

 

 

 

 

 

<?xml version='1.0'?>

<shipments>

<shipment>

<xlat>

<in name="waybill"/>

<out name="waybill"/>

</xlat>

<xlat>

<in name="carrier"/>

<out name="shippedby"/>

</xlat>

<xlat>

<in name="shipDate"/>

<out name="shipped"/>

</xlat>

<xlat>

<in name="boxes"/>

<out name="numberOfBoxes"/>

</xlat>

</shipment>

</shipments>

 

As you can see, each <xlat> element contains an input element name and an output element name. This is the mapping we will use when we build our XSL. Note that the first of the <xlat> elements does something rather pointless replacing "waybill" with "waybill". This has been included just to keep the code as simple as possible. You could put in some code to tell the interpreter not to process the <waybill> tags and only change the others.

We could easily create similar translation documents for any number of input documents. This would allow us to translate all input documents with the same ASP page.

 


BackContentsNext
©1999 Wrox Press Limited, US and UK.
Home |  News |  Samples |  Articles |  Lessons |  Resources |  Forum |  Links |  Search |  Feedback


The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers