[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] htmlDocDumpMemory() vs xmlDocDumpMemory()
- From: Julien Chaffraix <julien chaffraix gmail com>
- To: Rush Manbert <rush manbert com>
- Cc: xml gnome org, veillard redhat com
- Subject: Re: [xml] htmlDocDumpMemory() vs xmlDocDumpMemory()
- Date: Sun, 1 Mar 2009 11:06:28 +0100
Hi Rush,
> Here is a sample of rendered output, using htmlDocDumpMemory():
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Ok, so here is the line that causes your troubles. This doctype puts
the document in quirks mode. Switching to the following version (the
strict HTML 4.0 doctype) should solve your issue.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN">
It may be even better to drop the end and use instead
<!DOCTYPE HTML>
It is what HTML5 requires (see
http://www.whatwg.org/specs/web-apps/current-work/#the-doctype).
> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
> <!--Template match for /x:html/x:head-->
> <head><base
> href="file://localhost//Users/rmanbert/development/libxmlRendering/client/pace/demos/iml/imlDemoV0_1/">
> <!--No imltemplate file, or no x:imltemplatehead.-->
> <!--Processing $docHeadContent directly-->
> <title>RenderingTestPage</title></head>
> <!--Template match for /x:html/x:body-->
> <body><!--No imltemplate file, or no x:imltemplatebody.-->
> <!--Processing $docBodyContent directly-->
> <p>Line 1</p><i>Line 2</i><p> Line 3: This comes before a XML-legal "br"
> element<br></br>Line 4: And this comes immediately after it</p><img
> src="file://localhost//Users/rmanbert/development/libxmlRendering/client/pace/demos/iml/imlDemoV0_1/images/engChurchill.jpg"></img></body>
> </html>
>
> I didn't clean it up at all, so it has a bunch of trace output that my XSL
> processing inserts. I have a doctype that seems to be inserted by libxml. My
> doctype declaration in the XHTML source specifies my own DTD, which is an
> extension of XHTML. I also tried changing it to this:
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "DTD/xhtml1-strict.dtd" >
> but the rendered output has the same doctype declaration shown above,
> whether I use htmlDocDumpMemory() or xmlDocDumpMemory().
I just looked at the libxml documentation and I did not find a way to
set the doctype declaration. It may be a good enhancement especially
for HTML document.
> I tried loading this from a file with Safari and Firefox on the Mac and IE
> and Firefox on Windows. They all treat the </br> as <br>, and output an
> extra blank line, but only Safari said anything about it on the console.
So it is not a bug but a compatibility hack :-)
> I'm afraid that I lied about the <p></p>. They are fine with that. However,
> Safari also complained about the </img>, while no one else does (but it
> displayed the image).
As long as it is only warning, it is fine.
[removed some text and the xml version]
> And here is the output of diff xml html:
>
> 1,2c1
> < <?xml version="1.0" encoding="utf-8" standalone="yes"?>
> < <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">
> ---
>> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> 5c4,5
> < <head><base
> href="file://localhost//Users/rmanbert/development/libxmlRendering/client/pace/demos/iml/imlDemoV0_1/"/><!--No
> imltemplate file, or no x:imltemplatehead.-->
> ---
>> <head><base
>> href="file://localhost//Users/rmanbert/development/libxmlRendering/client/pace/demos/iml/imlDemoV0_1/">
>> <!--No imltemplate file, or no x:imltemplatehead.-->
> 11c11
> < <p>Line 1</p><i>Line 2</i><p> Line 3: This comes before a XML-legal "br"
> element<br/>Line 4: And this comes immediately after it</p><img
> src="file://localhost//Users/rmanbert/development/libxmlRendering/client/pace/demos/iml/imlDemoV0_1/images/engChurchill.jpg"/></body>
> ---
>> <p>Line 1</p><i>Line 2</i><p> Line 3: This comes before a XML-legal "br"
>> element<br></br>Line 4: And this comes immediately after it</p><img
>> src="file://localhost//Users/rmanbert/development/libxmlRendering/client/pace/demos/iml/imlDemoV0_1/images/engChurchill.jpg"></img></body>
>
There is a few differences: the empty tags that get split and the XML
declaration. It is mostly a difference at the browser's end on how to
handle HTML vs XHTML.
I see an issue with the doctype declaration for the XHTML document
which is set to an HTML one.
> To me, the XHML output looks to be better behaved and it sounds like your
> recommendation would be to keep my output as XHTML.
If you just want to test your output in a browser then XHTML is fine
(which is what I thought you were trying) and will not require much
effort so I would go for it.
If you need to ship for all browsers, then it will not do as Internet
Explorer does not support XHTML.
Regards,
Julien
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]