Xalan - empty element

  • Thread starter Albert Greinöcker
  • Start date
A

Albert Greinöcker

Hi NG,

how can I force Xalan (Java) not to create an empty element when there is
nothing between begin and end tag, which means that e.g.

<myTag></myTag>

....does not become...

<myTag/>

?

thx,
Albert
 
S

Soren Kuula

Albert said:
Hi NG,

how can I force Xalan (Java) not to create an empty element when there is
nothing between begin and end tag, which means that e.g.

<myTag></myTag>

...does not become...

<myTag/ >

They are both exactly the same; an empty element. the string
representations (serializations) are different; the meaning is the same.

Maybe there is an option in the class you use for serializing. Anyway,
that is where it happens.

Søren
 
A

Albert Greinöcker

Hi Soren,

yes, I agree, it should be, but I observed that some browsers (particularly
the IE 6) do have problems with some empty tags (in case of <script/>,
<textarea/>)

Albert
 
J

Joe Kesselman

Albert said:
how can I force Xalan (Java) not to create an empty element when there is
nothing between begin and end tag, which means that e.g.
<myTag></myTag>
...does not become...
<myTag/>

If it really matters to you, you can try to find or write a SAX
serializer that handles this as a special case, ask Xalan to output SAX,
and plug the two together. Or adapt Xalan's existing serializer code;
one of the advantages of open-source projects is that you can alter them
and/or use them as a starting point for specialized tools. (You might
want to compare the XML and HTML serializers; I think the latter has
some similar tweaks.)

But personally, I would suggest you fix whatever downstream tool isn't
correctly handling <myTag/>. XML considers the two forms precisely
equivalent to each other, so you're asking for a difference that should
make no difference.

(Xalan has its own mailing list, which is generally a better place to
ask questions which are specific to that processor. But this one's a
general enough issue that I thought it was worth answering here.)
 
M

Martin Honnen

Albert Greinöcker wrote:

yes, I agree, it should be, but I observed that some browsers (particularly
the IE 6) do have problems with some empty tags (in case of <script/>,
<textarea/>)

Well if you send text/html to IE then it parses according to SGML/HTML
rules and not XML rules and HTML mandates <script
type="text/javascript"></script> and not <script/> or </script />.
If you send text/xml or application/xml to IE then it parses with MSXML
as its XML parser and I am sure that does not have any problems with
<script/> or <textarea/>, only it only sees those as XML elements
without any meaning and not something to render.

If you use XSLT to transform XML to HTML then make sure you use e.g.
<xsl:eek:utput method="html"/>
and use HTML elements like e.g. script in no namespace, that way they
will end up as <script></script> when the XSLT processor serializes the
XSLT result tree.
 
J

Joe Kesselman

Martin said:
If you use XSLT to transform XML to HTML then make sure you use e.g.
<xsl:eek:utput method="html"/>

Absolutely. Or generate XHTML and make sure the downstream tool supports
that newer syntax.
 
P

Peter Flynn

Albert said:
Hi NG,

how can I force Xalan (Java) not to create an empty element when there is
nothing between begin and end tag, which means that e.g.

<myTag></myTag>

...does not become...

<myTag/>

Why? They are both the same in effect (perhaps not in intention :)

///Peter
 
P

Peter Flynn

Albert said:
Hi Soren,

yes, I agree, it should be, but I observed that some browsers (particularly
the IE 6) do have problems with some empty tags (in case of <script/>,
<textarea/>)

Don't use broken software for XML.

///Peter
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top