[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: union vs. "or" vs. contains?
Subject: Re: union vs. "or" vs. contains?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 19 Oct 2004 18:09:15 -0400
|
Hi Bruce,
At 02:37 PM 10/19/2004, you wrote:
On Oct 19, 2004, at 7:03 AM, David Carlisle wrote:
The following does the same, but I think it's clearer, and it's probably
more efficient as the test only has to be done once, not on every
element that might possibly match.
<xsl:apply-templates select="*[$foo='x']"/>
or perhaps clearer
<xsl:if test="$foo='x'">
<xsl:apply-templates/>
</xsl:if>
I'm not understanding how to implement this. How do I distinguish among
the five different mods:modsCollection templates I'm applying if I'm not
putting a conditional statement on the match statement of those templates?
Doing it this way, you're probably going to have to use modes to
distinguish the pathways.
But this is precisely the advantage of implementing the different
processing pathways by using layered modules (a core module plus a separate
stylesheet "shell" for each processing pathway), rather than using
testing-against-parameters.
It's not that it can't be done this way; it's just much more cumbersome and
hard to maintain. (Giving XSLT the reputation of being "hard".) If the
citation-class is implemented as simply a call to a special 'author-year'
stylesheet (or whatever), all the templates particular to that kind of
processing can be in that stylesheet, with no variable testing anywhere at all.
Cheers,
Wendell
This is what I started to do, but it's not making much sense to me.
<xsl:template match="db:bibliography">
<xsl:choose>
<xsl:when test="not($citation-class='note-nobib')">
<div id="bibliography">
<h2>References</h2>
<xsl:choose>
<xsl:when test="$citation-class='author-year'">
<xsl:apply-templates
select="mods:modsCollection[$citation-class='author-year']"
mode="bibliography"/>
</xsl:when>
<xsl:when test="$citation-class='citekey'">
<xsl:apply-templates
select="mods:modsCollection[$citation-class='citekey']" mode="bibliography"/>
</xsl:when>
....
</xsl:choose>
</div>
</xsl:when>
</xsl:choose>
</xsl:template>
======================================================================
Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|