> I have 2 questions:
>
> 1) How do I create 2 templates which have the same match,
> one template would yield something different, like lets say
> the form select dropdown element, and the other a bulleted
> list of the results of the template match?
Distinguish them using the mode attribute, and then on
xsl:apply-templates specify which mode you want.
>
> 2) My match is (semi) complicated, is there a way to clean
> this up, simplify it? It looks something like this <snippet follows>:
>
> --------------------------------------------------------------
> --------------
> --
> <table summary="">
> <tr>
> <xsl:apply-templates
> select="xml/s:Schema/s:ElementType/s:AttributeType[check='true']"/>
> </tr>
> </table>
>
> --------------------------------------------------------------
> --------------
> --
>
> and then my template looks like this:
>
> --------------------------------------------------------------
> --------------
> --
> <xsl:template
> match="xml/s:Schema/s:ElementType/s:AttributeType[check='true']">
> <td>
> <xsl:value-of select="@name"/>
> </td>
> </xsl:template>
>
It's hard to say without seeing what other template rules there are, and
how you process the nodes other than this one. One way to do it would be
to use a named template instead:
<xsl:for-each
select="xml/s:Schema/s:ElementType/s:AttributeType[check='true']">
<xsl:call-template name="check-attribute"/>
</xsl:for-each>
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|