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]

Re: Default attribute value templates


Here is another solution, shifting the focus away from what XSLT processors 
should do with missing Attributes:

test.xml:
------------------------
<!DOCTYPE x SYSTEM "test.dtd">
<x><d>20</d><d>10</d></x>
------------------------

test.dtd:
------------------------
<!ELEMENT x (d*)>
<!ATTLIST x order (ascending|descending) "ascending">
<!ELEMENT d (#PCDATA)>
------------------------

Cheers,
Johannes


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