W3C

XHTML Modularization Last Call Disposition of Comments

21 February 2008

This version:
http://www.w3.org/MarkUp/2007/xhtml-modularization-lc-doc-20080221
Latest version:
http://www.w3.org/MarkUp/xhtml-modularization-lc-doc
Editors:
Shane McCarron, Applied Testing and Technology, Inc.

Abstract

This document outlines the way in which the XHTML 2 Working Group addressed the comments submitted during the XHTML Modularization 1.1 last call period.

Status of this document

During the last call period for XHTML Modularization 1.1, a number of comments were received from both inside and outside of the W3C. This document summarizes those comments and describes the ways in which the comments were addressed by the XHTML 2 Working Group.

Note that the majority of this document is automatically generated from the Working Group's database of comments. As such, it may contain typographical or stylistic errors. If so, these are contained in the original submissions, and the XHTML 2 Working Group elected to not change these submissions.

This document is a product of the W3C's XHTML 2 Working Group. This document may be updated, replaced or rendered obsolete by other W3C documents at any time. It is inappropriate to use this document as reference material or to cite it as other than "work in progress". This document is work in progress and does not imply endorsement by the W3C membership.

This document has been produced by the W3C XHTML 2 Working Group as part of the HTML Activity. The goals of the XHTML 2 Working Group are discussed in the XHTML 2 Working Group charter.

Please send detailed comments on this document to www-html-editor@w3.org. We cannot guarantee a personal response, but we will try when it is appropriate. Public discussion on HTML features takes place on the mailing list www-html@w3.org.

A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.

Table of Contents

IssueWorking Group ActionCommentor PositionChange TypeNotes
9614: Content error in XHTML Abstract Modules Accept Agree Editorial Taking this as a last call comment. The working group agrees that this should point to Core, not to Common. That is how it worked in HTML 4.01. The href in the document source was just incorrect.
9641: [XHTMLMod] usemap="" attribute should be URI, not IDREF Reject Disagree None The working group resolved that we cannot change the attribute value type at this time, since it would mean an incompatible change for existing markup languages. We do expect to change it in a future edition of XHTML Modularization for use in future XHTML family markup languages. Note that the submitter disagrees with this resolution as follows: "Please note my dissatisfaction with this resolution clearly in the disposition of comments. Keeping it an IDREF makes it more annoying to implement and only causes confusion to authors when switching to XHTML from HTML4."
9616: XHTML 1.1 modularization last call: basic tables module Accept Agree Editorial The working group agrees to change the text. The Implementations did this already.
9640: [XHTMLMod] global attributes Modify and Accept Disagree None Actually, @dir is included in the I18N collection when the Bi-Directional Text Module is activated. The intent is that you only need support @dir when your markup language supports I18N. The I18N collection is included in the Common collection, so when that module is activated @dir is available in Common.
9615: XHTML 1.1 modularization last call: legacy module Reject No Response None Thanks for some nice ideas. Unfortunately, the aim of this revision was not to refactor the modules. Also, "legacy" in the XHTML M12N context are things from HTML 4, not things just from HTML 3.02.
9607: M12N 1.1 Intrinsic Events Module does not describe events attribute collection Accept Agree Editorial Group agrees that this change would make the spec more readable.
9610: XHTML M12N 1.1 Last Call Comment: attributes in collections and on Accept Agree Editorial The working group agrees this was the intent.
9613: XHTML Modularization 1.1: 9 errors with the 'id' attribute (Specification + DTD + XML Schemas) Accept Agree Editorial These were indeed all incorrect and have been repaired.
9721: [XHTML 1.1 2nd Ed.] Target Module in Schemas Accept Agree Editorial This was an editorial error.
9715: Uncorrected errors in the XML Schema driver for XHTML 1.1 and updating problem (draft of 16 February 2007) Modify and Accept No Response Editorial Thank you for your comments. Most of these issues have been corrected. With regard to the lazy type issues, the working group was concerned that making the type checking overly constrained had the risk of incorrectly flagging valid documents as invalid; this is mostly because the regular expressions and RFCs involved are so complicated we are not confident that all legal cases will be addressed.
9606: XHTML Modularization 1.1: Lazy datatype patterns in XML Schema Reject No Response None The working group is concerned that making these types of changes could accidently exclude valid content. Moreover, the group is concerned that interpreting external documents to develop the proper patterns could give us unintended dependencies in the implementation. We are not prepared to introduce this change at this time. We will consider it for a subsequent revision of the implementation.
10000: Errata in XHTML Modularization Accept Agree Editorial The group agreed with this.
9639: Acknowlegements in XHTML Mod incomplete Accept Agree Editorial Thanks for catching this. It has been fixed.

1. Modularization-abstractions

This section describes issues relating to the abstract module definitions in Modularization of XHTML.

1.1 Content error in XHTML Abstract Modules

PROBLEM ID: 9614

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: Agree

NOTES:

  Taking this as a last call comment.
  
  The working group agrees that this should point to Core, not to Common.  That
  is
  how it worked in HTML 4.01.  The href in the document source was just incorrect.

ORIGINAL MESSAGE:

  From: Cyrille Buchter <cyrille@backbase.com>
  
  
  Hello!
  
  I think I have found a content error in the XHTML Abstract Modules page 
  ( 
  http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_xhtmlmodules 
  ).
  
  The error can be found in the Bi-directional Text Module section ( 
  http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_bdomodule 
  ). In the column "attributes" it says "Core" but the anchor actually 
  points to the Common collection. I believe it points to the right 
  collection and that the text should be changed from "Core" to "Common". 
  Either way, it's conflicting now.
  
  Regards,
  
  Cyrille
  

REPLY 1:


  From: Shane McCarron <voyager-issues@mn.aptest.com>
  
  Thanks for this comment.  It will be updated in the next draft to indicate that
  the bdo elements takes "Core" and also xml:lang and dir as attributes.

1.2 [XHTMLMod] usemap="" attribute should be URI, not IDREF

PROBLEM ID: 9641

STATE: Approved and Implemented
EDIT: None
RESOLUTION: Reject
USER POSITION: Disagree

NOTES:

  The working group resolved that we cannot change the attribute value type at
  this time, since it would mean an incompatible change for existing markup
  languages.  We do expect  to change it in a future edition of XHTML
  Modularization for use in future XHTML family markup languages. 
  
  Note that the submitter disagrees with this resolution as follows:
  
  "Please note my dissatisfaction with this resolution clearly in the  
  disposition of comments. Keeping it an IDREF makes it more annoying to  
  implement and only causes confusion to authors when switching to XHTML  
  from HTML4."

ORIGINAL MESSAGE:

  From: "Anne van Kesteren" <annevk@opera.com>
  
  
  Dear HTML WG,
  
  http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_imapmodule  
  states that the usemap="" attribute takes an IDREF. This should be changed  
  to URI instead as that's what HTML4 has and what XHTML2 does. It would be  
  nice if this simple mistake from the first edition of the XHTML  
  Modularization could be fixed in this edition.
  
  Regards,
  
  
  -- 
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  
  

FOLLOWUP 1:


  From: "Anne van Kesteren" <annevk@opera.com>
  
  On Wed, 13 Sep 2006 22:07:46 +0200, Brad Pettit  
  <Brad.Pettit@microsoft.com> wrote:
  > There are problems with allowing URI instead of IDREF, which may relate  
  > to why it was changed. I offered up some of the issues in this 2002  
  > email to the working group. I had done some of the image map support in  
  > Internet Explorer for Macintosh, including external image maps, and I  
  > believe the standard specification was vague in that area, certainly not  
  > well-defined enough for XHTML.
  
  Whether or not you allow external resources to be loaded is besides the  
  point, imho. This is a syntax issue.
  
  
  I would like a text/html XHTML document and an application/xml XHTML  
  document to work the same. Having to write usemap="#foo" for one and  
  usemap="foo" for the other isn't really a feasible solution.
  
  
  -- 
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  
  

FOLLOWUP 2:


  From: "Steven Pemberton" <steven.pemberton@cwi.nl>
  
  Just to remind you: we agree that the change needs to be made, but this  
  revision of Modularization is *only* to add schemas to the mix, and has an  
  explicit goal of not changing any module, so that no existing language  
  that uses Modularization changes, and that existing languages can now be  
  validated with DTDs and Schemas.
  
  We have resolved that a future version of Modularization, which will allow  
  normative changes to the modules, will include your change.
  
  Best wishes,
  
  Steven
  
  
  On Tue, 13 Feb 2007 15:45:52 +0100, <annevk@opera.com> wrote:
  
  >
  > On Tue, 13 Feb 2007 15:34:00 +0100, <voyager-issues@mn.aptest.com> wrote:
  >> HTML Working Group Voyager Issue Tracking System notification
  >>
  >> shane moved PR#9641 from Modularization-abstractions to 6
  >> Message summary for PR#9641
  >> 	From: "Anne van Kesteren" <annevk@opera.com>
  >> 	Subject: [XHTMLMod] usemap="" attribute should be URI, not IDREF
  >> 	Date: Fri, 04 Aug 2006 12:30:06 -0400
  >> 	0 replies 	6 followups
  >> 	Notes: The working group resolved that we cannot change the attribute
  >> value type at
  >> this time, since it would mean an incompatible change for existing  
  >> markup
  >> languages.  We do expect  to change it in a future edition of XHTML
  >> Modularization for use in future XHTML family markup languages.
  >
  > Please note my dissatisfaction with this resolution clearly in the
  > disposition of comments. Keeping it an IDREF makes it more annoying to
  > implement and only causes confusion to authors when switching to XHTML
  >  from HTML4.
  >
  >
  >> ====> ORIGINAL MESSAGE FOLLOWS <====
  >>
  >>> From shane@aptest.com  Wed Sep 13 12:48:18 2006
  >> Received: from hades.mn.aptest.com (hades.mn.aptest.com [208.42.66.14])
  >> 	by htmlwg.mn.aptest.com (8.13.1/8.13.1) with ESMTP id k8DHmI7W031843
  >> 	for <htmliss@htmlwg.mn.aptest.com>; Wed, 13 Sep 2006 12:48:18 -0500
  >> Received: by hades.mn.aptest.com (Postfix)
  >> 	id 48BE17B6BE; Wed, 13 Sep 2006 12:49:47 -0500 (CDT)
  >> Delivered-To: htmliss@hades.mn.aptest.com
  >> Received: from localhost (localhost [127.0.0.1])
  >> 	by hades.mn.aptest.com (Postfix) with ESMTP id 101417B6B7
  >> 	for <htmliss@hades.mn.aptest.com>; Wed, 13 Sep 2006 12:49:47 -0500  
  >> (CDT)
  >> Received: from hades.mn.aptest.com ([127.0.0.1])
  >>  by localhost (hades.mn.aptest.com [127.0.0.1]) (amavisd-new, port  
  >> 10024)
  >>  with LMTP id 15207-03 for <htmliss@hades.mn.aptest.com>;
  >>  Wed, 13 Sep 2006 12:49:42 -0500 (CDT)
  >> Received: by hades.mn.aptest.com (Postfix, from userid 589)
  >> 	id 960C57B782; Wed, 13 Sep 2006 12:49:42 -0500 (CDT)
  >> Received: from athena.mn.aptest.com (atlas.mn.aptest.com [208.42.66.13])
  >> 	by hades.mn.aptest.com (Postfix) with ESMTP id A4EE67B6EA
  >> 	for <htmliss@hades.mn.aptest.com>; Wed, 13 Sep 2006 12:49:41 -0500  
  >> (CDT)
  >> Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
  >> 	by athena.mn.aptest.com (8.12.11/8.12.11) with ESMTP id k8DHnfWl019073
  >> 	for <voyager-issues@mn.aptest.com>; Wed, 13 Sep 2006 12:49:41 -0500
  >> Resent-From: Shane McCarron <shane@aptest.com>
  >> Resent-To: voyager-issues@mn.aptest.com
  >> Resent-Date: Wed, 13 Sep 2006 12:49:37 -0500
  >> Resent-Message-Id: <450844B1.7060203@aptest.com>
  >> Resent-User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
  >> rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5
  >> Received: from hades.mn.aptest.com (hades.mn.aptest.com [208.42.66.14])
  >> 	(authenticated bits=0)
  >> 	by athena.mn.aptest.com (8.12.11/8.12.11) with ESMTP id k74GUmOI025975
  >> 	for <shane@mn.aptest.com>; Fri, 4 Aug 2006 11:30:48 -0500
  >> Received: from localhost (localhost [127.0.0.1])
  >> 	by hades.mn.aptest.com (Postfix) with ESMTP id 3D57D7B6DA
  >> 	for <shane@mn.aptest.com>; Fri,  4 Aug 2006 11:30:48 -0500 (CDT)
  >> Received: from hades.mn.aptest.com ([127.0.0.1])
  >>  by localhost (hades.mn.aptest.com [127.0.0.1]) (amavisd-new, port  
  >> 10024)
  >>  with LMTP id 25729-08 for <shane@mn.aptest.com>;
  >>  Fri,  4 Aug 2006 11:30:42 -0500 (CDT)
  >> Received: by hades.mn.aptest.com (Postfix, from userid 589)
  >> 	id A8A187B6D5; Fri,  4 Aug 2006 11:30:42 -0500 (CDT)
  >> Received: from www1.aptest.com (www1.aptest.com [217.160.243.170])
  >> 	by hades.mn.aptest.com (Postfix) with ESMTP id AD8607B6D5
  >> 	for <shane@mn.aptest.com>; Fri,  4 Aug 2006 11:30:41 -0500 (CDT)
  >> Received: from frink.w3.org (frink.w3.org [128.30.52.16])
  >> 	by www1.aptest.com (8.12.8/8.12.8) with ESMTP id k74GUeIL009618
  >> 	(version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO)
  >> 	for <shane@aptest.com>; Fri, 4 Aug 2006 12:30:41 -0400
  >> Received: from lists by frink.w3.org with local (Exim 4.50)
  >> 	id 1G92ZJ-0007AV-VG
  >> 	for www-html-editor-dist@listhub.w3.org; Fri, 04 Aug 2006 16:30:38  
  >> +0000
  >> Received: from lisa.w3.org ([128.30.52.41])
  >> 	by frink.w3.org with esmtp (Exim 4.50)
  >> 	id 1G92Z7-0006eG-O5
  >> 	for www-html-editor@listhub.w3.org; Fri, 04 Aug 2006 16:30:25 +0000
  >> Received: from sam.opera.com ([193.69.113.81])
  >> 	by lisa.w3.org with esmtp (Exim 4.50)
  >> 	id 1G92Yx-0001IE-Ss
  >> 	for www-html-editor@w3.org; Fri, 04 Aug 2006 16:30:25 +0000
  >> Received: from id-c0020.hsd1.ma.comcast.net
  >> (31-33-215.wireless.csail.mit.edu [128.31.33.215])
  >> 	(authenticated bits=0)
  >> 	by sam.opera.com (8.13.4/8.13.4/Debian-3sarge1) with ESMTP id
  >> k74GUBcU014539
  >> 	for <www-html-editor@w3.org>; Fri, 4 Aug 2006 16:30:13 GMT
  >> Date: Fri, 04 Aug 2006 12:30:06 -0400
  >> To: www-html-editor@w3.org
  >> From: "Anne van Kesteren" <annevk@opera.com>
  >> Organization: Opera Software
  >> Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8
  >> MIME-Version: 1.0
  >> Message-ID: <op.tdrpggnq64w2qv@id-c0020.hsd1.ma.comcast.net>
  >> User-Agent: Opera Mail/9.00 (Win32)
  >> Received-SPF: none (lisa.w3.org: domain of annevk@opera.com does not
  >> designate permitted sender hosts)
  >> X-W3C-Hub-Spam-Status: No, score=-2.6
  >> X-W3C-Scan-Sig: lisa.w3.org 1G92Yx-0001IE-Ss
  >> 6bb4744331f04a51b058c2a13891ff6c
  >> X-Original-To: www-html-editor@w3.org
  >> Subject: [XHTMLMod] usemap="" attribute should be URI, not IDREF
  >> X-Archived-At:
  >> http://www.w3.org/mid/op.tdrpggnq64w2qv@id-c0020.hsd1.ma.comcast.net
  >> Resent-From: www-html-editor@w3.org
  >> X-Mailing-List: <www-html-editor@w3.org> archive/latest/14896
  >> X-Loop: www-html-editor@w3.org
  >> Sender: www-html-editor-request@w3.org
  >> Resent-Sender: www-html-editor-request@w3.org
  >> Precedence: list
  >> List-Id: <www-html-editor.w3.org>
  >> List-Help: <http://www.w3.org/Mail/>
  >> List-Unsubscribe:
  >> <mailto:www-html-editor-request@w3.org?subject=unsubscribe>
  >> Resent-Message-Id: <E1G92ZJ-0007AV-VG@frink.w3.org>
  >> Resent-Date: Fri, 04 Aug 2006 16:30:37 +0000
  >> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.7.5
  >> (athena.mn.aptest.com [127.0.0.1]); Wed, 13 Sep 2006 12:49:41 -0500  
  >> (CDT)
  >> X-Greylist: Sender succeded SMTP AUTH authentication, not delayed by
  >> milter-greylist-1.7.5 (athena.mn.aptest.com [172.32.0.3]); Fri, 04 Aug
  >> 2006 11:30:48 -0500 (CDT)
  >> X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by
  >> milter-greylist-1.6 (www1.aptest.com [217.160.243.170]); Fri, 04 Aug
  >> 2006 12:30:41 -0400 (EDT)
  >> X-Virus-Scanned: by amavisd-new at mn.aptest.com
  >> Content-Transfer-Encoding: 8bit
  >> X-MIME-Autoconverted: from Quoted-Printable to 8bit by
  >> athena.mn.aptest.com id k74GUmOI025975
  >> X-UID: 472
  >> X-Keywords:
  >> X-Virus-Scanned: by amavisd-new at mn.aptest.com
  >>
  >>
  >> Dear HTML WG,
  >>
  >> http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_imapmodule
  >> states that the usemap="" attribute takes an IDREF. This should be
  >> changed
  >> to URI instead as that's what HTML4 has and what XHTML2 does. It would  
  >> be
  >> nice if this simple mistake from the first edition of the XHTML
  >> Modularization could be fixed in this edition.
  >>
  >> Regards,
  >>
  >>
  >
  >
  >
  
  
  

