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

Re: using document() function in match attribute of xs

Subject: Re: using document() function in match attribute of xsl:key element- possible?
From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx>
Date: Fri, 11 May 2001 08:31:43 +0100
Hi Mike,

> Ok I understand. Context! Thank you... Unfortunately this answer
> doesn't solve my real problem =)
> I'm trying to remove text content from my stylesheets, and load the
> text from a static xml document, called lang.xml. The xml source
> will output an element called "lang", which will have a value like
> "en" or "fr". I want my stylesheets to reference bits of text
> content abstractly, using the value of lang to determine how to find
> the actual text content within lang.xml.

>From how you describe it, doesn't this stuff about keys exactly solve
your problem? Assuming that the language is stored in a $lang
variable, you can get the text by changing the context to the
'lang.xml' document and then using the key to retrieve the particular
section in that language.  Something like:

   <xsl:for-each select="document('lang.xml')">
      <xsl:copy-of select="key('sections', $lang)" />

Note that the xsl:copy-of could be an xsl:apply-templates if you
needed to process the language-specific static XML some more.

Perhaps if you gave some more details about how the language-specific
text is stored in lang.xml and how/where you needed it to be inserted
into your result the problem would be clearer for us.

> More broadly, my problem is this: How do I approach developing xsl
> stylesheets that are language-independent, where all text content is
> retreived from a static XML source? Are there established methods
> for accomplishing this? Are there any good tutorials or sites
> describing how to do it?

You might be interested in how Norm (Walsh) solved similar problems in
the DocBook stylesheets. There were certain bits in the stylesheet
that contained generated text, things like 'Chapter' or 'Page' or
whatever, that he needed translated. Those terms were separated into
another document and indexed by language. He also realised that
different languages might have different structures (e.g. the
'Chapter' text and the number of the chapter might appear in two
different orders), so has templates for those structures in a separate
file as well.

(I don't personally agree with the use of text substitution within
those 'templates' - they're a lot easier to use if you use elements
instead - but the principle is there.)

The DocBook stylesheets are available from www.docbook.org.

I hope that helps,


Jeni Tennison

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread


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.
First Name
Last Name
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.