Subject: Re: [xsl] Default attribute value templates From: Johannes Döbler <jd@xxxxxxxxxxxxxx> Date: Thu, 28 Jun 2001 16:13:52 +0200 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Default attribute value t, Trevor Nash | Thread | RE: [xsl] Re: How to define a xsl:s, Mike McGraw |
Re: [xsl] saxon fail to find xslt f, Trevor Nash | Date | [xsl] Generating Link References, Hewko, Doug |
Month |