[xsl] Default attribute value templates

Subject: [xsl] Default attribute value templates
From: tcn@xxxxxxxxxxxxx (Trevor Nash)
Date: Wed, 27 Jun 2001 19:10:15 GMT
Is there a way of specifying via an attribute value template (or
similar mechanism) that the attribute is absent?

I have a template which matches a specific element, then does an
apply-templates with a sort.  The application is supposed to be fairly
generic, so it seems a nice idea to allow those attributes of sort
which are attribute value templates to be parameterized thus:

<xsl:template match="x">
           <xsl:sort order="{@order}" ... />

The problem is, given <x>...</x> the transformation fails "order must
be ascending or descending".

I can see how I could handle this by substituting appropriate values
when the attribute is mising, but
  a) it would involve hard wiring the default values, which would be
bad news if they ever changed
  b) it seems inordinately messy
  c) I don't think it would always behave identically if for example
the input is  <x order="">...</x> : becuase some processors might take
this as 'use the default', others will reject it.

Have I missed anything?

Trevor Nash

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

Current Thread