[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] HTML/XHTML/HTML5 Serialization Options


Subject: Re: [xsl] HTML/XHTML/HTML5 Serialization Options
From: "Michele R Combs mrrothen@xxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 11 Apr 2015 14:30:58 -0000

What about 1.0?
________________________________________
From: Michael Kay mike@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, April 10, 2015 5:23 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] HTML/XHTML/HTML5 Serialization Options

As it happens I've been working on this the last couple of days: I found that
there were no tests in the W3C QT3 test suite for XHTML serialization, and I
committed about 50 this morning.

In XSLT 2.0, the XHTML serialization method treats elements like <br/>
specially only if they are in the XHTML namespace.

In 3.0, it depends on whether the property html-version="5" is set. If not, it
behaves as before: only elements in the XHTML namespace are recognized. But
with html-version="5", elements in no namespace are also recognized.

Inevitably, given the shortage of test material, I found that Saxon 9.6
doesn't get all the details right, but on this particular point, I think it's
largely conformant.

Michael Kay
Saxonica
mike@xxxxxxxxxxxx
+44 (0) 118 946 5893




On 10 Apr 2015, at 22:08, Eliot Kimber ekimber@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> This may be a Saxon-specific question, but I'll start here as there may be
> a general answer.
>
> I am generating HTML, either as XHTML or HTML or HTML5 and I'm running
> into issues with the handling of empty elements (meaning elements that
> were or can be tagged as self-closed elements, e.g., <br>).
>
> Doing a quick test with Saxon 9.6 and XSLT 2, given this input:
>
> <p>A br element: before<br/>after</p>
>
>
> And serializing it using method "html" the result is the expected:
>
> <p>A br element: before<br>after
>      </p>
>
>
> But for XHTML it's:
>
> <p>A br element: before
>         <br></br>after
>      </p>
>
>
> What I would like to is a self-closed BR element: <br/>.
>
> Looking at the Saxon documentation I didn't see any Saxon-specific
> serialization parameters that would control this behavior.
>
> I realize I could implement my own serializer but I'm not keen to go to
> that length if at all possible.
>
> Is there a general solution that allows me to have XHTML or HTML5 output
> with self-closing elements?
>
> This comes up for me in several contexts:
>
> - Generating XHTML as required for EPUB2 and Kindle documents
> - Generating HTML as required for Web sites
> - Generating HTML5 as required for EPUB3 and for use in HTML5-based Web
> sites
>
> I suspect that the real problem is generating XHTML when I should be
> generating HTML. I need to explore that more, but I wanted to understand
> my readily-available serialization options first.
>
> Thanks,
>
> Eliot
>
> 
> Eliot Kimber, Owner
> Contrext, LLC
> http://contrext.com


Current Thread
Keywords