xmlcalabash1 icon indicating copy to clipboard operation
xmlcalabash1 copied to clipboard

Error message in catch incomplete for p:xinclude

Open gimsieke opened this issue 4 years ago • 0 comments

As reported by David Cramer on xproc-dev: When putting p:xinclude in p:try, the document on the error port has very little details. I tried it with 1.2.1-99.

Running Untitled1.xpl

<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
  xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
  <p:output port="result" primary="true"/>
  <p:try>
    <p:group>
      <p:load href="Untitled2.xml"/>
      <p:xinclude/>
    </p:group>
    <p:catch name="catch">
      <p:identity>
        <p:input port="source">
          <p:pipe port="error" step="catch"/>
        </p:input>
      </p:identity>
    </p:catch>
  </p:try>
</p:declare-step>

on Untitled1.xml

<doc>
  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="some.xml"/>
</doc>

results in

<c:errors xmlns:c="http://www.w3.org/ns/xproc-step">
  <c:error href="file:/C:/cygwin/home/gerrit/Dev/Calabash/Untitled1.xpl" line="3" column="59">XProc error
    err:XD0011</c:error>
</c:errors>

Without try/catch:

ERROR: Untitled1.xpl:8:20:XInclude resource error (some.xml) and no fallback provided.
ERROR:     cause: err:XD0011:XProc error err:XD0011
ERROR: XInclude resource error (some.xml) and no fallback provided.
ERROR: Underlying exception: I/O error reported by XML parser processing file:/C:/cygwin/home/gerrit/Dev/Calabash/some.xml: C:\cygwin\home\gerrit\Dev\Calabash\some.xml (The system cannot find the file specified)

It would be nice if at least this level of information were available in the caught error message.

gimsieke avatar Apr 22 '20 07:04 gimsieke