[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: OutputURIResolver Cause: net.sf.saxon.trans

Subject: Re: OutputURIResolver Cause: net.sf.saxon.trans
From: team wise <dfanster@xxxxxxxxx>
Date: Mon, 27 Feb 2012 23:56:22 +0800
 Re: OutputURIResolver Cause: net.sf.saxon.trans
Hi there,
when running the following snippet of XSL stylesheet against Saxon 9,
I encountered with this error:

I   [xslt] : Fatal Error! Exception thrown by OutputURIResolver Cause:
net.sf.saxon.trans.XPathException: Resolved URL is malformed

////XSLT written in Version 2.0///////////////////

 <xsl:result-document href="{$OUTPUTDIR}/{$title}.xml">
		
          <!--xsl:choose>
            <xsl:when test="contains($outputformat, 'Impleo')">
              <xsl:choose>
                <xsl:when test="$multilingual = 'yes'">
                  <xsl:apply-templates
select="document(concat('file:///', $WORKDIR, '\temp\',
substring(@href, 4)))" mode="copy"/>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:apply-templates select="document(@href)" mode="copy"/>
                </xsl:otherwise>
              </xsl:choose>
            </xsl:when>
            <xsl:otherwise-->
              <!--xsl:apply-templates select="document(@href)"
mode="copy-and-modify"/semc0222-->
            <xsl:variable name="uri" select="concat('file:///',
$WORKDIR, '\temp\', substring(@href, 4))" />
            <xsl:message select="$uri"/>
            <xsl:apply-templates select="document($uri)" mode="copy"/>

            <!--/xsl:otherwise>
          </xsl:choose-->
        </xsl:result-document>

//////////////////////////////////////////////////////////////

Input :
  <?xml version="1.0" encoding="utf-8" ?>
  <?workdir /D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-078DE499-06E8-4EDC-964F-52CF0621CDB4.20110825082156145\1\en\workset\temp?>
  <?path2project ?>
  <?ish ishref="GUID-F2DF918A-90C1-4775-B43A-62C035A12E9D" version="3"
lang="en"?>
- <map title="Default Title"
id="GUID-F2DF918A-90C1-4775-B43A-62C035A12E9D" chg="undef"
ishlabelxpath="@title" DTDVersion="V1.1.3" domains="(map mapgroup-d)"
class="- map/map"
xtrf="D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-078DE499-06E8-4EDC-964F-52CF0621CDB4.20110825082156145\1\en\workset\GUID-F2DF918A-90C1-4775-B43A-62C035A12E9D.ditamap"
xtrc="map:1">

<!-- Start of embed for GUID-A48859DF-43CA-4C24-A2C3-19525D7D8B44.xml
  -->
- <reference id="GUID-A48859DF-43CA-4C24-A2C3-19525D7D8B44"
domains="%included-domains;" ishlabelxpath="./title" class="-
topic/topic reference/reference"
xtrf="D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-078DE499-06E8-4EDC-964F-52CF0621CDB4.20110825082156145\1\en\workset\GUID-A48859DF-43CA-4C24-A2C3-19525D7D8B44.xml"
xtrc="reference:1" refclass="- map/topicref">
  <title id="GUID-2DABE0AB-3533-4922-B945-546FBECA27FE"
ishlabelxpath="./title | @alt | @href | @conref | @id"
ishlinkxpath="@conref | @href[contains(parent::*/@class,' topic/image
') and not(parent::*/@conref)]" class="- topic/title"
xtrf="D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-078DE499-06E8-4EDC-964F-52CF0621CDB4.20110825082156145\1\en\workset\GUID-A48859DF-43CA-4C24-A2C3-19525D7D8B44.xml"
xtrc="title:1" />
- <refbody ishlabelxpath="./title | @alt | @href | @conref | @id"
ishlinkxpath="@conref | @href[contains(parent::*/@class,' topic/image
') and not(parent::*/@conref)]" class="- topic/body reference/refbody"
xtrf="D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-078DE499-06E8-4EDC-964F-52CF0621CDB4.20110825082156145\1\en\workset\GUID-A48859DF-43CA-4C24-A2C3-19525D7D8B44.xml"
xtrc="refbody:1">
- <section id="GUID-52FC6164-8517-4E8D-8C6A-5D777DF58ECF"
ishlabelxpath="./title | @alt | @href | @conref | @id"
ishlinkxpath="@conref | @href[contains(parent::*/@class,' topic/image
') and not(parent::*/@conref)]" class="- topic/section"
xtrf="D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-078DE499-06E8-4EDC-964F-52CF0621CDB4.20110825082156145\1\en\workset\GUID-A48859DF-43CA-4C24-A2C3-19525D7D8B44.xml"
xtrc="section:1">
  <p ishlabelxpath="./title | @alt | @href | @conref | @id"
