xsl-list
[Top] [All Lists]

RE: XSL Help!!

2002-12-06 02:54:11
   I have a couple of questions on XSL stylesheets. 
1)<xsl:template match="MEMBER">
      <xsl:apply-templates select="NAME"/>
      <xsl:apply-templates select="Phone[(_at_)type='work']"/> 
</xsl:template>

When u say <xsl:apply-templates select="NAME"/>, Will all the 
NAME nodes 
under MEMBER be selected(say there are more than 1 NAME nodes under 
MEMBER)?Also will the NAME template rule be applied to each 
one of the NAME 
nodes before the Phone node is selected?

yes, and yes.

2)
<xsl:variable name='signers' select=/legal_authenticator/person'/>
      <xsl:if test='$signers'>
.....
.....
</xsl:if>

What is the xsl:if tag doing here? Is it testing whether 
/legal_authenticator/person' exists??

Yes. The value of a variable is a node-set; when used as a test in an
xsl:if, it is converted to a boolean. An empty node-set is treated as
false, a non-empty node-set as true.

3)<person_name>
          <nm>
            <GIV V="Henry"/>
            <FAM V="Levin"/>
           </nm>
          <person_name.type_cd V="L" S="2d"/>
        </person_name>

For the above xml, I see the following in the stylesheet 
<xsl:apply-templates 
select='person_name[person_name.type_cd/@V="L"]'/>
What do the [] mean?? Why can't I just have / instead of the []??


before you go any further, I think you need to get yourself a book or an
online reference for the language. Asking questions on this list is a
way to solve any problems you have, it's not the way to find out basic
facts about the language.

[] is a predicate: it filters a node-set according to a boolean
condition.

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>