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