ishlinkxpath="@conref | @href[contains(parent::*/@class,' topic/image
') and not(parent::*/@conref)]" class="- topic/p"
xtrf="D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-078DE499-06E8-4EDC-964F-52CF0621CDB4.20110825082156145\1\en\workset\GUID-A48859DF-43CA-4C24-A2C3-19525D7D8B44.xml"
xtrc="p:1">We fulfil the requirements of the R&TTE Directive
(1999/5/EC).</p>
  </section>
  </refbody>
  </reference>
  </map>

Origionally, the full stylesheet including above snippet was written
in XSLT 1.0, as follows:

<?xml version="1.0"?>
<!-- Copy, transform, and rename all used XML files to a temporary
folder to be transformed into HTML -->
<!-- Input: DITA map -->
<!-- Output: Copies of all XML files actually being used, not
belonging to chunk -->
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">;

  <xsl:output method="xml" encoding="utf-8"/>

  <xsl:include href="../common/infoshare.jobticket.xsl"/>
  <xsl:include href="../common/infoshare.params.xsl"/>
  <xsl:include href="transform-titles.xsl"/>

  <xsl:param name="OUTPUTDIR"/>

  <xsl:template match="/*">
    <xsl:choose>
      <xsl:when test="contains($outputformat, 'Impleo') and
($multilingual = 'yes')">
        <xsl:apply-templates select="child::*[contains(@class,'
map/topicref ')][1]/descendant::*[contains(@class,' map/topicref
')]"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:apply-templates select="descendant::*[contains(@class,'
map/topicref ')]"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

  <xsl:template match="*[contains(@class,' map/topicref ')]">
    <xsl:choose>
      <xsl:when test="ancestor::*[@chunk='yes'] and not(self::*[@chunk='yes'])">
        <xsl:message>clean-up.xsl: Not copied the file "<xsl:value-of
select="@navtitle"/>" due to chunking</xsl:message>
      </xsl:when>
      <xsl:when test="contains(@href,
'GUID-9B08C5DF-5C36-41C4-90B0-27B79F005469')">
        <xsl:message>clean-up.xsl: Not copied the file
"Z-Admin-Publication Extended"</xsl:message>
      </xsl:when>
      <xsl:when test="contains(@href,
'GUID-8B987545-B343-4B40-B852-2CEFEBC4FE9E')">
        <xsl:message>clean-up.xsl: Not copied the file
"Z-Admin-Publication Basic"</xsl:message>
      </xsl:when>
      <xsl:when test="contains(@href,
'GUID-C3FB8F77-8818-4E16-989C-A092C9F1332C')">
        <xsl:message>clean-up.xsl: Not copied the file "Function name
in review pdf"</xsl:message>
      </xsl:when>
      <xsl:when test="contains(@href,
'GUID-DDB0F1C0-9B28-43FB-9B79-E9836299D2CE')">
        <xsl:message>clean-up.xsl: Not copied the SAR cover topic</xsl:message>
      </xsl:when>
      <xsl:when test="contains(@outputclass, 'remove-from-output')">
        <xsl:message>clean-up.xsl: Not copied the file "<xsl:value-of
select="@href"/>" with @outputclass="remove-from-output"</xsl:message>
      </xsl:when>
      <xsl:when test="contains(@outputclass, 'cover')">
        <xsl:message>clean-up.xsl: Not copied the file "<xsl:value-of
select="@href"/>" with @outputclass="cover"</xsl:message>
      </xsl:when>
      <xsl:when test="contains(@id,
'GUID-1535CC3F-3B17-4D8B-9452-D2FDD988577A')">
        <xsl:message>clean-up.xsl: Not copied the file "<xsl:value-of
