Subjects
Home
VOTE Move XML Commons to Xerces
Commented: (XERCESJ 589) Bug with pattern restriction on long strings
: Xerces J 2 8 1 Release on Wednesday, September 13th
: Xerces J 2 9 0 Release on Wednesday, November 22nd
Commented: (XERCESJ 1066) Restriction+choice+substitutionGroup error
Commented: (XERCESJ 1178) Error getting prefix for an attribute with no n
Updated: (XERCESJ 1244) XMLSchemaValidator does not contribute element 's
Some consideration about the xerces DOM implementation
Updated: (XERCESJ 1066) Restriction+choice+substitutionGroup error
Commented: (XERCESJ 1227) Poor performance / OutOfMemoryError for sequenc
retain exception stack traces
Updated: (XERCESJ 1193) NPE or hang when parsing using the "continue afte
Future of NekoHTML
Commented: (XERCESJ 1203) NPE in XMLDTDProcessor
DOM Level 3 APIs for Xalan J and a new Xalan release (2 7 1)
: xml commons external 1 3 04 Release on Wednesday, November 22nd
Commented: (XERCESJ 1247) Incorrect location information on SAX when usin
XInclude exceptions how to mirror Xerces J functionality into Xerces C++?
First proposal on SoC project "Add support for the StAX (JSR 173) cursor API
: xml commons resolver 1 2 Release on Wednesday, November 22nd
Typo in RangeToken java Please check
Validator features
java lang ClassCastException when adopting Node
using the org apache xerces impl xs identity package
Updated: (XERCESJ 1257) buffer overflow in UTF8Reader for characters out
Problem with ref attributes and schema validation
Updated: (XERCESJ 122) XMLSchemaValidator does not contribute element 's d
Performance problem under load Xerces with Weblogic 9 x
remove ignored memory allocation
Commented: (XERCESJ 1177) SAXXMLStreamReader doesn 't always report namesp
Commented: (XERCESJ 977) Null pointer exception during DOM parsing
Commented: (XERCESJ 1197) Code cleanup for org apache xml serialize
Commented: (XERCESJ 1201) Initial contribution for StAX Event API
Updated: (XERCESJ 1061) Regex "$ " and "^ " characters treated as special c
Commented: (XERCESJ 1199) SAXXMLStreamReader should attempt to register a
Commented: (XERCESJ 1061) Regex "$ " and "^ " characters treated as special
Updated: (XERCESJ 589) Bug with pattern restriction on long strings
StackOverflow
xerces Range unnecessarily not garbage collectable if not detached
Updated: (XERCESJ 1178) Error getting prefix for an attribute with no nam
Bug in xs:redefine
Commented: (XERCESJ 1204) Can not set XMLEntityResolver for LSParser
Updated: (XERCESJ 1253) Prototype for SoC2007 project "Add support for th
Updated: (XERCESJ 1259) Add SteamFilter Function to SoC2007 project "Add
Assigned: (XERCESJ 444) SAXException thrown by EntityResolver is reported
Google Summer of Code 2007
Xerces J and XInclude relative path issue
Assigned: (XERCESJ 206) Stack overflow when using a schema validation
Commented: (XERCESJ 1215) Restrictions involving two levels of substituti
Closed: (XERCESJ 1203) NPE in XMLDTDProcessor
non overriding equals methoda
Resolved: (XERCESJ 1079) invalid value returned for TOTALDIGITS facet in
Xerces AS3 port
Updated: (XERCESJ 325) Regular Expression; Pattern "| " clause order de
Updated: (XERCESJ 1196) Javadoc generation fails on Java SE 5 0
Closed: (XERCESJ 1202) DTD validation on XIncluded documents when the sch
Created: (XERCESJ 1124) Nonspecific schema error message
a bug in xerces
Updated: (XERCESJ 1201) Initial contribution for StAX Event API
Closed: (XERCESJ 1254) Empty uris in targetNamespace attribute not report
Links
Home
Oracle database error code
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
could a line break be lost during parsing?

could a line break be lost during parsing?

2003-01-17       - By dongjiang tang
Reply:     1     2     3     4     5     6  

