xsl-list
[Top] [All Lists]

Re: [xsl] For-each and keys()

2006-08-02 08:07:00

XSL goes something like:
its easier if you post the actual (short) code that you have run in the
xslt processor.

<xsl:variable name="$Definitions" select="Document(Disabilities.xml)" />
That's a syntax error, document() doesn't have a D and expects a string
document('disabilities.xml') and the variable name does not start with $.

                                       
<xsl:variable name="$Var" select="Document(Records.xml)" />
same here.


<xsl:for-each select="$Definitions">
  <xsl:value-of select="count(key('oldID',$current))" />
</xsl:for-each>

I really don't understand this.

key() returns all the nodes that match the key _in the current document_
so if you want to look up keys in a different document then (in xslt1)
you need touse  xsl:for-each  to make that document current.
In XSLT2 you could equivalently go
<xsl:value-of select="$Definitions/count(key('oldID',$current))
or
<xsl:value-of select="count(key('oldID',$current,$Definitions))

I really don't understand this.  I should mention there are many other
branches within $Definitions besides /disabilities.

If $Definitions is defined using document() then it will represent a
well formed document so there can be at most one top level element
(presumably <disabilities>) so I do not see what you can mean by "other
branches"

David



--~------------------------------------------------------------------
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>