RE: [xsl] no input from document()?

Subject: RE: [xsl] no input from document()?
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 24 Feb 2004 23:21:10 -0000
If it's failing on two processors then it's unlikely they have the same bug.

With Saxon, try using -w2 which will force a failure if the document doesn't
exist, rather than it recovering by returning nothing.

Try <xsl:copy-of select="document('xxx.xml')"/> to see if the problem is in
loading the document, or in accessing its contents.

Make sure that the base URI of the stylesheet is known: this depends on how
the transformation is invoked.

Michael Kay

# -----Original Message-----
# From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-
# list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of davidpbrown
# Sent: 22 February 2004 16:10
# To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
# Subject: [xsl] no input from document()?
# 
# 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



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


Current Thread