This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Default attribute value templates


Is there a way of specifying via an attribute value template (or
similar mechanism) that the attribute is absent?

Example:
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:apply-templates>
           <xsl:sort order="{@order}" ... />
     </xsl:apply-templates>
</xsl:template>

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?

Regards,
Trevor Nash

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]