By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
434,741 Members | 1,973 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 434,741 IT Pros & Developers. It's quick & easy.

Xalan 2.7.0 output method="html" - empty HTML tags

P: n/a
Xh
Hi All,

I have problems with generating valid HTML output

there are few HTML elements that i don't what to output as <tagname/>
but as <tagname></tagnamebut Xalan keeps generating them as
<tagname/>

there are few really annoying situations where adding   to some
HTML elements is necessary:

<textarea class="textarea" name="{concat($textarea/ancestor::form/@id,
@id)}">
 
</textarea>

otherwise FF produces very, very strange code when displaying:
<textarea .... />

but when I add   user sees this space in textarea field...

or in this situation:

<xsl:template name="generateHelp">
<xsl:param name="help"/>
<xsl:param name="formId"/>
<xsl:param name="fieldId"/>
<span id="{concat($formId, '_', $fieldId,'_msg')}" style="font-
weight: bold; color: red;">
</span>
<label for="{concat($formId, '_', $fieldId)}">
<xsl:value-of select="$help"/>
</label>
</xsl:template>

the <spanelement is generated as <span {attributes...} />

when i use JavaScript innerHTML for span id FireFox swallows
everything as innerHTML including
the <labelelement

any idea how to solve this?

or I should always use the   space entity?

best regards
Łukasz

Mar 18 '07 #1
Share this Question
Share on Google+
7 Replies


P: n/a
Xh wrote:
there are few HTML elements that i don't what to output as <tagname/>
but as <tagname></tagnamebut Xalan keeps generating them as
<tagname/>

there are few really annoying situations where adding   to some
HTML elements is necessary:

<textarea class="textarea" name="{concat($textarea/ancestor::form/@id,
@id)}">
 
</textarea>

otherwise FF produces very, very strange code when displaying:
<textarea .... />

but when I add   user sees this space in textarea field...

or in this situation:

<xsl:template name="generateHelp">
<xsl:param name="help"/>
<xsl:param name="formId"/>
<xsl:param name="fieldId"/>
<span id="{concat($formId, '_', $fieldId,'_msg')}" style="font-
weight: bold; color: red;">
</span>
<label for="{concat($formId, '_', $fieldId)}">
<xsl:value-of select="$help"/>
</label>
</xsl:template>

the <spanelement is generated as <span {attributes...} />

when i use JavaScript innerHTML for span id FireFox swallows
everything as innerHTML including
the <labelelement

any idea how to solve this?

or I should always use the   space entity?

best regards
Łukasz

--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry
Mar 19 '07 #2

P: n/a
Xh wrote:
>there are few HTML elements that i don't what to output as <tagname/>
but as <tagname></tagnamebut Xalan keeps generating them as
<tagname/>
Shouldn't be happening necessary if you're really specifying HTML output
mode, and if you're letting Xalan handle the serialization. (If you're
using a SAXResult rather than a StreamResult, maintaining this
distinction is your responsibility).

Can you provide a minimal example that demonstrates the problem?

On the other, hand, apropos of your workaround:
but when I add   user sees this space in textarea field...
If you don't want the user to see a space, don't use a Required Blank
character as the content; if you use ordinary spaces/linebreaks HTML
will probably discard them.
--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry
Mar 19 '07 #3

P: n/a
Joe Kesselman wrote:
If you don't want the user to see a space, don't use a Required Blank
character as the content; if you use ordinary spaces/linebreaks HTML
will probably discard them.
(BTW, to make sure that space is output to the HTML file rather than
being dropped, you'll probably want to wrap it in an <xsl:text>. Which
is generally a good practice for literal text even when it isn't
entirely necessary.)

--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry
Mar 19 '07 #4

P: n/a
Xh
Hi Joe!

On Mar 19, 6:37 am, Joe Kesselman <keshlam-nos...@comcast.netwrote:
Joe Kesselman wrote:
If you don't want the user to see a space, don't use a Required Blank
character as the content; if you use ordinary spaces/linebreaks HTML
will probably discard them.

(BTW, to make sure that space is output to the HTML file rather than
being dropped, you'll probably want to wrap it in an <xsl:text>. Which
is generally a good practice for literal text even when it isn't
entirely necessary.)
I'd like to provide an example but it is a bit complicated because I
use it my XML + XSLT in JBossAS

but <xsl:text</xsl:textis doing great job and so far I overcame
all
inconveniences

best regards
Łukasz

Mar 19 '07 #5

P: n/a
in message <11**********************@l75g2000hse.googlegroups .com>, Xh
('l************@komputery-internet.net') wrote:
Hi All,

I have problems with generating valid HTML output

there are few HTML elements that i don't what to output as <tagname/>
but as <tagname></tagnamebut Xalan keeps generating them as
<tagname/>
Tag minimisation. One of the real experts will be along in a moment to tell
you how to prevent this properly, but the following works:

<div class="othernews">
<xsl:commentprevent tag minimisation of DIV -
Internet Explorer barfs </xsl:comment>
<xsl:apply-templates select="feed"/>
</div>

If '<xsl:apply-templates select="feed"/>' in the above generates nothing
(e.g., if there are no 'feed' elements) the XML would naturally contain an
empty element which would be tag minimised on serialisation (printing to
thee and me). So you put in the xsl:comment essentially to force the tag
to have content, so that it can't be minimised. Don't think this solution
will work for text areas, though - you may have to generate some default
text.

--
si***@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/
;; Skill without imagination is craftsmanship and gives us
;; many useful objects such as wickerwork picnic baskets.
;; Imagination without skill gives us modern art.
;; Tom Stoppard, Artist Descending A Staircase
Mar 19 '07 #6

P: n/a
On 19 Mar, 01:00, Joe Kesselman <keshlam-nos...@comcast.netwrote:
Shouldn't be happening necessary if you're really specifying HTML output
mode,
I've been getting this recently too. Unchanged application code,
"maintenance" update of libraries and before I know it, I've got "/>"
in my HTML 8-(
Can you provide a minimal example that demonstrates the problem?
Nope. 8-( It's a vast pile of Ant (a Java-ish build tool) with the
<xslttask in it, grabbing the nearest available Trax processor. I
might get to sort it out some time around the next millenium.

Mar 19 '07 #7

P: n/a
Andy Dingley wrote:
>>Can you provide a minimal example that demonstrates the problem?
Nope. 8-(
Unfortunately, that limits the amount of volunteer debugging assistance
you're going to get.. If I think of anything I'll let you know.

I presume you've asked this on Xalan's own mailing list, since if there
really has been a behavioral change that's where you're most likely to
find the folks who know what it was.

--
Joe Kesselman / Beware the fury of a patient man. -- John Dryden
Mar 19 '07 #8

This discussion thread is closed

Replies have been disabled for this discussion.