- From: James Garriss <james@garriss.org>
- Date: Tue, 30 Sep 2008 16:00:20 -0400
- To: Norman Walsh <ndw@nwalsh.com>, XProc Dev <xproc-dev@w3.org>
- Message-ID: <C507FD94.BF1%james@garriss.org>
Ok, I see the idea: to load documents, I need to use p:load. But how you
used p:load left me confused. This code doesn't seem right:
<p:load>
<p:option name="href" select="/c:file/@name"/>
</p:load>
The href is a URI. //c:file/@name is an XPath expression, attempting to
read the value of the "name" attribute. Aren't we mixing apples and
oranges?
TIA,
James Garriss
http://garriss.blogspot.com
From: Norman Walsh <ndw@nwalsh.com>
Date: Tue, 30 Sep 2008 14:05:10 -0400
To: XProc Dev <xproc-dev@w3.org>
Subject: Re: possible bug in p:iteration select
Resent-From: XProc Dev <xproc-dev@w3.org>
Resent-Date: Tue, 30 Sep 2008 18:05:52 +0000
James Garriss <james@garriss.org> writes:
[...]
> It returns a list as expected:
>
> <c:directory xmlns:c="http://www.w3.org/ns/xproc-step" name="albums">
> <c:file name="beautiful_new.xml"/>
> <c:file name="considering_lily.xml"/>
> <c:file name="i_2_(EYE).xml"/>
> </c:directory>
>
> So I add a p:for-each with a p:iteration-source to enable me to process each
> XML file:
>
> <p:for-each>
> <p:output port="result"/>
>
> <p:iteration-source select="//c:file/@name"/>
> <p:identity/>
> </p:for-each>
>
> Pipeline failed: org.xproc.XProcException:
> net.sf.saxon.s9api.SaxonApiException: Cannot create an attribute node (name)
> whose parent is a document node
There error message is a bit awkward, but the problem *is* that you're
trying to create an attribute node as a document.
What you want is something more like this:
<p:for-each>
<p:output port="result"/>
<p:iteration-source select="//c:file">
<p:load>
<p:option name="href" select="/c:file/@name"/>
</p:load>
<p:identity/>
</p:for-each>
Unfortunately, that doesn't work in Calabash 0.6.3. All I can do is
repeat my promise to try to get an 0.6.4 out this week that fixes this
bug.
> It seems that XProc is trying to *create* an attribute instead of *reading*
> the value of the attribute.
>
> Is that a bug?
No :-)
Be seeing you,
norm
--
Norman Walsh <ndw@nwalsh.com> | Why shouldn't things be largely absurd,
http://nwalsh.com/ | futile, and transitory? They are so,
| and we are so, and they and we go very
| well together.-- Santayana
Received on Tuesday, 30 September 2008 20:01:11 UTC