select="@href"/>" with Polish CE image</xsl:message>
      </xsl:when>
      <xsl:otherwise>
        <xsl:variable name="title">
          <xsl:choose>
            <xsl:when test="contains($outputformat, 'Impleo')">
              <xsl:choose>
                <xsl:when test="@type = 'SZ-Content-item-Snipplet'">
                  <xsl:text>ContentItems-Snipplettes\</xsl:text>
                </xsl:when>
                <xsl:when test="@type = 'SZ-Snippet'">
                  <xsl:text>Snippets\</xsl:text>
                </xsl:when>
                <xsl:when test="@type = 'SZ-Topic-page'">
                  <xsl:text>Topicpages\</xsl:text>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:text>NoType\</xsl:text>
                </xsl:otherwise>
              </xsl:choose>
              <xsl:choose>
                <xsl:when test="$multilingual = 'yes'">
                  <!-- The href attribute values start with language
codes in multilingual maps -->
                  <xsl:value-of
select="substring(substring-before(@href, '.xml'), 4)"/>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:value-of select="substring-before(@href, '.xml')"/>
                </xsl:otherwise>
              </xsl:choose>
            </xsl:when>
            <xsl:otherwise>
              <xsl:call-template name="transform-title">
                <xsl:with-param name="xtrc" select="@xtrc"/>
              </xsl:call-template>
            </xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <xsl:document href="{$OUTPUTDIR}\{$title}.xml">
          <xsl:choose>
            <xsl:when test="contains($outputformat, 'Impleo')">
              <xsl:choose>
                <xsl:when test="$multilingual = 'yes'">
                  <xsl:apply-templates
select="document(concat('file:///', $WORKDIR, '\temp\',
substring(@href, 4)))" mode="copy"/>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:apply-templates select="document(@href)" mode="copy"/>
                </xsl:otherwise>
              </xsl:choose>
            </xsl:when>
            <xsl:otherwise>
              <xsl:apply-templates select="document(@href)"
mode="copy-and-modify"/>
            </xsl:otherwise>
          </xsl:choose>
        </xsl:document>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

  <xsl:template match="node() | @*" mode="copy">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()" mode="copy"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="node() | @*" mode="copy-and-modify">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()" mode="copy-and-modify"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="*[contains(@class, ' topic/topic ')]/@xtrf"
mode="copy-and-modify">
    <xsl:attribute name="xtrf">
      <xsl:call-template name="transform-title">
        <xsl:with-param name="xtrc" select="//*[contains(@class,'
topic/linkpool ')]/@xtrc"/>
      </xsl:call-template>
      <xsl:text>.xml</xsl:text>
    </xsl:attribute>
  </xsl:template>

  <xsl:template match="*[contains(@class, ' topic/xref ') and
(@format='dita' or not(@format))]/@xtrf" mode="copy-and-modify">
    <xsl:attribute name="xtrf">
      <xsl:call-template name="transform-title">
        <xsl:with-param name="xtrc" select="//*[contains(@class,'
topic/linkpool ')]/@xtrc"/>
      </xsl:call-template>
      <xsl:text>.xml</xsl:text>
    </xsl:attribute>
  </xsl:template>

</xsl:stylesheet>



I would grealty appreciate if anyone could suggest how to change the
XSL:document instruction to a XSL 2.0 compliant XSL:result-document
insruction.

Cheers,