Hi,
I am generating a html page using XSLT.

I have a element with the value of mutiple line of text in a xml stream, like
below:
"line one
line two
line three"
I print it out right before the parsing:
     System.out.println("XML = "+input.toString()) ;
     reader.parse(new InputSource(new StringReader(input.toString()))) ;
I confirmed the element value is just like above with line break

But in the html, I  want to break it into mutiple line using the following
templates but DID not see the line break:
<xsl:template name="add-line-breaks">
  <xsl:param name="string" select="." />
  <xsl:choose>
     <xsl:when test="contains($string, '&#xA;')">
        <xsl:value-of select="substring-before($string, '&#xA;')" />
        <br />
        <xsl:call-template name="add-line-breaks">
           <xsl:with-param name="string"
                           select="substring-after($string, '&#xA;')" />
        </xsl:call-template>
     </xsl:when>
     <xsl:otherwise>
        <xsl:value-of select="$string" />
     </xsl:otherwise>
  </xsl:choose>
</xsl:template>

then I added some debuging code in my xsl file to show the element directly:  
 <xsl:value-of select="@(protected)" /> (the @(protected) is the attribute holding that
string value), then I went to the source after I re-generated the HTML page, I
found that that element= "line one line two line three" without the line break

I feel somehow I lost the line break during the parsing.
Am I right about this? if yes, is there any confirguration to avoid this?

thank you !!

dongjiang
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>Hi, </FONT></DIV>
<DIV><FONT face=Arial size=2>I am generating a html page using
XSLT.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I have a element with the value of mutiple line of
text in a xml stream, like below:</FONT></DIV>
<DIV><FONT face=Arial size=2>"line one</FONT></DIV>
<DIV><FONT face=Arial size=2>line two</FONT></DIV>
<DIV><FONT face=Arial size=2>line three"</FONT></DIV>
<DIV><FONT face=Arial size=2>I print it out right before the
parsing:</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;System.out.println("XML = "+input.toString()) ;</FONT></DIV>
<DIV><FONT face=Arial
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reader.parse(new InputSource(new
StringReader(input.toString()))) ;</FONT></DIV>
<DIV><FONT face=Arial size=2>I confirmed the element value is just like above
with line break</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>But in the html, I &nbsp;want to break it into
mutiple line using the following templates but DID not see the line
break:</FONT></DIV>
<DIV><FONT face=Arial size=2>&lt;xsl:template
name="add-line-breaks"&gt;<BR>&nbsp;&nbsp; &lt;xsl:param name="string"
select="." /&gt;<BR>&nbsp;&nbsp;
&lt;xsl:choose&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:when
test="contains($string,
'&amp;#xA;')"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;xsl:value-of select="substring-before($string, '&amp;#xA;')"
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:call-template
name="add-line-breaks"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&lt;xsl:with-param
name="string"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
select="substring-after($string, '&amp;#xA;')"
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/xsl:call-template&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/xsl:when&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;xsl:otherwise&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;xsl:value-of select="$string" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/xsl:otherwise&gt;<BR>&nbsp;&nbsp;
&lt;/xsl:choose&gt;<BR>&lt;/xsl:template&gt;<BR></DIV></FONT>
<DIV><FONT face=Arial size=2>then I added some debuging code in my xsl file to
show&nbsp;the element&nbsp;directly: &nbsp;&nbsp;&nbsp;&nbsp;&lt;xsl:value-of
select="@(protected)" /&gt; (the @(protected) is the attribute holding that string value),
then I&nbsp;went to the source&nbsp;after I&nbsp;re-generated the HTML page,
I&nbsp;found that that element= "line one line two line three" without the line
break</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I&nbsp;feel somehow I lost the line break during
the parsing.&nbsp;</FONT></DIV>
<DIV><FONT face=Arial size=2>Am I right about this? if&nbsp;yes,&nbsp;is there
any confirguration to avoid this?&nbsp;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>thank you !!</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial
size=2>dongjiang</FONT>&nbsp;</DIV></FONT></DIV></BODY></HTML>