[xsl] no input from document()?

Subject: [xsl] no input from document()?
From: "davidpbrown" <lists@xxxxxxxxxxxxxxxxx>
Date: Sun, 22 Feb 2004 16:10:11 -0000
This may be simple but having battled for a few hours now, I'm stumped and
not learning anything new.
Several searches on Google have me thinking it should be working but also
suggest problems existed with processors document() functions. I don't know
now if it's me or the processors I'm using.

The document() below is leaving $B blank.. I've tried both Xalan and Saxon
7, and a whole host of variations but every time $B is empty.

It's intent (eventually) is to compare an opml rss feed list with a master
file
opml files containing outlines in the form
<outline type="rss" title="x" description=""
xmlUrl=http://www.example.com/feed.rss htmlUrl="http://www.example.com/"/>

?
Thanks in advance
davidpbrown
-------
<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
<xsl:output method="xml" indent='yes' encoding="utf-8"/>

  <xsl:variable name="A" select="/" />
  <xsl:variable name="B" select="document('master_file.xml')//outline"/>

  <xsl:template match="/">
  <!-- Process all outline nodes in A: -->
   <xsl:for-each select="//outline">
    <xsl:apply-templates select="." mode="A" />
   </xsl:for-each>
  </xsl:template>

  <xsl:template match="//outline" mode="A">
  <!-- Figure out whether this A feed is matched in B,
                           and output an appropriate message. -->
   <xsl:variable name="feed" select="@xmlUrl" />
   <xsl:variable name="matching" select="$B[@xmlUrl = $feed]" />
   <xsl:text>
</xsl:text>

   <xsl:if test="string($matching) != string($feed)">
    <xsl:copy-of select="."/>
   </xsl:if>
  </xsl:template>

</xsl:transform>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread