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

Re: Creating a batch file or shell script / Inserting line b

Subject: Re: Creating a batch file or shell script / Inserting line breaks
From: Ragnar Schierholz <raschi@xxxxxxxxxx>
Date: Sun, 9 Jul 2000 16:44:56 -0500
shell script concat
Mike Brown wrote:

> Ragnar Schierholz wrote:
> >           java org.apache.xalan.xslt.Process -in <xsl:value-of select
> > ="$URI"/> -xsl section.xsl -out <xsl:value-of select="concat
> > ($filename,'html')"/> -INDENT 2
> 
> Whitespace-only text nodes in the stylesheet tree are stripped, except
> when they occur within xsl:text elements. (see sec. 3.4 of XSLT 1.0)
> 
> > But unfortunatley Xalan always writes all output on a single line. 
This
> > causes syntax errors when the file is invoked as a batch file.
> 
> "lines" are a concept appreciated only by the application (i.e., in this
> case, the MS-DOS command interpreter; the shell) that is reading the 
data
> in the file. The file is just a linear series of bytes.
> 
> In the world of MS-DOS, ends of lines are denoted by a sequence of 2
> bytes: 0x0D for carriage return, followed by 0x0A for line feed. (Before
> you blame Microsoft, consider that this operating system was originally
> intended to work with IBM hardware, which inherited a legacy of 
technology
> going back to manual typewriters.)
> 
> This should do what you want:
> 
> <xsl:value-of select="concat('java org.apache.xalan.xslt.Process -in 
',$URI,' -xsl section.xsl -out '
> ,$filename,'html -INDENT 2&#13;&#10;')"/>
> 
>    - Mike
> ____________________________________________________________________
> Mike J. Brown, software engineer at         My XML/XSL resources:
> webb.net in Denver, Colorado, USA           http://www.skew.org/xml/
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

First, after playing a little more, I figured how to do it.
This is what now works fine:

<xsl:value-of select="concat('java org.apache.xalan.xslt.Process -in 
',$URI,' -xsl section.xsl -out ',$filename,'.html -INDENT 2')"/>

Second, part of the error was that I had the output method set to "txt" 
instead of "text" which does make a difference to Xalan. According to the 
specification (§16 Output), Xalan mustn't accept any other value than 
"xml|html|text" or anything with a namespace prefix. Hence this is 
obviously a bug in Xalan (I admit, a minor one, but still a bug ;-))

Some general remarks:

1.
Whether you put &#13;&#10; or just &#10; doesn't make a difference for Xalan, obviously it notices 
that it is running on a DOS-based box and inserts the approriate line feed 
characters. I didn't try it on a UNIX box yet, but there it should be fine 
with &#10; anyway. Good portability, plus for Xalan.
2.
Whether you 

 a) produce text using the literal text mixed with <xsl:value-of> elements 
to insert the variable/parameter values

or 

 b) use a single <xsl:value-of> element with a call to the concat function 
to concatenate the literal text elements with the variables/parameters 

somehow does make a difference to Xalan. Confusion for unexperienced 
users, minus for Xalan.

But anyway, I have the output that I wanted now, thanks to all 
contributors!

So long,
        Ragnar


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


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.