Saxon never inserts newlines into HTML attribute values, only into text
nodes.
Perhaps you are producing this output using disable-output-escaping, so
Saxon thinks it is a text node? In that case, I would suggest that you
don't.
Generally I would recommend keeping "onClick" attributes short and
simple - just a call to a Javascript routine that appears somewhere else
in the HTML page. This is because (in my limited experience) browsers
are a bit sensitive to the way characters are represented in these
attributes, and XSLT doesn't give you control over the character
representation.
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
mark_fletcher(_at_)peoplesoft(_dot_)com
Sent: 09 May 2003 00:09
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] [saxon] unwanted line breaks in HTML output
Is there a default line length that saxon uses to determine
when to start a
new line in HTML output?
I'm outputting text inside an onClick tag attribute. It
typically looks
like this, which is what I want (one line per arguement):
<A HREF="javascript:void()" onClick="opendoc(
escape('Topic One — Maintaining Academic Advisement
Setup Data'),
'htm/lsaa11.htm#d0e13039',
escape('Topic Two — Maintaining Academic Advisement
Setup Data'),
'htm/lsaa11.htm#d0e13066',
escape('Topic Three — Using the Analysis Database to Create
Reports'),
'htm/lsaa13.htm#d0e15791',
escape('Topic Four — Using the Analysis Database to Create
Widgets'),
'htm/lsaa13.htm#d0e15816'
)">Database Tables Report page</A>
However, if the text inside an escape function is too long, the line
breaks, like this:
<A HREF="javascript:void()" onClick="opendoc(
escape('Topic One — This Is Too Much Text and It Breaks Here
And Causes Problems'),
'htm/lsaa11.htm#d0e13039'
)">Database Tables Report page</A>
and I end up with 'unterminated string constant' JavaScript
errors in the
browser. The limit seems to be about 150 characters on the
line before it
gets broken at the nearest space.
I can get around this using translate( ) to insert in
place of every
space in each string, but I'd rather not if it's avoidable.
Any ideas appreciated!
Mark Fletcher
PeopleSoft Language Engineering
925.694.3753
mark_fletcher(_at_)peoplesoft(_dot_)com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list