FOLLOWUP 3:


  From: "Steven Pemberton" <steven.pemberton@cwi.nl>
  
  On Wed, 13 Sep 2006 19:48:26 +0200, <annevk@opera.com> wrote:
  > Dear HTML WG,
  >
  > http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_imapmodule
  > states that the usemap="" attribute takes an IDREF. This should be  
  > changed
  > to URI instead as that's what HTML4 has and what XHTML2 does. It would be
  > nice if this simple mistake from the first edition of the XHTML
  > Modularization could be fixed in this edition.
  
  Anne, we agree with you in principle, though as you have seen not everyone  
  does.
  
  However, the aim of this revision is to add schema support, and not to  
  change the markup languages using Modularization. If we made this change,  
  languages that already use this modularization would become invalid.
  
  Therefore we will postpone adopting this change until we update the  
  languages using modularization.
  
  Thanks for the suggestion.
  
  Steven Pemberton
  For the HTML Working Group
  

FOLLOWUP 4:


  From: Brad Pettit <Brad.Pettit@microsoft.com>
  
  Is it possible to restrict to IDREF, optionally preceded by a hash? That eliminates the ambiguity as to support.
  
  -----Original Message-----
  From: Anne van Kesteren [mailto:annevk@opera.com]
  Sent: Wednesday, September 13, 2006 1:20 PM
  To: Brad Pettit; w3c-html-wg@w3.org
  Cc: voyager-issues@mn.aptest.com
  Subject: Re: [XHTMLMod] usemap="" attribute should be URI, not IDREF (PR#9641)
  
  On Wed, 13 Sep 2006 22:07:46 +0200, Brad Pettit <Brad.Pettit@microsoft.com> wrote:
  > There are problems with allowing URI instead of IDREF, which may
  > relate to why it was changed. I offered up some of the issues in this
  > 2002 email to the working group. I had done some of the image map
  > support in Internet Explorer for Macintosh, including external image
  > maps, and I believe the standard specification was vague in that area,
  > certainly not well-defined enough for XHTML.
  
  Whether or not you allow external resources to be loaded is besides the point, imho. This is a syntax issue.
  
  
  I would like a text/html XHTML document and an application/xml XHTML document to work the same. Having to write usemap="#foo" for one and usemap="foo" for the other isn't really a feasible solution.
  
  
  --
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  
  

FOLLOWUP 5:


  From: Brad Pettit <Brad.Pettit@microsoft.com>
  
  There are problems with allowing URI instead of IDREF, which may relate to why it was changed. I offered up some of the issues in this 2002 email to the working group. I had done some of the image map support in Internet Explorer for Macintosh, including external image maps, and I believe the standard specification was vague in that area, certainly not well-defined enough for XHTML.
  
  http://lists.w3.org/Archives/Public/www-dom/2002JulSep/0085.html
  
  Those issues would need to be addressed/discussed in the contents of XHTML before URI should be allowed as a usemap value.
  
  Brad Pettit
  Microsoft Corp.
  
  -----Original Message-----
  From: w3c-html-wg-request@w3.org [mailto:w3c-html-wg-request@w3.org] On Behalf Of annevk@opera.com
  Sent: Wednesday, September 13, 2006 10:48 AM
  To: w3c-html-wg@w3.org
  Cc: voyager-issues@mn.aptest.com
  Subject: [XHTMLMod] usemap="" attribute should be URI, not IDREF (PR#9641)
  
  
  
  Dear HTML WG,
  
  http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_imapmodule
  states that the usemap="" attribute takes an IDREF. This should be changed to URI instead as that's what HTML4 has and what XHTML2 does. It would be nice if this simple mistake from the first edition of the XHTML Modularization could be fixed in this edition.
  
  Regards,
  
  
  --
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  
  
  
  
  

FOLLOWUP 6:


  From: "Anne van Kesteren" <annevk@opera.com>
  
  On Tue, 13 Feb 2007 15:34:00 +0100, <voyager-issues@mn.aptest.com> wrote:
  > HTML Working Group Voyager Issue Tracking System notification
  >
  > shane moved PR#9641 from Modularization-abstractions to 6
  > Message summary for PR#9641
  > 	From: "Anne van Kesteren" <annevk@opera.com>
  > 	Subject: [XHTMLMod] usemap="" attribute should be URI, not IDREF
  > 	Date: Fri, 04 Aug 2006 12:30:06 -0400
  > 	0 replies 	6 followups
  > 	Notes: The working group resolved that we cannot change the attribute  
  > value type at
  > this time, since it would mean an incompatible change for existing markup
  > languages.  We do expect  to change it in a future edition of XHTML
  > Modularization for use in future XHTML family markup languages.
  
  Please note my dissatisfaction with this resolution clearly in the  
  disposition of comments. Keeping it an IDREF makes it more annoying to  
  implement and only causes confusion to authors when switching to XHTML  
   from HTML4.
  
  
  > ====> ORIGINAL MESSAGE FOLLOWS <====
  >
  >> From shane@aptest.com  Wed Sep 13 12:48:18 2006
  > Received: from hades.mn.aptest.com (hades.mn.aptest.com [208.42.66.14])
  > 	by htmlwg.mn.aptest.com (8.13.1/8.13.1) with ESMTP id k8DHmI7W031843
  > 	for <htmliss@htmlwg.mn.aptest.com>; Wed, 13 Sep 2006 12:48:18 -0500
  > Received: by hades.mn.aptest.com (Postfix)
  > 	id 48BE17B6BE; Wed, 13 Sep 2006 12:49:47 -0500 (CDT)
  > Delivered-To: htmliss@hades.mn.aptest.com
  > Received: from localhost (localhost [127.0.0.1])
  > 	by hades.mn.aptest.com (Postfix) with ESMTP id 101417B6B7
  > 	for <htmliss@hades.mn.aptest.com>; Wed, 13 Sep 2006 12:49:47 -0500 (CDT)
  > Received: from hades.mn.aptest.com ([127.0.0.1])
  >  by localhost (hades.mn.aptest.com [127.0.0.1]) (amavisd-new, port 10024)
  >  with LMTP id 15207-03 for <htmliss@hades.mn.aptest.com>;
  >  Wed, 13 Sep 2006 12:49:42 -0500 (CDT)
  > Received: by hades.mn.aptest.com (Postfix, from userid 589)
  > 	id 960C57B782; Wed, 13 Sep 2006 12:49:42 -0500 (CDT)
  > Received: from athena.mn.aptest.com (atlas.mn.aptest.com [208.42.66.13])
  > 	by hades.mn.aptest.com (Postfix) with ESMTP id A4EE67B6EA
  > 	for <htmliss@hades.mn.aptest.com>; Wed, 13 Sep 2006 12:49:41 -0500 (CDT)
  > Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
  > 	by athena.mn.aptest.com (8.12.11/8.12.11) with ESMTP id k8DHnfWl019073
  > 	for <voyager-issues@mn.aptest.com>; Wed, 13 Sep 2006 12:49:41 -0500
  > Resent-From: Shane McCarron <shane@aptest.com>
  > Resent-To: voyager-issues@mn.aptest.com
  > Resent-Date: Wed, 13 Sep 2006 12:49:37 -0500
  > Resent-Message-Id: <450844B1.7060203@aptest.com>
  > Resent-User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;  
  > rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5
  > Received: from hades.mn.aptest.com (hades.mn.aptest.com [208.42.66.14])
  > 	(authenticated bits=0)
  > 	by athena.mn.aptest.com (8.12.11/8.12.11) with ESMTP id k74GUmOI025975
  > 	for <shane@mn.aptest.com>; Fri, 4 Aug 2006 11:30:48 -0500
  > Received: from localhost (localhost [127.0.0.1])
  > 	by hades.mn.aptest.com (Postfix) with ESMTP id 3D57D7B6DA
  > 	for <shane@mn.aptest.com>; Fri,  4 Aug 2006 11:30:48 -0500 (CDT)
  > Received: from hades.mn.aptest.com ([127.0.0.1])
  >  by localhost (hades.mn.aptest.com [127.0.0.1]) (amavisd-new, port 10024)
  >  with LMTP id 25729-08 for <shane@mn.aptest.com>;
  >  Fri,  4 Aug 2006 11:30:42 -0500 (CDT)
  > Received: by hades.mn.aptest.com (Postfix, from userid 589)
  > 	id A8A187B6D5; Fri,  4 Aug 2006 11:30:42 -0500 (CDT)
  > Received: from www1.aptest.com (www1.aptest.com [217.160.243.170])
  > 	by hades.mn.aptest.com (Postfix) with ESMTP id AD8607B6D5
  > 	for <shane@mn.aptest.com>; Fri,  4 Aug 2006 11:30:41 -0500 (CDT)
  > Received: from frink.w3.org (frink.w3.org [128.30.52.16])
  > 	by www1.aptest.com (8.12.8/8.12.8) with ESMTP id k74GUeIL009618
  > 	(version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO)
  > 	for <shane@aptest.com>; Fri, 4 Aug 2006 12:30:41 -0400
  > Received: from lists by frink.w3.org with local (Exim 4.50)
  > 	id 1G92ZJ-0007AV-VG
  > 	for www-html-editor-dist@listhub.w3.org; Fri, 04 Aug 2006 16:30:38 +0000
  > Received: from lisa.w3.org ([128.30.52.41])
  > 	by frink.w3.org with esmtp (Exim 4.50)
  > 	id 1G92Z7-0006eG-O5
  > 	for www-html-editor@listhub.w3.org; Fri, 04 Aug 2006 16:30:25 +0000
  > Received: from sam.opera.com ([193.69.113.81])
  > 	by lisa.w3.org with esmtp (Exim 4.50)
  > 	id 1G92Yx-0001IE-Ss
  > 	for www-html-editor@w3.org; Fri, 04 Aug 2006 16:30:25 +0000
  > Received: from id-c0020.hsd1.ma.comcast.net  
  > (31-33-215.wireless.csail.mit.edu [128.31.33.215])
  > 	(authenticated bits=0)
  > 	by sam.opera.com (8.13.4/8.13.4/Debian-3sarge1) with ESMTP id  
  > k74GUBcU014539
  > 	for <www-html-editor@w3.org>; Fri, 4 Aug 2006 16:30:13 GMT
  > Date: Fri, 04 Aug 2006 12:30:06 -0400
  > To: www-html-editor@w3.org
  > From: "Anne van Kesteren" <annevk@opera.com>
  > Organization: Opera Software
  > Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8
  > MIME-Version: 1.0
  > Message-ID: <op.tdrpggnq64w2qv@id-c0020.hsd1.ma.comcast.net>
  > User-Agent: Opera Mail/9.00 (Win32)
  > Received-SPF: none (lisa.w3.org: domain of annevk@opera.com does not  
  > designate permitted sender hosts)
  > X-W3C-Hub-Spam-Status: No, score=-2.6
  > X-W3C-Scan-Sig: lisa.w3.org 1G92Yx-0001IE-Ss  
  > 6bb4744331f04a51b058c2a13891ff6c
  > X-Original-To: www-html-editor@w3.org
  > Subject: [XHTMLMod] usemap="" attribute should be URI, not IDREF
  > X-Archived-At:  
  > http://www.w3.org/mid/op.tdrpggnq64w2qv@id-c0020.hsd1.ma.comcast.net
  > Resent-From: www-html-editor@w3.org
  > X-Mailing-List: <www-html-editor@w3.org> archive/latest/14896
  > X-Loop: www-html-editor@w3.org
  > Sender: www-html-editor-request@w3.org
  > Resent-Sender: www-html-editor-request@w3.org
  > Precedence: list
  > List-Id: <www-html-editor.w3.org>
  > List-Help: <http://www.w3.org/Mail/>
  > List-Unsubscribe:  
  > <mailto:www-html-editor-request@w3.org?subject=unsubscribe>
  > Resent-Message-Id: <E1G92ZJ-0007AV-VG@frink.w3.org>
  > Resent-Date: Fri, 04 Aug 2006 16:30:37 +0000
  > X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.7.5  
  > (athena.mn.aptest.com [127.0.0.1]); Wed, 13 Sep 2006 12:49:41 -0500 (CDT)
  > X-Greylist: Sender succeded SMTP AUTH authentication, not delayed by  
  > milter-greylist-1.7.5 (athena.mn.aptest.com [172.32.0.3]); Fri, 04 Aug  
  > 2006 11:30:48 -0500 (CDT)
  > X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by  
  > milter-greylist-1.6 (www1.aptest.com [217.160.243.170]); Fri, 04 Aug  
  > 2006 12:30:41 -0400 (EDT)
  > X-Virus-Scanned: by amavisd-new at mn.aptest.com
  > Content-Transfer-Encoding: 8bit
  > X-MIME-Autoconverted: from Quoted-Printable to 8bit by  
  > athena.mn.aptest.com id k74GUmOI025975
  > X-UID: 472
  > X-Keywords:
  > X-Virus-Scanned: by amavisd-new at mn.aptest.com
  >
  >
  > Dear HTML WG,
  >
  > http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_imapmodule
  > states that the usemap="" attribute takes an IDREF. This should be  
  > changed
  > to URI instead as that's what HTML4 has and what XHTML2 does. It would be
  > nice if this simple mistake from the first edition of the XHTML
  > Modularization could be fixed in this edition.
  >
  > Regards,
  >
  >
  
  
  
  -- 
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  

FOLLOWUP 7:


  From: "Anne van Kesteren" <annevk@opera.com>
  
  On Tue, 17 Oct 2006 17:37:04 +0200, Steven Pemberton  
  <steven.pemberton@cwi.nl> wrote:
  > Anne, we agree with you in principle, though as you have seen not  
  > everyone does.
  
  Well, that was more about what it would mean for it to be "a URI" I think.  
  Whether it would mean supporting external maps or not. I think it should  
  be a same-document reference, but the syntax should be a URI for  
  consistency.
  
  
  > However, the aim of this revision is to add schema support, and not to  
  > change the markup languages using Modularization. If we made this  
  > change, languages that already use this modularization would become  
  > invalid.
  
  Which is exactly what I want. XHTML 1.1 is creating bug reports in web  
  browsers on image maps exactly because of mistakes like this.
  
  
  > Therefore we will postpone adopting this change until we update the  
  > languages using modularization.
  
  I disagree with this descision. I think it's about time that this change  
  is reverted.
  
  
  -- 
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  

FOLLOWUP 8:


  From: "Anne van Kesteren" <annevk@opera.com>
  
  On Wed, 13 Sep 2006 22:38:10 +0200, Brad Pettit  
  <Brad.Pettit@microsoft.com> wrote:
  > Is it possible to restrict to IDREF, optionally preceded by a hash? That  
  > eliminates the ambiguity as to support.
  
  It also introduces extra cost for parsing IDREF values. I don't think this  
  is a good solution either. What's wrong with having URI and requiring the  
  reference to be "local?" SVG does that as well for a number of references.
  
  It keeps the syntax consistent with HTML 4.01, XHTML 1.0 and most content  
  out there and removes some confusion people have on whether or not the  
  XHTML Modularization (and XHTML 1.1 which is build on that) is correct  
  regarding this.
  
  
  -- 
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  

1.3 XHTML 1.1 modularization last call: basic tables module

PROBLEM ID: 9616

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: Agree

NOTES:

  The working group agrees to change the text. The Implementations did this
  already.

ORIGINAL MESSAGE:

  From: Frank Ellermann <nobody@xyzzy.claranet.de>
  
  
  That might be a typo or minor bug:  In 5.22 (legacy module) the
  draft says (in a note) that align, bgcolor, height, width, and
  nowrap="nowrap" if used with <table>, <tr>, <th>, or <td> need
  the tables module.  It should be the basic tables _or_ tables
  module (in the same style as the note about <input>).
  
  Frank
  
  

REPLY 1:


  From: Shane McCarron <voyager-issues@mn.aptest.com>
  
  The working group agrees to change the text. The Implementations did this
  already.

1.4 [XHTMLMod] global attributes

PROBLEM ID: 9640

STATE: Approved and Implemented
EDIT: None
RESOLUTION: Modify and Accept
USER POSITION: Disagree

NOTES:

  Actually, @dir is included in the I18N collection when the Bi-Directional Text
  Module is activated.  The intent is that you only need support @dir when your
  markup language supports I18N.  The I18N collection is included in the Common
  collection, so when that module is activated @dir is available in Common.

ORIGINAL MESSAGE:

  From: "Anne van Kesteren" <annevk@opera.com>
  
  
  Dear HTML WG,
  
  http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_commonatts  
  doesn't list the dir="" attribute anymore which was part of HTML4. I  
  suggest changing the Core attribute collection to include at least the  
  following attributes and let it apply to every element for consistency  
  with DOM Level 2 HTML:
  
    * id="";
    * title="";
    * class="";
    * dir="";
    * xml:lang="".
  
  It really doesn't make sense to have these attribute available through the  
  DOM (and when you set them they change the content attribute as well) on  
  each element and not from the markup.
  
  Especially the omission of the dir="" attribute seems weird. Was there any  
  reason for that?
  
  Regards,
  
  
  -- 
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  
  

FOLLOWUP 1:


  From: "Anne van Kesteren" <annevk@opera.com>
  
  On Wed, 20 Sep 2006 13:57:33 -0000, Shane McCarron  
  <voyager-issues@mn.aptest.com> wrote:
  > Actually, @dir is included in the I18N collection when the  
  > Bi-Directional Text Module is activated.  The intent is that you only
  > need support @dir when your markup language supports I18N.
  
  I don't really see how it could not support it...
  
  
  >  The I18N collection is included in the Common collection, so when that
  >  module is activated @dir is available in Common.
  >
  > We will make this clearer in the next draft.
  
  But that means several elements don't get the dir="" attribute and they  
  should... The attribute should always apply to all elements regardless of  
  where those elements are used.
  
  
  I also note that you didn't respond to the other part of my comment.
  
  
  -- 
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  
  

FOLLOWUP 2:


  From: "Steven Pemberton" <steven.pemberton@cwi.nl>
  
  Hi Anne,
  
  On Wed, 13 Sep 2006 19:48:17 +0200, <annevk@opera.com> wrote:
  > Dear HTML WG,
  >
  > http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_commonatts
  > doesn't list the dir="" attribute anymore which was part of HTML4.
  
  dir is part of the Bi-directional text module
  http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_bdomodule
  
  When this module is included, dir gets added to the Common set of  
  attributes.
  
  So when you are building a language with Modularization, you have to  
  explicitely state that you are supporting bi-directional text. All W3C  
  family-members of XHTML do this.
  
  > I suggest changing the Core attribute collection to include at least the
  > following attributes and let it apply to every element for consistency
  > with DOM Level 2 HTML:
  >
  >   * id="";
  >   * title="";
  >   * class="";
  >   * dir="";
  >   * xml:lang="".
  
  Core consists of xml:space, class, id, title
  I18N consists of xml:lang and dir
  
  These are both a part of the set called Common, which are used on most  
  elements.
  
  The only elements that don't carry Common or I18N are:
  
  	br     Core
  	param  id
  	iframe Core
  	script
  	base   id
  
  We feel that just because the DOM includes an attribute on an element,  
  that doesn't automatically imply it should be exposed in the markup. There  
  are many things in the DOM that are not.
  
  But in any case, as I said in my earlier email, it is not the aim of this  
  revision of Modularization to change the markup languages using it, even  
  if we felt it was a good idea to add dir to the above elements.
  
  Hope this helps.
  
  Best wishes,
  
  Steven Pemberton
  For the HTML Working Group.
  

FOLLOWUP 3:


  From: "Mark Birbeck" <mark.birbeck@x-port.net>
  
  Hi Anne,
  
  The aim of M12N 1.1 is to create modules that can be combined to
  create new languages, or extend existing ones. So @dir hasn't been
  "removed" from any language, since there is no 'language' defined in
  the M12N spec. However, @dir is still available, should you wish to
  use the bi-directional text features in your 'new' language (or some
  extension to an existing language) and is defined here:
  
  http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_bdomodule
  
  Hopefully that explains why @dir shouldn't actually be in the Core or
  Common attribute collections. The attributes you list will also be
  found in one or other of the various attribute collections.
  
  All the best,
  
  Mark
  
  On 13/09/06, annevk@opera.com <annevk@opera.com> wrote:
  >
  >
  > Dear HTML WG,
  >
  > http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_commonatts
  > doesn't list the dir="" attribute anymore which was part of HTML4. I
  > suggest changing the Core attribute collection to include at least the
  > following attributes and let it apply to every element for consistency
  > with DOM Level 2 HTML:
  >
  >   * id="";
  >   * title="";
  >   * class="";
  >   * dir="";
  >   * xml:lang="".
  >
  > It really doesn't make sense to have these attribute available through the
  > DOM (and when you set them they change the content attribute as well) on
  > each element and not from the markup.
  >
  > Especially the omission of the dir="" attribute seems weird. Was there any
  > reason for that?
  >
  > Regards,
  >
  >
  > --
  > Anne van Kesteren
  > <http://annevankesteren.nl/>
  > <http://www.opera.com/>
  >
  >
  >
  >
  >
  
  
  -- 
  Mark Birbeck
  CEO
  x-port.net Ltd.
  
  e: Mark.Birbeck@x-port.net
  t: +44 (0) 20 7689 9232
  w: http://www.formsPlayer.com/
  b: http://internet-apps.blogspot.com/
  
  Download our XForms processor from
  http://www.formsPlayer.com/
  

FOLLOWUP 4:


  From: "Steven Pemberton" <steven.pemberton@cwi.nl>
  
  On Wed, 18 Oct 2006 01:12:19 +0200, Anne van Kesteren <annevk@opera.com>  
  wrote:
  
  > On Tue, 17 Oct 2006 18:03:21 +0200, Steven Pemberton  
  > <steven.pemberton@cwi.nl> wrote:
  >> So when you are building a language with Modularization, you have to  
  >> explicitely state that you are supporting bi-directional text. All W3C  
  >> family-members of XHTML do this.
  >
  > Given that the feature is also available in some form in Unicode this  
  > doesn't make much sense to me. I also don't really understand why such a  
  > feature should be optional.
  
  It's up to the language designer. It's not required or disallowed by the  
  modules.
  
  >> We feel that just because the DOM includes an attribute on an element,  
  >> that doesn't automatically imply it should be exposed in the markup.  
  >> There are many things in the DOM that are not.
  >
  > When you serialize the DOM back to markup this creates problems.
  
  So why would you want to have <br dir="rtl"/>? Just because it's in the  
  DOM doesn't mean it makes sense. By the way, this is not a new invention.  
  dir has never been on these elements!
  
  >> But in any case, as I said in my earlier email, it is not the aim of  
  >> this revision of Modularization to change the markup languages using  
  >> it, even if we felt it was a good idea to add dir to the above elements.
  >
  > target="" is one thing which has been added, I don't really see why this  
  > can't be considered.
  
  I suspect you are confused about what Modularization is. Nothing has  
  changed with respect to target in Modularization. It is being added to  
  some markup languages that use Modularization, but that is up to those  
  languages, not to Modularization.
  
  Modularization is like a programming language library. It is a collection  
  of modules you might like to use in a markup language. To define a  
  language you say:
  
  	My language consists of modules A+B+C
  
  and you're done.
  
  If the designer now wants to add target to the langauge, it becomes:
  
  	My language consists of modules A+B+C+target
  
  However, if we changed the modules, then *existing* languages would change  
  without the designers having any say in the matter. That is why we said in  
  the last call announcement:
  
  "Since the main purpose of this version is to add support for XML Schemas,
  comments on the particular structure of modules are out of scope, since it
  is a requirement that existing drivers continue to work."
  http://lists.w3.org/Archives/Member/chairs/2006JulSep/0003.html
  
  This is why your current comments cannot be adopted for this version of  
  Mosularization.
  
  Hope this helps.
  
  Best wishes,
  
  Steven
  

FOLLOWUP 5:


  From: "Steven Pemberton" <steven.pemberton@cwi.nl>
  
  I see now what the problem is.
  
  The table at
  
  http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_commonatts
  
  lists all the attribute values possible, and then under says that in some  
  cases the sets are smaller. That hasn't been done for the I18N set, which  
  is a mistake.
  
  So dir should be listed in the table, with a note that it is only added  
  when the I18N module is selected.
  
  Steven
  
  
  On Fri, 15 Sep 2006 15:15:38 +0200, Mark Birbeck <mark.birbeck@x-port.net>  
  wrote:
  
  >
  > Hi Anne,
  >
  > The aim of M12N 1.1 is to create modules that can be combined to
  > create new languages, or extend existing ones. So @dir hasn't been
  > "removed" from any language, since there is no 'language' defined in
  > the M12N spec. However, @dir is still available, should you wish to
  > use the bi-directional text features in your 'new' language (or some
  > extension to an existing language) and is defined here:
  >
  > http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_bdomodule
  >
  > Hopefully that explains why @dir shouldn't actually be in the Core or
  > Common attribute collections. The attributes you list will also be
  > found in one or other of the various attribute collections.
  >
  > All the best,
  >
  > Mark
  >
  > On 13/09/06, annevk@opera.com <annevk@opera.com> wrote:
  >>
  >>
  >> Dear HTML WG,
  >>
  >> http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_commonatts
  >> doesn't list the dir="" attribute anymore which was part of HTML4. I
  >> suggest changing the Core attribute collection to include at least the
  >> following attributes and let it apply to every element for consistency
  >> with DOM Level 2 HTML:
  >>
  >>   * id="";
  >>   * title="";
  >>   * class="";
  >>   * dir="";
  >>   * xml:lang="".
  >>
  >> It really doesn't make sense to have these attribute available through  
  >> the
  >> DOM (and when you set them they change the content attribute as well) on
  >> each element and not from the markup.
  >>
  >> Especially the omission of the dir="" attribute seems weird. Was there  
  >> any
  >> reason for that?
  >>
  >> Regards,
  >>
  >>
  >> --
  >> Anne van Kesteren
  >> <http://annevankesteren.nl/>
  >> <http://www.opera.com/>
  >>
  >>
  >>
  >>
  >>
  >
  >
  
  
  

FOLLOWUP 6:


  From: "Anne van Kesteren" <annevk@opera.com>
  
  On Tue, 17 Oct 2006 18:03:21 +0200, Steven Pemberton  
  <steven.pemberton@cwi.nl> wrote:
  > So when you are building a language with Modularization, you have to  
  > explicitely state that you are supporting bi-directional text. All W3C  
  > family-members of XHTML do this.
  
  Given that the feature is also available in some form in Unicode this  
  doesn't make much sense to me. I also don't really understand why such a  
  feature should be optional.
  
  
  > We feel that just because the DOM includes an attribute on an element,  
  > that doesn't automatically imply it should be exposed in the markup.  
  > There are many things in the DOM that are not.
  
  When you serialize the DOM back to markup this creates problems.
  
  
  > But in any case, as I said in my earlier email, it is not the aim of  
  > this revision of Modularization to change the markup languages using it,  
  > even if we felt it was a good idea to add dir to the above elements.
  
  target="" is one thing which has been added, I don't really see why this  
  can't be considered.
  
  
  -- 
  Anne van Kesteren
  <http://annevankesteren.nl/>
  <http://www.opera.com/>
  
  

REPLY 1:


  From: Shane McCarron <voyager-issues@mn.aptest.com>
  
  Actually, @dir is included in the I18N collection when the Bi-Directional Text
  Module is activated.  The intent is that you only need support @dir when your
  markup language supports I18N.  The I18N collection is included in the Common
  collection, so when that module is activated @dir is available in Common.
  
  We will make this clearer in the next draft.

1.5 XHTML 1.1 modularization last call: legacy module

PROBLEM ID: 9615

STATE: Approved and Implemented
EDIT: None
RESOLUTION: Reject
USER POSITION: No Response

NOTES:

  Thanks for some nice ideas.  Unfortunately, the aim of this revision was not to
  refactor the modules.  Also, "legacy" in the XHTML M12N context are things from
  HTML 4, not things just from HTML 3.02.

ORIGINAL MESSAGE:

  From: Frank Ellermann <nobody@xyzzy.claranet.de>
  
  
  In http://permalink.gmane.org/gmane.org.w3c.announce/175 I
  "stumbled" over the "XHTML Modularization 1.1" last call, and
  looked into
  http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/changes.html
  
  One of the minor fixes is the deprecation of the legacy module.
  
  One (potential) problem I have with this module, apparently I
  can get either all of it, or nothing, see 3.1 (4) and 3.2 (4).
  
  Wrt the legacy module I'd be interested to get the minimum
  that's needed for new "backwards compatible" content, where
  "backwards compatible" would be a say HTML 3.2 browser.  These
  old browsers have no idea what XHTML, CSS, DOCTYPE, DTDs, etc.
  is, from that POV the legacy module is irrelevant.
  
  But it could help me if I want to use tools like the validator
  with new backwards compatible content.  For that it would help
  to split the legacy module into "cruft", stuff that's really
  unnecessary for content created today, and the rest, (arguably)
  necessary for legacy browsers.
  
  The "cruft" category would cover elements and attributes like
  <basefont>, <dir>, <menu>, <isindex>, <center>, <strike>, and
  the face + size attributes of <font>.
  
  In the case of <center> because <div align="center"> will do
  if needed, for <strike> because <s> is good (or bad) enough.
  
  Keeping <s>, <u>, and the color attribute of <font> in a then
  "decrufted" legacy module.  For the second part of the legacy
  module enumerating several attributes I'm not sure which parts
  are unnecessary cruft, and what's potentially useful for new
  content.
  
  Starting to guess I'd say that background for <body> is cruft,
  compact="compact" for <dl>, and several others, but not all.
  
  For align in <legend> I don't get the idea, that's used with
  the forms module.  The forms module cannot be used together
  with the basic forms module.  Legacy browsers won't support
  the forms module, so why should they care about a legacy align
  of <legend> ?
  
  Would it be possible to split the legacy module in this way ?
  
  Frank
  
  

FOLLOWUP 1:


  From: Frank Ellermann <nobody@xyzzy.claranet.de>
  
  Shane McCarron wrote:
   
  > the aim of this revision was not to refactor the modules.
  
  Okay, I guess I could still use all modules I like for a
  kind of "minimal XHTML compatible with HTML 3.2 browsers",
  eliminating cruft that's not necessary for this purpose.
  
  Frank
  
  

REPLY 1:


  From: Shane McCarron <voyager-issues@mn.aptest.com>
  
  Thanks for some nice ideas.  Unfortunately, the aim of this revision was not to
  refactor the modules.  Also, "legacy" in the XHTML M12N context are things from
  HTML 4, not things just from HTML 3.02.

1.6 M12N 1.1 Intrinsic Events Module does not describe events attribute collection

PROBLEM ID: 9607

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: Agree

NOTES:

  Group agrees that this change would make the spec more readable.

ORIGINAL MESSAGE:

  From: shane@aptest.com
  
  Full_Name: Shane McCarron
  Submission from: (NULL) (71.34.6.137)
  
  
  This is a Last Call comment.
  
  The Intrinsic Events Module activates the events attribute collection, but does
  not clearly enumerate the attributes.  While these are listed in the attribute
  collection description elsewhere in the document, these are not even hyperlinked
  from the module itself.
  
  The module should list all the attributes that are activated.  It should also
  link back to the attribute collection definition.
  

1.7 XHTML M12N 1.1 Last Call Comment: attributes in collections and on

PROBLEM ID: 9610

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: Agree

NOTES:

  The working group agrees this was the intent.

ORIGINAL MESSAGE:

  From: Shane McCarron <shane@aptest.com>
  
  It is possible for a module to extend an attribute collection in such a 
  way that an attribute will show up in that collection, and then AGAIN on 
  some element where the attribute was explicitly referenced (e.g., if 
  href were added to common, it would also be explicitly referenced in the 
  definition of the "a" element).  I propose that the following text be 
  added to the section on Attribute Collections:
  
   "For the avoidance of doubt, if an attribute collection is referenced 
  by an element, and an attribute in that collection is also explicitly 
  referenced by the element, this does NOT cause a conflict.  It is up to 
  the markup language schema implementation to update the content models 
  accordingly."
  
  -- 
  Shane P. McCarron                          Phone: +1 763 786-8160 x120
  Managing Director                            Fax: +1 763 786-8180
  ApTest Minnesota                            Inet: shane@aptest.com
  
  

2. Modularization-DTDs

This section describes issues relating to the DTD implementation of the modules in Modularization of XHTML.

2.1 XHTML Modularization 1.1: 9 errors with the 'id' attribute (Specification + DTD + XML Schemas)

PROBLEM ID: 9613

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: Agree

NOTES:

  These were indeed all incorrect and have been repaired.

ORIGINAL MESSAGE:

  From: "Alexandre Alapetite" <alexandre@alapetite.net>
  
  
  Dear HTML editors,
  Please read bellow the 9 error reports regarding the 'id' attribute in the working draft for XHTML Modularization. Errors are in
  the specification and/or in the DTD and/or in XML Schemas.
  
  1) The XHTML Modularization 1.1 specification does not list the 'id' attribute for the 'script' element as I think it should
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_scriptmodule].
  
  Indeed, chapter I section 5 says "Added the id attribute to every element"
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/changes.html#a_changes].
  The DTD does allow this 'id' attribute for 'script'. See
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/dtd_module_defs.html#a_module_Scripting] and line 40 of
  xhtml-script-1.mod
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/DTD/xhtml-script-1.mod].
  
  Lines 37-45 of xhtml-script-1.mod (no problem):
  
   <!ATTLIST %script.qname;
         %XHTML.xmlns.attrib;
         %id.attrib;
         charset      %Charset.datatype;       #IMPLIED
         type         %ContentType.datatype;   #REQUIRED
         src          %URI.datatype;           #IMPLIED
         defer        ( defer )                #IMPLIED
   >
  
  
  Since there is still no XML Schema driver (e.g. XHTML Basic 1.1, XHTML 1.1) to test XHTML Modularization, it is pretty hard to
  review the XML Schemas for XHTML Modularization.
  
  2) Anyway, the XML Schema does contain the same mistake as the specification: the 'id' element has not been added for the
  'script' element. See
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/schema_module_defs.html#a_smodule_Scripting] and lines 39 to 50 of
  xhtml-script-1.xsd
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/SCHEMA/xhtml-script-1.xsd].
  
  Lines 39-50 of xhtml-script-1.xsd (see line added for 'id'):
  
      <xs:attributeGroup name="xhtml.script.attlist">
          <xs:attribute name="charset" type="xh11d:Charset"/>
          <xs:attribute name="type" type="xh11d:ContentType" use="required"/>
          <xs:attribute name="src" type="xh11d:URI"/>
          <xs:attribute name="defer">
              <xs:simpleType>
                  <xs:restriction base="xs:NMTOKEN">
                      <xs:enumeration value="defer"/>
                  </xs:restriction>
              </xs:simpleType>
          </xs:attribute>
          <xs:attributeGroup ref="xhtml.id"/><!-- Line added for 'id' -->
      </xs:attributeGroup>
  
  
  3) While both the DTD and the specification are OK for the 'id' element for the 'style' element, the XML Schema is not...
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_stylemodule]
  See 'id' missing in
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/schema_module_defs.html#a_smodule_Style_Sheet] and lines 39 to 44 of
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/SCHEMA/xhtml-style-1.xsd]
  
  Lines 39-44 of xhtml-style-1.xsd (see line added for 'id'):
  
      <xs:attributeGroup name="xhtml.style.attlist">
          <xs:attributeGroup ref="xhtml.title"/>
          <xs:attributeGroup ref="xhtml.I18n.attrib"/>
          <xs:attributeGroup ref="xhtml.id"/><!-- Line added for 'id' -->
          <xs:attribute name="type" type="xh11d:ContentType" use="required"/>
          <xs:attribute name="media" type="xh11d:MediaDesc"/>
      </xs:attributeGroup
  
  
  4) While the specification is fine, there are 3 additional similar errors for the 'id' element in XML Schemas for the 'html',
  'head' and 'title' elements.
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_structuremodule]. See 'id' missing in
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/schema_module_defs.html#a_smodule_Structure] and
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/SCHEMA/xhtml-struct-1.xsd].
  
  Example for 'title', lines 24-28 of xhtml-struct-1.xsd (see line added for 'id'):
  
      <xs:attributeGroup
          name="xhtml.title.attlist">
          <xs:attributeGroup
              ref="xhtml.I18n.attrib"/>
          <xs:attributeGroup
              ref="xhtml.id"/><!-- Line added for 'id' -->
      </xs:attributeGroup>
  
  
  5) Those 3 errors about the 'id' element for the 'html', 'head' and 'title' elements are also in the DTD. See 'id' missing in
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/dtd_module_defs.html#a_module_Structure] and
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/DTD/xhtml-struct-1.mod]
  
  Example for 'head', lines 73-77 of xhtml-struct-1.mod (no 'id', should contain %id.attrib;):
  
   <!ATTLIST %head.qname;
         %XHTML.xmlns.attrib;
         %I18n.attrib;
         %profile.attrib;
   >
  
  Should be like:
  
   <!ATTLIST %head.qname;
         %XHTML.xmlns.attrib;
         %I18n.attrib;
         %profile.attrib;
         %id.attrib;
   >
  
  
  Once again, the only proper way to test those DTDs and XML Schemas correctly is to provide stable drivers, to compile and to run
  them on a pool of test documents.
  
  I have written to the Quality Assurance Dev group to ask them if they could maybe ensure this task to be done
  [http://lists.w3.org/Archives/Public/public-qa-dev/2006Jul/0021.html].
  
  Cordially,
  Alexandre
  http://alexandre.alapetite.net
  
  

REPLY 1:


  From: Shane McCarron <voyager-issues@mn.aptest.com>
  
  These were indeed all incorrect.  Fixed for the next draft.

3. Modularization-Schemas

3.1 [XHTML 1.1 2nd Ed.] Target Module in Schemas

PROBLEM ID: 9721

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: Agree

NOTES:

  This was an editorial error.

ORIGINAL MESSAGE:

  From: Martin Kliehm <martin.kliehm@bluemars.net>
  
  
  Dear editors,
  
  first let me express my relief that the target module will find its way 
  to the XHTML 1.1 DTD, finally. That's great news since bolting the 
  target module onto the XHTML 1.1 driver was the only reason for me to 
  create customized DTDs, and playing with DTDs is no fun at all.
  
  However, correct me if I'm wrong, I'm afraid the target module is NOT 
  included in the XHTML 1.1 Schema.
  
  Please make sure the target module will be in the final version.
  
  Best regards,
     Martin Kliehm
  

FOLLOWUP 1:


  From: Shane McCarron <shane@aptest.com>
  
  I have repaired this in the source tree.
  
  martin.kliehm@bluemars.net wrote:
  >
  >
  >
  >
  >
  > Dear editors,
  >
  > first let me express my relief that the target module will find its way
  > to the XHTML 1.1 DTD, finally. That's great news since bolting the
  > target module onto the XHTML 1.1 driver was the only reason for me to
  > create customized DTDs, and playing with DTDs is no fun at all.
  >
  > However, correct me if I'm wrong, I'm afraid the target module is NOT
  > included in the XHTML 1.1 Schema.
  >
  > Please make sure the target module will be in the final version.
  >
  > Best regards,
  >    Martin Kliehm
  >
  >
  
  -- 
  Shane P. McCarron                          Phone: +1 763 786-8160 x120
  Managing Director                            Fax: +1 763 786-8180
  ApTest Minnesota                            Inet: shane@aptest.com
  
  

3.2 Uncorrected errors in the XML Schema driver for XHTML 1.1 and updating problem (draft of 16 February 2007)

PROBLEM ID: 9715

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Modify and Accept
USER POSITION: No Response

NOTES:

  Thank you for your comments.  Most of these issues have been corrected.
  
  With regard to the lazy type issues, the working group was concerned that
  making
  the type checking overly constrained had the risk of incorrectly flagging valid
  documents as invalid; this is mostly because the regular expressions and RFCs
  involved are so complicated we are not confident that all legal cases will be
  addressed.

ORIGINAL MESSAGE:

  From: "Alexandre Alapetite" <alexandre@alapetite.net>
  
  This is a multi-part message in MIME format.
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0
  Content-Type: text/plain;
  	charset="us-ascii"
  Content-Transfer-Encoding: 7bit
  
  Dear HTML editors,
  Some errors in the XML Schema driver for XHTML 1.1 have been reported on www-html-editor@w3.org and www-html@w3.org for a long
  time. This driver has just been updated in the current "XHTML 1.1" working draft
  [http://www.w3.org/TR/2007/WD-xhtml11-20070216/], but without addressing the reported issues:
  
  1) As you may know, XHTML 1.1 is based on XHTML Modularisation. Could you therefore please update the XHTML Modularisation
  schemas in [http://www.w3.org/MarkUp/SCHEMA/] (copy dated 20 April 2005) with their latest version, as available in
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/SCHEMA/] (dated 5 July 2006), so that there is a chance to have a
  functional schema?
  
  Has anybody tried to compile the XHTML 1.1 driver and its dependencies from its official location
  [http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd]? It currently fails due to old versions of XHTML Modularisation schemas. After the
  updating, there are still the remaining errors reported below.
  
  The current old schemas at [http://www.w3.org/MarkUp/SCHEMA/] are broken anyway, so I do not see the purpose of refraining from
  updating them with the newer ones.
  
  
  2) The XHTML 1.1 XML Schema driver, in contradiction with the specification and the DTD, has still not been corrected to allow
  references to event attributes such as "onmouseover" etc. as it should.
  
  The specification has indeed "Intrinsic Events Module" listed as one of the XHTML modules used by XHTML 1.1
  [http://www.w3.org/TR/2007/WD-xhtml11-20070216/doctype.html#s_doctype] and this "Intrinsic Events Module" defines the "Events"
  attribute collection [http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_intrinsiceventsmodule]. The DTD agrees
  with that and declares correctly in xhtml1.1.dtd on line 103:
  	<!ENTITY % xhtml-events.module "INCLUDE" >
  
  This issue has already been reported so many times. e.g.:
  [http://lists.w3.org/Archives/Public/public-qa-dev/2006Jul/0021.html]
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0002.html]
  [http://lists.w3.org/Archives/Public/www-html-editor/2006AprJun/0026.html]
  [http://lists.w3.org/Archives/Public/www-html/2006Jun/0029.html] (this post seems to have been deleted...)
  [http://lists.w3.org/Archives/Public/www-html-editor/2006AprJun/0014.html]
  
  I suggest to correct the xs:attributeGroup "xhtml.Common.extra" in xhtml11-model-1.xsd on line 68 with (see also the corrected
  version in attachment xhtml11-model-1.xsd):
  
  	<xs:attributeGroup ref="xhtml.Events.attrib">
  		<xs:annotation>
  			<xs:documentation> Attributes from Events Module </xs:documentation>
  		</xs:annotation>
  	</xs:attributeGroup>
  
  
  3) Another minor issue in XHTML 1.1 drivers has been reported, regarding a compilation warning/error for the schema location of
  "XHTML data types":
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0002.html]. See
  [http://lists.w3.org/Archives/Public/xmlschema-dev/2004Jun/0065.html] for details about the xs:import issue. Basically, the
  location of this sub-schema should be declared in the XHTML 1.1 driver.
  
  I suggest adding this declaration in xhtml11.xsd on line 95 with (see also the corrected version in attachment xhtml11.xsd):
  
  	<xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/"
  		schemaLocation="xhtml-datatypes-1.xsd" />
  
  
  4) A last point slightly out of the topic, but as XHTML 1.1 builds upon XHTML Modularisation, I will remind here once again some
  previously suggested corrections and improvements to XHTML Modularisation 1.1:
  
  - Please put online asap the corrections of the many acknowledged errors (both in the documentation and in the schema) in XHTML
  Modularisation 1.1, where the "id" attribute is not defined as it should and therefore invalidating some compliant documents.
  See the bug report from July 2006 [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html] (see also corrected
  versions in attachments xhtml-script-1.xsd, xhtml-style-1.xsd, xhtml-struct-1.xsd, xhtml-struct-1.mod).
  
  It is hard for me to understand the rationale behind waiting so many months to patch known and acknowledged bugs, especially
  when there are that many...
  
  
  - Improve the XHTML Modularisation 1.1 definition of the Datatypes for "Charset", "ContentType", "MultiLengths" that are
  currently lazily defined (as strings, without any additional constraint).
  An example of the current situation in xhtml-datatypes-1.xsd:
  
  	<!-- comma-separated list of media types, as per [RFC2045] -->
  	<xs:simpleType name="ContentTypes">
  		<xs:restriction base="xs:string"/>
  	</xs:simpleType>
  
  This issue has already been reported (see also the improved version in attachment xhtml-datatypes-1.xsd):
  [http://lists.w3.org/Archives/Public/public-qa-dev/2006Jul/0021.html]
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0022.html]
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0015.html]
  
  
  Thank you for your attention.
  
  Cordially,
  Alexandre
  http://alexandre.alapetite.net
  
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0
  Content-Type: application/octet-stream;
  	name="xhtml11-model-1.xsd"
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: attachment;
  	filename="xhtml11-model-1.xsd"
  
  <?xml version=3D"1.0" encoding=3D"UTF-8"?>=0A=
  <xs:schema=0A=
      xmlns:xs=3D"http://www.w3.org/2001/XMLSchema"=0A=
      elementFormDefault=3D"qualified"=0A=
      xmlns:xh11d=3D"http://www.w3.org/1999/xhtml/datatypes/">=0A=
      <xs:import=0A=
          namespace=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
          schemaLocation=3D"xhtml-datatypes-1.xsd"/>=0A=
      <xs:annotation>=0A=
          <xs:documentation> =0A=
              This is the XML Schema module of common content models for =
  XHTML11 =0A=
              =0A=
              $Id: xhtml11-model-1.xsd,v 1.5 2006/09/13 13:07:26 ahby Exp =
  $ =0A=
              Modified by Alexandre Alapetite =
  [http://alexandre.alapetite.net] on 2006-07-06=0A=
                see =
  [http://lists.w3.org/Archives/Public/www-html/2006Jun/0029.html]=0A=
          </xs:documentation>=0A=
          <xs:documentation source=3D"xhtml-copyright-1.xsd"/>=0A=
      </xs:annotation>=0A=
      <xs:annotation>=0A=
          <xs:documentation> =0A=
              XHTML Document Model =0A=
              This module describes the groupings of elements/attributes =0A=
              that make up common content models for XHTML elements. =0A=
              XHTML has following basic content models: =0A=
                 xhtml.Inline.mix; character-level elements=0A=
                 xhtml.Block.mix; block-like elements, e.g., paragraphs =
  and lists=0A=
                 xhtml.Flow.mix; any block or inline elements =0A=
                 xhtml.HeadOpts.mix; Head Elements =0A=
                 xhtml.InlinePre.mix; Special class for pre content model =0A=
                 xhtml.InlineNoAnchor.mix; Content model for Anchor =0A=
              =0A=
              Any groups declared in this module may be used to create =0A=
              element content models, but the above are considered =
  'global' =0A=
              (insofar as that term applies here). XHTML has the=0A=
              following Attribute Groups =0A=
                 xhtml.Core.extra.attrib =0A=
                 xhtml.I18n.extra.attrib=0A=
                 xhtml.Common.extra =0A=
              =0A=
              The above attribute Groups are considered Global =0A=
          </xs:documentation>=0A=
      </xs:annotation>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.I18n.extra.attrib">=0A=
          <xs:annotation>=0A=
              <xs:documentation> Extended I18n attribute =
  </xs:documentation>=0A=
          </xs:annotation>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.dir.attrib">=0A=
              <xs:annotation>=0A=
                  <xs:documentation> =0A=
                  "dir" Attribute from Bi Directional Text (bdo) Module=0A=
                  </xs:documentation>=0A=
              </xs:annotation>=0A=
          </xs:attributeGroup>=0A=
      </xs:attributeGroup>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.Common.extra">=0A=
          <xs:annotation>=0A=
              <xs:documentation> Extended Common Attributes =
  </xs:documentation>=0A=
          </xs:annotation>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.style.attrib">=0A=
              <xs:annotation>=0A=
                  <xs:documentation> =0A=
                  "style" attribute from Inline Style Module =0A=
                  </xs:documentation>=0A=
              </xs:annotation>=0A=
          </xs:attributeGroup>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.Events.attrib"><!-- Added by Alexandre =
  Alapetite on 2006-05-31. See =
  [http://lists.w3.org/Archives/Public/www-html/2006Jun/0029.html] -->=0A=
              <xs:annotation>=0A=
                  <xs:documentation> Attributes from Events Module =
  </xs:documentation>=0A=
              </xs:annotation>=0A=
          </xs:attributeGroup>=0A=
      </xs:attributeGroup>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.Core.extra.attrib">=0A=
          <xs:annotation>=0A=
              <xs:documentation> Extend Core Attributes </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:attributeGroup>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.Global.core.extra.attrib">=0A=
          <xs:annotation>=0A=
              <xs:documentation> Extended Global Core Attributes =
  </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:attributeGroup>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.Global.I18n.extra.attrib">=0A=
          <xs:annotation>=0A=
              <xs:documentation> Extended Global I18n attributes =
  </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:attributeGroup>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.Global.Common.extra">=0A=
          <xs:annotation>=0A=
              <xs:documentation> Extended Global Common Attributes =
  </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:attributeGroup>=0A=
      <xs:group=0A=
          name=3D"xhtml.Head.extra">=0A=
          <xs:sequence/>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.HeadOpts.mix">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"script"=0A=
                  type=3D"xhtml.script.type"/>=0A=
              <xs:element=0A=
                  name=3D"style"=0A=
                  type=3D"xhtml.style.type"/>=0A=
              <xs:element=0A=
                  name=3D"meta"=0A=
                  type=3D"xhtml.meta.type"/>=0A=
              <xs:element=0A=
                  name=3D"link"=0A=
                  type=3D"xhtml.link.type"/>=0A=
              <xs:element=0A=
                  name=3D"object"=0A=
                  type=3D"xhtml.object.type"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Head.extra"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.head.content">=0A=
          <xs:sequence>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.HeadOpts.mix"=0A=
                  minOccurs=3D"0"=0A=
                  maxOccurs=3D"unbounded"/>=0A=
              <xs:choice>=0A=
                  <xs:sequence>=0A=
                      <xs:element=0A=
                          name=3D"title"=0A=
                          minOccurs=3D"1"=0A=
                          maxOccurs=3D"1"=0A=
                          type=3D"xhtml.title.type"/>=0A=
                      <xs:group=0A=
                          ref=3D"xhtml.HeadOpts.mix"=0A=
                          minOccurs=3D"0"=0A=
                          maxOccurs=3D"unbounded"/>=0A=
                      <xs:sequence=0A=
                          minOccurs=3D"0">=0A=
                          <xs:element=0A=
                              name=3D"base"=0A=
                              type=3D"xhtml.base.type"/>=0A=
                          <xs:group=0A=
                              ref=3D"xhtml.HeadOpts.mix"=0A=
                              minOccurs=3D"0"=0A=
                              maxOccurs=3D"unbounded"/>=0A=
                      </xs:sequence>=0A=
                  </xs:sequence>=0A=
                  <xs:sequence>=0A=
                      <xs:element=0A=
                          name=3D"base"=0A=
                          type=3D"xhtml.base.type"=0A=
                          minOccurs=3D"1"=0A=
                          maxOccurs=3D"1"/>=0A=
                      <xs:group=0A=
                          ref=3D"xhtml.HeadOpts.mix"=0A=
                          minOccurs=3D"0"=0A=
                          maxOccurs=3D"unbounded"/>=0A=
                      <xs:element=0A=
                          name=3D"title"=0A=
                          minOccurs=3D"1"=0A=
                          maxOccurs=3D"1"=0A=
                          type=3D"xhtml.title.type"/>=0A=
                      <xs:group=0A=
                          ref=3D"xhtml.HeadOpts.mix"=0A=
                          minOccurs=3D"0"=0A=
                          maxOccurs=3D"unbounded"/>=0A=
                  </xs:sequence>=0A=
              </xs:choice>=0A=
          </xs:sequence>=0A=
      </xs:group>=0A=
      <!--=0A=
      ins and del are used to denote editing changes=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Edit.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"ins"=0A=
                  type=3D"xhtml.edit.type"/>=0A=
              <xs:element=0A=
                  name=3D"del"=0A=
                  type=3D"xhtml.edit.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
      script and noscript are used to contain scripts=0A=
      and alternative content=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Script.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"script"=0A=
                  type=3D"xhtml.script.type"/>=0A=
              <xs:element=0A=
                  name=3D"noscript"=0A=
                  type=3D"xhtml.noscript.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.Misc.extra">=0A=
          <xs:sequence/>=0A=
      </xs:group>=0A=
      <!--=0A=
      These elements are neither block nor inline, and can=0A=
      essentially be used anywhere in the document body.=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Misc.class">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Edit.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Script.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Misc.extra"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!-- Inline Elements -->=0A=
      <xs:group=0A=
          name=3D"xhtml.InlStruct.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"br"=0A=
                  type=3D"xhtml.br.type"/>=0A=
              <xs:element=0A=
                  name=3D"span"=0A=
                  type=3D"xhtml.span.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.InlPhras.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"em"=0A=
                  type=3D"xhtml.em.type"/>=0A=
              <xs:element=0A=
                  name=3D"strong"=0A=
                  type=3D"xhtml.strong.type"/>=0A=
              <xs:element=0A=
                  name=3D"dfn"=0A=
                  type=3D"xhtml.dfn.type"/>=0A=
              <xs:element=0A=
                  name=3D"code"=0A=
                  type=3D"xhtml.code.type"/>=0A=
              <xs:element=0A=
                  name=3D"samp"=0A=
                  type=3D"xhtml.samp.type"/>=0A=
              <xs:element=0A=
                  name=3D"kbd"=0A=
                  type=3D"xhtml.kbd.type"/>=0A=
              <xs:element=0A=
                  name=3D"var"=0A=
                  type=3D"xhtml.var.type"/>=0A=
              <xs:element=0A=
                  name=3D"cite"=0A=
                  type=3D"xhtml.cite.type"/>=0A=
              <xs:element=0A=
                  name=3D"abbr"=0A=
                  type=3D"xhtml.abbr.type"/>=0A=
              <xs:element=0A=
                  name=3D"acronym"=0A=
                  type=3D"xhtml.acronym.type"/>=0A=
              <xs:element=0A=
                  name=3D"q"=0A=
                  type=3D"xhtml.q.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.InlPres.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"tt"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:element=0A=
                  name=3D"i"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:element=0A=
                  name=3D"b"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:element=0A=
                  name=3D"big"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:element=0A=
                  name=3D"small"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:element=0A=
                  name=3D"sub"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:element=0A=
                  name=3D"sup"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.I18n.class">=0A=
          <xs:sequence>=0A=
              <xs:element=0A=
                  name=3D"bdo"=0A=
                  type=3D"xhtml.bdo.type"/>=0A=
          </xs:sequence>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.Anchor.class">=0A=
          <xs:sequence>=0A=
              <xs:element=0A=
                  name=3D"a"=0A=
                  type=3D"xhtml.a.type"/>=0A=
          </xs:sequence>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.InlSpecial.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"img"=0A=
                  type=3D"xhtml.img.type"/>=0A=
              <xs:element=0A=
                  name=3D"map"=0A=
                  type=3D"xhtml.map.type"/>=0A=
              <xs:element=0A=
                  name=3D"object"=0A=
                  type=3D"xhtml.object.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.InlForm.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"input"=0A=
                  type=3D"xhtml.input.type"/>=0A=
              <xs:element=0A=
                  name=3D"select"=0A=
                  type=3D"xhtml.select.type"/>=0A=
              <xs:element=0A=
                  name=3D"textarea"=0A=
                  type=3D"xhtml.textarea.type"/>=0A=
              <xs:element=0A=
                  name=3D"label"=0A=
                  type=3D"xhtml.label.type"/>=0A=
              <xs:element=0A=
                  name=3D"button"=0A=
                  type=3D"xhtml.button.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.Inline.extra">=0A=
          <xs:sequence/>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.Ruby.class">=0A=
          <xs:sequence>=0A=
              <xs:element=0A=
                  name=3D"ruby"=0A=
                  type=3D"xhtml.ruby.type"/>=0A=
          </xs:sequence>=0A=
      </xs:group>=0A=
      <!--=0A=
      Inline.class includes all inline elements,=0A=
      used as a component in mixes=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Inline.class">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlStruct.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlPhras.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlPres.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.I18n.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Anchor.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlSpecial.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlForm.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Ruby.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Inline.extra"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
       InlNoRuby.class includes all inline elements=0A=
       except ruby=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.InlNoRuby.class">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlStruct.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlPhras.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlPres.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.I18n.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Anchor.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlSpecial.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlForm.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Inline.extra"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
      InlinePre.mix=0A=
      Used as a component in pre model=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.InlinePre.mix">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlStruct.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlPhras.class"/>=0A=
              <xs:element=0A=
                  name=3D"tt"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:element=0A=
                  name=3D"i"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:element=0A=
                  name=3D"b"=0A=
                  type=3D"xhtml.InlPres.type"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.I18n.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Anchor.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Misc.class"/>=0A=
              <xs:element=0A=
                  name=3D"map"=0A=
                  type=3D"xhtml.map.type"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Inline.extra"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
      InlNoAnchor.class includes all non-anchor inlines,=0A=
      used as a component in mixes=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.InlNoAnchor.class">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlStruct.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlPhras.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlPres.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.I18n.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlSpecial.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlForm.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Ruby.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Inline.extra"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
      InlNoAnchor.mix includes all non-anchor inlines=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.InlNoAnchor.mix">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlNoAnchor.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Misc.class"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
      Inline.mix includes all inline elements, including Misc.class=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Inline.mix">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Inline.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Misc.class"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
     InlNoRuby.mix includes all of inline.mix elements=0A=
     except ruby=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.InlNoRuby.mix">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.InlNoRuby.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Misc.class"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
      In the HTML 4 DTD, heading and list elements were included=0A=
      in the block group. The Heading.class and=0A=
      List.class groups must now be included explicitly=0A=
      on element declarations where desired.=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Heading.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"h1"=0A=
                  type=3D"xhtml.h1.type"/>=0A=
              <xs:element=0A=
                  name=3D"h2"=0A=
                  type=3D"xhtml.h2.type"/>=0A=
              <xs:element=0A=
                  name=3D"h3"=0A=
                  type=3D"xhtml.h3.type"/>=0A=
              <xs:element=0A=
                  name=3D"h4"=0A=
                  type=3D"xhtml.h4.type"/>=0A=
              <xs:element=0A=
                  name=3D"h5"=0A=
                  type=3D"xhtml.h5.type"/>=0A=
              <xs:element=0A=
                  name=3D"h6"=0A=
                  type=3D"xhtml.h6.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.List.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"ul"=0A=
                  type=3D"xhtml.ul.type"/>=0A=
              <xs:element=0A=
                  name=3D"ol"=0A=
                  type=3D"xhtml.ol.type"/>=0A=
              <xs:element=0A=
                  name=3D"dl"=0A=
                  type=3D"xhtml.dl.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.Table.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"table"=0A=
                  type=3D"xhtml.table.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.Form.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"form"=0A=
                  type=3D"xhtml.form.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.Fieldset.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"fieldset"=0A=
                  type=3D"xhtml.fieldset.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.BlkStruct.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"p"=0A=
                  type=3D"xhtml.p.type"/>=0A=
              <xs:element=0A=
                  name=3D"div"=0A=
                  type=3D"xhtml.div.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.BlkPhras.class">=0A=
          <xs:choice>=0A=
              <xs:element=0A=
                  name=3D"pre"=0A=
                  type=3D"xhtml.pre.type"/>=0A=
              <xs:element=0A=
                  name=3D"blockquote"=0A=
                  type=3D"xhtml.blockquote.type"/>=0A=
              <xs:element=0A=
                  name=3D"address"=0A=
                  type=3D"xhtml.address.type"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.BlkPres.class">=0A=
          <xs:sequence>=0A=
              <xs:element=0A=
                  name=3D"hr"=0A=
                  type=3D"xhtml.hr.type"/>=0A=
          </xs:sequence>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.BlkSpecial.class">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Table.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Form.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Fieldset.class"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:group=0A=
          name=3D"xhtml.Block.extra">=0A=
          <xs:sequence/>=0A=
      </xs:group>=0A=
      <!--=0A=
      Block.class includes all block elements,=0A=
      used as an component in mixes=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Block.class">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.BlkStruct.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.BlkPhras.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.BlkPres.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.BlkSpecial.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Block.extra"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
     Block.mix includes all block elements plus %Misc.class;=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Block.mix">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Heading.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.List.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Block.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Misc.class"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
      All Content Elements=0A=
      Flow.mix includes all text content, block and inline=0A=
      Note that the "any" element included here allows us=0A=
      to add data from any other namespace, a necessity=0A=
      for compound document creation.=0A=
      Note however that it is not possible to add=0A=
      to any head level element without further=0A=
      modification. To add RDF metadata to the head=0A=
      of a document, modify the structure module.=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.Flow.mix">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Heading.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.List.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Block.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Inline.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Misc.class"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <!--=0A=
      BlkNoForm.mix includes all non-form block elements,=0A=
      plus Misc.class=0A=
    -->=0A=
      <xs:group=0A=
          name=3D"xhtml.BlkNoForm.mix">=0A=
          <xs:choice>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Heading.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.List.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.BlkStruct.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.BlkPhras.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.BlkPres.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Table.class"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Block.extra"/>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Misc.class"/>=0A=
          </xs:choice>=0A=
      </xs:group>=0A=
      <xs:element=0A=
          name=3D"html"=0A=
          type=3D"xhtml.html.type"/>=0A=
  </xs:schema>=0A=
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0
  Content-Type: application/octet-stream;
  	name="xhtml11.xsd"
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: attachment;
  	filename="xhtml11.xsd"
  
  <?xml version=3D"1.0" encoding=3D"UTF-8"?>=0A=
  <xs:schema=0A=
      xmlns:xs=3D"http://www.w3.org/2001/XMLSchema"=0A=
      targetNamespace=3D"http://www.w3.org/1999/xhtml"=0A=
      xmlns:xh11d=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
      xmlns=3D"http://www.w3.org/1999/xhtml"=0A=
      blockDefault=3D"#all">=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
        This is the XML Schema driver for XHTML 1.1.=0A=
        Please use this namespace for XHTML elements:=0A=
  =0A=
           "http://www.w3.org/1999/xhtml"=0A=
  =0A=
        $Id: xhtml-modularization-lc-doc-20080221.html,v 1.1 2008/06/07 15:05:07 smccarro Exp $=0A=
        Modified by Alexandre Alapetite [http://alexandre.alapetite.net], =
  2006-07-06,=0A=
         to remove namespace import warning=0A=
      </xs:documentation>=0A=
          <xs:documentation source=3D"xhtml-copyright-1.xsd"/>=0A=
      </xs:annotation>=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
        This is XHTML, a reformulation of HTML as a modular XML application=0A=
        The Extensible HyperText Markup Language (XHTML)=0A=
        Copyright &#169;1998-2007 World Wide Web Consortium=0A=
        (Massachusetts Institute of Technology, European Research =
  Consortium=0A=
         for Informatics and Mathematics, Keio University).=0A=
        All Rights Reserved.=0A=
  =0A=
        Permission to use, copy, modify and distribute the XHTML Schema=0A=
        modules and their accompanying xs:documentation for any purpose=0A=
        and without fee is hereby granted in perpetuity, provided that the =
  above=0A=
        copyright notice and this paragraph appear in all copies.=0A=
        The copyright holders make no representation about the suitability =
  of=0A=
        these XML Schema modules for any purpose.=0A=
  =0A=
        They are provided "as is" without expressed or implied warranty.=0A=
      </xs:documentation>=0A=
      </xs:annotation>=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
        This is the Schema Driver file for XHTML1.1=0A=
        Document Type=0A=
  =0A=
       This schema=0A=
          + imports external schemas (xml.xsd)=0A=
          + refedines (and include)s schema modules for XHTML1.1 Document =
  Type.=0A=
          + includes Schema for Named content model for the=0A=
            XHTML1.1 Document Type=0A=
  =0A=
          XHTML1.1 Document Type includes the following Modules=0A=
             XHTML Core modules (Required for XHTML Family Conformance)=0A=
              +  text=0A=
              +  hypertext=0A=
              +  lists=0A=
              +  structure=0A=
             Other XHTML modules=0A=
              +  Edit=0A=
              +  Bdo=0A=
              +  Presentational=0A=
              +  Link=0A=
              +  Meta=0A=
              +  Base=0A=
              +  Scripting=0A=
              +  Style=0A=
              +  Image=0A=
              +  Applet=0A=
              +  Object=0A=
              +  Param (Applet/Object modules require Param Module)=0A=
              +  Tables=0A=
              +  Forms=0A=
              +  Client side image maps=0A=
              +  Server side image maps=0A=
              +  Ruby=0A=
      </xs:documentation>=0A=
      </xs:annotation>=0A=
      <xs:import=0A=
          namespace=3D"http://www.w3.org/XML/1998/namespace"=0A=
          schemaLocation=3D"http://www.w3.org/2001/xml.xsd">=0A=
          <xs:annotation>=0A=
              <xs:documentation>=0A=
           This import brings in the XML namespace attributes=0A=
           The XML attributes are used by various modules.=0A=
         </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:import>=0A=
      <xs:include=0A=
          schemaLocation=3D"xhtml11-model-1.xsd">=0A=
          <xs:annotation>=0A=
              <xs:documentation>=0A=
          Document Model module for the XHTML1.1 Document Type.=0A=
          This schema file defines all named models used by XHTML=0A=
          Modularization Framework for XHTML1.1 Document Type=0A=
        </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:include>=0A=
      <xs:import namespace=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
                 schemaLocation=3D"xhtml-datatypes-1.xsd" /><!-- Added by =
  Alexandre Alapetite on 2006-02-15. See =
  [http://lists.w3.org/Archives/Public/xmlschema-dev/2004Jun/0065.html] -->=0A=
      <xs:include=0A=
          schemaLocation=3D"xhtml11-modules-1.xsd">=0A=
          <xs:annotation>=0A=
              <xs:documentation>=0A=
          Schema that includes all modules (and redefinitions)=0A=
          for XHTML1.1 Document Type.                =0A=
             </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:include>=0A=
  </xs:schema>=0A=
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0
  Content-Type: application/octet-stream;
  	name="xhtml-datatypes-1.xsd"
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: attachment;
  	filename="xhtml-datatypes-1.xsd"
  
  <?xml version=3D"1.0" encoding=3D"UTF-8"?>=0A=
  <xs:schema=0A=
   xmlns:xs=3D"http://www.w3.org/2001/XMLSchema"=0A=
   xmlns=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
   xmlns:xh11d=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
   targetNamespace=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
   elementFormDefault=3D"qualified"=0A=
  >=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
            XHTML Datatypes=0A=
            This is the XML Schema datatypes module for XHTML=0A=
            =0A=
            Defines containers for the XHTML datatypes, many of=0A=
            these imported from other specifications and standards.=0A=
            =0A=
            $Id: xhtml-datatypes-1.xsd,v 1.1 2006/07/05 15:12:15 matthieu =
  Exp $=0A=
            Modified by Alexandre Alapetite =
  [http://alexandre.alapetite.net], 2006-07-13,=0A=
              see =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0022.html=
  ]=0A=
              see [http://xmlfr.org/documentations/articles/030729-0001]=0A=
          </xs:documentation>=0A=
          <xs:documentation source=3D"xhtml-copyright-1.xsd"/>=0A=
          <xs:documentation =
  source=3D"http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abs=
  traction.html#s_common_attrtypes"/>=0A=
      </xs:annotation>=0A=
  =0A=
      <!-- nn for pixels or nn% for percentage length -->=0A=
      <xs:simpleType name=3D"Length">=0A=
          <xs:union memberTypes=3D"xs:nonNegativeInteger">=0A=
              <xs:simpleType>=0A=
                  <xs:restriction base=3D"xs:token">=0A=
                      <xs:pattern value=3D"\d+[%]|\d*\.\d+[%]"/>=0A=
                  </xs:restriction>=0A=
              </xs:simpleType>=0A=
          </xs:union>=0A=
      </xs:simpleType>=0A=
      <!-- space-separated list of link types -->=0A=
      <xs:simpleType name=3D"LinkTypes">=0A=
          <xs:list itemType=3D"xs:NMTOKEN"/>=0A=
      </xs:simpleType>=0A=
      <!-- single or comma-separated list of media descriptors -->=0A=
      <xs:simpleType name=3D"MediaDesc">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
      <!-- pixel, percentage, or relative -->=0A=
      <xs:simpleType name=3D"MultiLength">=0A=
          <xs:union memberTypes=3D"xh11d:Length">=0A=
              <xs:simpleType>=0A=
                  <xs:restriction base=3D"xs:token">=0A=
                      <xs:pattern value=3D"\d*\*"/>=0A=
                  </xs:restriction>=0A=
              </xs:simpleType>=0A=
          </xs:union>=0A=
      </xs:simpleType>=0A=
      <!-- one or more digits (NUMBER) -->=0A=
      <xs:simpleType name=3D"Number">=0A=
          <xs:restriction base=3D"xs:nonNegativeInteger"/>=0A=
      </xs:simpleType>=0A=
      <!-- integer representing length in pixels -->=0A=
      <xs:simpleType name=3D"Pixels">=0A=
          <xs:restriction base=3D"xs:nonNegativeInteger"/>=0A=
      </xs:simpleType>=0A=
      <!-- script expression -->=0A=
      <xs:simpleType name=3D"Script">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
      <!-- sixteen color names or RGB color expression-->=0A=
      <xs:simpleType name=3D"Color">=0A=
          <xs:union memberTypes=3D"xs:NMTOKEN">=0A=
              <xs:simpleType>=0A=
                  <xs:restriction base=3D"xs:token">=0A=
                      <xs:pattern value=3D"#[0-9a-fA-F]{6}"/>=0A=
                  </xs:restriction>=0A=
              </xs:simpleType>=0A=
          </xs:union>=0A=
      </xs:simpleType>=0A=
      <!-- textual content -->=0A=
      <xs:simpleType name=3D"Text">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
      <!-- Imported Datatypes  -->=0A=
      <!-- a single character, as per section 2.2 of [XML] -->=0A=
      <xs:simpleType name=3D"Character">=0A=
          <xs:restriction base=3D"xs:string">=0A=
              <xs:length value=3D"1" fixed=3D"true"/>=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- a character encoding, as per [RFC2045] -->=0A=
      <xs:simpleType name=3D"Charset">=0A=
          <xs:restriction base=3D"xs:string">=0A=
              <xs:pattern value=3D"[a-zA-Z0-9.:_-]+"/><!-- Added by =
  Alexandre Alapetite, 2006-07-08 -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- a space separated list of character encodings, as per [RFC2045] =
  -->=0A=
      <xs:simpleType name=3D"Charsets">=0A=
          <xs:restriction base=3D"xs:string">=0A=
              <xs:pattern =
  value=3D"[a-zA-Z0-9.:_-]+(,\s*[a-zA-Z0-9.:_-]+)*"/><!-- Added by =
  Alexandre Alapetite, 2006-07-08 -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- media type, as per [RFC2045] --><!-- token =3D =
  [!#$%&'*+-.0-9A-Z\\^_`a-z{|}~] -->=0A=
      <xs:simpleType name=3D"ContentType">=0A=
          <xs:restriction base=3D"xs:string"><!-- Added by Alexandre =
  Alapetite, 2006-07-13 -->=0A=
              <!--<xs:pattern value=3D"[^/ ;,=3D]+/[^/ ;,=3D]+(;\s*[^/ =
  ;,=3D]+=3D([^/ =
  ;,=3D]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*"/>--><!-- Short =
  version -->=0A=
              <xs:pattern =
  value=3D"([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z]{4,})/([xX]=
  [-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z0-9._+-]+)(;\s*[!#$%&amp;'=
  *+-.0-9A-Z\\^_`a-z{|}~]+=3D([!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|&quot;([^=
  &quot;\\]|\\\\|\\&quot;)*&quot;))*"/><!-- Full version -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- comma-separated list of media types, as per [RFC2045] -->=0A=
      <xs:simpleType name=3D"ContentTypes">=0A=
          <xs:restriction base=3D"xs:string"><!-- Added by Alexandre =
  Alapetite, 2006-07-13 -->=0A=
              <!--<xs:pattern value=3D"[^/ ;,=3D]+/[^/ ;,=3D]+(;\s*[^/ =
  ;,=3D]+=3D([^/ =
  ;,=3D]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*(,\s*[^/ ;,=3D]+/[^/ =
  ;,=3D]+(;\s*[^/ ;,=3D]+=3D([^/ =
  ;,=3D]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*)*"/>--><!-- Short =
  version -->=0A=
              <xs:pattern =
  value=3D"([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z]{4,})/([xX]=
  [-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z0-9._+-]+)(;\s*[!#$%&amp;'=
  *+-.0-9A-Z\\^_`a-z{|}~]+=3D([!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|&quot;([^=
  &quot;\\]|\\\\|\\&quot;)*&quot;))*(,\s*([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_=
  `a-z{|}~]+|[a-zA-Z]{4,})/([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-=
  zA-Z0-9._+-]+)(;\s*[!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+=3D([!#$%&amp;'*+-.=
  0-9A-Z\\^_`a-z{|}~]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*)*"/><!--=
   Full version -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- date and time information. ISO date format -->=0A=
      <xs:simpleType name=3D"Datetime">=0A=
          <xs:restriction base=3D"xs:dateTime"/>=0A=
      </xs:simpleType>=0A=
      <!-- formal public identifier, as per [ISO8879] -->=0A=
      <xs:simpleType name=3D"FPI">=0A=
          <xs:restriction base=3D"xs:normalizedString"/>=0A=
      </xs:simpleType>=0A=
      <!-- a language code, as per [RFC3066] -->=0A=
      <xs:simpleType name=3D"LanguageCode">=0A=
          <xs:restriction base=3D"xs:language"/>=0A=
      </xs:simpleType>=0A=
      <!-- a Uniform Resource Identifier, see [URI] -->=0A=
      <xs:simpleType name=3D"URI">=0A=
          <xs:restriction base=3D"xs:anyURI"/>=0A=
      </xs:simpleType>=0A=
      <!-- a space-separated list of Uniform Resource Identifiers, see =
  [URI] -->=0A=
      <xs:simpleType name=3D"URIs">=0A=
          <xs:list itemType=3D"xs:anyURI"/>=0A=
      </xs:simpleType>=0A=
      <!-- comma-separated list of MultiLength -->=0A=
      <xs:simpleType name=3D"MultiLengths">=0A=
          <xs:restriction base=3D"xs:string">=0A=
              <xs:pattern =
  value=3D"([+-]?(\d+|\d+(\.\d+)?%)|([1-9]\d*)*\*)(,\s*([+-]?(\d+|\d+(\.\d+=
  )?%)|([1-9]\d*)*\*))*"/><!-- Added by Alexandre Alapetite, 2006-07-08 -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- character Data -->=0A=
      <xs:simpleType name=3D"CDATA">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
  </xs:schema>=0A=
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0
  Content-Type: application/octet-stream;
  	name="xhtml-script-1.xsd"
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: attachment;
  	filename="xhtml-script-1.xsd"
  
  <?xml version=3D"1.0" encoding=3D"UTF-8"?>=0A=
  <xs:schema=0A=
   xmlns:xs=3D"http://www.w3.org/2001/XMLSchema"=0A=
   elementFormDefault=3D"qualified"=0A=
   xmlns:xh11d=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
  >=0A=
      <xs:import namespace=3D"http://www.w3.org/1999/xhtml/datatypes/" =0A=
                 schemaLocation=3D"xhtml-datatypes-1.xsd" />=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
        This is the XML Schema Scripting module for XHTML=0A=
        $Id: xhtml-modularization-lc-doc-20080221.html,v 1.1 2008/06/07 15:05:07 smccarro Exp $=0A=
        Modified by Alexandre Alapetite [http://alexandre.alapetite.net], =
  2006-07-30,=0A=
         see =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ]=0A=
      </xs:documentation>=0A=
          <xs:documentation source=3D"xhtml-copyright-1.xsd"/>=0A=
      </xs:annotation>=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
        Scripting=0A=
        =0A=
          * script, noscript=0A=
        =0A=
        This module declares element types and attributes used to provide=0A=
        support for executable scripts as well as an alternate content=0A=
        container where scripts are not supported.=0A=
      </xs:documentation>=0A=
          <xs:documentation =
  source=3D"http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abs=
  tract_modules.html#s_scriptmodule"/>=0A=
      </xs:annotation>=0A=
    <xs:import namespace=3D"http://www.w3.org/XML/1998/namespace"=0A=
               schemaLocation=3D"http://www.w3.org/2001/xml.xsd">=0A=
          <xs:annotation>=0A=
              <xs:documentation>=0A=
            This import brings in the XML namespace attributes =0A=
            The module itself does not provide the schemaLocation=0A=
            and expects the driver schema to provide the =0A=
            actual SchemaLocation.=0A=
          </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:import>=0A=
      <xs:attributeGroup name=3D"xhtml.script.attlist">=0A=
          <xs:attribute name=3D"charset" type=3D"xh11d:Charset"/>=0A=
          <xs:attribute name=3D"type" type=3D"xh11d:ContentType" =
  use=3D"required"/>=0A=
          <xs:attribute name=3D"src" type=3D"xh11d:URI"/>=0A=
          <xs:attribute name=3D"defer">=0A=
              <xs:simpleType>=0A=
                  <xs:restriction base=3D"xs:NMTOKEN">=0A=
                      <xs:enumeration value=3D"defer"/>=0A=
                  </xs:restriction>=0A=
              </xs:simpleType>=0A=
          </xs:attribute>=0A=
          <xs:attributeGroup ref=3D"xhtml.id"/><!-- Added by Alexandre =
  Alapetite on 2006-07-30. See =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ] -->=0A=
      </xs:attributeGroup>=0A=
      <xs:group name=3D"xhtml.script.content">=0A=
          <xs:sequence/>=0A=
      </xs:group>=0A=
      <xs:complexType name=3D"xhtml.script.type" mixed=3D"true">=0A=
          <xs:group ref=3D"xhtml.script.content"/>=0A=
          <xs:attributeGroup ref=3D"xhtml.script.attlist"/>=0A=
      </xs:complexType>=0A=
      <xs:attributeGroup name=3D"xhtml.noscript.attlist">=0A=
          <xs:attributeGroup ref=3D"xhtml.Common.attrib"/>=0A=
      </xs:attributeGroup>=0A=
      <xs:group name=3D"xhtml.noscript.content">=0A=
          <xs:sequence>=0A=
              <xs:group ref=3D"xhtml.Block.mix" maxOccurs=3D"unbounded"/>=0A=
          </xs:sequence>=0A=
      </xs:group>=0A=
      <xs:complexType name=3D"xhtml.noscript.type">=0A=
          <xs:group ref=3D"xhtml.noscript.content"/>=0A=
          <xs:attributeGroup ref=3D"xhtml.noscript.attlist"/>=0A=
      </xs:complexType>=0A=
  </xs:schema>=0A=
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0
  Content-Type: application/octet-stream;
  	name="xhtml-style-1.xsd"
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: attachment;
  	filename="xhtml-style-1.xsd"
  
  <?xml version=3D"1.0" encoding=3D"UTF-8"?>=0A=
  <xs:schema=0A=
   xmlns:xs=3D"http://www.w3.org/2001/XMLSchema"=0A=
   elementFormDefault=3D"qualified"=0A=
   xmlns:xh11d=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
  >=0A=
      <xs:import namespace=3D"http://www.w3.org/1999/xhtml/datatypes/" =0A=
                 schemaLocation=3D"xhtml-datatypes-1.xsd" />=0A=
  =0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
        This is the XML Schema Stylesheets module for XHTML=0A=
        $Id: xhtml-modularization-lc-doc-20080221.html,v 1.1 2008/06/07 15:05:07 smccarro Exp $=0A=
        Modified by Alexandre Alapetite [http://alexandre.alapetite.net], =
  2006-07-30,=0A=
         see =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ]=0A=
      </xs:documentation>=0A=
          <xs:documentation source=3D"xhtml-copyright-1.xsd"/>=0A=
      </xs:annotation>=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
        Stylesheets=0A=
        =0A=
          * style=0A=
        =0A=
        This module declares the style element type and its attributes,=0A=
        used to embed stylesheet information in the document head element.=0A=
      </xs:documentation>=0A=
          <xs:documentation =
  source=3D"http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abs=
  tract_modules.html#s_stylemodule"/>=0A=
      </xs:annotation>=0A=
    <xs:import namespace=3D"http://www.w3.org/XML/1998/namespace"=0A=
               schemaLocation=3D"http://www.w3.org/2001/xml.xsd">=0A=
          <xs:annotation>=0A=
              <xs:documentation>=0A=
            This import brings in the XML namespace attributes =0A=
            The module itself does not provide the schemaLocation=0A=
            and expects the driver schema to provide the =0A=
            actual SchemaLocation.=0A=
          </xs:documentation>=0A=
          </xs:annotation>=0A=
      </xs:import>=0A=
      <xs:attributeGroup name=3D"xhtml.style.attlist">=0A=
          <xs:attributeGroup ref=3D"xhtml.title"/>=0A=
          <xs:attributeGroup ref=3D"xhtml.I18n.attrib"/>=0A=
          <xs:attributeGroup ref=3D"xhtml.id"/><!-- Added by Alexandre =
  Alapetite on 2006-07-30. See =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ] -->=0A=
          <xs:attribute name=3D"type" type=3D"xh11d:ContentType" =
  use=3D"required"/>=0A=
          <xs:attribute name=3D"media" type=3D"xh11d:MediaDesc"/>=0A=
      </xs:attributeGroup>=0A=
      <xs:group name=3D"xhtml.style.content">=0A=
          <xs:sequence/>=0A=
      </xs:group>=0A=
      <xs:complexType name=3D"xhtml.style.type" mixed=3D"true">=0A=
          <xs:group ref=3D"xhtml.style.content"/>=0A=
          <xs:attributeGroup ref=3D"xhtml.style.attlist"/>=0A=
      </xs:complexType>=0A=
  </xs:schema>=0A=
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0
  Content-Type: application/octet-stream;
  	name="xhtml-struct-1.xsd"
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: attachment;
  	filename="xhtml-struct-1.xsd"
  
  <?xml version=3D"1.0" encoding=3D"UTF-8"?>=0A=
  <xs:schema=0A=
      xmlns:xs=3D"http://www.w3.org/2001/XMLSchema"=0A=
      elementFormDefault=3D"qualified"=0A=
      xmlns:xh11d=3D"http://www.w3.org/1999/xhtml/datatypes/">=0A=
      <xs:import=0A=
          namespace=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
          schemaLocation=3D"xhtml-datatypes-1.xsd"/>=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
          This is the XML Schema Document Structure module for XHTML=0A=
          Document Structure=0A=
      =0A=
            * title, head, body, html=0A=
      =0A=
          The Structure Module defines the major structural elements and =0A=
          their attributes.=0A=
          =0A=
          $Id: xhtml-modularization-lc-doc-20080221.html,v 1.1 2008/06/07 15:05:07 smccarro Exp $     =0A=
          Modified by Alexandre Alapetite =
  [http://alexandre.alapetite.net], 2006-07-30,=0A=
           see =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ]=0A=
        </xs:documentation>=0A=
          <xs:documentation source=3D"xhtml-copyright-1.xsd"/>=0A=
          <xs:documentation =
  source=3D"http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abs=
  tract_modules.html#s_structuremodule"/>=0A=
      </xs:annotation>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.title.attlist">=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.I18n.attrib"/>=0A=
          <xs:attributeGroup
              ref=3D"xhtml.id"/><!-- Added by Alexandre Alapetite on =
  2006-07-30. See =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ] -->=0A=
      </xs:attributeGroup>=0A=
      <xs:group=0A=
          name=3D"xhtml.title.content">=0A=
          <xs:sequence/>=0A=
      </xs:group>=0A=
      <xs:complexType=0A=
          name=3D"xhtml.title.type"=0A=
          mixed=3D"true">=0A=
          <xs:group=0A=
              ref=3D"xhtml.title.content"/>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.title.attlist"/>=0A=
      </xs:complexType>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.profile.attrib">=0A=
          <xs:attribute=0A=
              name=3D"profile"=0A=
              type=3D"xh11d:URI"/>=0A=
      </xs:attributeGroup>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.head.attlist">=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.profile.attrib"/>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.I18n.attrib"/>=0A=
          <xs:attributeGroup
              ref=3D"xhtml.id"/><!-- Added by Alexandre Alapetite on =
  2006-07-30. See =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ] -->=0A=
      </xs:attributeGroup>=0A=
      <xs:complexType=0A=
          name=3D"xhtml.head.type">=0A=
          <xs:group=0A=
              ref=3D"xhtml.head.content"/>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.head.attlist"/>=0A=
      </xs:complexType>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.body.attlist">=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.Common.attrib"/>=0A=
      </xs:attributeGroup>=0A=
      <xs:group=0A=
          name=3D"xhtml.body.content">=0A=
          <xs:sequence>=0A=
              <xs:group=0A=
                  ref=3D"xhtml.Block.mix"=0A=
                  maxOccurs=3D"unbounded"/>=0A=
          </xs:sequence>=0A=
      </xs:group>=0A=
      <xs:complexType=0A=
          name=3D"xhtml.body.type">=0A=
          <xs:group=0A=
              ref=3D"xhtml.body.content"/>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.body.attlist"/>=0A=
      </xs:complexType>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.version.attrib">=0A=
          <xs:attribute=0A=
              name=3D"version"=0A=
              type=3D"xh11d:FPI"/>=0A=
      </xs:attributeGroup>=0A=
      <xs:attributeGroup=0A=
          name=3D"xhtml.html.attlist">=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.version.attrib"/>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.I18n.attrib"/>=0A=
          <xs:attributeGroup
              ref=3D"xhtml.id"/><!-- Added by Alexandre Alapetite on =
  2006-07-30. See =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ] -->=0A=
      </xs:attributeGroup>=0A=
      <xs:group=0A=
          name=3D"xhtml.html.content">=0A=
          <xs:sequence>=0A=
              <xs:element=0A=
                  name=3D"head"=0A=
                  type=3D"xhtml.head.type"/>=0A=
              <xs:element=0A=
                  name=3D"body"=0A=
                  type=3D"xhtml.body.type"/>=0A=
          </xs:sequence>=0A=
      </xs:group>=0A=
      <xs:complexType=0A=
          name=3D"xhtml.html.type">=0A=
          <xs:group=0A=
              ref=3D"xhtml.html.content"/>=0A=
          <xs:attributeGroup=0A=
              ref=3D"xhtml.html.attlist"/>=0A=
      </xs:complexType>=0A=
  </xs:schema>=0A=
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0
  Content-Type: video/mpeg;
  	name="xhtml-struct-1.mod"
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: attachment;
  	filename="xhtml-struct-1.mod"
  
  <!-- =
  ...................................................................... =
  -->=0A=
  <!-- XHTML Structure Module  =
  .............................................. -->=0A=
  <!-- file: xhtml-struct-1.mod=0A=
  =0A=
       This is XHTML, a reformulation of HTML as a modular XML application.=0A=
       Copyright 1998-2005 W3C (MIT, ERCIM, Keio), All Rights Reserved.=0A=
       Revision: $Id: xhtml-struct-1.mod,v 4.0 2001/04/02 22:42:49 altheim =
  Exp $ SMI=0A=
  =0A=
       This DTD module is identified by the PUBLIC and SYSTEM identifiers:=0A=
  =0A=
         PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"=0A=
         SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-struct-1.mod"=0A=
  =0A=
       Revisions:=0A=
       Modified by Alexandre Alapetite [http://alexandre.alapetite.net], =
  2006-07-30,=0A=
        see =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0031.html=
  ]=0A=
       =
  ....................................................................... =
  -->=0A=
  =0A=
  <!-- Document Structure=0A=
  =0A=
          title, head, body, html=0A=
  =0A=
       The Structure Module defines the major structural elements and=0A=
       their attributes.=0A=
  =0A=
       Note that the content model of the head element type is redeclared=0A=
       when the Base Module is included in the DTD.=0A=
  =0A=
       The parameter entity containing the XML namespace URI value used=0A=
       for XHTML is '%XHTML.xmlns;', defined in the Qualified Names module.=0A=
  -->=0A=
  =0A=
  <!-- title: Document Title ............................. -->=0A=
  =0A=
  <!-- The title element is not considered part of the flow of text.=0A=
       It should be displayed, for example as the page header or=0A=
       window title. Exactly one title is required per document.=0A=
  -->=0A=
  =0A=
  <!ENTITY % title.element  "INCLUDE" >=0A=
  <![%title.element;[=0A=
  <!ENTITY % title.content  "( #PCDATA )" >=0A=
  <!ENTITY % title.qname  "title" >=0A=
  <!ELEMENT %title.qname;  %title.content; >=0A=
  <!-- end of title.element -->]]>=0A=
  =0A=
  <!ENTITY % title.attlist  "INCLUDE" >=0A=
  <![%title.attlist;[=0A=
  <!ATTLIST %title.qname;=0A=
        %XHTML.xmlns.attrib;=0A=
        %I18n.attrib;=0A=
        %id.attrib;=0A=
  >=0A=
  <!-- end of title.attlist -->]]>=0A=
  =0A=
  <!-- head: Document Head ............................... -->=0A=
  =0A=
  <!ENTITY % head.element  "INCLUDE" >=0A=
  <![%head.element;[=0A=
  <!ENTITY % head.content=0A=
      "( %HeadOpts.mix;, %title.qname;, %HeadOpts.mix; )"=0A=
  >=0A=
  <!ENTITY % head.qname  "head" >=0A=
  <!ELEMENT %head.qname;  %head.content; >=0A=
  <!-- end of head.element -->]]>=0A=
  =0A=
  <!ENTITY % head.attlist  "INCLUDE" >=0A=
  <![%head.attlist;[=0A=
  <!-- reserved for future use with document profiles=0A=
  -->=0A=
  <!ENTITY % profile.attrib=0A=
       "profile      %URI.datatype;           '%XHTML.profile;'"=0A=
  >=0A=
  =0A=
  <!ATTLIST %head.qname;=0A=
        %XHTML.xmlns.attrib;=0A=
        %I18n.attrib;=0A=
        %profile.attrib;=0A=
        %id.attrib;=0A=
  >=0A=
  <!-- end of head.attlist -->]]>=0A=
  =0A=
  <!-- body: Document Body ............................... -->=0A=
  =0A=
  <!ENTITY % body.element  "INCLUDE" >=0A=
  <![%body.element;[=0A=
  <!ENTITY % body.content=0A=
       "( %Block.mix; )+"=0A=
  >=0A=
  <!ENTITY % body.qname  "body" >=0A=
  <!ELEMENT %body.qname;  %body.content; >=0A=
  <!-- end of body.element -->]]>=0A=
  =0A=
  <!ENTITY % body.attlist  "INCLUDE" >=0A=
  <![%body.attlist;[=0A=
  <!ATTLIST %body.qname;=0A=
        %Common.attrib;=0A=
  >=0A=
  <!-- end of body.attlist -->]]>=0A=
  =0A=
  <!-- html: XHTML Document Element ...................... -->=0A=
  =0A=
  <!ENTITY % html.element  "INCLUDE" >=0A=
  <![%html.element;[=0A=
  <!ENTITY % html.content  "( %head.qname;, %body.qname; )" >=0A=
  <!ENTITY % html.qname  "html" >=0A=
  <!ELEMENT %html.qname;  %html.content; >=0A=
  <!-- end of html.element -->]]>=0A=
  =0A=
  <![%XHTML.xsi.attrs;[=0A=
  <!-- define a parameter for the XSI schemaLocation attribute -->=0A=
  <!ENTITY % XSI.schemaLocation.attrib=0A=
       "%XSI.pfx;schemaLocation  %URIs.datatype;    #IMPLIED"=0A=
  >=0A=
  ]]>=0A=
  <!ENTITY % XSI.schemaLocation.attrib "">=0A=
  =0A=
  <!ENTITY % html.attlist  "INCLUDE" >=0A=
  <![%html.attlist;[=0A=
  <!-- version attribute value defined in driver=0A=
  -->=0A=
  <!ENTITY % XHTML.version.attrib=0A=
       "version      %FPI.datatype;           #FIXED '%XHTML.version;'"=0A=
  >=0A=
  <!-- schemaLocation attribute from XML Schema=0A=
  -->=0A=
  <!ENTITY % XSI.schemaLocation.attrib=0A=
       "schemaLocation   %URIs.datatype;      #IMPLIED"=0A=
  >=0A=
  =0A=
  <!-- see the Qualified Names module for information=0A=
       on how to extend XHTML using XML namespaces=0A=
  -->=0A=
  <!ATTLIST %html.qname;=0A=
        %XHTML.xmlns.attrib;=0A=
        %XSI.schemaLocation.attrib;=0A=
        %XHTML.version.attrib;=0A=
        %I18n.attrib;=0A=
        %id.attrib;=0A=
  >=0A=
  <!-- end of html.attlist -->]]>=0A=
  =0A=
  <!-- end of xhtml-struct-1.mod -->=0A=
  
  ------=_NextPart_000_0001_01C7524C.2AAB25C0--
  

3.3 XHTML Modularization 1.1: Lazy datatype patterns in XML Schema

PROBLEM ID: 9606

STATE: Approved and Implemented
EDIT: None
RESOLUTION: Reject
USER POSITION: No Response

NOTES:

  The working group is concerned that making these types of changes could
  accidently exclude valid content.  Moreover, the group is concerned that
  interpreting external documents to develop the proper patterns could give us
  unintended dependencies in the implementation.  We are not prepared to
  introduce
  this change at this time.  We will consider it for a subsequent revision of the
  implementation.

ORIGINAL MESSAGE:

  From: "Alexandre Alapetite" <alexandre@alapetite.net>
  
  
  Dear HTML editors,
  
  One of the advantages of XML Schema over DTDs is the possibility to verify the validity of attributes with regular expression
  patterns.
  
  1) In the current working draft specification for "XHTML Modularization 1.1", chapter 4.3 on "Attribute Types", the MultiLengths
  datatype is defined as "A comma separated list of items of type MultiLength"
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstraction.html#dt_MultiLengths].
  
  While the "MultiLength" (without 's') is carefully defined in the "XML Schema datatypes module for XHTML"
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/SCHEMA/xhtml-datatypes-1.xsd],
  the "MultiLengths" type is still only defined as a banal string, which means that this lazy validation allows almost anything
  and does not check for constraints required by the specification.
  
  Lines 120-123 of xhtml-datatypes-1.xsd:
  
   <!-- comma-separated list of MultiLength -->
   <xs:simpleType name="MultiLengths">
     <xs:restriction base="xs:string"/>
   </xs:simpleType>
  
  A proposition has been made for a more accurate pattern. See [http://lists.w3.org/Archives/Public/www-html/2006Jun/0033.html]
  and
  [http://lists.w3.org/Archives/Public/www-html/2006Jun/0031.html] for a proposition of improvement, also reported bellow:
  
   <xs:simpleType name="MultiLengths">
     <xs:annotation>
       <xs:documentation>
         comma-separated list of MultiLength
       </xs:documentation>
     </xs:annotation>
     <xs:restriction base="xs:string">
       <xs:pattern
        value="([+-]?(\d+|\d+(\.\d+)?%)|([1-9]\d*)*\*)(,\s*([+-]?(\d+|\d+(\.\d+)?%)|([1-9]\d*)*\*))*"/>
     </xs:restriction>
   </xs:simpleType>
  
  
  2) Similarly, the datatypes "ContentType" ("A comma-separated list of media types, as per [RFC2045]") and "ContentTypes" ("A
  media type, as per [RFC2045]") are also defined as banal strings, while some basic validation could be done. RFC2045 does
  provide with a BNF.
  
  The patterns should of course not list all the possible IANA types [http://www.iana.org/assignments/media-types/], but check at
  least for some minimal syntax integrity.
  
  A quickly written proposition (to be tested) only aimed to be illustrative:
  
  ContentType: "([xX]-[a-zA-Z0-9_.+-]+|[a-zA-Z]+)/[a-zA-Z0-9_.+-]+"
  
  ContentTypes: "(([xX]-[a-zA-Z0-9_.+-]+|[a-zA-Z]+)/[a-zA-Z0-9_.+-]+)(,\s*(([xX]-[a-zA-Z0-9_.+-]+|[a-zA-Z]+)/[a-zA-Z0-9_.+-]+))*"
  
  
  3) Similarly again, the datatype "Charset" ("A character encoding, as per [RFC2045]") should be more strict than a simple
  string.
  
  
  Cordially,
  Alexandre
  http://alexandre.alapetite.net
  
  

FOLLOWUP 1:


  From: "Alexandre Alapetite" <alexandre@alapetite.net>
  
  This is a multi-part message in MIME format.
  
  ------=_NextPart_000_0010_01C6AF20.A36FDF70
  Content-Type: text/plain;
  	charset="us-ascii"
  Content-Transfer-Encoding: 7bit
  
  For "HTML Working Group Voyager Issue Tracking System - Modularization-Schemas/9606"
  [http://htmlwg.mn.aptest.com/cgi-bin/voyager-issues/Modularization-Schemas?id=9606],
  
  Here is a fusion of two additional messages posted to www-html-editor@w3.org on the same topic:
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0022.html] and
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0015.html], asking for better patterns in XML Schemas for XHTML
  Modularization datatypes, where some types are currently defined as simple strings. I come with some concrete propositions for
  [http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/SCHEMA/xhtml-datatypes-1.xsd].
  
  "xhtml-datatypes-1.xsd" with my suggestions is also attached to the e-mail sent to www-html-editor@w3.org:
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/att-0022/xhtml-datatypes-1.xsd]
  
  In addition to make the XML Schemas for XHTML Modularization more useful by detecting more errors, those patterns will also make
  the recommendation less ambiguous and easier to implement.
  
  
  Charset: "A character encoding, as per [RFC2045]"
  --------
  See [http://www.iana.org/assignments/character-sets].
  
  Match for instance "ISO-8859-1" but not "ISO-8859-1 UTF-8".
  
   <xs:pattern value="[a-zA-Z0-9.:_-]+"/>
  
  Note: As far as I can see, there is no definition of "character encoding" in RFC 2045, which uses instead the term "character
  set" (see chapter 2.2). Furthermore, RFC 2045 is not very helpful to define what a character set is, and does not tell anything
  for the format of the Charset datatype. The XTHML Modularization recommendation should be updated and be more precise. Providing
  an official regular expression would do the job.
  
  
  MultiLengths: "A comma separated list of items of type MultiLength"
  -------------
  See [http://www.w3.org/TR/1999/REC-html401-19991224/present/frames.html#h-16.2.1.1].
  
  Match for instance "50%, 50%", "30%,400,*,2*" but not "50" and not "50% 50%".
  
   <xs:pattern value="([+-]?(\d+|\d+(\.\d+)?%)|([1-9]\d*)*\*)(,\s*([+-]?(\d+|\d+(\.\d+)?%)|([1-9]\d*)*\*))*"/>
  
  This proposition was already commented in [http://lists.w3.org/Archives/Public/www-html/2006Jun/0031.html] and
  [http://lists.w3.org/Archives/Public/www-html/2006Jun/0033.html].
  
  
  ContentTypes: "A comma-separated list of media types, as per [RFC2045]"
  -------------
  See ContentType bellow. If <ContentType> is the regular expression for ContentType, so
  
  <ContentTypes> = <ContentType>(,\s*<ContentType>)*
  
  
  ContentType: "A media type, as per [RFC2045]"
  ------------
  See RFC 2045 [http://www.ietf.org/rfc/rfc2045.txt], RFC 2822 [http://www.ietf.org/rfc/rfc2822.txt] and
  [http://www.iana.org/assignments/media-types/].
  
  Match for instance "text/plain" and "text/plain; charset=us-ascii" and 'text/plain; charset="us-ascii"' but not "text" or
  "text/plain; charset=us-ascii (Plain text)".
  
  Note: It is not very obvious, but I have assumed that parameters such as "; charset=us-ascii" were allowed for the ContentType
  datatype, but not comments such as " (Plain text)". Indeed, RFC 2045 refers to RFC 822 which says in chapter 3.4.3 that
  "comments  must  NOT  be  included  in other  cases,  such  as  during  protocol  exchanges with mail servers". If people think
  comments should be allowed, the following regular expression can easily be modified. In any case, the XHTML Modularization
  should be clearer about what is allowed, since it is not obvious, and referring to RFC 2045 is imho not precise enough. Giving
  an official regular expression will remove this ambiguity.
  
  - Since the regular expression for ContentType can be quite long, I propose first a shorter version, less strict:
  
   <xs:pattern value="[^/ ;,=]+/[^/ ;,=]+(;\s*[^/ ;,=]+=([^/ ;,=]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*"/>
  
  Explanations:
  
   [^/ ;,=]+      # Content type
   /              # Separator type/subtype
   [^/ ;,=]+      # Content subtype
   (;             # Delimitor for optional parameter
    \s*           ## Optional space
    [^/ ;,=]+     ## Name of the parameter
    =             ## Separator parameter=value
    (             ## Value of the parameter
     [^/ ;,=]+    ### The value can be a token
     |            ### or
                  ### a quoted-string as per RFC 2822
                  ### (without optional comments)
     "            #### quotation mark
                  #### (The double quote " is written &quot;
                  #### in an XML attribute)
     (            ####
      [^"\\]      #### any character but a quotation mark " or an anti-slash \
      |           #### or
      \\\\        #### an escaped anti-slash \\
      |           #### or
      \\"         #### an escaped quotation mark \"
     )*           #### the content of a quoted string can
                  #### be 0 or more characters
     "            #### quotation mark
                  ### end of the quoted-string
    )             ##
   )*             # There can be 0 or more parameters
  
  
  - Here is now a more precise version for ContentType:
  
   <xs:pattern
  value="([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z]{4,})/([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z0-9._+-]+)
  (;\s*[!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+=([!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*"/>
   
  Explanations:
  
  According to RFC 2045, a token is [!#$%&'*+-.0-9A-Z\\^_`a-z{|}~]+
  
   (                                         # The content type can be
    [xX][-.][!#$%&'*+-.0-9A-Z\\^_`a-z{|}~]+  ## a non-standard name starting by
                                             ## X- or X. followed by a token
                                             ## (The ampersand & is written
                                             ## &amp; in XML)
    |                                        ## or
    [a-zA-Z]{4,}                             ## one of the IANA content-types
                                             ## such as application, audio, image,
                                             ## message, model, multipart, text, video
   )                                         #
   /                                         # Separator type/subtype
   (                                         # The content subtype can be
    [xX][-.][!#$%&'*+-.0-9A-Z\\^_`a-z{|}~]+  ## a non-standard name starting by
                                             ## X- or X. followed by a token
    |                                        ## or
    [a-zA-Z0-9._+-]+                         ## one of the IANA content subtypes
                                             ## such as html, xhtml+xml
   )                                         #
   (;                                        # Delimitor for optional parameter
    \s*                                      ## Optional space
    [!#$%&'*+-.0-9A-Z\\^_`a-z{|}~]+          ## The name of the parameter is a token
    =                                        ## Separator parameter=value
    (                                        ## Value of the parameter
     [!#$%&'*+-.0-9A-Z\\^_`a-z{|}~]+         ### The value can be a token
     |                                       ### or
                                             ### a quoted-string as per RFC 2822
                                             ### (without optional comments)
     "                                       #### quotation mark
                                             #### (The double quote " is written &quot;
                                             #### in an XML attribute)
     (                                       ####
      [^"\\]                                 #### any character but a quotation mark "
                                             #### or an anti-slash \
      |                                      #### or
      \\\\                                   #### an escaped anti-slash \\
      |                                      #### or
      \\"                                    #### an escaped quotation mark \"
     )*                                      #### the content of a quoted string can
                                             #### be 0 or more characters
     "                                       #### quotation mark
                                             ### end of the quoted-string
    )                                        ##
   )*                                        # There can be 0 or more parameters
  
  
  Those regular expressions propositions require of course more testing against appropriate RFCs, W3C recommendations and test
  cases.
  
  I think the IANA [http://www.iana.org] should be invited to review those XHTML Modularization datatype definitions.
  
  Cordially,
  Alexandre
  http://alexandre.alapetite.net
  
  
  ------=_NextPart_000_0010_01C6AF20.A36FDF70
  Content-Type: application/octet-stream;
  	name="xhtml-datatypes-1.xsd"
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: attachment;
  	filename="xhtml-datatypes-1.xsd"
  
  <?xml version=3D"1.0" encoding=3D"UTF-8"?>=0A=
  <xs:schema=0A=
   xmlns:xs=3D"http://www.w3.org/2001/XMLSchema"=0A=
   xmlns=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
   xmlns:xh11d=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
   targetNamespace=3D"http://www.w3.org/1999/xhtml/datatypes/"=0A=
   elementFormDefault=3D"qualified"=0A=
  >=0A=
      <xs:annotation>=0A=
          <xs:documentation>=0A=
            XHTML Datatypes=0A=
            This is the XML Schema datatypes module for XHTML=0A=
            =0A=
            Defines containers for the XHTML datatypes, many of=0A=
            these imported from other specifications and standards.=0A=
            =0A=
            $Id: xhtml-datatypes-1.xsd,v 1.1 2006/07/05 15:12:15 matthieu =
  Exp $=0A=
            Modified by Alexandre Alapetite =
  [http://alexandre.alapetite.net], 2006-07-13,=0A=
              see =
  [http://lists.w3.org/Archives/Public/www-html-editor/2006JulSep/0004.html=
  ]=0A=
              see [http://xmlfr.org/documentations/articles/030729-0001]=0A=
          </xs:documentation>=0A=
          <xs:documentation source=3D"xhtml-copyright-1.xsd"/>=0A=
          <xs:documentation =
  source=3D"http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abs=
  traction.html#s_common_attrtypes"/>=0A=
      </xs:annotation>=0A=
  =0A=
      <!-- nn for pixels or nn% for percentage length -->=0A=
      <xs:simpleType name=3D"Length">=0A=
          <xs:union memberTypes=3D"xs:nonNegativeInteger">=0A=
              <xs:simpleType>=0A=
                  <xs:restriction base=3D"xs:token">=0A=
                      <xs:pattern value=3D"\d+[%]|\d*\.\d+[%]"/>=0A=
                  </xs:restriction>=0A=
              </xs:simpleType>=0A=
          </xs:union>=0A=
      </xs:simpleType>=0A=
      <!-- space-separated list of link types -->=0A=
      <xs:simpleType name=3D"LinkTypes">=0A=
          <xs:list itemType=3D"xs:NMTOKEN"/>=0A=
      </xs:simpleType>=0A=
      <!-- single or comma-separated list of media descriptors -->=0A=
      <xs:simpleType name=3D"MediaDesc">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
      <!-- pixel, percentage, or relative -->=0A=
      <xs:simpleType name=3D"MultiLength">=0A=
          <xs:union memberTypes=3D"xh11d:Length">=0A=
              <xs:simpleType>=0A=
                  <xs:restriction base=3D"xs:token">=0A=
                      <xs:pattern value=3D"\d*\*"/>=0A=
                  </xs:restriction>=0A=
              </xs:simpleType>=0A=
          </xs:union>=0A=
      </xs:simpleType>=0A=
      <!-- one or more digits (NUMBER) -->=0A=
      <xs:simpleType name=3D"Number">=0A=
          <xs:restriction base=3D"xs:nonNegativeInteger"/>=0A=
      </xs:simpleType>=0A=
      <!-- integer representing length in pixels -->=0A=
      <xs:simpleType name=3D"Pixels">=0A=
          <xs:restriction base=3D"xs:nonNegativeInteger"/>=0A=
      </xs:simpleType>=0A=
      <!-- script expression -->=0A=
      <xs:simpleType name=3D"Script">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
      <!-- sixteen color names or RGB color expression-->=0A=
      <xs:simpleType name=3D"Color">=0A=
          <xs:union memberTypes=3D"xs:NMTOKEN">=0A=
              <xs:simpleType>=0A=
                  <xs:restriction base=3D"xs:token">=0A=
                      <xs:pattern value=3D"#[0-9a-fA-F]{6}"/>=0A=
                  </xs:restriction>=0A=
              </xs:simpleType>=0A=
          </xs:union>=0A=
      </xs:simpleType>=0A=
      <!-- textual content -->=0A=
      <xs:simpleType name=3D"Text">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
      <!-- Imported Datatypes  -->=0A=
      <!-- a single character, as per section 2.2 of [XML] -->=0A=
      <xs:simpleType name=3D"Character">=0A=
          <xs:restriction base=3D"xs:string">=0A=
              <xs:length value=3D"1" fixed=3D"true"/>=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- a character encoding, as per [RFC2045] -->=0A=
      <xs:simpleType name=3D"Charset">=0A=
          <xs:restriction base=3D"xs:string">=0A=
              <xs:pattern value=3D"[a-zA-Z0-9.:_-]+"/><!-- Added by =
  Alexandre Alapetite, 2006-07-08 -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- a space separated list of character encodings, as per [RFC2045] =
  -->=0A=
      <xs:simpleType name=3D"Charsets">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
      <!-- media type, as per [RFC2045] --><!-- token =3D =
  [!#$%&'*+-.0-9A-Z\\^_`a-z{|}~] -->=0A=
      <xs:simpleType name=3D"ContentType">=0A=
          <xs:restriction base=3D"xs:string"><!-- Added by Alexandre =
  Alapetite, 2006-07-13 -->=0A=
              <!--<xs:pattern value=3D"[^/ ;,=3D]+/[^/ ;,=3D]+(;\s*[^/ =
  ;,=3D]+=3D([^/ =
  ;,=3D]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*"/>--><!-- Short =
  version -->=0A=
              <xs:pattern =
  value=3D"([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z]{4,})/([xX]=
  [-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z0-9._+-]+)(;\s*[!#$%&amp;'=
  *+-.0-9A-Z\\^_`a-z{|}~]+=3D([!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|&quot;([^=
  &quot;\\]|\\\\|\\&quot;)*&quot;))*"/><!-- Full version -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- comma-separated list of media types, as per [RFC2045] -->=0A=
      <xs:simpleType name=3D"ContentTypes">=0A=
          <xs:restriction base=3D"xs:string"><!-- Added by Alexandre =
  Alapetite, 2006-07-13 -->=0A=
              <!--<xs:pattern value=3D"[^/ ;,=3D]+/[^/ ;,=3D]+(;\s*[^/ =
  ;,=3D]+=3D([^/ =
  ;,=3D]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*(,\s*[^/ ;,=3D]+/[^/ =
  ;,=3D]+(;\s*[^/ ;,=3D]+=3D([^/ =
  ;,=3D]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*)*"/>--><!-- Short =
  version -->=0A=
              <xs:pattern =
  value=3D"([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z]{4,})/([xX]=
  [-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-zA-Z0-9._+-]+)(;\s*[!#$%&amp;'=
  *+-.0-9A-Z\\^_`a-z{|}~]+=3D([!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|&quot;([^=
  &quot;\\]|\\\\|\\&quot;)*&quot;))*(,\s*([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_=
  `a-z{|}~]+|[a-zA-Z]{4,})/([xX][-.][!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+|[a-=
  zA-Z0-9._+-]+)(;\s*[!#$%&amp;'*+-.0-9A-Z\\^_`a-z{|}~]+=3D([!#$%&amp;'*+-.=
  0-9A-Z\\^_`a-z{|}~]+|&quot;([^&quot;\\]|\\\\|\\&quot;)*&quot;))*)*"/><!--=
   Full version -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- date and time information. ISO date format -->=0A=
      <xs:simpleType name=3D"Datetime">=0A=
          <xs:restriction base=3D"xs:dateTime"/>=0A=
      </xs:simpleType>=0A=
      <!-- formal public identifier, as per [ISO8879] -->=0A=
      <xs:simpleType name=3D"FPI">=0A=
          <xs:restriction base=3D"xs:normalizedString"/>=0A=
      </xs:simpleType>=0A=
      <!-- a language code, as per [RFC3066] -->=0A=
      <xs:simpleType name=3D"LanguageCode">=0A=
          <xs:restriction base=3D"xs:language"/>=0A=
      </xs:simpleType>=0A=
      <!-- a Uniform Resource Identifier, see [URI] -->=0A=
      <xs:simpleType name=3D"URI">=0A=
          <xs:restriction base=3D"xs:anyURI"/>=0A=
      </xs:simpleType>=0A=
      <!-- a space-separated list of Uniform Resource Identifiers, see =
  [URI] -->=0A=
      <xs:simpleType name=3D"URIs">=0A=
          <xs:list itemType=3D"xs:anyURI"/>=0A=
      </xs:simpleType>=0A=
      <!-- comma-separated list of MultiLength -->=0A=
      <xs:simpleType name=3D"MultiLengths">=0A=
          <xs:restriction base=3D"xs:string">=0A=
              <xs:pattern =
  value=3D"([+-]?(\d+|\d+(\.\d+)?%)|([1-9]\d*)*\*)(,\s*([+-]?(\d+|\d+(\.\d+=
  )?%)|([1-9]\d*)*\*))*"/><!-- Added by Alexandre Alapetite, 2006-07-08 -->=0A=
          </xs:restriction>=0A=
      </xs:simpleType>=0A=
      <!-- character Data -->=0A=
      <xs:simpleType name=3D"CDATA">=0A=
          <xs:restriction base=3D"xs:string"/>=0A=
      </xs:simpleType>=0A=
  </xs:schema>=0A=
  
  ------=_NextPart_000_0010_01C6AF20.A36FDF70--
  

REPLY 1:


  From: Shane McCarron <voyager-issues@mn.aptest.com>
  
  The working group is concerned that making these types of changes could
  accidently exclude valid content.  Moreover, the group is concerned that
  interpreting external documents to develop the proper patterns could give us
  unintended dependencies in the implementation.  We are not prepared to introduce
  this change at this time.  We will consider it for a subsequent revision of the
  implementation.

4. Modularization-text

This section describes issues relating to the prose text in Modularization of XHTML.

4.1 Errata in XHTML Modularization

PROBLEM ID: 10000

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: Agree

NOTES:

  The group agreed with this.

ORIGINAL MESSAGE:

  From: Brett Zamir <brettz9@yahoo.com>
  
  
  Hello,
  
  I believe I may have found one bit of errata in the XHTML Modularization 
  specs.
  
  At 
  http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_legacymodule 
  , "dl" is listed (as part of the Legacy Module) as having a "type" 
  attribute. I don't believe <dl> ever had a type attribute, and if it 
  did, it is not in the HTML 4.01 specification at 
  http://www.w3.org/TR/html4/struct/lists.html nor in the DTD at 
  http://www.w3.org/TR/html4/sgml/loosedtd.html .
  
  thank you,
  Brett Zamir
  

FOLLOWUP 1:


  From: Brett Zamir <brettz9@yahoo.com>
  
  Thank you!
  
  Brett
  
  Shane McCarron wrote:
  > We have implemented the change you requested.  It will be present in the next
  > public draft.  Thanks for your comment!
  >
  >   
  

REPLY 1:


  From: Shane McCarron <voyager-issues@mn.aptest.com>
  
  We have implemented the change you requested.  It will be present in the next
  public draft.  Thanks for your comment!

4.2 Acknowlegements in XHTML Mod incomplete

PROBLEM ID: 9639

STATE: Approved and Implemented
EDIT: Editorial
RESOLUTION: Accept
USER POSITION: Agree

NOTES:

  Thanks for catching this.  It has been fixed.

ORIGINAL MESSAGE:

  From: "Rick Jelliffe" <rjelliffe@allette.com.au>
  
  
  The new Working Draft of XHTML Modularization does not merge the
  Acknowledgement section from the XHTML Modularization in XML Schemas
  documnent, at
  
  http://www.w3.org/TR/2003/WD-xhtml-m12n-schema-20031003/acknowledgements.html#a_acks
  
  I think it is important to give acknowledgement to contributors, for
  reasons of fairness (so that committees does not take all the credit for
  the ideas of others), to encourage and reward participation (contributors
  may need to demonstrate to investors or other stakeholders that their
  activitities have borne fruit), to indentify credible old fogies (who can
  bring up the backgrounds or tradeoffs to technologies when committees
  change and forget.)
  
  Cheers
  Rick Jelliffe
  

REPLY 1:


  From: Shane McCarron <voyager-issues@mn.aptest.com>
  
  Thanks for catching this.  We will address it in the next draft!