2012/2/21, team wise <dfanster@xxxxxxxxx>:
> Hi the list members,
> Can anyone give me some insights to troubleshoot the problem as indicated
> below?
>
> When compiling a set of XSLT version 1.0/1.1 style sheets using SAXON
> 9, I encountered with error as follows :
> Exception thrown by OutputURIResolver Cause:: Resolved URL is malformed
>
> Before which a number of other errors had been surpressed and one of
> which in question is explained below:
>
> Below reveals an extracted version of a full log of the latest Ant
> Build failure:
> Processing started...
> Initialize log directory and file name...
> Validate and init input arguments...
> [echo] *********************************************************
> [echo] * basedir = D:\InfoShare\App\Utilities\DITA-OT\SEMC_InfoShare
> [echo] * dita.dir = D:\InfoShare\App\Utilities\DITA-OT\SEMC_InfoShare
> [echo] * input =
> D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-75CD4383-F94E-49AA-8182-9776535F8522.20120214202004701\1\en\workset/GUID-C9CA7357-CBA3-43B3-A4B2-B977AD1B7D1E.ditamap
> [echo] * transtype = mobilewebguidenxt
> [echo] * tempdir =
> D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-75CD4383-F94E-49AA-8182-9776535F8522.20120214202004701\1\en\workset/temp
> [echo] * outputdir =
> D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-75CD4383-F94E-49AA-8182-9776535F8522.20120214202004701\1\en\out
> [echo] * extname = .xml
> [echo] * clean.temp = no
> [echo] * xslt.parser = SAXON
> [echo] * HTMLHelpCompiler = ${HTMLHelpCompiler}
> [echo] * pdf.formatter = ah
> [echo] *********************************************************
> Preprocessing started...
> Clean temp directory...
> GenMapAndTopicListModule.execute(): Starting...
> [pipeline] Using XERCES.
> [pipeline] Using Xerces grammar pool for DTD and schema caching.
> GenMapAndTopicListModule.execute(): Execution time: 2.61 seconds
> Generate file list...
> Copy necessary files needed for the computer web output...
> DebugAndFilterModule.execute(): Starting...
> [pipeline] Using Xerces grammar pool for DTD and schema caching.
> [pipeline] Using Xerces grammar pool for DTD and schema caching.
> DebugAndFilterModule.execute(): Handling file
> GUID-54F20824-43B5-4CE1-8EA2-400F1CB13716.xml...
> Execution time: 1.188 seconds
> Debug and filter input files...
> Move metadata entries...
> Resolve conref push...
> Resolve conref in input files...
> [xslt] Loading stylesheet
> D:\InfoShare\App\Utilities\DITA-OT\SEMC_InfoShare\xsl\preprocess\conref.xsl
> [xslt]
> D:\InfoShare\App\Utilities\DITA-OT\SEMC_InfoShare\xsl\InfoShare\xslhtml\ditamap-transformation.xsl:36:
> Error! java.io.FileNotFoundException:
> D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-75CD4383-F94E-49AA-8182-9776535F8522.20120214202004701\1\en\workset\temp\GUID-30956BCB-576E-4180-9CE4-044B7E9474A3.ditamap
> (The system cannot find the file specified) Cause:
> java.io.FileNotFoundException:
> D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-75CD4383-F94E-49AA-8182-9776535F8522.20120214202004701\1\en\workset\temp\GUID-30956BCB-576E-4180-9CE4-044B7E9474A3.ditamap
> (The system cannot find the file specified)
> [xslt] Loading stylesheet
> D:\InfoShare\App\Utilities\DITA-OT\SEMC_InfoShare\xsl\InfoShare\xslhtml\clean-up.xsl
> h3. [xslt] : Fatal Error! Exception thrown by OutputURIResolver Cause:
> net.sf.saxon.trans.XPathException: Resolved URL is malformed [xslt]
> Failed to process
> D:\InfoShare\Data\PublishingService\Data\DataExports\GUID-75CD4383-F94E-49AA-8182-9776535F8522.20120214202004701\1\en\workset\temp\toc.ditamap
> Processing ended.
>
> BUILD FAILED
>
> To help you get more background information, the other errors
> suppressed and resolutions are described as follows:
>
> First problem:
> Fatal error [xslt]
> D:\InfoShare\App\Utilities\DITA-OT\SEMC_InfoShare\xsl\InfoShare\common\infoshare.filesystem.xsl:133:
> Fatal Error! There is more than one method matching the function call
> file:new, and there is insufficient type information to determine
> which one should be used
> Solutions:
> I attempted the following in line with your post entitled Test if an
> (image) file exists at
> http://www.oxygenxml.com/archives/xsl-list/200506/msg00400.html
>
> modified the problematic XSL either by
> From: <xsl:value-of select="file:exists(file:new($filename))"/>
>
> To: <xsl:value-of select="file:exists(file:new($filename as xs:string))"/>
>
> Or change the line 132
> From:
> <xsl:param name="filename"/>
> To:
> <xsl:param name=" filename as xs:string "/>
>
> But the above solutions did not come through, which led me to disable
> all calls to the named template file-exists. This affects a number of
> different XSLs.
>
> The second problem and its solution:
> @herf attribute is not allowed in Document() ; Changed all occurrence
> of document (@href, ) to result-document(@href, ).
> In case the switch from document() to result-document() is
> problematic, please could you advise how to fix the error that @href
> is not allowed in Document()? in the XSL where the exact problem was
> complained about, its version reads ' <xsl:stylesheet version="1.1"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">'.
>
> The Third problem and its solution:
> XHTML namespace is not declared in transform.title.xsl Solution : Declared
> it.
>


-- 
Keep an Exacting Eye for Detail

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.