xsl-list
[Top] [All Lists]

RE: Matching Templates

2003-02-23 14:39:28
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



<Prev in Thread] Current Thread [Next in Thread>