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(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list