|Subject:||Change what --drop-proprietary-attributes does?|
|From:||Bjoern Hoehrmann (derh...@gmx.net)|
|Date:||Apr 7, 2003 9:38:37 pm|
Hi Tidy users,
In the past, the --drop-proprietary-attributes caused Tidy to remove attributes explicitly marked as proprietary in Tidys attribute data base. This provides rather insufficient results, since Tidy was only able to make general claims like "height" is always standard, "topmargin" always proprietary. Now we are going to implement a more sophisticated table that contains version informations for all attributes on all elements in
* HTML 2.0 * HTML 3.2 * HTML 4.0 Strict * HTML 4.0 Transitional * HTML 4.0 Frameset * HTML 4.01 Strict * HTML 4.01 Transitional * HTML 4.01 Frameset * XHTML 1.0 Strict * XHTML 1.0 Transitional * XHTML 1.0 Frameset * XHTML 1.1 * XHTML Basic 1.0
This covers all versions of HTML and XHTML (but not some profiles like XHTML+Math due to lack of MathML support in Tidy). This allows Tidy to differentiate between a "height" attribute on <img> and one on <table>, the latter was not supported in any version of (X)HTML. I think the --drop-proprietary-attributes configuration option should be changed in how it determines what attributes are proprietary, i.e.
if (the element is defined in any version of XHTML/HTML) if (the element/attribute combination is not defined in any version) drop the attribute else keep it else keep it
<body topmargin='10'> => <body> (always proprietary) <table height='50%'> => <table> (proprietary on <table>) <strong cool='maybe'> => <strong> (never been defined) <img height='50' ...> => <img height='50'> (defined in various specs) <a urn='...'> => <a urn='...'> (defined in HTML 2.0) <foo bar='baz'> => <foo bar='baz'> (non-HTML element)
This is basically what --drop-proprietary-attributes is supposed to do anyway, but the option will be way more active and may thus cause trouble to some users (even though this is unlikely, since if you use proprietary markup, you won't advise Tidy to drop it) if they weren't aware they are doing non-standard stuff.
The alternative would be to add a new value to the configuration option, e.g. `--drop-proprietary-attributes: all` but I don't think this necessary.
What do you think? Change as proposed or keep the old buggy behaivour?
regards. -- related bug report, <http://tidy.sf.net/bug/708322>.