Re: Pattern error for MultiLengths type in xhtml1-frameset.xsd

Dear Christoph,
Thank your for your answer. Unfortunately, the problem(s) are still there.

The XML Schemas for XHTML 1.0 are not based on XHTML modularisation, so  
XHTML 1.0 Frameset is not affected by any modification
of the XHTML modules.

The only almost official schema for XHTML 1.0 Frameset seems to be  
[http://www.w3.org/2002/08/xhtml/xhtml1-frameset.xsd] (v 1.5
2002/08/28 09:53:29 mimasa) that still contains this error in MultiLengths  
datatype.

In the meantime, I found a test schema for XHTML 1.0 Frameset
[http://www.w3.org/People/mimasa/test/schemas/SCHEMA/xhtml1-frameset.xsd]  
(v 1.17 2004/07/27 15:44:48 mimasa) that could be a
substitute while waiting for a more official correction but it contains a  
similar error, although the pattern is not the same
(it still does not match e.g. "50%, 50%").

> I'm not sure if your pattern is correct, but I think it's best to keep
> things simple. The "MultiLengths" pattern is obviously based on the
> "MultiLength" pattern,

The fatal error is indeed in MultiLengths, due to wrong parenthesis, but  
MultiLength (without 's') could also be improved, since
it tolerates some wrong values that could easily be handled (e.g. "0*"),  
and since the syntax could be better.

A part of the pattern is currently written "[1-9]?(\d+)?\*", which can be  
simplified with the strict same meaning to "\d*\*"
since the first part "[1-9]?" is useless when followed by "\d+": this was  
clearly an attempt to reject inputs such as "0*", but
it fails to do so. This part of the pattern should be changed to something  
like "([1-9]\d*)*\*". This is what I did in my
previous correction proposition. (See  
[http://lists.w3.org/Archives/Public/www-html/2006Jun/0031.html]).

> <http://www.w3.org/TR/2006/PR-xhtml-modularization-20060213/SCHEMA/xhtml-datatypes-1.xsd>:
>
>  <!-- comma-separated list of MultiLength -->
>  <xs:simpleType name="MultiLengths">
>    <xs:restriction base="xs:string"/>
>  </xs:simpleType>

Oh, thank you for pointing this! It is not related to XHTML 1.0 Frameset,  
but it shows imho a new issue in XHTML modularisation.
Using a simple "xs:string" as a pattern for a "comma-separated list of  
MultiLength" is what I would call a very lazy validation,
or yet a new mistake, but not a proper correction.

I can see that "XHTML 1.0 in XML Schema" (Strict, Transitional, Frameset)  
[http://www.w3.org/TR/xhtml1-schema/] is only a "W3C
Note". One the one hand, it should mean that updating could be made more  
easily. On the other hand, it means that this is a low
priority at W3C, which is sad as they are needed today, since XHTML 1.0 is  
currently broadly used, DTD is not enough, XHTML 1.0
official schemas are not available at W3C in other schema languages either  
(e.g. RelaxNG), while XML Schemas are almost done.

I am already very grateful to Masayasu Ishikawa (apparently alone) to have  
published this note and associated schemas, and it
would be wonderful if those ones could be updated.

Cordially,
Alexandre
http://alexandre.alapetite.net

Received on Tuesday, 13 June 2006 21:05:09 UTC