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

Alexandre Alapetite wrote:

> In the XML Schema for XHTML 1.0 Frameset (dated 2002-08-28 mimasa)
> [http://www.w3.org/2002/08/xhtml/xhtml1-frameset.xsd] that is the
> current official version, there is apparently an error in the
> regular expression pattern for the MultiLengths type,
>
>   <xs:pattern
>     value="([+-]?(\d+|\d+(\.\d+)?%)|([1-9]\d*)*\*)(,\s*([+-]?(\d+|\d+(\.\d+)?%)|([1-9]\d*)*\*))*"/><!-- Line corrected -->

See
<http://lists.w3.org/Archives/Public/www-html-editor/2005JanMar/0018.html>.
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, so you just need to change

  <MultiLength>(,\s*<MultiLength>)*

to

  (<MultiLength>)(,\s*(<MultiLength>))*

or

  ([-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*)(,\s*([-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*))*

in expanded form.

This error was corrected in
<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>

:-/

-- 
<http://schneegans.de/>                                              |

Received on Monday, 12 June 2006 23:11:21 UTC