Subject: RE: generate XHTML header without causing xmlns attributes in e.g. <table>?
From: Flemming Jønsson <flj@xxxxxxxxxxxxx>
Date: Fri, 17 Oct 2003 15:24:47 +0200
|
> > But the resulting table tag in XHTML is:
> > <table xmlns="" class="parameters" cellspacing="0"
> > cellpadding="3" border="1">
> > <thead>
> > <tr>
> > ...
> >
> This code looks perfectly correct to me.
>
> This means either:
> * I haven't spotted your error, or
> * There is something odd in a part of the stylesheet you
> haven't shown us, or
> * you are using a buggy XSLT processor (unlikely if you are
> using one of the widely-used ones, but I don't think you told
> us which one it was).
>
> The next thing I would do is to run it against a different
> processor and see if the results are the same.
>
Ahh, Michael,
You were correct in assuming it was an odd behaviour by the XSLT processor.
I've used Xalan-J, up till now...
Here is the <table> tags from Xalan-j and MSXML3 processors
Xalan-J:
<table class="querydef" cellspacing="0" cellpadding="3" border="1">
<table xmlns="" class="parameters" cellspacing="0" cellpadding="3" border="1">
MSXML3:
<table border="1" cellpadding="3" cellspacing="0" class="querydef">
<table border="1" cellpadding="3" cellspacing="0" class="parameters">
Hmm - Looks like Xalan-J misinterprets something, the output in MSXML3 is as I would expect it to be.
However, in MSXML3 I have another unrelated problem.
Even though I specify
<xsl:output method="xml" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="DTD/xhtml1-strict.dtd" />
The character encoding line in the XHTML generated by MSXML is:
<?xml version="1.0" encoding="UTF-16"?>
As opposed to:
<?xml version="1.0" encoding="ISO-8859-1"?>
In the output from Xalan-J (which is what I expected it to be).
Is there a way to force MSXML to write ISO-8859-1 as character encoding instead - if so, I can use MSXML instead of Xalan-J?
Flemming
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|