XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
don simonSubject: Output ends up concatted on one line
Author: don simon
Date: 16 Feb 2006 03:40 PM
I'm probably missing something obvious, I'm trying to output a list of IDs from an XML file where said-ID's record contains attributes with certain values. After much consternation with namespace definition, I think I've got an XSL that is selecting the correct subset of my data. However, it puts all of the rows onto a single line. If I add some garbage text after my value-of, each row ends up on it's own line. What am I missing?


<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://tempuri.org/XMLSchema.xsd" exclude-result-prefixes="a">

<xsl:output method="html"/>

<xsl:template match="a:albumTrack[a:componentActions/a:downloadFrom='1970-01-01']">


<xsl:value-of select="@providerID"/> x


</xsl:template>

<xsl:template match="text()"/>



</xsl:stylesheet>

Postnext
(Deleted User) Subject: Output ends up concatted on one line
Author: (Deleted User)
Date: 16 Feb 2006 04:00 PM
Hi, Don. If you're outputting XML, then you can use this to force a new line:

<xsl:text>
</xsl:text>

If you're outputting HTML (as the <xls:output method=html/> instruction in your sample suggests), you can use a <br/> or a <p/>, but don't forget the other HTML tags for your page, like <html>, <body>, and so on.

David Foster
Stylus Studio Team

Postnext
Tony LavinioSubject: Output ends up concatted on one line
Author: Tony Lavinio
Date: 17 Feb 2006 08:55 AM
Some also like to write newline as <xsl:text>&#10;</xsl:text> or
<xsl:text>&#xa;</xsl:text>.

But... why is this happening? The behavior is documented in the
standard at http://www.w3.org/TR/xslt#strip but the simple way of
explaining it (along with a rationale) is this:

If an xsl:template body contains only elements, strip the whitespace,
since *most likely* the user will not want the indenting, etc. to be
included in the output.

If an xsl:template body contains only printable text, then assume the
user wants that text output.

Otherwise, the xsl:template body contains *mixed text* (that is, some
text that does not consist of all whitespace plus at least one element)
then the action should be to include both the text and the elements.
This latter case is why you see the behavior changing when you add some
random text.

Posttop
don simonSubject: Output ends up concatted on one line
Author: don simon
Date: 17 Feb 2006 12:37 PM
thanks to both for your answers. I made the mistake of using html style <br> and <p> when I first was trying to add lines. silly me =p

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.