[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
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 ')"/> > > - 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 or just 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 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|