xsl-list
[Top] [All Lists]

Re: [xsl] Weird problem with doc()

2022-05-29 22:19:33
On Mon, May 30, 2022 at 03:01:11AM -0000, Mark Giffin
m1879(_at_)earthlink(_dot_)net scripsit:
Using XSLT 2.0, I'm using doc() to access data in an outside XML file.
This is running inside the DITA Open Toolkit, which is an Apache Ant
application. doc() accesses the whole file and displays the text
content of elements when I do this:

<xsl:message>OUTSIDE FILE - <xsl:value-of
select="doc('file:/C:/Users/mark/test
/publicationoutput.xml')"/></xsl:message>

This is expected. But when I add some XPath to get to certain data inside the
file like below, the output goes blank:

<xsl:message>OUTSIDE FILE - <xsl:value-of 
select="doc('file:/C:/Users/mark/test
/publicationoutput.xml')//ishfield[@name = 'FTITLE']"/></xsl:message>

The XPath is correct because I can run this exact code outside of the DITA 
Open
Toolkit and it works as expected. I realize there is a lot going on inside the
DITA OT but I'm just curious what kind of thing could cause this strange
behavior of doc() being able to access the file, but failing with XPath. There
is no error reported.

You should be getting a text node with content formed from the string
values of the ishfield elements making up the sequence of ishfield
elements where the name attribute value is FTITLE separated by spaces.

Are you sure the ishfield elements have string values? (that is,
descendent text nodes?)

What happens when you replace value-of with sequence?

-- 
Graydon Saunders  | graydonish(_at_)gmail(_dot_)com
Þæs oferéode, ðisses swá mæg.
-- Deor  ("That passed, so may this.")
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

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