xsl-list
[Top] [All Lists]

Re: [xsl] Help moving away from named templates

2007-05-02 09:14:19
Steve wrote:
On 5/2/07, David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> wrote:

In particular in what way do you avoid this conflict using named
templates, you still need to decide on which nodes to call the named
template which should be an exactly equivalent problem, shouldn't it?

A few ways which seem clunky/limited:

1) Generally, I just have the script call emergencyContacts.xsl, which
contains one template--the emergency contacts template. But doesn't
this circumvent the magical property of XSL to pick its own darn
templates according to the data? Also, there's something seemingly
naive to me about having a bunch of xsl files with one template.

2) If I need to display BOTH the consumer's info and their emergency
contacts on the same page, I include (INCLUDE HELL) the
emergencyContact XSL and then use <xsl:call-template name="eContacts"
/>


I don't seem to be able to envision your current problem. I have never heard of INCLUDE HELL, though I find myself using xsl:import more often as that creates a similar effect as overloading in some languages.

I have the impression that you have several input documents. That the same user, with the same custId looks similar in either document (but similar does not mean 'the same', which means you can distinguish them, which means you'll have to show us more). But if these are separate documents, you can distinguish in several ways, depending on _where_ precisely you want your distiction:

1. Use an initial mode, say you have a mode 'emergency-contact' and a mode 'normal-contact'. You can set that several ways, one being when starting the transformation process.

2. Use properties that currently distinguish your documents. But you'll have to show us more to help you.

3. If the same documents are processed, and are similar, but they are called using, say, the fn:doc or the fn:document functions, you can distinguish by using (again) modes.

Many other options are available but largely depend on your problem, which isn't clear yet. There's no need whatsoever to have only one xsl:template in your stylesheets.

Cheers,
-- Abel Braaksma

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--