xsl-list
[Top] [All Lists]

Re: problem matching attribute

2004-11-16 08:15:19

Any idea what could be wrong?
you don't make it easy for us, no input doc and no complete (small)
stylesheet that people can run to comment on the results..

You posted three possible template matches, but they all do different
things, whether any of them match your source...

<!--<xsl:template
match="read-access/namespace-resource/security-role-mapping[attribute::NAME='consoleadmins']/user[attribute::NAME='guestadmin']">-->

That one (if uncommented) is equivalent to

<!--<xsl:template 
match="read-access/namespace-resource/security-role-mapping[(_at_)NAME='consoleadmins']/user[(_at_)NAME='guestadmin']">-->

which matches user elements of they have NAME='guestadmin' and the
parent element has NAME=consoleadmins.

<!--<xsl:template
match="read-access/namespace-resource/security-role-mapping/user/@name">-->

That matches the name attribute of a user element.

<xsl:template
match="security-role-mapping[(_at_)name='consoleadmins']/user/@name[.='guestadmin']">

That matches the name attribute of a user element just if it is equal to
"guestadmin".

So the first one is matching elements and testing for an attribute NAME
(uppercase)
the second two are matching attributes not elements and looking for an
attribute with name name (lowercase)

    <xsl:copy>  
        <xsl:attribute name= "{(_at_)name}">foo</xsl:attribute> 
    </xsl:copy>

You then copy the original source node, and within that generate an
attribute node. In the second two matches that you have your source node
is an attribute node so the xsl:copy will generate an attribute in teh
result tree, and then xsl:attribute will try to generate an attribute of
an attribute, which is an error.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



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