xsl-list
[Top] [All Lists]

Re: output method html doesnt work with namespace in source tree

2002-12-17 10:07:20
Hi Andrew,

An identity transform that specifies an output method of html, applied
to a source where all elements are in a non-null namespace.  The usual
suspect is the way <br /> is output:

Xalan: <br/>
Saxon: <br>
MSXML4: <br></br>

Now to quote the spec:
(http://www.w3.org/TR/xslt#section-HTML-Output-Method)
The html output method should not output an element differently from the
xml output method unless the expanded-name of the element has a null
namespace URI; an element whose expanded-name has a non-null namespace
URI should be output as XML. If the expanded-name of the element has a
null namespace URI, but the local part of the expanded-name is not
recognized as the name of an HTML element, the element should output in
the same way as a non-empty, inline element such as span.

From that I would say Xalan conforms, Saxon doesnt and MSXML is
confused... ;-)

To continue the quote from the spec with the next paragraph:

 "The html output method should not output an end-tag for empty
  elements. For HTML 4.0, the empty elements are area, base, basefont,
  br, col, frame, hr, img, input, isindex, link, meta and param. For
  example, an element written as <br/> or <br></br> in the stylesheet
  should be output as <br>."

From this and the behaviour that you report, I'd say that Saxon
conforms and both Xalan and MSXML don't.
  
Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list