[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: New doubt !

Subject: Re: New doubt !
From: Bharat Shetty <bharat.shetty@xxxxxxxxx>
Date: Tue, 3 May 2005 11:32:48 +0530
bharat shetty
hi * ,

Thanks a lot for help. I used Daniel's suggestions and then Aron's
also. But I am struck at way you people have tried to answer my
question. This is top-notch and excellent one. And yes I made a bit
blunder in not making the subject line descriptive . I promise I will
do that in future.

Good addition to my helplines this ;)

Regards

bharat shetty
http://livejournal.com/~kewldeaf

" To err is human "


On 5/3/05, Aron Bock <aronbock@xxxxxxxxxxx> wrote:
> Bharat, 2 people have answered to this by now, but I'm responding
> nonetheless because IMO those responses were either too involved or
> needlessly wordy.
>
> You already know that external XML files may be accessed via the document()
> function.  Thus, if you have an XSL file with document('lookups.xml') will
> access an XML file called 'lookups.xml' in the same folder as the XSL.
Note
> that document('/') returns you the input XML document if you wanted that
for
> some reason, and document('') returns the XSL document itself.
>
> In every case, ceteris paribus, the document() function returns the root of
> the referenced document.  You then navigate this simply by applying XPath
> expressions.  For example, assume the lookup file is as follows:
>
> lookups.xml
> =======
> <stores>
>     <store name="Bangalore Central" ID="2345"/>
>     <store name="Walmart" ID="4567"/>
> </stores>
>
> That your input XML file is as follows:
> =======
> <foo>
>     <store>
>         <RetailStoreName>Bangalore Central</RetailStoreName>
>     </store
> </foo>
>
> And that you wanted to convert this to:
> =======
>
> <foo>
>     <store>
>         <name>Bamgalore Central</name>
>         <id>2345>/id>
>     </store>
> </foo>
>
> You'd create an XSL file with the usual trappings, then do this:
>
> <!-- Since you expect to refer to lookups.xml many times, it's a good idea
> to create a top-level
> variable to refer to it -->
> <xsl:variable name="doc-lookups" select="document('lookups.xml')"/>
>
> <!-- the store-specific template; notice we traverse the lookup document
> like any other document -->
> <xsl:template match="store">
>     <store>
>         <name><xsl:value-of select="RetailStoreName"/></name>
>         <id><xsl:value-of select="$doc-lookups/stores/store[@name =
> RetailStoreName]/@name"/></id>
>     </store>
> </xsl:template>
>
> Regards,
>
> --A
>
> PS: Please try to use a more descriptive subjectline.  "How do I traverse
an
> external XML document?" would be more useful to people coming after you,
> than the one in this post.
>
> >From: Bharat Shetty <bharat.shetty@xxxxxxxxx>
> >Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> >To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> >Subject:  New doubt !
> >Date: Tue, 3 May 2005 08:29:11 +0530
> >
> >Hi all,
> >
> >I am glad I came across this group.
> >
> >I need to transform a XML to other structure XML using XSLT.
> >
> >Fine I have done that quite well according to my projects needs.
> >
> >Now the problem is ....
> >
> >When an input element of tag
> >
> ><RetailStoreID>Bangalore Central</RetailStoreID> is encountered in the
> >input XML ( Please note that At this stage since this XML is genreated
> >from some transaction handling code, I will not know in advance what
> >store will appear in that tag . But eventually all of them are assumed
> >to be in some lookup table that i will explain now ) , my XSLT should
> >be able to refer to some other XML that stores in this format
> >
> >Retail Store Name                      ID
> >===========================
> >Bangalore central                  2345
> >Walmart                               4567
> >
> >like that ....
> >
> >I tried using the document("reatilstoreids.xml") what to put in the
> >query after this is beating me ...
> >
> >When Walmart is encountered i need to get 4567 and if Bangalore
> >central i shud get 2345 through some testing so that thats is
> >displayed in the Output XML . Just help me on how to get ids of the
> >names encountered in the input XML in this other XML called
> >RetailerStoreIDs.xml
>
> _________________________________________________________________
> On the road to retirement? Check out MSN Life Events for advice on how to
> get there! http://lifeevents.msn.com/category.aspx?cid=Retirement
>
>


--
B.Bharat Shetty
8th semester CS&E
SJCE , Mysore

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.