[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Parameter-Controlled Selection of Attribute Sets


Subject: [xsl] Parameter-Controlled Selection of Attribute Sets
From: "W. Eliot Kimber" <eliot@xxxxxxxxxx>
Date: Mon, 11 Mar 2002 14:42:15 -0600

I'm trying to create an FO style sheet that will work with both XSL
Formatter and RenderX' XEP product. Unfortunately, these two products
are incompatible in at least two places:

- RenderX does not allow start-indent for region-body and XSL Formatter
expects margin-left
- RenderX does not allow border-width.conditionality and XSL Formatter
does not allow the fully-specified border-*-width.conditionality
attributes.

Thus some elements need to use one set of attributes or the other
depending on which product will be processing the FO document.
Unfortunately, it does not appear that XSLT gives me a way to do this.

First tried putting xsl:choose inside xsl:attribute-set, but of course
this is not allowed (probably for good reason).

Second, I tried having two different attribute sets and then using a
variable to hold the attribute set name to specified on the
xsl:use-attribute-sets= attribute. Unfortunately, use-attribute-sets
does not appear to resolve variables, either specified bare or as an
attribute value template.

In the case of tables, it is not sufficient to simply have two versions
of the start tag, as I can with fo:region-body, because it would mean
duplicating the whole table. I suppose I could put the table's innards
into a named template, but that's pretty ugly template structure.

Have I missed another way to get dynamically-selectable attribute sets?

Of course, it would be nice if both of these products interpreted XSL-FO
in exactly the same way....

Thanks,

Eliot
--
W. Eliot Kimber, eliot@xxxxxxxxxx
Consultant, ISOGEN International

1016 La Posada Dr., Suite 240
Austin, TX  78752 Phone: 512.656.4139

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



Current Thread
Keywords