Re: [xsl] using xsl:message

Subject: Re: [xsl] using xsl:message
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Mon, 18 Oct 2004 18:32:54 -0400
Bruce,

One way to hack this is to layer your parameter, using the second layer to catch an exception if you have no value for the first:

<xsl:parameter name="runtime-value" select="false()"/>

<xsl:variable name="real-value">
<xsl:choose>
<xsl:when test="$runtime-value"/>
<xsl:value-of select="$runtime-value"/>
<xsl:when>
<xsl:otherwise>
<xsl:message>No runtime value for 'runtime-value' was supplied ... providing default</xsl:message>
<xsl:text>default</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>


...then use $real-value for all your processing.

It's somewhat cumbersome but it works well enough. It also lets you intervene to test whether the value provided is recognized, etc.

I hope this helps,
Wendell

At 03:18 PM 10/18/2004, you wrote:

On Oct 18, 2004, at 8:43 AM, Michael Kay wrote:

That suggests there's another error present which is masking this one. Would
need to see more of the stylesheet to find it.

I condition a lot of the main ("mods:mods") templates on this parameter value. So long as it's specified, the error goes away and everything runs fine. I really just want a clear message to give to the user so they don't get confused.


In any case, current archive is here if you have time to look (I'd love feedback more generally from anyone out there, actually!), though there are a lot of files there.

http://www.users.muohio.edu/darcusb/files/xbiblio.tar.gz

The parameter is specified in xsl/xhtml/xbiblio.xsl, and is used in files like "xsl/xhtml/render-classes/author-year/biblio-out.xsl", in templates like:

<xsl:template match="mods:modsCollection[$citation-class='author-year']"
              mode="bibliography">

Bruce


======================================================================
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
======================================================================

Current Thread