This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Windows pathnames in <xsl:import> statements?


On Fri, Jan 04, 2002 at 11:55:52AM -0500, Dan York wrote:
> Folks,
> 
> I am actually moving out of documentation for our product, and have
> been transitioning all of our DocBook XML files over to someone inside
> of Mitel's Customer Documentation group.  The problem I have run into 
> is that all my customization layers are written for my Linux environment.
> She (and the rest of Customer Docs) runs Windows.
> 
> My customization layer in Linux looks like (details snipped):
>   
>     <?xml version="1.0"?>
>     <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>                 version="1.0">
> 
>     <xsl:import href="/usr/share/sgml/docbook/docbook-xsl-1.45/html/docbook.xsl"/>
> 
>     <xsl:import href="e-smith-html-common.xsl"/>
> 
>     </xsl:stylesheet>
> 
> (What happens is that I have two different stylesheets for when I am
> generating a single HTML page (this one) or chunking the file.  Both of these
> layers first import Norm's stylesheet, and then my own 'e-smith-html-common'
> which has the changes that I make regardless of whether it is chunked or not.)
> 
> In changing it for Windows, I made it:
> 
>     <?xml version="1.0"?>
>     <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>                 version="1.0">
> 
>     <xsl:import href="c:\docbook\docbook-xsl-1.45\html\docbook.xsl"/>
> 
>     <xsl:import href="e-smith-html-common.xsl"/>
> 
>     </xsl:stylesheet>
> 
> But when I run this through the Windows version of DV's 'xsltproc', 
> I get two errors of the same format:
> 
>    compilation error: file c:\docbook\nssg-xslt\e-smith-html.xsl line 10
>    element import
>    xsl:import : invalid URI reference c:\docbook\docbook-xsl-1.45\html\docbook.xsl
> 
> It goes on to complain about not being able to load the external entity
> 'e-smith-html-common.xsl'.
> 
> So my basic question is... how the heck do I craft a valid URI file reference
> on a Windows file system?

Windows pathnames don't make valid URIs, as you found.
URIs don't permit backslashes, and "c" is not a valid
URI protocol.

Windows xsltproc understands forward slashes in URIs.  It
even understands them on the DOS command line.  Just
pretend it is still running on Linux.  8^)

Bob Stayton                                 400 Encinal Street
Publications Architect                      Santa Cruz, CA  95060
Technical Publications                      voice: (831) 427-7796
Caldera International, Inc.                 fax:   (831) 429-1887
                                            email: bobs@caldera.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]