xsl-list
[Top] [All Lists]

RE: generate XHTML header without causing xmlns attributes in e.g. <table>?

2003-10-17 06:24:47
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