Wattle Software - producers of XMLwriter XML editor
 Home | Search | Site Map 
XMLwriter
 Screenshots
 Features
 About Latest Version
 Awards & Reviews
 User Comments
 Customers
Download
 Download XMLwriter
 Download Plug-ins
 Download Help Manual
 MSXML Updates
 Downloading FAQ
Buy
 Buy XMLwriter
 Pricing
 Upgrading
 Sales Support
 Sales FAQ
Support
 Sales Support
 Technical Support
 Submit a Bug Report
 Feedback & Requests
 Technical FAQ
Resources
 XML Books
 XML Links
 XML Training
 XMLwriter User Tools
 The XML Guide
 XML Book Samples
Wattle Software
 About Us
 Contact Details
 News
Professional ASP XML

Buy this book

Back Contents Next

The Data

This case-study uses three XML files:

 

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

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

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:

 

"carrier" becomes "shippedby"

"shipDate" becomes "shipped"

"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.

Buy this book



Last updated: January 06, 2003


Select a Book

Beginning XML
Beginning XHTML
Professional XML
Professional ASP XML
Professional XML Design...
Professional XSLT...
Professional VB6 XML
Designing Distributed...
Professional Java XML...
Professional WAP

© Wattle Software 1998-2008. All rights reserved.