<?xml version="1.0"?>
<?xml:stylesheet type='text/xsl' href='lcissues.msxsl'?>
<!DOCTYPE issues PUBLIC "-//W3C//DTD XML Schema Issues, ver. 0.6//EN" "issues.dtd" [
<!ENTITY nbsp "&#160;">
<!ENTITY aring "&#229;">
<!ENTITY eacute "&#233;">
<!ENTITY sect "&#167;">
<!ENTITY rarr "==>">
]>

<issues version="$Id: lcissues.xml,v 2.15 2000/10/13 16:06:54 cmsmcq Exp $" prefix="LC-"> 

<title>XML Schema: Last-Call Issues</title>


<header> 

<p>This document contains the issues raised by comments on XML Schema
during its Last-Call period. Officially, the Last-Call comment period
began  7 April 2000 and ended 12 May 2000; it does not in general
contain issues raised earlier or later (though there are some
exceptions). In its  current form it has been prepared by Michael
Sperberg-McQueen.</p>

<p>The process by which the XML Schema WG plans to handle these issues
is described at <link
href="http://www.w3.org/2000/04/24-xmlschema-lcprocess.html"
>http://www.w3.org/2000/04/24-xmlschema-lcprocess.html</link>.</p>

<p>Material reproduced from comments has been marked up, and obvious 
typos have been corrected.  Postings and documents which raise
several issues have been silently divided among several issues.
To consult the original postings, consult
the archive of the comments list. </p>

<p>Commentators have been requested to consult the records for the
issues they have raised, and check to make sure we have correctly
understood and paraphrased the issue.  (Note that in a few cases
the paraphrase poses a slightly broader question that the commentator
appears to have had in mind.)</p>

<p>In addition to the postings to
the XML Schema comments list, some postings to the XML Schema
Interest-Group mailing list have been included here; this list
is W3C-internal and only those with member access to the W3C
web site will be able to follow the relevant hyperlinks.  Where
we have received permission to quote the original posting in this
public document, we have done so; in other cases, a paraphrase
enclosed in square brackets has been supplied.  Links to member-only
material included in postings to the public list have been
left intact in the interests of completeness (for those who do
have member access) and simplicity (for those maintaining this
document).
</p>

<p>In addition, the following documents have been consulted:</p>

<ulist>
<item>
Altheim, Murray.  <emph>Review of XML Schema Specification: W3C Last
Call Document, 7 April 2000</emph>  11 May 2000 (<link href="http://www.doctypes.org/spec/schema-review-1.html">http://www.doctypes.org/spec/schema-review-1.html</link>)
</item>

<item>Costello, Roger L., and John C. Schneider.
<emph>Challenge of XML Schemas - Schema Evolution</emph>.
[n.p.]: MITRE Corp., 12 May 2000.
(<link href="http://www.xfront.org/EvolvableSchemas.html">http://www.xfront.org/EvolvableSchemas.html</link>)
</item>

<item>
MPEG7. <emph>MPEG-7 Description Definition Language (DDL) XML Schema
Problem Issues  Response to Last Call for Review 12 May 2000</emph>.
12 May 2000. (<link href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html">http://archive.dstc.edu.au/mpeg7-ddl/issues.html</link>)
(Issue <link href="#MPEG">124</link> and issues linked from there.)
</item>

<item><link href="http://www.w3.org/Signature/2000/05/03-schema-review.html">
Reagle, Joseph.  <emph>XML Signature WG Comments on XML Schema Last
Call.</emph>  3 May 2000
(http://www.w3.org/Signature/2000/05/03-schema-review.html)
</link></item>

<item><link href="http://www.w3.org/Signature/2000/05/10-schema-review-reagle.html">
Reagle, Joseph.  <emph>Comments on XML Schema Last Call</emph>.  10
May 2000
(http://www.w3.org/Signature/2000/05/10-schema-review-reagle.html)</link>
</item>

</ulist>


<!--* Issues we are expecting to see raised:
    * the term 'equivalence class' is misleading.
    * conditional sections are needed for practical work
    * inherited attributes
    * schema constructs should be first-class objects; there should be a standard way to construct a
    *  URI for any construct
    * allow numeric exponents only at top level
    * separate the transfer syntax into a separate document? (Holstege
    *  27 April 2000)
    *--> 

</header> 
 
<issue keyword="no-year-zero" originator="Martin Bryan, Paul Cotton" locus="datatypes" clause="3.3.22" priority="substantive" status="ok" cluster="04 datetime" batch="C"> 

<title>Specify date/time validity better?</title>

<description> 

<p>Should the datatypes part of XML Schema specify the legal value ranges for
the parts of dates and times? In particular, should it point out that 0000 is
not a valid year in the Gregorian calendar?</p>

</description> 
 
<references>

<input author="Martin Bryan" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0164.html">

<p>(Martin Bryan to XML Schema comments list, 29 February 2000.)</p>

<p>There would appear to be no mechanism for entering a data prior to 0 AD.
Could <code>-CCYY</code> be allowed, with the proviso that 0000 is not a valid
year? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0201.html" author="Paul Cotton">

<p>(Paul Cotton to XML Schema comments list, 9 March 2000)</p>

<p>The spec should specify the legal value ranges of the CC, YY, MM, and DD
parts of a date (even if this information is given in ISO 8601), and also the
various parts of a time value. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0148.html" author="C. M. Sperberg-McQueen"> 

<p>"C. M. Sperberg-McQueen" &lt;cmsmcq@acm.org&gt; to XML Schema Comments list,
Mon, 08 May 2000 20:11:05 -0600</p>

<p>At 16:24 00/02/29 +0000, Martin Bryan wrote: <emph>There would appear to be
no mechanism for entering a data prior to 0 AD. Could -CCYY be allowed, with
the proviso that 0000 is not a valid year? </emph></p>

<p>I believe that this form is allowed by the schema spec. Section 3.3.24.1
says </p>

<p>"To accommodate year values outside the range from 0 to 9999,
additional digits can be added to the left of this representation and
an preceding '-' is allowed."</p>

<p>I believe there are two typos here (there is no year 0 in the
Gregorian calendar, so the range should be 1-9999, and for 'an' read
'a'), but the phrase about the preceding minus sign is not a typo.
</p>

<p>Personally, I agree that there should be a note pointing out that
'0000' is not a valid year; otherwise, too many implementors will get
it wrong. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0197.html" author="Martin Bryan &lt;mtbryan@sgml.u-net.com>">


<p>"Martin Bryan" &lt;mtbryan@sgml.u-net.com&gt;
to XML Schema Comments list on
Sun, 14 May 2000 08:01:08 +0100
</p>

<p>
Ashok
</p>

<p>
<emph>You have sent a number of notes with comments on the Datatypes part
of the XML Schema specification.  We appreciate your input.  I believe
I have responded to all your concerns but would like to ask you formally
whether you feel your concerns have been addressed and the issues
you raised can be closed.</emph>
</p>

<p>
The vast majority of my concerns have been answered, for which I thank
you. There are still some relatively minor ones, such as the sentence
that reads 'To accommodate year values outside the range from 0 to
9999, additional digits can be added to the left of this
representation and an preceding "-" is allowed.' This really needs the
0 changed to 1, and a statement to indicate that negative numbers
represent Before Christian Era (BC/BE) dates....
</p>

</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0044.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:18:32 -0400</link></p>

<p>Appendix D now contains information on the legal ranges of the parts of
date and time values. </p>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0071.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0197.html">Martin Bryan</link> confirms he is satisfied, for the most part.
A <link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0100.html">later message</link> says he thinks there are still problems.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0132.html">Paul Cotton</link> indicates he is satisfied.</p>
</resolution>


</issue>


<issue keyword="conjunction-types" 
       originator="Curt Arnold" 
       locus="datatypes" 
       priority="substantive" 
       status="silent" 
       cluster="23 constructors" 
       batch="D" 
       responsible="Martin Gudgin">

<title>Conjunction types?</title>

<description> 
<p>Should XML Schema introduce constructors for simple types based on Boolean
logic?</p>
</description> 

 <references>

<interaction issue="union-types"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0175.html" author="Curt Arnold">

<p>Curt Arnold to XML Schema Comments list, 3 March 2000:</p>

<p>The following facets would seem to address quite a few constructs that
appear within Schema for Schema and a few things like multiple, disjunctive
value ranges from 
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/1999OctDec/0034.html">http://lists.w3.org/Archives/Public/www-xml-schema-comments/1999OctDec/0034.html</link>
</p>

<ulist>

<item>&lt;or&gt;: The &lt;or&gt; facet is satisfied if any of the contained
facets is satisified. </item>

<item> &lt;and&gt;: The &lt;and&gt; facet is satisified if all of the contained
facets are satisifed. </item>

<item> &lt;nor&gt;: The &lt;nor&gt; facet is satified if none of the contained
facets are satisified. A &lt;nor&gt; with a single contained facet is used to
perform a not operation. </item>

<item>&lt;conform&gt;: The conform facet is satified if the lexical
representation would be acceptible to the specified datatype. </item>

<item> &lt;enumeration&gt;: For this to work right, &lt;enumeration&gt; needs
to become a container of &lt;literal&gt; elements which will make it logically
equivalent to all the other facets. </item>

</ulist>

<p>Examples:</p>

<eg><![CDATA[
<simpleType name="maxOccur" base="string">
    <or>
        <conform type="non-negative-integer"/>
        <enumeration><literal value="*"/></enumeration>
    </or>
</simpleType>
]]></eg> 

<eg><![CDATA[
<simpleType name="noTeens" base="integer">
    <or>
        <and>
            <minInclusive value="0"/>
            <maxExclusive value="10"/>
        </and>
        <minInclusive value="20"/>
    </or>
</simpleType>
]]></eg> 

<eg><![CDATA[
<simpleType name="targetOrNamespace" base="string">
    <or>
        <enumeration>
            <literal value="##targetNamespace"/>
        </enumeration>
        <conform type="uri-reference"/>
    </or>
</simpleType>

<simpleType name="targetOrNamespaces" 
            base="targetOrNamespace" 
            derivedBy="list"/>

<simpleType name="anyAttribute" base="string">
    <or>
        <enumeration>
            <literal value="##any"/>
            <literal value="##other"/>
            <literal value="##local"/>
        </enumeration>
        <conform type="targetOrNamespaces"/>
    </or>
</simpleType>
]]></eg> 

</input>

</references><proposal author="WG">

<p>Discussed at Edinburgh ftf.</p>

<p>Task force assigned to work on the problem.</p></proposal>

<resolution>
<p>Discussed in call of 2000-07-14.</p>
<p>The question is on the 'union types proposal'.  The WG discussed the
question.
</p>
<p>
Paul Biron spoke in favor of the proposal: the functionality is
important for our language and for other people's schemas.  XSL
documented this very early, so it's a well-known need which this
proposal meets.
</p>
<p>
David Beech expressed a number of reservations: there's an even
stronger requirement for codependency constraints, which we've done
nothing about.  This proposal adds to the complexity of the spec, and
picks some low-hanging fruit, but not necessarily the most important
fruit.  The proposal to change the syntax for complex types does so in
a way that does some strange things (e.g. requiring 'restriction' as
part of the definition of a complex type without any explicit base!).
</p>
<p>
It's much more important to just put 'type' in the element name and
merge simple and complex types.  The uniformity proposed here has
several restrictions.  Is this a slippery slope?  What about unions
for complex types?  You soon get into needing discriminators.  Unions
are not normally order-dependent; they are usually commutative.
</p>
<p>The union-types proposal from the task force
was sent 30 June 2000 to the IG by Henry Thompson.</p>
<p>Discussed again at face to face meeting 1-2 August 2000.</p>

<p>
Clarifications:  the PSV infoset should give you both the union type
and also which member of the union you actually got.  It is possible
to use <emph>xsi:type</emph> with union types, as a discriminator.
Open enumerations (e.g. a union of the enumeration <emph>small</emph>
- <emph>medium</emph> - <emph>large</emph> with string) are
possible.</p>

<p>
In discussion, some WG members said they liked the general idea better
than the specifics of the proposed concrete syntax, and were worried
about the verbosity of common cases; other WG members felt that the
concrete syntax was a net usability win, since the proposal reduces
the variation in declarations and makes their formal definitions much
tighter, and thus much easier to work with in XML-aware tools.
Some WG members felt that too much effort was being put into a relatively
minor problem, when more important problems (e.g. co-occurrence
constraints) had been shelved for now.  The disambiguation rule has
the perhaps unpleasant effect that A union B is not the same as B
union A.  An alternative syntax which used attributes and not nested
subelements seemed attractive to some WG members; it would however in
practice require that all member types have names, and had been considered
and rejected by the task force.  Some members of the WG held that
the attribute-based alternative would in fact be harder to understand
and teach.
</p>
<p>
<b>Resolved</b>: to resolve issues 
<link href="#conjunction-types">LC-2</link> and <link
href="#union-types">LC-93</link> by adopting the proposal.
<b>Dissenting</b>: Vedamuthu. <b>Abstaining</b>:  Beech, Grosso.</p>

<p>
On the follow-on question of aligning the syntax of complex types
with that proposed for simple types, a majority (12:4) was inclined
to pursue the question.  A task force met overnight and reported the
next day.
</p>
<p><b>Resolved</b>: to adopt the task force proposal, leaving open
the question of the generic identifiers for the elements and the
correct solution to the design problem identified in the proposal.</p>
<p>Discussed the follow-on issues in call of 2000-08-10.
<b>Resolved</b>: to retain the element names <emph>simpleContent</emph>
and <emph>complexContent</emph>.
</p>
<p>
<b>Resolved</b> without dissent: to allow the 'mixed' attribute on the
'complexType' element, specifying that when the complexType element
has a simpleContent child, then the attribute has no effect (but
is not illegal).
<b>Abstaining</b>: Beech, Corda, Mendelsohn, Olken, Vedamuthu by proxy.
</p>
<p><link href="http://lists.w3.org/Archives/Member/w3c-archive/2000Oct/0052.html">Formal response to commentator</link>.
</p>

</resolution>
</issue>


<issue keyword="cotton-on-order" originator="Paul Cotton" locus="datatypes" clause="2.4.1.2" priority="substantive" status="ok" cluster="01 facets" batch="C">

<title>Why allow divergent order relations?</title>

<description> 

<p>Should the discussion of order relations state or imply that each datatype
must define a different order relation on the value space?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0201.html" author="Paul Cotton">

<p>(Paul Cotton to XML Schema comments list, 9 March 2000)</p>

<p>1. Section 2.4.1.2 Order </p>

<p>This section states "In such cases each datatype will define a different
order relation on the value space". I do not understand why this must be done.
Certainly at worst it should say "may define". Better even would be to delete
the sentence entirely. </p>

</input>

</references>


<proposal author="Ashok Malhotra">
<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0044.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:18:32 -0400</link></p>
<p>Sentence deleted.</p>
</proposal>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0067.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0131.html">Paul Cotton</link> indicates resolution is satisfactory.
</p>
</resolution>
</issue>


<issue keyword="cotton-on-enumeration" originator="Paul Cotton" locus="datatypes" clause="2.4.2.5" priority="substantive" status="ok" cluster="01 facets" batch="C">

<title>Enumerations should inherit ordering from underlying type</title>

<description>
<p>Should the discussion of enumerations be revised to specify that
enumerations inherit their ordering from their base type?</p>
</description> 
 
<references>
<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0201.html" author="Paul Cotton"> 
<p>(Paul Cotton to XML Schema comments list, 9 March 2000)</p>
<p>2. Section 2.4.2.5 enumeration </p>
<p>This section states "No order or any other relationship is implied ...".
This seems to imply that enumerations are not ordered. I think this sentence
needs to be reworded to imply that "No further ordering is implied" since
certainly the ordering of the underlying data type must be inherited. If not
then XML Query will have no means of ordering enumerations. </p>
</input>
</references>

<proposal author="Ashok Malhotra">
<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0044.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:18:32 -0400</link></p>
<p>Section has been reworded to reflect the intent above.</p>
</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0067.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0131.html">Paul Cotton</link> indicates resolution is satisfactory.
</p>
</resolution>
</issue>


<issue keyword="missing-order-info" originator="Paul Cotton" locus="datatypes" clause="3.2.1" priority="substantive" status="ok" cluster="01 facets" batch="C">

<title>Ordering information is missing</title>
<description>
<p>Should all primitive datatypes specify how their values are ordered?</p>
</description> 
 
<references>
<input author="Paul Cotton" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0201.html">
<p>(Paul Cotton to XML Schema comments list, 9 March 2000)</p>
<p>3. Section 3.2.1 string </p>
<p>This section states "The ordered property of string is the Unicode
character number sequence." The string data type is the only primitive datatype
that makes an explicit statement about how the ordering relation (not property)
is defined. I expect the ordering information is missing from other primitive
datatype sections. </p>
</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0044.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:18:32 -0400</link></p>

<p>We've added order relations for the other primitive datatypes.</p>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0067.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0131.html">Paul Cotton</link> indicates resolution is satisfactory.
</p>
</resolution>

</issue>


<issue batch="D" cluster="15 strings" status="silent" priority="substantive" clause="3.2.1" locus="datatypes" responsible="Jonathan Robie" originator="Paul Cotton" keyword="cotton-on-collation">

<title>Do strings need collation sequence?</title>

<description> 

<p>Should XML Schema allow schema authors to specify that a particular subtype
of string should be sorted according to a particular collation sequence? If so,
should XML Schema provide a way of defining collation sequences, or simply a
way to provide a name, with the further details left out of bound (as in
SQL)?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0201.html" author="Paul Cotton">

<p>(Paul Cotton to XML Schema comments list, 9 March 2000)</p>

<p>4. Section 3.2.1 string This section states "The ordered property of string
is the Unicode character number sequence." I wonder why the definition of the
string datatype does not permit a user to define the "collation" to be used?
"Unicode character number sequence" is only one "collation" and is not very
useful. In addition the specification does not explain why this "collation" is
needed. </p>

<p>XML Query will need to support different collations for the string data
type. It would be preferable if the collation was defined as part of the
<code>&lt;data type&gt;</code> not as part of the query
<code>&lt;predicate&gt;</code>s. I would recommend you consider a solution such
as one adopted by SQL to permit the type definer to simply name the collation
to be used. No exact definition of the action collation needs to be provided
since there are several other sources for this information. </p>

</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0044.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:18:32 -0400</link></p>

<p>Collation is needed to enable max/min on strings. The WG discussed
user-defined collations but decide not to do anything about this in V1. My
personal viewpoint is that, except for the min/max case, schema never concerns
itself with the relation between 2 strings and so this is not a schema problem.
Others disagree with this position but, regardless, we will not add anything in
V!. </p>

</proposal>

<resolution>
<p>Discussed in call of 2000-06-29.</p>
<p>Some members of the WG suggested that this issue is tied in with the
proposal from the i18n WG to remove minimum- and maximum-value facets
from strings and string-based types.
</p>
<p>
After discussion, a straw poll was taken, covering the four
possibilities of keeping/adding or removing/not-adding the min/max
facets and user-identified collation sequences.  The results showed a
small amount of support for retaining min/max values and adding
user-identified collation sequences, some support for removing min/max
and adding collations, no support for the status quo, and substantial
support for removing min- and max-values and declining to add
user-identified collation sequences.
</p>
<p>
<b>RESOLVED</b>: to remove minimum- and maximum-value facets from strings and
string-based types, and to reply to LC-6 by saying no (with
rationale).
<b>Dissenting</b>:  Olken.</p>

<p>This decision left us with a follow-on question.  Up until now, all
ordered value spaces have had (a) a specified ordering relation and
(b) minimum- and maximum-value facets.  In removing those facets from
string, we have removed the need to specify any collation sequence at
all.  Do we wish:</p>
<ulist>
<item>to define strings as having no ordering relation?</item>
<item>to say only that *this spec* does not specify an ordering relation
on strings (adding, perhaps, that other applications may wish to
define an ordering relation which may depend on language and/or locale
information)?</item>
<item>to say that strings are ordered, by the collation sequence implicit
in Unicode, but that min- and max-value facets are not applicable to
them (adding, perhaps, that other applications may wish to use some
other ordering relation which may depend on language and/or locale
information)?</item>
<item>to say that strings are ordered, in principle, but that the
ordering relation is locale-dependent and not specified by XML Schema?</item>
</ulist>
<p>
There was no support for claiming that strings are intrinsically
unordered; there was some support for each of the others, with a very
strong preponderance of support for saying only that XML Schema does
not specify any ordering relation for strings.
</p>
<p>
Paul Biron expressed the intention of the editors to add a note making
clear that any description of a value space as 'unordered' should not
be taken as precluding other applications from defining an ordering
relation for that value space, only as indicating that XML Schema
defines no such relation.  There was no audible objection to that
statement of intent.
</p>
<p>
<b>RESOLVED</b>: to specify that XML Schema defines no ordering relation
on strings.
<b>Dissenting</b>: Maloney, Olken.  
(Rationale: we should say that strings
are ordered, and that the order relation is
locale-dependent).
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0307.html">Initial response</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0185.html">Followup</link>.</p>
</resolution>

</issue>


<issue batch="D" cluster="26 numeric" status="nok" priority="substantive" clause="3.2.5" locus="datatypes" responsible="Jonathan Robie" originator="Paul Cotton" keyword="cotton-on-decimal">

<title>Arbitrary-precision decimal too much?</title>
<description>
<p>Is the requirement that XML Schema implementations must support
arbitrary-precision decimals an excessive burden on implementors of a query
language? Should XML Schema instead specify that the maximum precision for
decimal numbers should be an "implementation-defined number not less than X",
with the value of X to be determined?</p>
</description> 
 
<references>
<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0201.html" author="Paul Cotton"> 
<p>(Paul Cotton to XML Schema comments list, 9 March 2000)</p>
<p>5. Section 3.2.5 decimal </p>
<p>The Note in this section asks "Our design discussions did not reveal
convincing evidence of undue burden because of arbitrary precision decimal
numbers in this design, but we welcome further input from implementors". </p>
<p>I believe that you may want to consider the impact on implementors of a
query language based on this data type that must implement
<code>&lt;predicate&gt;</code>s and arithmetic operators for an "arbitary
precision decimal number". I believe we will find this to be too expensive and
that implementations will in fact constrain the precision of this data type. If
the XML Schema specification does not do this then interoperability will be
heavily constrained. </p>
<p>I do not accept the argument that XML Schemas needs an arbitrarily precise
decimal datatype just to be able to model the length of names in XML which are
in turn unconstrained in length. </p>

<p>I suggest that the document be modified to state that the maximum precision
for decimal numbers should be an "implementation-defined number not less than
X" where X can be agreed upon by implementors as a practical lower limit for
this amount. "Implementation-defined" means that a conforming implementation
must state in its conformance statement what the value is. </p>

</input>

</references>


<proposal author="Ashok Malhotra">
<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0044.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:18:32 -0400</link></p>
<p>There is now a note in 3.2.5 asking for feedback on this issue. </p>
</proposal><proposal author="WG">

<p>Discussed at Edinburgh ftf.</p>

<p>Task force consisting of Robie and Malhotra will examine this with a 
goal of formulating a new design which (1) sets minimum precision and 
magnitude that all processors must support and (2) makes a formal proposal 
for what schema processors must accept (presumably includes unrestricted 
integer) in a schema as well as an instance. 
</p></proposal>

<proposal author="WG">
<p>1. The XML Schema spec set down the minimum mumber of digits that must be
supported by a conforming XML processor for the numeric datatypes integer,
decimal, float and double.
</p><p>
2. XML processors are free to support more than the minimum number of
digits.  If they do so, they should adverstise this fact as part of their
specifications.
</p><p>
3. The minimum number of digits required for (1) should be derived based on
the number of digits supported by some standard programming languages
such as C and Java.  These are discussed below.  In earlier notes I had
proposed
that the precisions be based on the number of digits supported by 32-bit
processors
but I realized that languages often use multiple words to store numeric
values.
</p><p>
Also, as most processors will translate values encoded in XML documents
into
values in some programming language, it seems more sensible to base
precisions
on those supported by common programming languages.
</p><p>
<b>SUGGESTED PRECISIONS</b>
</p><p>
The <emph>Java Language Specification</emph> (Gosling, Joy, Steele) says</p><ulist><item>
For int, from -2147483648 to 2147483647 i.e 9 significant digits
</item><item>For long, from -9223372036854775808 to 9223372036854775808 i.e. 18
significant digits
</item><item>Decimals can have the same range of values i.e the same number of digits.
</item><item>
For float the values are of the form +/- <emph>m</emph>*2**<emph>e</emph> where <emph>m</emph> is a positive
integer less than
2**24 i.e  16777216 and <emph>e</emph> is between -149 and 104.  This yields 7
significant
digits for the mantissa and 2 digits for the exponent.
For double, <emph>m</emph> is a positive integer less than 2**53 i.e 9007199254740992
and <emph>e</emph> is an integer between -1075 and 970.  This yields 15 significant
digits for
the mantissa and still 2 digits for the exponent.
</item></ulist><p>
C allows compilers to chose how many digits to use for int and long.
The <emph>limits.h</emph> library defines the minimum and maximum values for long
consistent with the values for Java int above.
</p><p>
For floating point numbers <emph>float.h</emph> defines precisions tha are significantly
lower:  for float, 6 digits of precision in the mantissa and a maximum
of +/- 37 for the exponent.  For double, 10 digits of precision and still
+/- 37
as a maximum for the exponent.
</p><p>
I do not understand the lower precision for floating point numbers in C.
Perhaps this is because <emph>float.h</emph> also allows you to specify the radix for
float and double or merely that I used Kernighan and Richie and newer
compilers allow more digits.
</p><p>
<b>RECOMMENDATION</b></p><p>
If we set a single minimum standard then, based on the Java figures above,
I would recommend 18 digits for integers and decimals.  For float and
double
I would recommend 15 digits for the mantissa and 2 digits for the exponent.
</p><p>
If these figures are felt to be too generous we could go with a 2-tier
system.
</p></proposal>

<resolution>
<p>Discussed in call of 2000-07-21.</p>
<p>The question is on a proposal from Paul Cotton to specify some minimal
level of support for precision of decimals, which all implementations
must support as a minimum.  The argument in favor is that this
clarifies where the interoperability boundary lies much more clearly
than will otherwise be the case.  The argument against is that the
minimum level of support will turn into the maximum and no one will
support any more.
</p>
<p>
Concrete proposal by Ashok Malhotra is:
<emph>If we set a single mnimum standard then, based on the Java figures
above, I would recommend 18 digits for integers and decimals.  For
float and double I would recommend 15 digits for the mantissa and 2
digits for the exponent.</emph></p>

<p>
<b>RESOLVED</b>: to dispose of issue LC-7 by saying in principle yes,
we will specify some minimal level of support for precision of
decimals.
<b>Dissenting</b>:  Biron, Corda, Gudgin.
<b>Abstaining</b>:  none
</p>
<p>
<b>RESOLVED</b> without dissent: to specify that conforming processors may
support any number of digits of precision greater than or equal to 18
digits precision, and to make the minimum level a priority feedback
issue.
<b>Abstaining</b>: Biron, Corda, Fuchs, Gudgin, Mendelsohn, Peterson.
</p>
<p>
<b>RESOLVED</b>: to require processors to specify the maximum number of
digits they support.  
<b>Dissenting</b>: Fuchs, Hollander, Mendelsohn, Vedamuthu.
Rationale for dissent: because we don't specify anything about the
form of documentation, this is not really enforceable as a
requirement.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0187.html">Formal response</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0189.html">Michael Rys</link> would prefer a different solution.</p>
</resolution>


</issue>


<issue keyword="cotton-on-integer" originator="Paul Cotton" locus="datatypes" clause="3.3.9" priority="substantive" status="ok" cluster="04 numeric" batch="C">

<title>Integers should not allow non-significant leading or trailing
zeroes</title>

<description> 
<p>Should XML Schema forbid the use of non-significant leading and trailing
zeroes?</p>
</description> 

 
<references>

<interaction issue="decimal-point"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0201.html" author="Paul Cotton"> 

<p>(Paul Cotton to XML Schema comments list, 9 March 2000)</p>

<p>6. Section 3.3.9 integer </p>

<p>The definition of the lexical representation of the integer datatype does
not correctly reflect that non-significant leading and trailing zeroes should
not be used. Non-significant zeroes are leading zeroes to the left of the
decimal point or trailing zeroes to the right of the decimal point. I suggest
using this concept in the descriptive material. </p>

</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0044.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:18:32 -0400</link></p>

<p>This is a good addition to integer. For decimal, trailing zeroes sometimes
provide information. </p>

</proposal>
<proposal author="WG">

<p>Discussed at Edinburgh ftf.</p>

<p>CONSENSUS: make no change to status quo (meaning keep multiple
lexical representations for integers and decimals), but add explicit
definition of canonical representations for them (and other types with
multiple lexical representations). 

</p>

<p>RESPONSE to originator will be that we are unwilling to impose that
usability cost. ACTION to editors to propose which forms are
canonical.
</p>

<p>OPEN QUESTION: what about the PSV infoset? Do you get a single
value in the original form? In the canonical form? Both? Status quo is
you get the string as it was in the document and its type. 
</p>
<p>These questions were resolved, in the course of September, in favor
of a <emph>schema-normalized form</emph> of any simple type, which
has undergone whitespace normalization and has no comments or
processing instructions, but which is not canonicalized (so that,
for example, nonsignificant leading and trailing zeroes may
occur).  Members of the WG deeply involved with database implementation
said that most commercial DBMS are capable of handling leading and
trailing zeroes.</p>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0067.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0131.html">Paul Cotton</link> indicates that XML Query can live
with this decision, although it would prefer a differeent one.
"I am still concerned that
user's of the XML Query language will want to distinguish between
occurrences of XML Schema Integers with the values 01 and 1.  This is why I
wanted to prohibit the former.  Since XML Schema has not prohibited the
first alternative then XML Query will simply have to ensure that it clearly
states which values can be searched for."
</p>
</resolution>

</issue>


<issue keyword="asciiString" originator="Peter Canning" locus="datatypes" priority="substantive" status="ok" cluster="strings" batch="A" responsible="Biron, Sperberg-McQueen"> 

<title>How do I restrict strings to ASCII or Latin 1?</title>


<description> 

<p>How should a schema designer go about restricting the string type to contain
only characters from a specific coded character set or encoding, such as ASCII
or ISO Latin 1 (ISO 8859-1)?</p>

</description> 

 
<references> 

<input href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000Mar/0132.html" author="Peter Canning"> 

<p>(Peter Canning to XML Schema IG, 14 March 2000 -- member-only)</p>

<p>[What if I want a type 'ASCII' or 'Latin1', to model an existing
string type?]</p>

<!--* 

<p>Its not clear to me how I would go about defining a type restricting the
string type to contain only characters from a specified character set/encoding.
For example, to model the types provided by some other type system, I might
want to create a type ASCII or a type Latin1 (ISO 8859-1). </p>
<p>If this is possible, could somebody provide some suggestions about how to do
it. If its not possible, I would suggest it be opened as an issue. It seems to
me that modeling the types from existing type systems is likely to be a very
common use of XML Schema. </p>
*-->

</input> 

</references>


<proposal author="C. M. Sperberg-McQueen, Paul Biron">

<p>(The following draft reply was prepared by C. M. Sperberg-McQueen.)</p>

<p>Because XML Schema applies only at the info-set level, it is
<emph>not</emph> possible to restrict a string to a specific character
encoding, nor to what ISO standards used to call a <emph>coded character
set</emph>, such as ISO 8859-1. All XML processors are required to accept data
in the UTF-16 and UTF-8 encodings, and no schema can override that.</p>

<p>It is, however, possible to restrict a string to a particular set of
characters (a particular character <emph>repertoire</emph>). The process might
go something like this:</p>

<olist>

<item>define a simple type called (for example) <emph>ASCIIstring</emph>.
Derive it from <emph>string</emph> by using a regular expression pattern in the
<emph>pattern</emph> facet.</item>
<item>use the type <emph>ASCIIstring</emph> wherever you would otherwise have
used <emph>string</emph></item>
</olist>

<p>If you are defining a self-contained schema (i.e. you don't expect elements
from other namespaces to appear in your documents), this should be all you are
looking for.</p>

<p>If you are defining a schema module, which is expected to be used in
conjunction with other modules, designed by other people, and you had been
hoping for a way to restrict the other modules, then it will be disappointing
to learn that such after-the-fact restriction of other people's schemas is not
supported in XML Schema.</p>

<p>(The following draft reply was prepared by Paul Biron and posted to the XML
Schema IG on 15 March 2000.)</p>

<p>Assuming the character set you wish to restrict to is a Unicode Block, then
you could define a subtype of string restricted to just that block as in:</p>

<eg><![CDATA[
<simpleType name='ascii-string' base='string'>
  <pattern value='\p{IsBasicLatin}*'/> 
</simpleType>
]]></eg>

<p>or</p>

<eg><![CDATA[
<simpleType name='latin-1-string' base='string'>
  <pattern value='\p{IsLatin-1Supplement}*'/>
</simpleType>
]]></eg>

<p>This is mentioned in the regex design that was part of 
<link href="http://www.w3.org/TR/1999/WD-xmlschema-2-19991217/#regexs">the
1999-12-17 draft</link> but was accidentally left out of
<link href="http://www.w3.org/TR/1999/WD-xmlschema-2-20000225/#regexs">the
2000-02-25 draft</link>. The recognized block names are those in the Unicode
Database (file blocks.txt), with whitespace stripped out. </p>

<p>If the character set you with to restrict to is <emph>not</emph> a single
block, but can be constructed by combining some set of Unicode properties, then
you can do something like (which is described in the 
<link href="http://www.w3.org/TR/1999/WD-xmlschema-2-20000225/#regexs">2000-02-25
draft</link>): </p>

<eg><![CDATA[
<simpleType name='letters-and-punctuation' base='string'>
  <pattern value='[\p{L}\p{P}]*'/> 
</simpleType>
]]></eg>

<p>As a last resort, you could always construct the character class which
comprises the character set by enumerating all members of the class [2], as in:
</p>

<eg><![CDATA[
<simpleType name='my-strings' base='string'> 
  <pattern value='[&#123;&#827;&#5473;...]*'/> 
</simpleType>
]]></eg>
</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0198.html">Formal response</link>.</p>
<p>Commentator responds privately 21 September "I am satisfied with
the response of the working group on this issue."</p>
</resolution>
</issue>


<issue batch="D" cluster="28 keys" status="silent" priority="substantive" locus="structures" responsible="David Beech, Ashok Malhotra" originator="Mary F. Fernandez" keyword="clarify-identity-constraints">

<title>Clarify the exposition of identity-constraint tables</title>

<description>
<p>Should the exposition of identity-constraint tables be revised in the
interests of clarity?</p>
</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0217.html" author="Mary Fernandez">

<p>(Mary Fernandez to XML Schema Comments list, 15 March 2000)</p>

<p>I am writing as a representative of the XML Query working group. Currently,
we are specifying the data model for XML Query. Part of that exercise requires
specifying formally the mapping from an instance of the PSV Infoset to an
instance of the Query data model. </p>

<p>This message regards the definition of the Schema Infoset Contribution for
Identity-constraint tables described in : 
<link href="http://www.w3.org/TR/xmlschema-1/#Identity-constraint_Definition_details">http://www.w3.org/TR/xmlschema-1/#Identity-constraint_Definition_details</link>.
</p>

<p>This message has 2 parts: </p>

<p>
<b>Part 1.</b>
</p>

<p>A request to review the example in the attached text file. Please confirm
that this example is correct w.r.t. the definition above. </p>

<p>If not, please explain how we misinterpreted the definition. </p>

<p>The attached example contains an abbreviated version of the
&lt;purchaseReport&gt; example by David Fallside in : 
<link href="http://www.w3.org/XML/Group/xmlschema-current/new-design/exposition.html">http://www.w3.org/XML/Group/xmlschema-current/new-design/exposition.html</link>.
</p>

<p>For the given example, we define a fragement of the corresponding PSV
Infoset instance, which contains the Identity-constraint table for the
&lt;purchaseReport&gt; element item. </p>

<p>We use the following notation:</p>

<ulist>
<item><emph>is</emph>: denotes the namespace for information set items</item>
<item><emph>psvis</emph>: denotes the namespace for Schema contributions to
Infoset</item>
</ulist>

<p>Here's a DTD for an identity-constraint table that I inferred from the XML
Schema document: </p>

<eg><![CDATA[
<!ELEMENT psvis:identityConstraintTable 
          (psvis:identityConstraint, psvis:nodeTable)*> 
<!ELEMENT psvis:identityConstraint is:ref>
<!ELEMENT psvis:nodeTable (psvis:keySequence, psv:qualifiedNode)*>
<!ELEMENT psvis:keySequence (is:ref)*> 
<!ELEMENT psvis:qualifiedNode is:ref>
<!ELEMENT is:ref EMPTY> 
<!ATTLIST is:ref idref > ]]></eg>
<p>
<b>Part 2</b>
</p>

<p>A question and a suggestion follow. </p>
<p>In the subsection "Schema Information Set Contribution: Identity-constraint
Table", I believe "key sequence k" should be changed to "key sequence b". If
not, then please explain the relationship between the b &amp; k key sequences.
</p>

<p>[On 17 March 2000 Henry Thompson replies: You're right about the typo, that
should be 'key sequence k' throughout."]</p>

<p>Part of the difficulty in understanding the definition of the
Identity-Constraint table is that the document tries to describe in prose both
<emph>what</emph> the table is and <emph>how</emph> to construct it at the same
time. I tried to translate the prose into a pseudo-code specification (see
below). If we assume that a node table is is a table of (key-sequence,
qualified-node) pairs and is keyed on key-sequence, we can compute a new node
table for element E, eligible constraint C as follows: </p>

<eg>
fun nodeTable(E, C) {
  let /* compute node table for element E &amp; constraint C */

      table = UNION(forall (keyseq, qualnode) in eligibleConstraint(E,C))
      /* inherit non-conflicting constraints from children */
      kidsTable  = UNION(forall K in children(E), nodeTable(K, C))
      inheritTable = kidsTable - table
  in table UNION inheritTable
}
// inheritTable is really a project on key-sequence, difference of the
// two tables and then a join with kidsTable to reconstruct the
// inherited table.
</eg>

<p>You might not want to present the definition in such a form, but for anyone
who must implement or use the Schema definition (such as the Query working
group), this is precisely what must be inferred. </p>

<p>[On 5 April 2000, Henry Thompson replied: "As near as I can tell your
algorithm is correct, and the example infoset is also correct."]</p>

<p><b> A. Abbreviated Example Data (same Schema as in full example) </b></p>

<eg><![CDATA[
<purchaseReport>
  <regions>
    <zip code="95819"> 
      <part number="872-AA"/> 
      <part number="455-BX"/>  
   </zip>
    <zip code="63143"> 
      <part number="455-BX"/> 
   </zip>
 </regions>
  <parts>
    <part number="872-AA">Lawnmower</part>  
    <part number="455-BX">Sturdy Shelves</part> 
  </parts>
</purchaseReport>
]]></eg>

<p><b> B. Information-Set Instance for Example Data in A. This is an XML
serialization of the infoset instance. </b></p>

<eg><![CDATA[
<is:Document id="document#0">
  <is:children>
    <is:ref idref="element#0"/>
    <!-- reference to infoset item for schema -->
    <psvis:schema idref="schema#0"/>
  </is:children>
</is:Document>

<is:Element is:id="element#0">
  <is:localName>purchaseReport</is:localName>
  <is:children>
    <is:ref idref="element#1">
    <is:ref idref="element#7">
  </is:children>

  <psvis:identityConstraintTable>
    <!-- Skip <unique> constraint -->
    <!-- Constraint : <key name="pNumKey">  --> 
    <psvis:identityConstraint>
      <!-- reference to infoset item for 
       <key name="pNumKey"> -->
      <is:ref idref="identityConstraint#0"/>
    </psvis:identityConstraint>
    <psvis:nodeTable>
      <psvis:keySequence>
        <!-- number="872-AAA" -->
        <is:ref idref="attribute#5"/>
      </psvis:keySequence>
      <psvis:qualifiedNode>
        <is:ref idref="element#8"/>
      </psvis:qualifiedNode>

      <psvis:keySequence>
        <!-- number="455-BX" -->
        <is:ref idref="attribute#6"/>
      </psvis:keySequence>
      <psvis:qualifiedNode>
        <is:ref idref="element#9"/
      </psvis:qualifiedNode>
    </psvis:nodeTable>

    <!-- Constarint : <keyref refer="pNumKey"> --> 
    <psvis:identityConstraint>
      <!-- reference to infoset item for
       <keyref refer="pNumKey">...</key> -->
      <is:ref idref="identityConstraint#1"/>
    </psvis:identityConstraint>
    <psvis:nodeTable>
      <psvis:keySequence>
        <!-- number="872-AAA" -->
        <is:ref idref="attribute#1"/>
      </psvis:keySequence>
      <psvis:qualifiedNode>
        <is:ref idref="element#8"/>
      </psvis:qualifiedNode>

      <psvis:keySequence>
        <!-- number="455-BX" -->
        <is:ref idref="attribute#2"/>
      </psvis:keySequence>
      <psvis:qualifiedNode>
        <is:ref idref="element#9"/
      </psvis:qualifiedNode>

      <psvis:keySequence>
        <!-- number="455-BX" -->
        <is:ref idref="attribute#4"/>
      </psvis:keySequence>
      <psvis:qualifiedNode>
        <is:ref idref="element#9"/
      </psvis:qualifiedNode>
    </psvis:nodeTable>
  </psvis:identityConstraintTable>
</is:Element>

<is:Element is:id="element#1">
  <is:localName>regions</is:localName>
  <is:children>
    <is:ref idref="element#2"/>
    <is:ref idref="element#5"/>
  </is:children>
</is:Element>

<is:Element is:id="element#2">
  <is:localName>zip</is:localName>
  <is:attributes>
    <is:ref idref="attribute#0"/>
  </is:attributes>
  <is:children>
    <is:ref idref="element#3"/>
    <is:ref idref="element#4"/>
  </is:children>
</is:Element>

<is:Element is:id="element#3">
  <is:localName>part</is:localName> 
  <is:attributes>
    <is:ref idref="attribute#1/>
  </is:attributes>
</is:Element>

<is:Element is:id="element#4">
  <is:localName>part</is:localName> 
  <is:attributes>
    <is:ref idref="attribute#2/>
  </is:attributes>
</is:Element>

<is:Element is:id="element#5">
  <is:localName>zip</is:localName>
  <is:attributes>
    <is:ref idref="attribute#3"/>
  </is:attributes>
  <is:children>
    <is:ref idref="element#6"/>
  </is:children>
</is:Element>

<is:Element is:id="element#6">
  <is:localName>part</is:localName> 
  <is:attributes>
    <is:ref idref="attribute#4/>
  </is:attributes>
</is:Element>

<is:Element is:id="element#7">
  <is:localName>parts</is:localName> 
  <is:children>
    <is:ref idref="element#8"/>
    <is:ref idref="element#9"/>
  </is:children>
</is:Element>

<is:Element is:id="element#8">
  <is:localName>part</is:localName> 
  <is:attributes>
    <is:ref idref="attribute#5/>
  </is:attributes>
  <is:children>
    <!-- references to CDATAItems for "Lawnmower" -->
  </is:children>
</is:Element>

<is:Element is:id="element#9">
  <is:localName>part</is:localName> 
  <is:attributes>
    <is:ref idref="attribute#6/>
  </is:attributes>
  <is:children>
    <!-- references to CDATAItems for "Sturdy Shelves" -->
  </is:children>
</is:Element>

<is:Attribute is:id="attribute#0">
  <is:localName>code</is:localName>
  <value>95819</value>
</is:Attribute>

<is:Attribute is:id="attribute#1">
  <is:localName>number</is:localName>
  <value>872-AA</value>
</is:Attribute>

<is:Attribute is:id="attribute#2">
  <is:localName>number</is:localName>
  <value>455-BX</value>
</is:Attribute>

<is:Attribute is:id="attribute#3">
  <is:localName>number</is:localName>
  <value>872-AA</value>
</is:Attribute>

<is:Attribute is:id="attribute#4">
  <is:localName>number</is:localName>
  <value>455-BX</value>
</is:Attribute>
]]></eg> 
</input>

</references>

<resolution>
<p>This issue was discussed and resolved together with 
issue <link href="#id-constraint">LC-159</link>; see there
for details of decisions in this area.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0220.html">Formal response</link>.</p>
</resolution>

</issue>


<issue keyword="date-time-period" originator="Aram Airapetian" locus="datatypes" priority="substantive" status="silent" cluster="04 datetime" batch="C">

<title>Date and time period</title>

<description>
<p>Should the <emph>date</emph> and <emph>time</emph> types have the
same value for <emph>period</emph>?</p>
</description> 
 
<references>
<input author="Aram Airapetian" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JanMar/0242.html">
<p>(Aram Airapetian to XML Schema Comments list, 30 March 2000)</p>
<p>How come the <emph>date</emph> and the <emph>time</emph> types have the
same period? The "000000T2400" value is period for time. It is 'unit' for date,
though. For date (CCYY-MM-DD, see 3.3.22.1) period is "010000". Am I missing
something? </p>
<p>The notions of 'period' and 'unit' might be beneficial for simplification
of numeric type definition. All types 3.2.2 - 3.2.5 and 3.3.9 - 3.3.21 could be
defined (derived from decimal) by assigning corresponding 'period', 'unit' and
'signed/unsigned' constraints. </p>
</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0201.html" author="Ashok Malhotra">

<p>My apologies for taking so long to reply to your note below.
We have made some changes to the text and corrected some typos.
Now, "date" has a period of 0 (no recurrence) and a duration of 24hours.
"time" has a period of 24 hours and a duration of zero.
I trust that addresses your concerns.
</p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0059.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="exporting-attributes" originator="Aaron M. Cohen" locus="structures" priority="substantive" status="silent" cluster="19 modules" batch="A" responsible="Dan Connolly">

<title>How can a module creator make attributes available to other
modules?</title>


<description>

<p>How does a schema author go about adding new attributes to elements declared
in a different module?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0002.html" author="Aaron M. Cohen">

<p>(Aaron M. Cohen to XML Schema Comments list, 3 April 2000)</p>

<p>It has recently been brought to my attention that the current draft of
XML-Schemas does not provide a mechanism for incrementally building up an
attribute set on an element, perhaps from several separate modules containing
attributes, and also for adding attributes to elements already declared. </p>

<p>This is essential for modularizing SMIL with XML Schemas, and is something
that can (and has) already be done with DTD's. Maybe my information is
incorrect, or my understanding is faulty, so I am sending this to make you
aware of our needs, and asking for guidance in applying XML Schemas in this
manner. If my information and understanding are correct, then please consider
this a requirement for the SMIL modules to have associated XML Schemas. I am
under the impression that XHTML has very similar needs, and my impression is
based in part on my exchanges with some of the XHTML folks. </p>

<p>A concrete example will probably make our needs clear. So I'll discuss our
modularization needs in the context of a vastly simplified view of SMIL. </p>

<p>SMIL timing is a set of reusable modules that can be used to
incorporate timing relationships into XML languages. This language
could be "SMIL", or "XHTML", or something else. We provide time
containers, which are grouping elements that contain other elements
and provide semantics for the timing relationships between the grouped
elements. We also provide attributes that are added to elements to
allow authors to specify explicit timing relationships.
</p>

<p>For example, SMIL includes the parallel time container, &lt;par&gt;, which
allows for several things to be played at once. To play an audio and video clip
and the same time (assuming that the language, like SMIL 1.0, includes elements
to express playing each of these): </p>

<eg><![CDATA[
<par> 
 <video .../>
 <audio .../>
</par>
]]></eg>

<p>Note that the elements could be from some other language, such as XHTML.
Here's how two paragraphs of text might be displayed at the same time: </p>

<eg><![CDATA[
<par>
<p>First Paragraph.</p>
<p>Second Paragraph.</p>
</par>
]]></eg>

<p>This becomes much more powerful when the elements that are timed can have
their own timing-specific attributes. For this discussion, we'll only have two.
'begin' tells when to start displaying something, and 'dur' specifies the
duration, or how long to display it. Building off the XHTML example: </p>

<eg><![CDATA[
<par>
<p begin="0s" dur="1s">First Paragraph.</p>
<p begin="2s" dur="1s">Second Paragraph.</p>
</par>
]]></eg>

<p>This displays the first paragraph immediately for 1 second, then there is
one second where nothing is displayed, and then at time=2s, the second
paragraph is displayed for 1 second. </p>

<p>This admittedly very simple example gets to the root of what we need to be
able to accomplish with XML Schemas. The &lt;p&gt; element is already defined
in a module by XHTML. For a language designer to be able to incorporate or
combine timing with elements already defined, we need to be able to extend the
attribute set of an element defined in a different module. For this particular
example, the language designer needs an XML Schema method of adding the 
<emph>begin</emph>
and <emph>dur</emph> 
attributes defined in a SMIL XML Schema module to the &lt;p&gt; element
defined in an XHTML Schema module. It is not sufficient to just be able to
declare the members of an attribute set from several places when the element is
initially defined. </p>

<p>Please feel free to contact me with any questions you may have about
anything that I have said here. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0188.html" author="Dan Connolly &lt;connolly@w3.org>">

<p>Dan Connolly &lt;connolly@w3.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 17:18:11 -0500
</p>

<p>
<emph>
It has recently been brought to my attention that the current draft of
XML-Schemas does not provide a mechanism for incrementally building up an
attribute set on an element, perhaps from several separate modules
containing attributes,</emph>
</p>

<p>
I believe the attribute group mechanism provides this.
<link href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#Attribute_Group_Definition">http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#Attribute_Group_Definition</link>
</p>

<p>
<emph>and also for adding attributes to elements already
declared.</emph>
</p>

<p>
I presume you're talking about this idiom...
</p>

<p>
"<emph>6.1. Defining additional attributes
[...]
 This works because XML permits the definition or
        extension of the attribute list for an element at any point in a
DTD. "</emph>
<link href="http://www.w3.org/TR/2000/WD-xhtml-building-20000105/developing.html#s_dev_attrs">http://www.w3.org/TR/2000/WD-xhtml-building-20000105/developing.html#s_dev_attrs</link>
</p>

<p>
The Schema spec provides an analog of this idiom; if you
want your element declarations to allow other attributes this way,
just include</p>

<eg>
&lt;anyAttribute namespace="##any" processContents="strict"/&gt;
</eg>

<p>
cf
<link href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#element-anyAttribute">http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#element-anyAttribute</link>
</p>

<p>
I would actually recommend <code>##other</code> rather than 
<code>##any</code>; requiring
"mixed in attributes" to be declared as coming from another
namespace seens more appropriate than allowing unqalified
attributes or attributes from the same namespace.
</p>

<p>
<emph>
This is essential for modularizing SMIL with XML Schemas, and is something
that can (and has) already be done with DTD's.
</emph>
</p>

<p>
Well... it can be done with a specific set of conventions layered on top
of DTDs, using parameter entities. It cannot be done for arbitrary
combinations of DTDs. And the XHTML modularization mechanisms are
susceptible to name collisions between modules.
</p>

<p>
cf
<link href="http://www.w3.org/TR/2000/WD-xhtml-building-20000105/developing.html#s_dev_attrs">http://www.w3.org/TR/2000/WD-xhtml-building-20000105/developing.html#s_dev_attrs</link>
</p>

<p>
<emph>Maybe my information is
incorrect, or my understanding is faulty, so I am sending this to make you
aware of our needs, and asking for guidance in applying XML Schemas in this
manner. If my information and understanding are correct, then please
consider this a requirement for the SMIL modules to have associated XML
Schemas. I am under the impression that XHTML has very similar needs, and my
impression is based in part on my exchanges with some of the XHTML folks.
</emph></p>

<p><emph> 
A concrete example will probably make our needs clear.
</emph></p>
<p>
Yes, thanks.
</p>

<p>
<emph>So I'll discuss our
modularization needs in the context of a vastly simplified view of SMIL.
</emph></p>

<p><emph>
SMIL timing is a set of reusable modules that can be used to incorporate
timing relationships into XML languages.</emph>
</p>

<p>
I started drafting a schema for SMIL animation; see:
<link href="http://www.w3.org/XML/2000/04schema-hacking/smil-animation.xsd">http://www.w3.org/XML/2000/04schema-hacking/smil-animation.xsd</link>,
revision 1.1,
date: 2000/05/04 19:35:09,
aka
<link href="http://www.w3.org/XML/2000/04schema-hacking/smil-animation.xsd.txt">http://www.w3.org/XML/2000/04schema-hacking/smil-animation.xsd.txt</link>
</p>

<p>
<emph>This language could be "SMIL", or
"XHTML", or something else. ...
</emph></p>


<p><emph>
This admittedly very simple example gets to the root of what we need to be
able to accomplish with XML Schemas. The &lt;p&gt; element is already defined in a
module by XHTML. For a language designer to be able to incorporate or
combine timing with elements already defined, we need to be able to extend
the attribute set of an element defined in a different module.</emph>
</p>

<p>
Or, alternatively, you need the definition of the P element to allow
attributes declared elsewhere (as noted above, this is the default
in XML 1.0)
</p>

<p>
I mocked up this example...
<link href="
http://www.w3.org/XML/2000/04schema-hacking/h+s.html">http://www.w3.org/XML/2000/04schema-hacking/h+s.html</link>
</p>

<eg>&lt;html
 xmlns="http://www.w3.org/1999/xhtml"
 xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance'
 xmlns:t='http://www.w3.org/2000/TR/smil-animation10'
 xsi:schemaLocation="http://www.w3.org/1999/xhtml html.xsd
         http://www.w3.org/2000/TR/smil-animation10 smil-animation.xsd
                "
  &gt;
&lt;head&gt;&lt;title&gt;Example of mixing HTML and SMIL timing&lt;/title&gt;&lt;/head&gt;
&lt;body&gt;&lt;h1&gt;Some stuff&lt;/h1&gt;
&lt;!-- example from 
http://www.w3.org/TR/NOTE-HTMLplusTIME --&gt;

&lt;p t:begin="1"&gt;
         This is a paragraph of text that appears after one second
     &lt;/p&gt;
     &lt;p t:begin="2"&gt;
         This is a paragraph of text that appears after two seconds
     &lt;/p&gt;
     &lt;p t:begin="3"&gt;
         This is a paragraph of text that appears after three seconds
     &lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;
</eg>


<p>
(The schemaLocation gobbledygook is only necessary until schemas
for XHTML and SMIL are available by dereferencing
their namespace identifiers)
</p>

<p>
then in html.xsd:
(i.e.  http://www.w3.org/XML/2000/04schema-hacking/html.xsd)
</p>

<eg>
 &lt;element name='p'&gt;
  &lt;complexType content='mixed'&gt;
   &lt;anyAttribute namespace="##other" processContents="strict"/&gt;
    [...]
  &lt;/complexType&gt;
 &lt;/element&gt;
</eg>

<p>
and in smil-animation.xsd :
</p>

<eg>
   &lt;attribute name='begin' type='string'/&gt;
   &lt;attribute name='dur' type='string'/&gt;
   &lt;attribute name='end' type='string'/&gt;
   &lt;attribute name='restart'&gt;
    &lt;simpleType base='string'&gt;
     &lt;enumeration value='always'/&gt;
     &lt;enumeration value='never'/&gt;
     &lt;enumeration value='whenNotActive'/&gt;
    &lt;/simpleType&gt;
   &lt;/attribute&gt;
   &lt;attribute name='repeatCount' type='string'/&gt;
   &lt;attribute name='repeatDur' type='string'/&gt;
   &lt;attribute name='fill'&gt;
    &lt;simpleType base='string'&gt;
     &lt;enumeration value='remove'/&gt;
     &lt;enumeration value='freeze'/&gt;
    &lt;/simpleType&gt;
   &lt;/attribute&gt;
</eg>

<p>
You can check the results using
<link href="http://cgi.w3.org/cgi-bin/xmlschema-check">http://cgi.w3.org/cgi-bin/xmlschema-check</link>
i.e.
<link href="http://cgi.w3.org/cgi-bin/xmlschema-check?docAddrs=http%3A%2F%2Fwww.w3.org%2FXML%2F2000%2F04schema-hacking%2Fh%2Bs.html">http://cgi.w3.org/cgi-bin/xmlschema-check?docAddrs=http%3A%2F%2Fwww.w3.org%2FXML%2F2000%2F04schema-hacking%2Fh%2Bs.html</link>
</p>

<p>
I have used qualified names for the "mixed in" attributes, per
this principle:
</p>

<p>"<emph>The syntax must unambiguously associate an identifier in
a document with the related schema without requiring inspection
of that or another schema.</emph>"
-- <link href="http://www.w3.org/TR/1998/NOTE-webarch-extlang-19980210#Ambiguity">http://www.w3.org/TR/1998/NOTE-webarch-extlang-19980210#Ambiguity</link>

</p>
<p>
The schema spec allows you to violate that principle by using
<code>&lt;anyAttribute namespace="##any"/&gt;</code> on the P element
declaration, and and <code>attributeForm="unqualified"</code> in the
smil-animation schema, but I don't recommend that.
</p>

<p><emph>
For this
particular example, the language designer needs an XML Schema method of
adding the begin and dur attributes defined in a SMIL XML Schema module to
the &lt;p&gt; element defined in an XHTML Schema module.</emph>
</p>

<p>
I believe I have demonstrated this above.
</p>

<p>
<emph>It is not sufficient to
just be able to declare the members of an attribute set from several places
when the element is initially defined.
</emph></p>

<p><emph>
...  To this end, we need confirmation that
it can be done with XML Schemas, and guidance in how to proceed.</emph>
</p>

<p>
Does the explanation above provide enough confirmation and guidance?
</p>

<p>
<emph>I've been
told to expect a note on modularization using XML Schemas. Will our use
cases be covered in that note?</emph>
</p>

<p>
I'm not sure.
</p>



</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0199.html" author="Cohen, Aaron M &lt;aaron.m.cohen@intel.com>">

<p>"Cohen, Aaron M" &lt;aaron.m.cohen@intel.com&gt;
to XML Schema Comments list on
Mon, 15 May 2000 15:31:05 -0700
</p>

<p>
Dan:
</p>

<p>
Thanks for taking a look at this. I'll take a closer look at your SMIL
Animation Schema later this week when I have a chance.
</p>

<p>
Meanwhile, I have a question. You integrated the SMIL timing attributes with
the "P" element by making your own version of xhtml.xsd that allowed
including qualified attribute names from other schemas. I'm not sure that
this is a total solution.
</p>

<p>
However, in my understanding of our discussion of namespaces, I got the
impression that redefining elements to include new content and/or attributes
and then "putting" those elements in a "new" namespace was okay. So it seems
that you can define hybrid languages, it's just that they don't have a
"lineage" reflected in a namespace structure, or in an XML Schema structure
(because the attributes on an element can only be defined in one place).
</p>

<p>
This will lead to integrations that need to be done very differently in
DTD's vs. XML Schemas. What I mean is that in some cases, the schema will
have to repeat a lot of stuff defined in a "base" schema, while the DTD will
not. The case in point is XHTML+SMIL, which it seems, will have to repeat
the definitions of all of the XHTML-based elements, add the timing
attributes (which can be done nicely in attribute groups in the smil
modules), and declare them in a new namespace. So while there will be very
tight semantics coupling between XHTML and XHTML+SMIL, this coupling will
not be reflected in either the namespace or the schema for XHTML+SMIL.
</p>

<p>
About the best that I think could be done is if the XHTML-WG creates
"proto-HTML" types that can be used in the derived languages to define the
actual elements.
</p>

<p>
I think that you can do something like this for timed &lt;a&gt; link's (correct me
if I am wrong):
</p>

<p>
In the XHTML.xsd:
</p>

<eg>
&lt;xsd:complexType content="mixed" name="aType"&gt;
	&lt;xsd:attribute name="href" type="xsd:uriReference"/&gt;
	...other linking attribute declarations
&lt;/xsd:complexType&gt;
</eg>

<p>
In the SMIL.xsd:
</p>

<eg>
&lt;xsd:attributeGroup name="smilTimingAttrs" /&gt;
	&lt;xsd:attribute name="begin" type="xsd:string"/&gt;
	&lt;xsd:attribute name="end" type="xsd:string"/&gt;
	...other timing attribute declarations
&lt;/xsd:attributeGroup&gt;
</eg>

<p>
And then in the XHTML+SMIL.xsd:
</p>

<eg>
&lt;xsd:element name="a" type="xhtml:aType"&gt;
	&lt;xsd:attributeGroup ref="smilTimingAttrs"/&gt;
&lt;/xsd:element&gt; 
</eg>

<p>
Of course, the means to do this has to be set up in XHTML.xsd and SMIL.xsd.
I can see us doing this kind of thing  for SMIL, but of course the other
stuff is up to XHTML, SVG, and the other XML-based languages using XML
Schemas.
</p>


</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0200.html" author="Dan Connolly">

<p>
<emph> 
Meanwhile, I have a question. You integrated the SMIL timing attributes with
the "P" element by making your own version of xhtml.xsd that allowed
including qualified attribute names from other schemas.
</emph></p>

<p>
Yes, I expect the "official" XHTML schema to work that way.
</p>

<p>
<emph> I'm not sure that
this is a total solution.
</emph></p>

<p><emph>
However, in my understanding of our discussion of namespaces, I got the
impression that redefining elements to include new content and/or attributes
and then "putting" those elements in a "new" namespace was okay. So it seems
that you can define hybrid languages, it's just that they don't have a
"lineage" reflected in a namespace structure, or in an XML Schema structure
(because the attributes on an element can only be defined in one place).
</emph></p>

<p>
Not so: (a) as I say, I expect the XHTML schema to allow anyAttribute
namespace="#other" in the first place, and (b) if you did create
a new XHTML namespace, you certainly could design it so that it
has a discoverable "lineage", i.e. it derived from the canonical
XHTML schema.
</p>

<p>
<emph>This will lead to integrations that need to be done very differently in
DTD's vs. XML Schemas. What I mean is that in some cases, the schema will
have to repeat a lot of stuff defined in a "base" schema, while the DTD will
not.
</emph></p>

<p>
I don't know what leads you to think that; it's not so.
</p>

<p>
<emph>The case in point is XHTML+SMIL, which it seems, will have to repeat
the definitions of all of the XHTML-based elements, add the timing
attributes (which can be done nicely in attribute groups in the smil
modules), and declare them in a new namespace. So while there will be very
tight semantics coupling between XHTML and XHTML+SMIL, this coupling will
not be reflected in either the namespace or the schema for XHTML+SMIL.
</emph></p>

<p><emph> 
About the best that I think could be done is if the XHTML-WG creates
"proto-HTML" types that can be used in the derived languages to define the
actual elements.
</emph></p>

<p>
I certainly expect the HTML WG to use things like <code>&lt;anyAttribute
namespace="#other"&gt;</code>
to specify that XHTML is extensible.
</p>

<p><emph>I think that you can do something like this for timed
&lt;a&gt; link's (correct me if I am wrong): ...</emph></p>

<p>Yes, that's another way to design a schema for XHTML+SMIL.</p>

<p>
But I hope that we don't use that approach; as you say:
</p>

<p>
<emph>Of course, the means to do this has to be set up in XHTML.xsd
and SMIL.xsd. I can see us doing this kind of thing  for SMIL, but of
course the other stuff is up to XHTML, SVG, and the other XML-based
languages using XML Schemas. </emph>
</p>

<p>
I think it's clearly preferable to have one schema for XHTML, one
for SMIL, one for SVG, and one for MathML that can be used
together in compound documents; rather than one for XHTML+MathML,
one for XHTML+MathML+SVG, etc. for a total of N! schemas.
</p>

</input>

</references>
<resolution>
<p>See clarifications above.</p>
</resolution>

</issue>


<issue batch="A" cluster="19 modules" status="ok" priority="substantive" locus="structures" responsible="Sperberg-McQueen" originator="Aaron M. Cohen" keyword="extending-content-models">

<title>How can a module creator add things to content models in other
modules?</title>


<description> 

<p>How does a schema author go about adding new elements as children of
elements declared in a different module?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0002.html" author="Aaron M. Cohen">

<p>(Aaron M. Cohen to XML Schema Comments list, 3 April 2000)</p>

<p>The same thing goes for the content model of the elements. It may be
necessary to extend the permissible child element set of a module beyond how it
was initially defined. SMIL Boston is planning on using "levels" of modules. As
the functionality goes up in higher levels, we add some elements to the set of
allowed children. As above, we'll also add new attributes to existing elements
in order to make them more powerful in the higher level modules. </p>

<p>Furthermore, we will use the above process to define our next version of
the SMIL Language, and also to define a language/profile that combines XHTML
and SMIL timing structure (as well as some other aspects of SMIL), and to
define a baseline "SMIL-Basic". So you can see that the use case that we are
asking for is a key element in SMIL being a successful and reusable technology.
The DTD experts in the group are comfortable that we can produce DTD's that
reflect this structure, and we would also like to have a set XML Schemas before
SMIL becomes a Recommendation. To this end, we need confirmation that it can be
done with XML Schemas, and guidance in how to proceed. I've been told to expect
a note on modularization using XML Schemas. Will our use cases be covered in
that note? </p>

<p>Please feel free to contact me with any questions you may have about
anything that I have said here. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0027.html">Formal response to commentator</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0032.html">Aaron Cohen</link> replies that
"Yes, I think that the answer below is
sufficient for advance into CR, but I do think that the director should be
aware of the difficulties in using XML Schemas for the modular design of
reusable technology and "langauge families" and I'd like to see more
experience with that as a requirement of XML Schemas coming out of CR. In
particular, it is important that someone write a modular XHTML to show that
it can be done in a useful and acceptable manner."</p>
</resolution>
</issue>


<issue keyword="xPath" originator="Curt Arnold" locus="datatypes" priority="substantive" status="silent" cluster="15 xpath" batch="D" responsible="Don Box">

<title>Define an XPath type</title>


<description>

<p>Should XML Schema define a built-in type for XPath?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0006.html" author="Curt Arnold"> 

<p>(Curt Arnold to XML Schema Comments list, 6 April 2000)</p>

<p>It would seem a minimal burden to add a built-in datatype that allows you to
declare an attribute (or element content) as conceptually being an XPath. Since
XPath is intended to be used across W3C technologies, it would seem that the
best place for it would be as a built-in type in Schema instead of every
technology that uses it trying to kludge it with their own regular expressions.
</p>

<eg><![CDATA[
<datatype base="string" name="XPath"/>
]]></eg>

<p>The difficulty is in the implied validation a schema aware processor is
expected to do when it encounters an attribute that uses an XPath or derived
datatype (in the same manner the parser is anticipated to validate that a uri
or Qname is valid beyond what is in the explicit Schema for Schema
definitions). If that seems like too much complexity, you could except
conforming processors from doing any implied validation of XPath's. But
compared to the overall complexity of Schema, an XPath type validation seems
fairly trivial. </p>

</input>

</references>


<proposal author="Noah Mendelsohn"> 

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0049.html">Noah_Mendelsohn@lotus.com
to XML Schema Comments list, Tue, 18 Apr 2000 11:48:26 -0400</link></p>

<p>Just my opinion, not speaking for the WG or anyone else, but I think that
an XPath datatype would be a fine thing for the XSL workgroup to declare. I
think it is a mistake to ask schemas to go too far down the road in baking in
every string-type that is motivated by some other W3C spec. Schemas gives other
groups the power to create their own target namespaces, and to publish schemas
with the appropriate type definitions. As noted below, validation of XPath
strings can at best be somewhat loose, but you can easily provide a standard
W3C-wide means to express that a string is intended as an XPath. Admittedly,
there is a slight circularity in the fact that schemas makes some use of XPath
in structures. I would still prefer to do the architecturally correct thing,
and get the XSL WG lined up to publish an XPath type if the world needs one. I
would like to believe that we could sort out the corresponding trivial change
to the schema for schemas during the CR period. In general, groups that own
particular namespaces should own the schemas for the corresponding datatypes, I
think. Yes, there is room for exceptions for convenience. </p>

</proposal>

<resolution>
<p>Discussed in call of 2000-06-29.</p>
<p>A straw poll showed a preponderance of opinion against defining an
XPath data type (4 in favor, 11 opposed).</p>
<p>
<b>RESOLVED</b>: to dispose of issue LC-14 by saying no (with rationale).
<b>Dissenting</b>: Beech, Biron, Jelliffe, Peterson, Robie,
Sperberg-McQueen.
</p>
<p>
Rationale for the decision:  if there should be such a datatype,
it should be defined as part of the XPath specification, not as
part of XML Schema.
</p>
<p>
Rationale for the dissent (at least Sperberg-McQueen's): there should
be such a datatype, we cannot now arrange for it to be defined in an
XPath spec which is already a recommendation, and schema processors
are already required to be able to type-check strings purported to be
XPath expressions, so there is no additional implementation burden.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0104.html">Formal response to commentator</link>.</p>
</resolution>


</issue>


<issue keyword="initial-value-hints" originator="Curt Arnold" locus="structures" priority="substantive" status="silent" cluster="14 attldecl" batch="A" responsible="Sperberg-McQueen">

<title>Allow hints for initial value of an attribute?</title>


<description>

<p>Should XML Schema provide a mechanism to allow a schema author to provide an
initial or hint value for an element or attribute, which would be used by user
interfaces but which unlike a default value would not add anything to the
information set?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0007.html" author="Curt Arnold">

<p>(Curt Arnold to XML Schema Comments list, 6 April 2000)</p>

<p>I meant to mention this at XTech, but it may be useful to allow for element
and attribute a way that a user agent could obtain an initial or hint value for
an element or attribute that didn't add anything to the information set.
Possibly something like: </p>

<eg><![CDATA[
<!-- For 'element' and 'attribute' -->
  <attributeGroup name="valueConstraint">
    <attribute name="default" type="string"/>
    <attribute name="fixed" type="string"/>
    <attribute name="initial" type="string"/>
  </attributeGroup>
]]></eg>

<p>When initial is specified, a user agent may use it to provide a initial
value for a user interface field, but an XML processor doesn't use it to
provide a value if it isn't specified. </p>

<eg><![CDATA[
<element name="order">
  <attribute name="quantity" type="non-negative-integer" initial="1"/>
  <attribute name="item" type="uri-Reference"/> 
</order>
]]></eg>

<p>This could result in a Schema generated UI having a quantity field
with initialized to 1, but would not result in: </p>

<eg><![CDATA[
<order item="http://www.buyme.com/item.xml?5555"/>
]]></eg>

<p>being interpreted as having a quantity of 1. </p>

<p>Explicitly supporting this hint in XML Schema might make things a
little cleaner with XForms which is using default to mean what I
called initial. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0028.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="all-with-n-gt-1" 
       originator="Martin J. Duerst" 
       locus="structures" 
       priority="substantive" 
       status="nok" 
       cluster="24 content-models" 
       batch="D" 
       responsible="Matt Timmermans">

<title>Allow arbitrary order with occurrence &gt; 1?</title>


<description>

<p>Should the <emph>all</emph> group allow occurrence indicators with
<emph>maxOccurs</emph> &gt; 1?</p>

</description> 

 
<references>

<interaction issue="all-grp"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0008.html" author="Martin J. Duerst">

<p>(Martin Duerst to XML Comments list, 7 April 2000)</p>

<p>On the XML schema side, if it's currently not possible to express arbitrary
order with occurrence constraints, that may be a problem independent of whether
P3P needs it; I'm sure there are other uses where this is a requirement.</p>

</input>

<input author="Yuichi Koike" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0050.html">


<p>"Yuichi Koike" &lt;koike@w3.org&gt; to XML Schema Comments list, Tue, 18 Apr
2000 14:00:30 -0400</p>

<p>Though P3P WG decided to have fixed the element order in P3P 1.0 spec, we
would like XML schema to have the ability to express arbitrary element order in
a compact form. </p>

<p>And the answer to the following question is "Yes". </p>

<p>At 00/04/04 22:12 +0100, Henry S. Thompson wrote:</p>

<p>
<emph>If what you want is arbitrary order, just what do you mean by that,
e.g. , is the following OK? </emph></p>

<eg> 
&lt;extension&gt;...&lt;/extension&gt;
&lt;statement&gt;...&lt;/statement&gt; 
&lt;disclosure&gt;...&lt;/disclosure&gt;
&lt;statement&gt;...&lt;/statement&gt; 
&lt;extension&gt;...&lt;/extension&gt;
&lt;statement&gt;...&lt;/statement&gt;
</eg>

<p><emph>The above question is pressing, if you want the WG to consider
"arbitrary order with occurrence constraints", we really need clear input on
this.</emph>

</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-07-20.</p>
<p>The question is whether to allow maxOccurs > 1 inside an all-group.
If so, do we require that the occurrences of a given element type be
contiguous (as in SGML) or not (counting just the overall number of
occurrences of the type)?
</p>
<p>
<b>RESOLVED</b>: to close LC-16 with polite no.  
<b>Dissenting</b>: Peterson.
</p>
<p>
Rationale: complexity, the fact that the interpretation usually
desired is incompatible with that of SGML's ampersand connector, and
the feeling on the part of some WG members that this is not a pattern
of document design to be recommended or supported.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0111.html">Formal response to commentator</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0140.html">Martin Duerst</link> replies that he is "not at
all satisfied".</p>
</resolution>

</issue>


<issue keyword="regex-bnf" originator="TAMURA Kent, Alexander Falk" locus="datatypes" priority="substantive" status="silent" cluster="regex" batch="C">

<title>Give BNF for regular-expression language?</title>


<description>

<p>Should the datatypes spec give a formal definition in BNF or EBNF (or some
similar formalism) for the regular-expression language?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0011.html" author="TAMURA Kent">

<p>(TAMURA Kent to XML Schema Comments list, 10 April 2000)</p>

<p>I have some comments on the regular expressions section in the 
<link href="http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/#regexs"> last
call draft</link>. </p>

<p>
<b>Re: The entire</b> It is hard to know concrete syntax of the regular
expression from the draft. I want readable rules like BNF. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0022.html" author="Alexander Falk">

<p>Alexander Falk to XML Schema Comments list, 11 April 2000</p>

<p>I would certainly also hope to see a compact EBNF description for the
Regular Expressions in the final draft - for the time being I have created my
own condensed version for use in our own development, which I'll gladly share
with you:</p>

<eg>
regExp         ::= branch ('|' branch)*  &gt;Regular Expression (branch|branch|...)
branch$        ::= piece+                &gt;Branch (piece+)
piece$         ::= atom quantifier?      &gt;Piece (atom quantifier?)
quantifier$    ::= [?*+] 
                 | ( '{' quantity '}' )  &gt;Piece quantifier (? | * | + | {quantity})
quantity$      ::= quantRange 
                 | quantMin 
                 | QuantExact            &gt;Numeric quantity

quantRange$    ::= QuantExact ',' QuantExact &gt;Quantity range {n,m}

quantMin$      ::= QuantExact ','        &gt;Minimum quantity {n,}
QuantExact$    ::= [0-9]+                &gt;Exact quantity {n}
atom$          ::= Char 
                 | charClass 
                 | ( '(' regExp ')' )    &gt;Atom (char | charclass | (regexp))
Char$          ::= [^.\?*+()|#x5B#x5D]   &gt;Normal character (any non-metacharacter)
charClass      ::= charClassEsc 
                 | charClassExpr         &gt;Character class (escape | expression)
charClassExpr$ ::= '[' charGroup ']'     &gt;Character class expression ( [charGroup] )
charGroup      ::= negCharGroup 
                 | posCharGroup 
                 | charClassSub          &gt;Character group
negCharGroup$  ::= '^' posCharGroup      &gt;Negative character group
charClassSub$  ::= ( posCharGroup | negCharGroup ) '-' charClassExpr
                                         &gt;Character class subtraction
posCharGroup$  ::= ( charRange | charClassEsc )+
                                         &gt;Positive character group (character range | character class escape)+
charRange$     ::= seRange 
                 | XmlCharRef 
                 | XmlChar               &gt;Character range (XML character|s-e range)
seRange$       ::= charOrEsc '-' charOrEsc
                                         &gt;s-e character range
charOrEsc$     ::= XmlChar 
                 | SingleCharEsc         &gt;XML character or single-character escape
XmlChar$       ::= [^\#x2D#x5B#x5D]      &gt;XML character (all except \[])
XmlCharRef     ::= ('&amp;#' [0-9]+ ';') 
                 | ('&amp;#x' [0-9a-fA-F]+ ';')
                                         &gt;Character-Reference (&amp;#217; or &amp;#xEA;)
charClassEsc   ::= ( SingleCharEsc | MultiCharEsc | catEsc | complEsc )
                                         &gt;Character class escape
SingleCharEsc  ::= '\' [nrt\.?*+()|{}#x2D#x5B#x5D#x5E]
                                         &gt;Single character escape
MultiCharEsc   ::= '.' 
                 | ('\' [sSiIcCdDwW])    &gt;Multi-character escape
catEsc$        ::= '\p{' charProp '}'    &gt;Category escape
complEsc$      ::= '\P{' charProp '}'    &gt;Category escape compliment
charProp$      ::= Letters 
                 | Marks 
                 | Numbers 
                 | Punctuation 
                 | Separators 
                 | Symbols 
                 | Other 
                 | IsBlock          &gt;Unicode character property
IsBlock        ::= 'Is' [a-zA-Z]+   &gt;Unicode block name
Letters        ::= 'L' [ultmo]?     &gt;Unicode letters category
Marks          ::= 'M' [nce]?       &gt;Unicode marks category
Numbers        ::= 'N' [dlo]?       &gt;Unicode numbers category
Punctuation    ::= 'P' [cdseifo]?   &gt;Unicode punctuation category
Separators     ::= 'Z' [slp]?       &gt;Unicode separators category
Symbols        ::= 'S' [mcko]?      &gt;Unicode symbols category
Other          ::= 'C' [cfson]?     &gt;Unicode other category
</eg>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0079.html">Formal response to second commentator</link>.</p>
</resolution>

</issue>


<issue batch="C" cluster="regex" status="silent" priority="substantive" locus="datatypes" originator="TAMURA Kent" keyword="regex-subtraction">

<title>Clarify character-set subtraction?</title>


<description>
<p>Should the discussion of regular expressions explain how to use
character-class subtraction?</p>
</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0011.html" author="TAMURA Kent">

<p>(TAMURA Kent to XML Schema Comments list, 10 April 2000)</p>

<p>
<b>Re: Character class subtraction E.1:</b>
</p>

<p><emph>[Definition:] A character class subtraction is a character class
expression subtracted from a positive character group or negative character
group, using the - character. </emph></p>
<p>This definition does not explain how to use '-'. The next paragraph says
"G-C is a valid character class subtraction", but there are no restriction on
other usages of '-', like "GC-", "-GC" :-) </p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0079.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue batch="C" cluster="regex" status="silent" priority="substantive" locus="datatypes" originator="TAMURA Kent" keyword="regex-range">

<title>Make - unambiguous in regexes?</title>

<description>
<p>Should the datatypes spec be revised in order to make the minus sign
unambiguous in regular expressions?</p>
</description> 

<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0011.html" author="TAMURA Kent"> 

<p>(TAMURA Kent to XML Schema Comments list, 10 April 2000)</p>

<p>
<b>Re: '-' in character range</b> A '-' in a character class has many
meanings. So, interpretation of '-' can be ambiguous. For example: </p>

<eg>[+--/]</eg>

<p>We can interpret this character class as: </p>

<ulist>
<item>'+' to '-', and '/'</item>
<item>'+', and '-' to '/'</item>
</ulist>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0079.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue batch="C" cluster="regex" status="silent" priority="substantive" locus="datatypes" originator="TAMURA Kent" keyword="regex-multichar-escape">

<title>Clean up definition of multi-character escape?</title>

<description>
<p>Should the definition of multi-character escape in regular expressions be
revised to avoid giving the impression that &amp;#x0000 and &amp;#xFFFF are
valid character references in XML?</p>
</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0011.html" author="TAMURA Kent"> 

<p>(TAMURA Kent to XML Schema Comments list, 10 April 2000)</p>

<p>
<b>Re: Definition of multi-character escape:</b> "\w" is defined as
"[&amp;#x0000;-&amp;#xFFFF;]-[\p{P}\p{S}\p{C}]", but both of &amp;#x0000; and
&amp;#xFFFF; are invalid character references in XML. I don't know characters
in &amp;#x10000;-&amp;#x10FFFF; should be in "\w". </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0079.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue batch="D" cluster="27 i18n-datetime" status="silent" priority="substantive" locus="datatypes" responsible="Sperberg-McQueen" originator="David RR Webber" keyword="non-gregorian-dates">

<title>Allow non-gregorian dates?</title>

<description>
<p>Should XML Schema define, or allow the definition of, non-Gregorian date
types?</p>
</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000May/0001.html" author="David RR Webber">

<p>(David RR Webber to XML Schema IG, 2 May 2000 -- member only)</p>

<p>[This is of immense importance:  many people live their lives
organized around non-gregorian calendars.  A neutral date-time code
(e.g. days and seconds since some epoch) would solve the problem.]</p>

<!--*

<p>Having worked in Middle East it is obvious that local usage is key factor.
Peoples lives really do revolve around calendars other than Gregorian
day-to-day - we need to respect that. </p>
<p>Fortunately there is a simple and elegant solution (and one that I naively
<emph>thought</emph> was behind the <code>DATETIME</code> elementary concept).
</p>
<p>This simply says that the <code>DATETIME</code> element is a unique number
that represents the number of elapsed days and seconds since a start date time
- usually 01/01/0000 Gregorian is picked as that meridian. </p>
<p>For practical business dates (not history documents obviously) this then
works well. </p>
<p>Any date system can then be mapped - Hegira, Chinese, Jewish, Buddist,
Gregorian and Julian (for dates prior to 1578 or whenever that was!) et al.
</p>
<p>The TIME element need only refer to the 24:00 hour clock segment. (If you
drop the seconds you can obviously store the result in a shorter # of digits).
</p>
<p>I'd suggest that the DATETIME primitive reflect this behaviour and then you
will be home free. This technique has been used successfully BTW for the last
ten years - and of course is VERY Y2K proof. </p>
<p>Calculating elapsed days and any date arithmetic is then a snap as you
merely add or subtract days accordingly and push the new total back thru the
'render date' algorithm (probably a Java class). </p>
<p>I'd say this has to be fixed sooner than 'V2' - as it will cause major
ruckus on the ebXML side if this is not addressed properly. </p>
<p>My suggestion would be to quietly extend the date proposal in the current
draft for the next iteration <emph>before</emph> making this thing cast in
stone. </p>
*-->

</input>

</references>

<resolution>
<p>This issue was subsumed by a proposal to introduce abstract simple
types (including an abstract date type), from which schema authors
could derive concrete types with variant lexical forms.  The
abstract-type proposal was raised at the Edinburgh face to face (June
2000), discussed extensively in email (the i18n WG in particular  was
strongly opposed to it), adopted on the basis of a task-force proposal
at the Redmond meeting (August 2000), and then rejected after the
editors reported difficulties integrating it into the
specification.</p>
<p>The net result is that there is no provision, in XML Schema 1.0,
for the definition of dates using calendars other than the Gregorian,
or lexical forms other than that of ISO 8601.  Many members of the WG
were sympathetic to the goal of allowing each of these, but the WG as
a whole was of the opinion that such provisions, with the  design work
necessary to support them, were better left for a later version of XML
Schema, and that the abstract-type proposal caused too many
undesirable side effects in our type system to be introduced in XML
Schema 1.0.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0046.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="glossary" originator="Murray Altheim" locus="both" priority="substantive" status="silent" cluster="publication" batch="C">

<title>Where's the glossary?</title>

<description>
<p>Should a glossary for XML Schema be prepared before the spec is promoted to
CR? to PR?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000May/0029.html" author="Murray Altheim"> 

<p>(Murray Altheim to XML Schema IG, 5 May 2000 [member only])</p>

<p>[A glossary would be a big help.]</p>

<!--*

<p>"I'm in the process of reading over the Schema WD and was wondering when
(since the document is in Last Call) the Glossary will be made available. This
would help quite a lot in understanding the text." </p>
*-->

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0154.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt;
to XML Schema Comments list on
Wed, 10 May 2000 12:48:14 -0400
</p>

<p>
<b>Glossary; and Model Groups, Model Group Definitions, and Element
Declarations</b>
</p>

<p>
I find the distinction between these things confusing, perhaps it
could be simplified or more text could be spent on describing how
these things are different. Actually, I look forward to the glossary
being completed as this will help me in understanding the
specification. See <link href="http://lists.w3.org/Archives/Public/xmlschema-dev/2000Apr/0021.html">http://lists.w3.org/Archives/Public/xmlschema-dev/2000Apr/0021.html</link>
for more:
</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0062.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue batch="D" cluster="21 sfs" status="ok" priority="substantive" clause="A" locus="both" responsible="Dan Connolly" originator="Alexander Falk" keyword="namespace-date">

<title>Use 2000 not 1999 in XML Schema namespace name?</title>

<description>
<p>Should the namespace for XML Schema use the date 1999 or the date 2000?</p>
</description> 
 
<references>

<interaction issue="namespace-versioning"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk"> 

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>

<p>I was studying the new April 7 version of the XML Schema working draft
throughout the weekend, as we are in the process of finalizing the beta 3
version of XML Spy 3.0 (see 
<link href="http://www.xmlspy.com/version30.asp">http://www.xmlspy.com/version30.asp</link>),
and I have a first list of comments and questions - especially regarding the
changes to the datatypes (part 2).</p>

<p><b>Part 1 - Structures</b></p>

<p><b>A. Schema for Schemas</b></p>

<p>Why does the Public Identifier URN for the DOCTYPE statement still use
19991216 as its date, when the DTD for Schemas (Appendix B) is v1.1 dated
2000/04/06. This Public Identifier URN seems to imply that the Schema for
Schemas is itself written in compliance with the old December 1999 XML Schema
draft, which it is not.</p>

<p>Along the same lines: the year in the XML Schema namespace URI is also still
fixed with 1999 - is that going to change for the final recommendation? While
it is understandable from an implementors point of view that the URN should
remain constant over the time of the draft and recommendation creation, it
would IMHO be rather confusing for all future schema authors, if the date given
here is not identical to the date of the final recommendation.</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-07-13.</p>
<p>See issue <link href="#namespace-versioning">LC-73</link> for discussion.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0129.html">Formal response to commentator</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0115.html">Duplicate formal response to commentator</link>.</p>
<p>Commentator replies (by private mail) that "Yes, this is very much
appreciated and it gives us - as a schema editor developer - the
option to detect/support both old (April 7) and new (Sep 22) style
schemas and to 'upgrade' them as well."</p>
</resolution>


</issue>


<issue keyword="change-log" originator="Alexander Falk" locus="structures" clause="G" priority="substantive" status="silent" cluster="ed-str" batch="C">

<title>Improve or drop tabulation of changes in Structures?</title>


<description>

<p>Should the Tabulation of Changes be revised or dropped in future
versions of the structures spec?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>

<p><b>G. Tabulation of Changes</b> The comments in this list are not very
useful at all. Compared with &quot;H Revisions from previous draft&quot; in
Part 2, which is ideal for implementors and saves us the burden of re-reading
the entire Specs again and again, the list of changes in Part 1 is too minimal.
Comments like &quot;Lots of edits&quot; or &quot;more from Noah&quot; are
simply not comprehensible without the background that only insiders of the WG
can have. Please provide a more meaningful change history in the future (or
none at all).</p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="boolean-pattern" originator="Alexander Falk" locus="datatypes" clause="3.2.2.2" priority="substantive" status="silent" cluster="01 facets" batch="C">

<title>Why have pattern facet for Boolean?</title>

<description>

<p>Should the <emph>pattern</emph> facet be dropped from the
<emph>boolean</emph> type?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>

<p><b>Part 2 - Datatypes</b></p>

<p><b>3.2.2.2 Constraining facets on boolean datatype</b> Other than
specifically restricting the lexical space to either {0,1} or {true, false} for
a certain schema, what is the intention of allowing a pattern facet for
booleans?</p>

</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:44:22 -0400</link></p>

<p>You could specify a pattern that only allowed "0", for example. </p>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="binary-pattern" originator="Alexander Falk" locus="datatypes" clause="3.2.8.1" priority="substantive" status="silent" cluster="binary" batch="C">

<title>Drop pattern from binary?</title>


<description>

<p>Should the <emph>pattern</emph> facet be dropped from the
<emph>binary</emph> type?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>

<p><b>3.2.8.1 Constraining facets on binary datatype</b> As binary currently
only offers two different encodings that specify the respective lexical spaces,
defining a pattern facet on binary doesn't make much sense - other than e.g.
restricting the letters a-f to uppercase-only or lower-case only. However, with
base64 the alphabet is strictly defined in the RFC. To answer the question
contained in the Ed.Note of this chapter, I would, therefore, suggest to omit
the pattern facet here from an implementors standpoint, as its benefits are
rather limited and the potential confusion would be worse.</p>

</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:44:22 -0400</link></p>

<p>The utlity of "pattern" is questionable for some datatypes. Thanks for your
feedback. </p>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue batch="D" cluster="27 i18n-numeric" status="ok" priority="substantive" clause="3.2.3 - 3.2.5" locus="datatypes" responsible="Sperberg-McQueen" originator="Alexander Falk, Dario De Judicibus" keyword="decimal-point">

<title>Allow multiple lexical spaces for floats?</title>


<description>

<p>Should the datatypes spec define multiple lexical spaces
for floating-point and decimal numbers?</p>
</description> 
 <references>
<interaction issue="hexadecimal"></interaction>
<interaction issue="cotton-on-integer"></interaction>
<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">
<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>
<p><b>3.2.3 - 3.2.5 Lexical notation of floating-point numbers</b> While it is
very nice from an implementor's standpoint to know that all sorts of float,
double, or decimal numbers will only use the period as a decimal separator, I
wonder if this is really satisfying for many European and other non-US users.
Specifically, when XML is being used to supplant existing systems, it is often
necessary to interpret floating-point or decimal number with other decimal
separators (most notably ',') and in some cases also including thousands
separators (e.g. 4,560,758.99 vs. 4.560.758,99). Why is there no means provided
to support these formatting styles in the XML schema draft. Just like the
encoding facet for binaries, this &quot;formatting&quot; or &quot;picture&quot;
facet (to use an old COBOL-coined term that was also suggested in the DCD
submission to the W3C in July 1998) could be used to specify the various
aspects of the lexical space of these datatypes. If we were to consider XML
schemas for B2B e-Commerce scenarios only, it would be understandable to only
allow one format that can be easily processed - but XML schemas should be
thought of in much broader terms.</p>

</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0071.html" author="Dario de Judicibus"> 

<p>"Dario de Judicibus" &lt;ddj@mclink.it&gt; to XML Schema Comments list, Tue,
25 Apr 2000 23:12:02 +0200</p>

<p>Similarly we might define a new facet for decimal, dates, and other locale
based data types, to support locale format. For example </p>

<eg>
&lt;xsd:simpleType 
  name="italianDecimal" base="xsd:decimal" derivedBy="xsd:format"&gt;
  &lt;xsd:locale value="IT-it" /&gt;
&lt;/xsd:simpleType&gt;
</eg>

<p>The derivation by format means that we do not restrict the scope of type,
but we work on the lexical representation. </p>

</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0075.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments list, Wed,
26 Apr 2000 07:56:59 -0500</p>

<p>Localized numerical representations: The lexical representations were
chosen for their unambiguity. For instance, the timeInstant format is an
undesirable presentation format in all locales. In general it is assumed that
localization of presentation would be done in transformations or applications.
Definitely, wanted to avoid the case of not being able to determine (or worse
guessing) whether a comma was a digit separator or a decimal point. You could
create an italian decimal as a derived class from string, however min/max would
be interpreted as string comparisions. </p>

</input>



<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0079.html" author="Dario De Judicibus"> 

<p>dejudicibus@it.ibm.com to XML Schema Comments list, Thu, 27 Apr 2000
12:35:14 +0200</p>
<p>Thank you for your reply, Curt. I still have a doubt about the localization
issue, anyway. You said: </p>
<p>"Definitely, wanted to avoid the case of not being able to determine (or
worse guessing) whether a comma was a digit separator or a decimal point." </p>
<p>I understand your point. However I am wondering the following. Let us
suppose that you defined a language for legal documents which states that
numbers are xsd:decimal and dates are in user-defined typical US format
(MM/DD/YY). An Italian company publishes in its site a contract for web
ordering of products. The contract uses that language and contains a price EUR
8.500 and a date 03/04/01. For that company, the price is eight thousand and
five hundreds euros, and the date is April 3rd, 2001, but for an American
customer price is eight euros and fifty cents, and date is March 4th, 2001. It
would be very useful if the browser would be able to automatically convert
those value to the current locale, that is the locale of customer. This is
possible anyway, only if the webmaster specified in the document the locale in
which those values had been written. </p>
<p>If you fix the format of decimal in XML Schema, you force me to use US-like
format in Italian pages, or not use your language at all. That is, instread of
</p>

<eg>
&lt;product partNumber="AS45"&gt;
  &lt;description&gt;Ink-jet Printer AS45&lt;/description&gt;
  &lt;price currency="EUR"&gt;1200.00&lt;/price&gt;
&lt;/product&gt;
</eg>
<p>which contains a US-form price, I will have to use </p>
<eg>
&lt;product partNumber="AS45"&gt;
  &lt;description&gt;Ink-jet Printer AS45&lt;/description&gt;
  1200,00 EUR
&lt;/product&gt;
</eg>
<p>hoping that product content is defined as mixed. I would prefer </p>
<eg>
&lt;product partNumber="AS45"&gt;
  &lt;description&gt;Ink-jet Printer AS45&lt;/description&gt;
  &lt;price currency="EUR" xsi:locale="IT-it"&gt;1200,00&lt;/price&gt;
&lt;/product&gt;
</eg>
<p>As you can see, there is no need to change the meaning of decimal, but
rather adding a new attribute for XML languages, and add in xsd:complexType a
new property called xsd:localisable or something like that: </p>
<eg>
&lt;xsd:element name="price"&gt;
  &lt;xsd:complexType base="xsd:decimal" derivedBy="xsd:extension"
localisable="true"&gt;
      &lt;xsd:attribute name="currency" type="IsoCurrencyCodes" /&gt;
  &lt;/xsd:complexType&gt;
&lt;/xsd:element&gt;
</eg>
</input>
</references>
<proposal author="Ashok Malhotra">
<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:44:22 -0400</link></p>
<p>This argument was made by several people but there was a strong sentiment
for a single lexical representation. </p>

</proposal>

<resolution>
<p>Discussed in call of 2000-07-27.</p>
<p>Discussion made clear that this issue is tied up with both LC-21
and LC-220.
</p>
<p>The entire cluster of issues was discussed at face to face
meeting, 1 August 2000, and the proposal for abstract types (intended
to support the definition of multiple lexical spaces) was discussed
again at the face to face meeting of 1 September 2000.</p>
<p>The net result is that there is no provision for multiple distinct
lexical spaces for the same value space in XML Schema 1.0.  There was
some sentiment in the WG in favor of supporting this facility
at some point, but the abstract-simple-types proposal which was
intended to lay the ground work was judged, in the end, to have
too many problems and raise too many difficult design choices
to allow it to be included in XML Schema 1.0.</p>
<p><link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0029.html">Formal
response to commentator</link>. Falk replies (privately) "Overall, I
think that the WG resolution is reasonable and acceptable, because it
turns out that in the real world, XML instance documents will mostly
be generated by software and received by software and as such it is
desirable to only have one lexical representation. Furthermore, most
human beings will not want to read the XML instance documents in their
'raw' form, but will probably view the output of some XSLT
transformation or other processing of the XML data into a presentation
form suited for the target audience."</p>
</resolution>


</issue>


<issue keyword="petrified-facets" originator="Alexander Falk" locus="datatypes" clause="3.3" priority="substantive" status="silent" cluster="01 facets" batch="C">

<title>Don't list fixed-value facets?</title>

<description>
<p>Should the list of constraining facets omit facets which have fixed
values for all members of a type? Should facets which have fixed
values for all members of a type be signaled in some way? Should such
facets appear in the post-schema-validation infoset?
</p>
</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>

<p><b>3.3 A general question concering constraining facets in derived
types:</b> Most of the derived datatypes have certain facets that
distinguish them from the primitive types. However, each one of the
derived types still lists the very facets that were used to generate
it from the primitive types in its list of applicable constraining
facets. Consider the case of <emph>recurringDay</emph>, which is
derived from <emph>recurringDuration</emph> by fixing the
<emph>duration</emph> facet with &quot;PT24H&quot; and the
<emph>period</emph> facet with &quot;P1M&quot;. This type still lists
<emph>duration</emph> and <emph>period</emph> as possible constraining
facets - yet they are absolutely fixed by the very definition of
<emph>recurringDay</emph>. How should a validating processor treat a
new type derived from <emph>recurringDay</emph> that actually tries to
use one of these facets in its definition? I see two possible
solutions to this dilemma:</p>

<ulist>
<item>a) you integrate some kind of &quot;final&quot; method to fix
constraining facets (e.g. the definition of <emph>recurringDay</emph>
would use the <emph>period</emph> and <emph>duration</emph> facets
with this &quot;final&quot; mechanism to explicitly forbid any further
attempts at adding additional constraints through the same
facets).</item>

<item>b) if this seems to be too complicated, it would also possible
to make the above mechanism mandatory for <emph>any</emph> kind of
facet (e.g. once a derived type was generated by using any one facet,
that facet cannot be used anymore to further derive from that derived
type). This would, perhaps, result in some of the derived built-in
types that are currently defined, to be redefined as primitive types,
but would resolve all potential ambiguities arising from multiple use
of the same facet for any sort of grandchildren-derived type.</item>

</ulist>

</input>

<input href="" author="Martin Bryan">

<p>"Martin Bryan" &lt;mtbryan@sgml.u-net.com&gt; to XML Schema Comments list,
Thu, 13 Apr 2000 12:15:46 +0100</p>

<p>Another, unrelated, problem concerns the your listing of <emph>scale</emph>
as a valid facet for integer based derived datatypes. Under what conditions is
it valid to specify a <emph>scale</emph> property for an integer? </p>

</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:44:22 -0400</link></p>
<p>The facets that have been given values during the refinement process cannot
be changed. They are incuded in the post-validation infoset becase their actual
values may be useful in some cases. </p>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="recurring-day-lexform" originator="Alexander Falk" locus="datatypes" priority="substantive" status="silent" cluster="04 datetime" batch="C">

<title>Fix lexical form for recurringDay?</title>


<description>

<p>Should the lexical form for <emph>recurringDay</emph> be
changed from <code>---DD</code> to <code>----DD</code>?
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>
<p><b>3.3.29.1 Lexical representation of recurringDay</b> If this is a left
truncated ISO-8601 day, then it should be <code>----DD</code>, not
<code>---DD</code>. </p>
</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:44:22 -0400</link></p>
<p>ISO 8601 says that the definition in the document is correct. </p>
</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="xml.xsd" originator="Alexander Falk" locus="datatypes" clause="A" priority="substantive" status="silent" cluster="publication" batch="C">

<title>Where is <emph>xml.xsd</emph>?</title>

<description>
<p>Should the file <emph>part2.xsd</emph> be changed so that it
can be fetched and displayed without complaint by common software?</p>
</description> 
 
<references>

<interaction issue="sfs-files"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>
<p><b>A. Schema for Datatype Definitions</b> The part.xsd schema document
includes the namespace &quot; 
<link href="http://www.w3.org/XML/1998/namespace">http://www.w3.org/XML/1998/namespace</link>&quot;
from a schemaLocation &quot;../structures/xml.xsd&quot; yet I was unable to
locate this file on the W3C web-server. Can you please provide a URL that will
allow me to access the xml.xsd file? </p>
</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0027.html" author="Curt Arnold">

<p>"Arnold, Curt" &lt;Curt.Arnold@hyprotech.com&gt; to XML Schema Comments
list, Wed, 12 Apr 2000 10:32:39 -0600</p>

<p>Microsoft IE5 complains about <emph>xmlns:x</emph> not being fixed in the
following line in Part2.xsd: </p>

<eg>
&lt;!ATTLIST element xmlns:x CDATA #IMPLIED&gt;
&lt;!-- keep this schema XML1.0 valid --&gt; </eg>

<p>My interpretation is that the parser's behavior is well-intentioned but
wrong. However since the line is in the DTD for compatibility to begin with,
changing the line to: </p>

<eg>
&lt;!ATTLIST element xmlns:x CDATA #FIXED
          "http://www.w3.org/XML/1998/namespace"&gt;
&lt;!-- keep this schema XML1.0 valid --&gt;
</eg>

<p>should preserve compatibility with the most ubiquitous XML parser. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="spec-package" originator="Alexander Falk" locus="both" priority="substantive" status="silent" cluster="publication" batch="C">

<title>Provide archive of spec, DTDs, stylesheets, and XSDs?</title>


<description>

<p>Should single-file archives of the spec, the DTD file(s), the
stylesheets, and the XSD files be provided in future published
versions of XML Schema?
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>

<p>Would it be possible for a future draft or the final recommendation to
include one downloadable archive file (ZIP, gzip, or any other common formats)
that includes all required files in one neat package (i.e. the specs and their
respective DTDs and XSL files plus the non-normative Schema DTDs, XSDs, and any
other required file).</p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="regex-shorthands" originator="Alexander Falk" locus="datatypes" priority="substantive" status="ok" cluster="15 regex" batch="D" responsible="Dave Peterson">

<title>Add shorthands to regex syntax?</title>


<description>

<p>Should <code>{,m}</code> be defined as a shorthand for
<code>{0,m}</code> in the syntax of regular expressions?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>

<p><b>E. Regular Expressions</b> For an implementor's position I don't
see why defining <code>{,m}</code> as a shorthand form of
<code>{0,m}</code>  would be a problem. It would seem logical to add
this, now that <code>{n,}</code> is allowed.  I don't think it is
relevant whether or not Perl includes such a quantifier. If it is more
consistent and could potentially help schema authors, then it should
be added.</p>

</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:44:22 -0400</link></p>
<p>These are good suggestions. We decided to stick closely to Perl for the
sake of consistency. </p>

</proposal>

<resolution>
<p>Discussed in call of 2000-06-29.</p>
<p><b>RESOLVED</b>:  to dispose of issue LC-32 by saying no (with
rationale as described by Matt Timmermans in <link
href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000Jun/0221">his
email</link>). <b>Dissenting</b>: Peterson (Rationale:  the shorthands
should be added)
</p>
<p><link href="http://lists.w3.org/Archives/Member/w3c-archive/2000Sep/0112.html">Formal response to commentator</link>.  Commentator replies by
private mail that he finds the rationale acceptable.</p>
</resolution>


</issue>


<issue keyword="why-00" originator="Alexander Falk" locus="datatypes" priority="substantive" status="silent" cluster="regex" batch="A" responsible="Matt Timmermans">

<title>Why is {0,0} there?</title>

<description>
<p>Should <code>{0,0}</code> be removed from the table of
regular expression syntax?  from the regular expression syntax
itself?
</p>
</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>
<p>Along these same lines: I doubt that there is any meaningful use
for  <code>{0,0}</code> apart from effectively &quot;commenting
out&quot; the preceding atom. Furthermore, <code>{0,0}</code> could
then potentially be written as  <code>{,}</code> which is even more
confusing. Apart from being a logical consequence of the
<code>{n,m}</code> quantifier, what was the reason for adding
<code>{0,0}</code> to the table as a separate line?</p>
</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:44:22 -0400</link></p>

<p>These are good suggestions. We decided to stick closely to Perl for the
sake of consistency. </p>

</proposal>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">Response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="Escape-vertical-bar" originator="Alexander Falk" locus="datatypes" priority="substantive" status="silent" cluster="regex" batch="C" responsible="Paul Biron">

<title>Define single-character escape for vertical bar?</title>

<description>

<p>Should a single-character escape for vertical bar (\|) be defined
as part of the regular-expression syntax?</p>
</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0012.html" author="Alexander Falk">

<p>("Falk, Alexander" &lt;falk@icon.at&gt; to XML Schema Comments list, 10
April 2000)</p>

<p>Another problem: it is currently impossible to define a pattern that uses
the vertical bar '|' as a character, because this is defined as a separator
between branches, and there is no single character escape defined for \|. The
only workaround is to include the vertical bar inside of a positive character
group in a character class escape: [|]. Wouldn't it be better (i.e. more
consistent) to add \| as a single char escape?</p>

</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:44:22 -0400</link></p>

<p>These are good suggestions. We decided to stick closely to Perl for the
sake of consistency. </p>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0022.html">Formal response</link>.</p>
</resolution>
</issue>


<issue keyword="primer-sec5-eg" originator="David Wang" locus="primer" priority="substantive" status="silent" cluster="typos" batch="C">

<title>Typo in example in Primer section 5?</title>


<description>

<p>Is there a typo in section 5 of the Primer?</p>

</description>


<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0013.html" author="David Wang">

<p>

<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0013.html">David
Wang &lt;dwang@mitre.org&gt; to XML Schema Comments list, Mon, 10 Apr 2000
16:06:09 -0400</link></p>

<p>I think the example for xmlschema-0/Section 5. Advanced Concepts
III: The Quarterly Report has a small typo in either 4Q99.xml or
report.xsd because the XML uses </p>

<eg>
&lt;regions&gt;
  &lt;zip code="95819"&gt;
...
</eg>

<p>while the schema says it should be </p>

<eg>
&lt;regions&gt;
  &lt;zipcode code="..."&gt;
...
</eg>

<p>I think the schema is the one that has the typo. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0051.html" author="Ray Gates">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0051.html">Ray_Gates@manulife.com
to XML Schema Comments list, Tue, 18 Apr 2000 16:17:26 -0400</link></p>

<p>In section 5 Advanced Concepts III: The Quarterly Report, in the listing of
report.xsd: </p>

<p>under</p>

<eg>
&lt;complexType name="RegionsType"&gt;
  &lt;element name="zipcode" ....
</eg>

<p>If I am reading this correctly, this should be </p>
<eg>
 &lt;element name="zip" .... </eg>
<p>to be consistent with references to this element. </p>
</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0076.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="revisit-design" originator="David RR Webber" locus="requirements" priority="substantive" status="ok" batch="B" responsible="Dave Hollander, Michael Sperberg-McQueen" cluster="process">

<title>Reconsider project requirements and design?</title>


<description>

<p>XML Schema should be revised to take better account of the needs of
eBusiness. The project should be put on hold for three months to enable a
review in the context of ebXML technical requirements. It should adopt a
three-tier design. It should be subjected to field testing for six months
before formal adoption. A test suite should be provided to help ensure
consistency across implementations.</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0017.html" author="David RR Webber">

<p>David RR Webber &lt;Gnosis_@compuserve.com&gt; to XML Schema Comments list,
Tue, 11 Apr 2000 11:34:51 -0400</p>

<p>... the current W3C Schema work is fundamentally flawed and does not
provide a functional system that can support broad eBusiness interchanges in
the same way that X12 and EDIFACT have provided for EDI. There are too many
omissions, too many shortcomings and not enough regard to basic usability. </p>

<p>... The requirements fail to encompass what is now transpiring with ebXML,
eCo and eSpeak to name some. Then a simple review of industry initiatives such
as FIXML, wfmXML, RosettaNet, show the need for eBusiness directed mechanisms
that are just not being addressed. Again, the requirements for Schema were
written nearly two years ago - it's time to address this and revisit the
requirements in the context of 2000/2001 and eBusiness needs. </p>

<p>All this is documented at 
<link href="http://www.bizcodes.org/eDTD/xml-eDTDWP.htm">http://www.bizcodes.org/eDTD/xml-eDTDWP.htm</link>.
</p>

<p>1) Moratorium of 3 months to allow Schema Specifications to be re-visited,
particularly in the context of ebXML technical requirements. </p>

<p>2) 3 Tier syntax strategy to be adopted that allows hierarchy of
representational levels -</p>

<ulist>

<item>abstract a la RELAX</item>

<item>syntax neutral</item>

<item>business functional - ebXML</item>

</ulist>

<p>3) Field testing for 6 months <emph>prior</emph> to formal adoption, with
selection of industry groups providing evaluations, not just a set of vendors.
</p>

<p>4) Interoperability test-suite development to ensure consistency. </p>

<p>Of course there are issues with this - but nothing that cannot be resolved
by setting working parameters and putting together a cross-management group to
oversee the technical work. We have plenty of precedence for this with efforts
like RosettaNet and the standards groups X12, HL7, EDIFACT, et al. Yes this
takes time, but this is one instance when that's exactly the path we should be
taking now. </p>

<p>I'd rather have an objective Schema system that has been developed with
broad involvement, rather than spending the next several years fixing up an
inadequate system. </p>

<p>History teaches us that EDIFACT's semantics are much cleaner than X12's
because X12 is a hodgepodge that evolved in an adhoc fashion. Right now we are
looking at history repeating itself - and ebXML is our one bright hope to
ensure that two years from now we're not looking at a dozen variants of XML/edi
- all of which are not interoperable. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0029.html" author="Bruce Peat">

<p>("Bruce Peat" &lt;BPeat@eProcessSolutions.com&gt; to XML Schema Comments
list, Wed, 12 Apr 2000 16:06:53 -0400)</p>

<p>As to the 'three month timeframe', I think the members of the W3C should
decide the schedule. This hierarchy approach should allow the working group to
concentrate on what constitutes the 'base', and consider what best makes sense
for the other 'representational levels'. As you suggest, this would give us
more time to work and prove the extensions before going to recommendation
status following a period of time after we can a chance to begin implementation
using the base recommendation. </p>

<p>This approach I think would be accepted with open arms in the community.
For a recommendation with a larger scope and without proper constraints for
exchange would force a subset of the specification to be used in industry and
will keep the various non-interoperable implementions on other critical items.
IMHO: The W3C decision here could either save or cost industry billions of
dollars over the next few years. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0030.html" author="David RR Webber">

<p>David RR Webber &lt;Gnosis_@compuserve.com&gt; to XML Schema Comments list,
Wed, 12 Apr 2000 16:45:03 -0400</p>

</input> 

</references>
<resolution>
<p>The WG believes this is out of scope.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0193.html">Formal response.</link></p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0207.html">Commentator's answer</link>: suggestion has
been overtaken by events.</p>
</resolution>

</issue>


<issue keyword="multi-field-keys" originator="Ani Pedersen" locus="both" priority="substantive" status="ok" cluster="20 keys" batch="A" responsible="Noah Mendelsohn">

<title>Multi-field keys?</title>


<description>

<p>How does the schema author define a multi-field key?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0018.html" author="Ani Pedersen">

<p>Ani Pedersen &lt;APeders@plexus.ca&gt; to XML Schema Comments list, Tue, 11
Apr 2000 14:22:40 -0700</p>

<p>I have just started digging into XML and I need some help regarding mutiple
field keys.</p>

<p>The new XML schema - Structures does not give any solution in how to
implement multiple field keys. The only comment in section 3.10 is a note that
mentions that is not supported by xsl:key. </p>

<p>Is there an alternative way of defining multi-field keys? A workaround? </p>

<p>Maybe I am missing something? </p>

<p>This is an extract of what I am working on and I need to define two fields
as key values (they have to be together). Unfortunately the structure I came up
with allows me to indicate that they both should be present and in that order
(with group) and that both are keys. However, here I indicate that they are
independent keys and I don't want that. Is there a way of restricting this
looseness. </p>

<eg>
&lt;element name="primaryCustomer" type="PrimaryCustomer" &gt;
   &lt;complexType name="PrimaryCustomer"&gt;
      &lt;element ref="accountNumber" minOccurs = "0"/&gt;
      ......

      &lt;group name = "customerKey" &gt;
         &lt;sequence&gt;
            &lt;element ref="customerNumber"/&gt;
            &lt;element ref="customerSuffix"/&gt;
         &lt;/sequence&gt;
      &lt;/group&gt;
   &lt;/complexType&gt;

   &lt;key name = "customerNumber" &gt;
     &lt;selector&gt; customerKey/customerNumber &lt;/selector&gt;
     &lt;field&gt; @name &lt;/field&gt; 
   &lt;/key&gt;

   &lt;key name = "customerSuffix" &gt;
     &lt;selector&gt; customerKey/customerSuffix &lt;/selector&gt;
     &lt;field&gt; @name &lt;/field&gt; 
   &lt;/key&gt;
 &lt;/element&gt;

</eg>

</input>

</references>


<proposal author="Noah Mendelsohn">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0019.html">Noah
Mendelsohn to XML Schema comments list, 11 April 2000:</link></p>

<p>&lt;field&gt; can be repeated to create a multi-field key. I think that's
what you need, and "it's in there.". </p>


</proposal>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0136.html">Formal response to commentator</link>.
Commentator agrees this is OK.</p>
</resolution>

</issue>


<issue keyword="maxOccurs-and-minOccurs" originator="Nick K. Aghazarian" locus="primer" priority="substantive" status="silent" batch="C" cluster="13 occurs">

<title>Fix defaulting text for maxOccurs?</title>


<description> 

<p>Should the description of the default value for <emph>maxOccurs</emph>
be changed in the Primer? in the Structures spec?</p>

</description> 

 
<references>

<interaction issue="minoccur-maxoccur"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0020.html" author="Ace">

<p>Ace &lt;Ace@AceProgrammer.com&gt; to XML Schema Comments list, Tue, 11 Apr
2000 16:42:00 -0700</p>

<p>I noticed that in the examples that are in XML Schema Part 0: Primer, that
the comment element is usually defined: </p>

<eg>
&lt;xsd:element ref="comment" minOccurs="0"/&gt;

</eg>

<p>The Primer explicitly says this means the element is optional. However,
after looking at the spec and the explanation in the Primer, it seems to me
that this actually makes the comment prohibited because it falls into the third
case below. I hope I am mistaken. I'd rather the above syntax mean that the
element is optional. </p>

</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0071.html" author="Dario de Judicibus"> 

<p>"Dario de Judicibus" &lt;ddj@mclink.it&gt; to XML Schema Comments list, Tue,
25 Apr 2000 23:12:02 +0200</p>


<p>Another problem is related to maxOccurs. It is said to be equal to
minOccurs if not provided. But it is clear in specs that </p>

<eg>
&lt;xsd:element ref="comment" minOccurs="0" /&gt;

</eg>

<p>means </p>

<eg>
&lt;xsd:element ref="comment" minOccurs="0" maxOccurs="1" /&gt;
</eg>

<p>and not </p>

<eg>
&lt;xsd:element ref="comment" minOccurs="0" maxOccurs="0" /&gt;
</eg>

<p>Is that a typo? Is intended? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0075.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments list, Wed,
26 Apr 2000 07:56:59 -0500</p>

<p>I believe that the maxOccurs issue was an oversight, has been reported
here, and will be corrected. </p>

</input>

</references>


<proposal author="Henry S. Thompson">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0021.html">Henry
Thompson to XML Schema comments list:</link></p>

<p>You're right, it should, and the defaulting text for
<emph>maxOccurs</emph> is buggy. It should read {max occurs} </p>

<olist>

<item>1. unbounded, if the maxOccurs [attribute] equals unbounded,</item>

<item> 2. otherwise the number corresponding to the lexical [value] of the

maxOccurs [attribute], if present,</item>

<item> 3. otherwise the number corresponding to the lexical [value] of the

minOccurs [attribute], if it is present and greater than 1</item>

<item> 4. otherwise 1. </item>

</olist>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0061.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="blockDefault" originator="Peter A. Berggren" locus="primer" clause="4.7" priority="substantive" status="silent" cluster="typos" batch="C">

<title>Typo: for <emph>finalDefault</emph> read <emph>blockDefault</emph>?</title>


<description>

<p>Is there a typo in the last paragraph of Primer 4.7?
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0023.html" author="Peter A. Berggren"> 

<p>berggren@lr.net (Peter A. Berggren) to XML Schema Comments list, Wed, 12 Apr
2000 10:54:16 -0400</p>

<p>Regarding the following extract from the last paragraph of Section 4.7 in
XML Schema Part 0 : Primer... </p>

<p>"...As with final, there exists also an optional finalDefault attribute on
the schema element whose value can be one of the values allowed for the final
attribute. The effect of specifying the finalDefault attribute is equivalent to
specifying a final attribute on every type definition and element declaration
in the schema. ..." </p>

<p>This was apparently copied from a preceding, similar paragraph regarding
finalDefault, without changing the word "final" to "block". I believe the text
should read: </p>

<p>"...As with final, there exists also an optional blockDefault attribute on
the schema element whose value can be one of the values allowed for the block
attribute. The effect of specifying the blockDefault attribute is equivalent to
specifying a block attribute on every type definition and element declaration
in the schema. ..." </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0063.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="null-and-keyref" originator="Henry Thompson" locus="both" priority="substantive" status="silent" batch="C" cluster="20 keys">

<title>xsi:null and keyref</title>


<description>

<p>Should key references with fields whose elements are
<code>xsi:null='true'</code> be treated as if the node were not found?
(Or, alternatively, as if it contained an empty string?)
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0024.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list, 12 Apr
2000 15:56:40 +0100</p>

<p>Not key, but keyref, for a change. </p>

<p>Seems to me we missed a case: if the node picked out by a keyref's field is
<code>xsi:null='true'</code>, then this should be treated as if the node had
not been found. As the PWD reads, it will just use an empty string as that
field's contribution to the key sequence to be looked up. </p>

<p>Ditto for unique fields. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0202.html" author="Ashok Malhotra">

<p>Your note of 4/12 confuses me.
keyref fields can only refer to key fields and these are, by definition,
non-nullable.
</p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0072.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="typos" originator="Curt Arnold" locus="datatypes" clause="3.3.22" priority="substantive" status="silent" cluster="typos" batch="C">

<title>Typos in datatypes?</title>


<description>

<p>Are there typos in the schema-pointer and the description of 
<emph>time</emph> in the datatypes spec?

</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0025.html" author="Curt Arnold"> 

<p>"Arnold, Curt" &lt;Curt.Arnold@hyprotech.com&gt; to XML Schema Comments
list, Wed, 12 Apr 2000 10:05:26 -0600</p>

<p>Schema and DTD links in "This Version" header point to the Part 1 schema
and DTD, not a text version of the schema or DTD for datatypes that I expected.
</p>

<p>
<b>Section 3.3.22 time</b> "<emph>date</emph> is generated from 
<emph>recurringDuration</emph> by
setting the value of the <emph>duration</emph> 
facet equal to <code>P0Y</code> and the value
of the <emph>period</emph> facet 
equal to <code>PY24H</code> (24 hours)."</p>

<p>I believe "date" should be "time". </p>

</input>

<interaction issue="date-time-period"></interaction>

</references>


<proposal author="Henry S. Thompson">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0026.html">Henry
Thompson to XML Schema comments list, 12 April 2000:</link></p>

<p>Those now <emph>are</emph> the schema and DTD for datatypes -- if you want
the datatypes all by themselves, in another namespace, with no schema
apparatus, use the pointer specifically for that, i.e.
http://www.w3.org/1999/XMLSchema-datatypes.xsd </p>

</proposal>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0095.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue batch="C" cluster="typos" status="silent" priority="substantive" clause="3.1" locus="primer" originator="Adrian Robert" keyword="typo-primer-3.1">

<title>Typos in Primer Section 3.1?</title>


<description>

<p>Should Primer 3.1 paragraph 3 read "unqualified" instead of
"qualified"?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0028.html" author="Adrian Robert"> 

<p>Adrian Robert &lt;arobert@dtai.com&gt; to XML Schema Comments list, Wed, 12
Apr 2000 11:55:11 -0700</p>

<p>In the third paragraph in Section 3.1 (below), it appears that "qualified"
should be changed to "unqualified". (Also, note there is a small
agreement-related ungrammaticality in the 2nd sentence.) </p>

<p>"In po1.xsd we globally specify the qualification of elements and
attributes by setting the values of both elementFormDefault and
attributeFormDefault to qualified. Strictly speaking, this is unnecessary
because these are the default values of the two attributes, but we do so to
highlight the contrast between this case and others we describe in subsequent
sections."</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0082.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue batch="A" cluster="02 enums" status="ok" priority="substantive" locus="both" responsible="Martin Gudgin" originator="Martin Bryan" keyword="derivedBy">

<title>Defining lists of permitted attribute values</title>


<description>

<p>[It is not clear which of the following questions is being
raised by the commentator. -MSM]
Is there any method, other than by enumerations, of defining
lists of permitted attribute values?  
Is there a convenient way of importing lists of allowed values from
outside the schema document?
Is there a convenient way to specify that an attribute must have
as its value <emph>one</emph> of an enumerated set of legal values?
Is there a convenient way to specify that an attribute must
have as its value a <emph>list</emph> or <emph>sequence</emph> of
tokens, each of them from an enumerated set of legal tokens?
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0031.html" author="Martin Bryan"> 

<p>"Martin Bryan" &lt;mtbryan@sgml.u-net.com&gt; to XML Schema Comments list,
Thu, 13 Apr 2000 12:15:46 +0100</p>

<p>I am trying to work out whether or not the <emph>derivedBy</emph> facet can
be used to identify an element that contains a list of permitted values for an
attribute. It seems to me to be a useful feature but I cannot see how it would
work as the element referenced by <emph>derivedBy</emph> has, according to the
Primer at least, and by implication from Part 2, to be in the instance and not
in the schema. I was thinking about something along the following lines: </p>

<eg>
&lt;xsd:attribute name="Code" base="xsd:string"&gt;
 &lt;xsd:simpleType name="CodeList" 
                 base="xsd:string" 
                 derivedBy="xsd:list"/&gt;
&lt;/xsd:attribute&gt;
&lt;MyCodeList xsi:type="CodeList"&gt;AB1 CD2 EF3&lt;/MyCodeList&gt; 
</eg>

<p>Is this valid? Where would MyCodeList need to be defined? (Is it permitted
as part of the Schema?) </p>

<p>Incidentally the examples shown in Part 2 and the Primer conflict. Part 2
shows the use of the <emph>xsi:type</emph> attribute to link the instance to
the derived type. The example in the primer does not include this attribute.
Some clearer explanation of the role of this attribute and the position of the
element containing the list of permitted values, might help to clarify this
point. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0032.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list, 13 Apr
2000 14:24:46 +0100</p>

<p>Confusion of levels/locations/facilities, I guess. </p>

<p>If you want to constrain element content, use an element declaration: </p>

<eg>
&lt;xs:schema xmlns='[URI:martinbryan]' targetNamespace='[URI:martinbryan]'
           xmlns:xs='http://www.w3.org/1999/XMLSchema'&gt;
 &lt;xs:simpleType name='CodeList' base='xs:string' derivedBy='list'/&gt;

 &lt;xs:element name='MyCodeList' type='CodeList'/&gt;
&lt;/xs:schema&gt;

&lt;docroot xmlns='[URI:martinbryan]'&gt;
 ...
 &lt;MyCodeList&gt;AB1 CD2 EF3&lt;/MyCodeList&gt;
&lt;/docroot&gt;
</eg>

<p>The &lt;docroot&gt; instance above is, as far as we can tell from the
fragments given, schema-valid per the schema corresponding to the schema
document above it. </p>

<p>If you want to constrain an element beyond its schema declaration in an
instance, use <emph>xsi:type</emph>: </p>

<eg>
&lt;xs:schema xmlns='[URI:martinbryan]' 
           targetNamespace='[URI:martinbryan]'
           xmlns:xs='http://www.w3.org/1999/XMLSchema'&gt;
 &lt;xs:simpleType name='CodeList' 
                base='xs:string' 
                derivedBy='list'/&gt;
 &lt;xs:element name='MyContainer' content='textOnly'/&gt;
&lt;/xs:schema&gt;

&lt;docroot xmlns='[URI:martinbryan]'
         xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance'&gt;
 ...
 &lt;MyContainer xsi:type='CodeList'&gt;AB1 CD2 EF3&lt;/MyCodeList&gt;
&lt;/docroot&gt;
</eg>

<p>Again, the &lt;docroot&gt; instance above is, as far as we can tell from
the fragments given, schema-valid per the schema corresponding to the schema
document above it. </p>

<p>Neither of these examples define the restricted element type in the
instance. To do that you have to play games with what amounts to an internal
subset: </p>

<p>schema3.xsd: </p>

<eg>
&lt;xs:schema xmlns='[URI:martinbryan]' targetNamespace='[URI:martinbryan]'
           xmlns:xs='http://www.w3.org/1999/XMLSchema'&gt;

 &lt;xs:element name='MyContainer' content='textOnly'/&gt;
&lt;/xs:schema&gt;

&lt;container xmlns='[URI:martinbryan]'
         xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance'
         xmlns:xs='http://www.w3.org/1999/XMLSchema'
         xsi:schemaLocation='[URI:martinbryan] #xpointer(*/xs:schema)'&gt;
 &lt;xs:schema  targetNamespace='[URI:martinbryan]'&gt;
  &lt;include 'schema3.xsd'/&gt;
  &lt;xs:simpleType name='CodeList' base='xs:string' derivedBy='list'/&gt;
 &lt;/xs:schema&gt;
 &lt;docroot&gt;
   ...
   &lt;MyContainer xsi:type='CodeList'&gt;AB1 CD2 EF3&lt;/MyCodeList&gt;
 &lt;/docroot&gt;
&lt;/container&gt;
</eg>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0035.html" author="Martin Bryan">

<p>"Martin Bryan" &lt;mtbryan@sgml.u-net.com&gt; to XML Schema Comments list,
Thu, 13 Apr 2000 15:43:56 +0100</p>

<p>Thanks for the response, but you are on the wrong track. I see how
constraining element content works quite nicely. The problem was that I
specifically want to apply the same technique to an enumerated list of
attribute values, hence my question: </p>

<p><emph>I am trying to work out whether or not the <emph>derivedBy</emph>
facet can be used to identify an element that contains a list of permitted
values for an attribute.</emph> </p>

<p>The area I am trying to get working is the ebXML electronic business area.
We have a lot of elements which have "qualifier" attributes whose values are
taken from code lists. Ideally I would like to be able to "import" up-to-date
codelists as part of the schema so that maintenance of the code list can be
made independent of maintenance of the schema. Having to define such lists as
enumeration lists is very long winded, so I would like to use the derived by
method, but I don't see how it applies to attributes, hence my attempted
example: </p>

<eg>
 &lt;xsd:attribute name="Code" base="xsd:string"&gt;
  &lt;xsd:simpleType name="CodeList" base="xsd:string" derivedBy="xsd:list"/&gt;
 &lt;/xsd:attribute&gt;
 &lt;MyCodeList xsi:type="CodeList"&gt;AB1 CD2 EF3&lt;/MyCodeList&gt; 
</eg>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0036.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list, 13 Apr
2000 18:03:06 +0100</p>

<p>What confuses me about your example is that you don't show an attribute in
the instance, but rather an element. Your schema fragment, if it appeared
within the type definition for the &lt;banana&gt; element, would
schema-validate the following instance just fine: </p>

<eg>
&lt;banana Code='AB1 CD2 EF3'&gt;...&lt;/banana&gt;
</eg>

<p>Is what you want to be able to do is restrict the list elements to some
enumerated list defined elsewhere? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0039.html" author="Martin Bryan">

<p>"Martin Bryan" &lt;mtbryan@sgml.u-net.com&gt; to XML Schema Comments list,
Fri, 14 Apr 2000 07:43:18 +0100</p>

<p>Yes, with a single value for the attribute taken from that list. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0040.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list, 14 Apr
2000 11:27:45 +0100</p>

<p>Right, sorry not to have understood sooner. This is a request we've had
before, and will certainly consider carefully. </p>

</input>

</references>
<resolution>
<p><link
href="http://lists.w3.org/Archives/Member/w3c-archive/2000Oct/0053.html">Formal
response to commentator</link>. <link
href="http://lists.w3.org/Archives/Member/w3c-archive/2000Oct/0053.html">Commentator</link>
replies that with some reservations he is "happy that we have a
workable solution to the separation of the management of enumeration
list values from the use of these values in specific applications".</p>
</resolution>

</issue>


<issue keyword="bryan-on-dt" originator="Martin Bryan" locus="datatypes" priority="substantive" status="ok" batch="A" responsible="Ashok Malhotra" cluster="dt-queries">

<title>Questions relating to data types</title>

<description>

<p>Various points in need of clarification.</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0033.html" author="Martin Bryan"> 

<p>"Martin Bryan" &lt;mtbryan@sgml.u-net.com&gt; to XML Schema Comments list,
Thu, 13 Apr 2000 15:27:21 +0100</p>

<p>What does it mean to apply a pattern to a timeDuration? </p>

<p>Why does the example given of a <emph>timeInstance</emph> not have a Z
before the last hyphen? </p>

<p>Why is the <emph>period</emph> facet of <emph>time</emph> shown as
<code>PY24H</code> rather than <code>PT24H</code>? (Again there is no Z
preceding the timezone details in the example.) </p>

<p>If you define a <emph>minInclusive</emph> or <emph>minExclusive</emph> date
for a recurring duration whose period is 7 days will the days always fall on
the same day of the week as the first date within the period (i.e. the
minInclusive date)? </p>

<p>How can enumeration be applied to the binary datatype? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0197.html" author="Martin Bryan &lt;mtbryan@sgml.u-net.com>">


<p>"Martin Bryan" &lt;mtbryan@sgml.u-net.com&gt;
to XML Schema Comments list on
Sun, 14 May 2000 08:01:08 +0100
</p>

<p>

<emph>You have sent a number of notes with comments on the Datatypes part
of the XML Schema specification.  We appreciate your input.  I believe
I have responded to all your concerns but would like to ask you formally
whether you feel your concerns have been addressed and the issues
you raised can be closed.</emph>
</p>

<p>
The vast majority of my concerns have been answered, for which I thank
you. There are still some relatively minor ones, such as the sentence
that reads 'To accommodate year values outside the range from 0 to
9999, additional digits can be added to the left of this
representation and an preceding "-" is allowed.' This really needs the
0 changed to 1, and a statement to indicate that negative numbers
represent Before Christian Era (BC/BE) dates. I would have loved to be
able to deal with non-Gregorian calendars (e.g. Jewish, Arabic,
Chinese, Japanese, Julian, ....) but don't expect everything to be in
place at this stage.
</p>

<p>

The one area I still expect we are going to have problems in using
datatype for electronic commerce is measurements. For example, how can
I check that 100cm and 1m are exactly equivalent, but 1yd is not. But
again I do not expect you to have addressed these problems at this
state. (Schema2 will be along within a few years!)
</p>

<p>
Nevertheless you have done an impressive job and are to be highly commended.
</p>


</input>

</references>


<proposal author="Ashok Malhotra">

<p>
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0042.html">petsa@us.ibm.com
to XML Schema Comments list, Fri, 14 Apr 2000 13:35:22 -0400</link></p>

<p>
<emph>What does it mean to apply a pattern to a timeDuration?</emph>
</p>

<p>The pattern facet allows you to constrain the lexical representation of the
datatype. For time duration you could, for example, write a pattern that starts
with P100Y. This would mean that the the duration must be greater than 100
years. </p>

<p><emph>Why does the example given of a timeInstance not have a Z before the
last hyphen?</emph>
</p>

<p>The example is correct. A "Z" is not required and would be an error. </p>

<p><emph>Why is the period facet of time shown as PY24H rather than PT24H?
(Again there is no Z preceding the timezone details in the example.)</emph>
</p>

<p>It should be PT24H. Thanks. A "Z" is not required. </p>

<p><emph>If you define a minInclusive or minExclusive date for a recurring
duration whose period is 7 days will the days always fall on the same day of
the week as the first date within the period (i.e. the minInclusive
date)?</emph>
</p>

<p>Yes, it would. </p>

<p><emph>How can enumeration be applied to the binary datatype?</emph></p>

<p>In theory you could define an enumeration by quoting hunks of, say, base64
encoded binary data. </p>

</proposal>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0042.html">Informal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0197.html">Commentator</link> confirms he is satisfied.</p>
</resolution>

</issue>


<!--*

<issue keyword="flexible-order" originator="Yuichi Koike" locus="structures" priority="editorial" status="unassigned">
<title>Re: P3P and XML Schemas</title>
<description>

<p>"Yuichi Koike" &lt;koike@w3.org> to XML Schema Comments list, 
Thu, 13 Apr 2000 16:57:13 -0400</p>
<p>
Martin, 
</p>
<p>
I will write a comment to XML schema folks about 
the flexible order things. Could you give me your 
opinion about this?
</p>
<p>
When you say "flexible order", what kind of flexibility 
do you consider?
Suppose that DTD is like `(disclosure, statement+, extension*)`.
"Example A" is perfectly compatible with the DTD.
</p>
<p>
Did you want to allow "Example B" and "Example C"?
Or did you want to allow only "Example B"?
</p>
<p>

Example A
</p>
<p>&lt;disclosure>...&lt;/disclosure>
&lt;statement>...&lt;/statement>
&lt;statement>...&lt;/statement>
&lt;extension>...&lt;/extension>
&lt;extension>...&lt;/extension>
</p>
<p>
Example B
</p>
<p>&lt;disclosure>...&lt;/disclosure>
&lt;extension>...&lt;/extension>
&lt;extension>...&lt;/extension>
&lt;statement>...&lt;/statement>
&lt;statement>...&lt;/statement>
</p>
<p>
Example C
</p>
<p>&lt;statement>...&lt;/statement>
&lt;extension>...&lt;/extension>
&lt;disclosure>...&lt;/disclosure>
&lt;statement>...&lt;/statement>
&lt;extension>...&lt;/extension>
</p>

</description>
</issue>
*-->

 
<issue keyword="gmacri-misc" originator="gmacri@libero.it" locus="structures" priority="substantive" status="silent" batch="A" responsible="Henry Thompson" cluster="21 ns">

<title>Questions</title>

<description>

<p>Some requests for clarification.</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0041.html" author="gmacri@libero.it"> 

<p>"gmacri@libero.it"&lt;gmacri@libero.it&gt; to XML Schema Comments list, Fri,
14 Apr 2000 15:25:15 +0200</p>

<p>I'm a student of Politecnico in Turin. I have written you to ask some
information: </p>

<ulist>

<item>When I write an XML document, the URI used in the declaration of a
namespace, for example <code>xmlns:book="http://www.somewhere.org/Book</code>,
must have some relation with some component defined in the related schemas?
</item>

<item>The attribute "BLOCK" used in the definition of some schema's component
is equivalent to old attribute "EXACT" ? </item>

</ulist>

<p>[Note re-sent 
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0108.html">1 May 2000</link>.]</p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0109.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list, 01 May
2000 18:43:26 +0100</p>

<p><emph>When I write an XML document, the URI used in the
declaration of a namespace, for example 
<code>xmlns:book="http://www.somewhere.org/Book</code>,
 must have some relation with some component defined in the &gt; related
schemas?</emph></p>

<p>There doesn't need to be anything at that URI. But if you want to
schema-validate elements/attributes from that namespace, you may want
one there, or you'll need to define components for those elements in
some schema document for that namespace. </p>

<p><emph>The attribute "BLOCK" used in the definition of some schema's
component is equivalent to old attribute "EXACT"?</emph></p>

<p>Yes. </p>

</input>

</references>


</issue>


<issue keyword="defaults-vs-validation" originator="Mikael St&aring;ldal" locus="structures" priority="substantive" status="ok" batch="B" cluster="11 infoset">

<title>Remove default values?</title>

<description>

<p>Should default values and other similar contributions to the standard
info-set be removed from XML Schema?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0046.html" author="Mikael St&aring;ldal">

<p>Mikael St&aring;ldal &lt;d96-mst@d.kth.se&gt; to XML Schema Comments list,
Mon, 17 Apr 2000 12:13:24 +0200 (MET DST)</p>

<p>Section 1.1 in the XML Schema Structures WD says: </p>

<p><emph>The purpose of an XML Schema: Structures schema is to define and
describe a class of XML documents by using schema components to constrain and
document the meaning, usage and relationships of their constituent parts:
datatypes, elements and their content and attributes and their values.</emph>
</p>

<p>Schemas may also provide for the specification of additional document
information, such as default values for attributes and elements. ----- </p>

<p>I consider this as two different purposes, and I don't think it's a good
idea to mix them together as the schema WD does (DTDs has the same problem).
The inclusion of default values in the schema lead to that the output of
parsing the same XML document with and without the schema can be different, and
I don't like that. I think that validation and supplying default values should
be clearly separated processing steps. Likewise, I think that the schema for
validation and the defintion for default values should be clearly separated
data entites. It should be possible to apply default values without validation,
and omitting the validation step should not affect the result for valid input.
</p>

<p>My suggestion is to remove default values, and everything else that may
cause the output from validating and non-validating parsing to be different,
from the XML Schema spec and leave that for some other mechanism (perhaps
internal DTD subset for attribute value defaults). </p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0197.html">Formal response</link>.</p>
<p>Commentator responds 21 September "I am satisfied with the decision."</p>
</resolution>

</issue>


<issue keyword="typos-str" originator="Gregor Meyer" locus="structures" priority="substantive" status="silent" batch="C" cluster="typos">

<title>Typo in example?</title>

<description>

<p>Is there a typo in an example in xmlschema-1?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0047.html" author="Gregor Meyer"> 

<p>GRMEYER@de.ibm.com to XML Schema Comments list, Mon, 17 Apr 2000 22:55:58
+0200</p>

<p>there are two minor typos in an example in xmlschema-1.html </p>

<eg>
&lt;xs:complexType name="length1" 
                base="dt:non-negative-integer"
                derivedBy="extension"/&gt;
... 
...
&lt;xs:element name="size" type="dt:non-positive-integer"/&gt;
</eg>

<p>The base type names should probably be written without '-' </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0070.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="simpletype-element" originator="Curt Arnold" locus="structures" priority="substantive" status="silent" batch="C" cluster="sfs">

<title>Fix declaration of simpleType element?</title>

<description>

<p>Should the declaration for the <emph>simpleType</emph> element
type have an explicit reference to the complex type 
<emph>simpleType</emph>?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0048.html" author="Curt Arnold"> 

<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments list,
Mon, 17 Apr 2000 23:54:08 -0500</p>

<p>The definition for the <emph>simpleType</emph> element does not have an
explicit reference to the <emph>simpleType</emph> complexType. I assume this is
an error in the schema for schemas and not an indication that their is an
implicit typing to an identically named type. However, if I'm wrong, could you
point out where this behavior is described. </p>

</input>

</references>


<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0095.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="restriction-awkward" originator="Curt Arnold" locus="structures" priority="substantive" status="nok" batch="D" responsible="MSM, Matt Fuchs" cluster="12 content-models">

<title>Streamline restriction of content models?</title>

<description>

<p>Should the mechanism for restricting complex types be
revised to make it less verbose and awkward?</p>

</description> 
 
<references>

<interaction issue="restrension"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0048.html" author="Curt Arnold"> 

<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments list,
Mon, 17 Apr 2000 23:54:08 -0500</p>

<p>Restrictions of element content in complex types still looks extremely
awkward and under documented. If I've overlooked an concise description of how
it should work, please point out the appropriate section. Mimicing the expanded
content model up to the point of restriction would be extremely verbose when
you are tweaking something fairly deep in a content model. </p>

</input>

<input href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html" author="Jane Hunter">

<p><b>5. Derivation Issues</b></p>

<p><b>5.1 Simplified Derivation By Restriction</b> </p>

<p>The current XML Schema WD requires a complex type derived by 
restriction to repeat all the declarations it inherited from its base. This 
becomes tedious and hard to manage as the inheritance hierarchy grows deeper. 
It would be preferable if only the declarations that are further constrained 
in the derived type needed to be specified. Its possible that in a deeply 
nested structure, such repetition might be the only practical way to specify 
restrictions to the structure without causing ambiguity. 
</p>


</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-16.</p>

<p>Gudgin agreed with the commentator that when writing content models by
hand our current rules might indeed be tedious, but observed that for
schemas generated by machine (which he expected to be a more common
case) the problem was not important.  MSM observed that we had spent
considerable time exploring alternatives in this area, and that in
fact all of the alternatives proposed are not less tedious that the
current rule, only tedious in different ways.  Anyone writing a schema
by hand can be assumed to have access to an editor with cut and paste
facilities; David Beech observed that using cut and paste and the
current rule is actually somewhat simpler than any of the
alternatives, and is much less tedious than constructing the necessary
Xpaths, or counting out the necessary <emph>sic</emph> elements.</p>

<p><b>RESOLVED</b> without dissent to stand by the current design.</p>

<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0025.html">Formal response to commentators</link>.</p>
<p>Commentator not satisfied (n.b. has typo in issue number): <link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0028.html">20
July 2000</link>.</p>

</resolution></issue>


<issue keyword="attribute-elemdecl" originator="Curt Arnold" locus="structures" cluster="sfs" priority="substantive" status="silent" batch="C">

<title>Suppress multiple local declarations of <emph>attribute</emph>
element?</title>


<description>

<p>Should the schema for schemas be revised to use a global
declaration for the <emph>attribute</emph> element type,
rather than multiple local declarations?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0048.html" author="Curt Arnold"> 

<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments list,
Mon, 17 Apr 2000 23:54:08 -0500</p>

<p>Multiple context-specific defininitions of the attribute element are
declared, however they are all identical. It would be confusing to someone
looking at a help system when they are presented with the attributeGroup form
of the attribute element, the complexType definition of element and don't see
any obvious difference. </p>

</input>

</references>


<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0095.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="schema-for-xslt" originator="Curt Arnold" locus="structures" priority="substantive" status="silent" batch="D" responsible="Don Box, Dan Connolly" cluster="12 content-models">

<title>Can XML Schema define XSLT?</title>


<description>

<p>Can XML Schema be used to define the XSLT language?</p>

<p>Should the syntax for declaring complex types be revamped?
In particular, should the <emph>content</emph> attribute be dropped?</p>

</description> 

 
<references>

<interaction issue="complextype-groups"></interaction>

<input href="" author="Don Box">

<p>I just spent the afternoon massaging my schema for XSLT. If you want to
check it out, it is at: </p>

<p>
<link href="http://www.develop.com/dbox/xml/xslt.xsd">
http://www.develop.com/dbox/xml/xslt.xsd </link>
</p>

<p>I'd love to get feedback, especially from those who have April 7-compliant
schema parsers/validators. I still need to go through and tighten up the
references to simple types, add xsd:unique, and catch any bugs I am too tired
to see today. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0053.html" author="Curt Arnold">

<p>"Arnold, Curt" &lt;Curt.Arnold@hyprotech.com&gt; to XML Schema Comments
list, Tue, 18 Apr 2000 15:00:55 -0600</p>

<p>... Schema doesn't seem to have the ability to adequately represent the
content model of <code>&lt;xsl:template&gt;</code> or
<code>&lt;xsl:for-each&gt;</code>. <code>&lt;xsl:template&gt;</code> content
should be zero or more <code>&lt;xsl:param&gt;</code> elements followed by
template content. <code>&lt;xsl:for-each&gt;</code> content should be zero or
more <code>&lt;xsl:sort&gt;</code> elements followed by template content. </p>

<p>Your schema represented these as: </p>

<eg>
    &lt;complexType name='template' content='mixed'&gt;
        &lt;element ref='xsl:instruction' /&gt;
        &lt;any namespace='##other' /&gt;
    &lt;/complexType&gt;

    &lt;complexType name='named-template' base='xsl:template-with-space' derivedBy='extension' &gt;
        &lt;element name='param' type='xsl:variable-definition'/&gt;  &lt;!--  should have a minOccurs/maxOccurs here --&gt;
        &lt;attribute name='match' type='xsl:pattern' /&gt;
        &lt;attribute name='name' type='QName' /&gt;
        &lt;attribute name='priority' type='xsl:XPathNumber' /&gt;
        &lt;attribute name='mode' type='QName' /&gt;
    &lt;/complexType&gt;

    &lt;complexType name='template-with-space' base='xsl:template' derivedBy='extension' &gt;
        &lt;attribute ref='xml:space' /&gt;
    &lt;/complexType&gt;

    &lt;complexType name='for-each' base='xsl:template-with-space' derivedBy='extension' &gt;
        &lt;element name='sort' type='xsl:sort' minOccurs='0' maxOccurs='unbounded' /&gt;
        &lt;attribute name='select' type='xsl:expr' use='required' /&gt;
    &lt;/complexType&gt;
</eg>

<p>My interpretation of <code>derivedBy='extension'</code> is that any content
defined in the derived type appears after the content in the base type. (I
looked but couldn't see any definition of special behavior if the base
complexType was mixed) So that your definitions would allow template content
then <code>&lt;xsl:sort&gt;</code> or <code>&lt;xsl:param&gt;</code> elements.
However, since the only mechanism to get mixed content is through a
<code>content='mixed'</code> attribute on a <code>&lt;complexType&gt;</code>
element and that the only mechanism to build a content model off of a
complexType is restriction or extension, there does not seem to be a mechanism
for doing what you would really want. </p>

<p>The best approximation you could do with the working draft is to not use
derivation and create a mixed model that allows <code>&lt;xsl:sort&gt;</code>
or <code>&lt;xsl:param&gt;</code> to appear anywhere in the mixed content. </p>

<p>If you however, had a &lt;mixed&gt; grouping element then you could
adequately the content model like: </p>

<eg>
&lt;complexType name="for-each"&gt;
	 &lt;element name="sort" 
           type="xsl:sort" 
           minOccurs='0' 
           maxOccurs='unbounded'/&gt;
	 &lt;mixed&gt;
   	&lt;element ref='xsl:instruction' /&gt;
   	&lt;any namespace='##other' /&gt;
	&lt;/mixed&gt;
&lt;/complexType&gt;
</eg>

<p>That led me to look at the <emph>content</emph> attribute of complexType
which appears to only provide information in a very few places and has
substantial potential to be inconsistent with other parts of the type
declaration. Elimination of the <emph>content</emph> attribute would seem to
eliminate some complexity. </p>

<p>The <emph>content</emph> attribute can have values of
<code>elementOnly</code>, <code>textOnly</code>, <code>mixed</code> and
<code>empty</code>. </p>

<p><code>textOnly</code> can usually be implied by the
<emph>type</emph> attribute referencing a simple type or a
<code>&lt;simpleType&gt;</code> child element. The equivalent of
<code>content='textOnly'</code> would be nothing more would be
<code>type='string'</code>. There doesn't seem to be a case where
<code>content='textOnly'</code> adds value. </p>

<p><code>elementOnly</code> can be implied by a <emph>type</emph>
attribute referencing a complexType or a
<code>&lt;complexType&gt;</code> child element.
</p>

<p>If we had the <code>&lt;mixed&gt;</code> group tag, then mixed
content is just a particular flavor of complex type. </p>

<p>That leaves <code>empty</code>. Either an
<code>&lt;empty/&gt;</code> element like in previous drafts or better
yet defining an "empty" complex type in the schema for schema that is
the default base type if no type is defined and would be the default
base type for complexType elements.</p>

<eg>
&lt;!--  these would all be equivalent (unless someone 
     defined a locally name empty complex type)  --&gt;
&lt;element name="apply-imports" type="empty"/&gt;
&lt;element xmlns:xsd="http://www.w3.org/1999/XMLSchema" name="apply-imports" type="xsd:empty"/&gt;
&lt;element name="apply-imports"/&gt;
</eg>

<p>I've posted an HTMLHelp file (http://home.houston.rr.com/curta/xslt.chm)
based on a simplified version of Don's schema for XSLT
(http://home.houston.rr.com/curta/xslt.xsd) on my home page. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0055.html" author="Don Box">

<p>"Box, Don" &lt;dbox@develop.com&gt; to XML Schema Comments list, Tue, 18 Apr
2000 15:21:10 -0700</p>

<p><emph>Second, Schema doesn't seem to have the ability to adequately
represent the content model of &lt;xsl:template&gt; or &lt;xsl:for-each&gt;.
&lt;xsl:template&gt; content should be zero or more &lt;xsl:param&gt; elements
followed by template content.</emph>
</p>

<p>Yeah, I thought about alternative ways to model that. One way would
have been to use a named model group (that was my first pass btw). The
problem is that for mixed content, you can't use sequence constraints.
This is a problem with older technologies as well. </p>

<p><emph>&lt;xsl:for-each&gt; content should be zero or more &lt;xsl:sort&gt;
elements followed by template content.</emph></p>

<p>Same problem. </p>

<p><emph>[snip]</emph></p>

<p>I don't know that anyone has the will to add <emph>more</emph> complexity
to the schema language to handle mixed content. </p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0056.html" author="Curt Arnold">

<p>"Arnold, Curt" &lt;Curt.Arnold@hyprotech.com&gt; to XML Schema Comments
list, Tue, 18 Apr 2000 16:56:40 -0600</p>

<p>Actually, I thought my suggestions allowed you to appropriately constrain
the content plus simplified things by eliminating the <emph>content</emph>
attribute. </p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0061.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list, 20 Apr
2000 17:18:32 +0100</p>

<p>Curt Arnold &lt;Curt.Arnold@hyprotech.com&gt; writes: </p>

<p><emph>My interpretation of derivedBy='extension' is that any content
defined in the derived type appears after the content in the base type. (I
looked but couldn't see any definition of special behavior if the base
complexType was mixed) So that your definitions would allow template content
then &lt;xsl:sort&gt; or &lt;xsl:param&gt; elements.</emph>
</p>

<p>Correct. </p>

<p><emph>However, since the only mechanism to get mixed content is
through a <code>content='mixed'</code> attribute on a
&lt;complexType&gt; element  and that the only mechanism to build a
content model off of a complexType is restriction or extension, there
does not seem to be a mechanism for doing what you would really
want.</emph></p>

<p>I'd do it by defining template with a disjunction, and then restricting one
or the other branch of the disjunction out of existence for the derived types.
</p>

<p><emph>That led me to look at the content attribute of complexType which
appears to only provide information in a very few places and has substantial
potential to be inconsistent with other parts of the type declaration.
Elimination of the content attribute would seem to eliminate some complexity.
</emph></p>

<p><emph>The content attribute can have values of elementOnly,
textOnly, mixed and empty.</emph></p>

<p>Your discussion below seems to assume that 'content' is an attribute on
&lt;element&gt;, when in fact it belongs on &lt;attribute&gt;. </p>

<p><emph>textOnly can usually be implied by the type attribute referencing a
simple type or a &lt;simpleType&gt; child element. The equivalent of
content='textOnly' would be nothing more would be type='string'. There doesn't
seem to be a case where content='textOnly' adds value.</emph>
</p>

<p>There's one corner case: </p>

<eg>
&lt;xs:element name='foo'&gt;
  &lt;xs:complexType content='textOnly'/&gt;
&lt;/xs:element&gt; </eg>

<p>is weaker than <code>base='string'</code> (or
<code>type='string'</code> on the xs:element), in that it can be
restricted by a complex type with <emph>any</emph> simple type as its
base </p>

<p><emph>elementOnly can be implied by a type attribute referencing a
complexType or a &lt;complexType&gt; child element.</emph></p>

<p>How can we distinguish mixed from element only in that case? </p>

<p><emph>If we had the &lt;mixed&gt; group tag, then mixed content is just a
particular flavor of complex type.</emph></p>

<p>If we had such a group tag, it would re-introduce the pernicious mixed
content bug from SGML. </p>

<p><emph>That leaves empty. Either an &lt;empty/&gt; element like in previous
drafts or better yet defining an "empty" complex type in the schema for schema
that is the default base type if no type is defined and would be the default
base type for complexType elements.</emph>
</p>

<p>I think we're open to re-designs in this area, but this one isn't quite
there yet. </p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0062.html" author="Henry S. Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list, 20 Apr
2000 17:25:06 +0100</p>

<p>Don Box &lt;dbox@develop.com&gt; writes: </p>

<p><emph>Yeah, I thought about alternative ways to model that. One way would
have been to use a named model group (that was my first pass btw). The problem
is that for mixed content, you can't use sequence constraints. This is a
problem with older technologies as well. </emph></p>

<p>Yes you can -- the whole point of making 'mixed' orthogonal to the content
model is that e.g. </p>

<eg>
  &lt;xs:complexType name='haystack' content='mixed'&gt;
   &lt;xs:sequence&gt;
     &lt;xs:element name='thread'/&gt;
     &lt;xs:element name='needle'/&gt;
   &lt;/xs:sequence&gt;
  &lt;/xs:complexType&gt;
</eg>

<p>schema-validates <emph>only</emph> &lt;haystack&gt; elements with exactly
one &lt;thread&gt; and one &lt;needle&gt; daughters, <emph>in that
order</emph>. </p>

<p>Yet another reason to think again about the default &lt;choice&gt; wrapper
when you simply say </p>

<eg>
  &lt;xs:complexType content='mixed'&gt;
   &lt;xs:element .../&gt;
   . . .
  &lt;/xs:complexType&gt;
</eg>

</input> 

</references>


<resolution>

<p>Discussed in call of 2000-06-22.</p>

<p>Email discussion had showed that many of the problems associated in
SGML with 'pernicious mixed content' could probably be solved in XML,
because XML does not require (or allow) the processor to suppress
white space, even in cases where the white space is
'insignificant'.</p>

<p>Some WG members argued, however, that the current design has
virtues other than simply avoiding pernicious mixed content: the
function of a content model in XML Schema is to show where subelement
can occur, how often, and in what sequence.  There is, separately, a
flag to indicate whether character data, or only white space, can
occur between them. The simplicity of this design is a virtue in
itself; it covers many more cases than XML 1.0 DTDs, and it covers
virtually all realistic content models: the cases not covered are not
useful or realistic enough to merit the change.  As a case not
covered, Matt Timmermans offered the example of a paragraph title: one
would like to be able to write the equivalent of
</p>

<eg><![CDATA[
<!ELEMENT p (head, (#PCDATA | %phrase;)*)>
]]></eg>

<p>This was accepted as (a) not covered, (b) desirable, and (c) a good
illustration of the relatively good coverage of the current design: if
inability to handle paragraph headings is the worst that happens, ...
</p>
<p>The simple fact that in some places within the element, character
data is allowed, and in other cases it is forbidden, suggested that
there is some semantic difference between those two regions.  But it
is an inherently questionable design (if not necessarily always a
wrong design) to identify an important semantic unit and then to
define no element type in the markup language corresponding to that
semantic unit.  It need not be the business of XML Schema to make
questionable design decisions (among which we number, however
reluctantly, the design of the XSL 'template' element's content model)
easy to implement</p>

<p><b>RESOLVED</b>:  to dispose of issue LC-51 by explaining our
rationale and declining to make the suggested change.  Dissenting:
Connolly; Abstaining: Timmermans.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0106.html">Formal response to commentator</link>.</p></resolution></issue>


<issue batch="D" cluster="13 occurs" status="silent" priority="substantive" clause="4.3.3" locus="structures" responsible="Don Box" originator="Curt Arnold" keyword="minoccur-maxoccur">

<title>Clarify minOccur/maxOccur defaulting?</title>

<description>

<p>There is some uncertainty about the default values of the
<emph>minOccurs</emph> and <emph>maxOccurs</emph> attributes in various
situations.  Should the defaulting rules be changed?</p>

</description> 
 
<references>

<interaction issue="min-max-occurs"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0053.html" author="Curt Arnold">

<p>"Arnold, Curt" &lt;Curt.Arnold@hyprotech.com&gt; to XML Schema Comments
list, Tue, 18 Apr 2000 15:00:55 -0600</p>

<p>The <emph>param</emph> element reference in the <emph>named-template</emph>
type definition should have a <code>minOccur="0"</code> and a
<code>maxOccur="unbounded"</code>. As written, a template has to have one and
only one <emph>param</emph>.</p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0055.html" author="Don Box">

<p>"Box, Don" &lt;dbox@develop.com&gt; to XML Schema Comments list,
Tue, 18 Apr 2000 15:21:10 -0700</p>

<p>My reading of rule 4.3 under the {content type} definition (found
under section 4.3.3) implies that there is an implicit
<code>&lt;choice minOccurs='0' maxOccurs='unbounded' &gt;</code>
particle over the particle children of a <code>content=mixed</code>
complex type. I'll defer to Henry on this. </p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0056.html" author="Curt Arnold">

<p>"Arnold, Curt" &lt;Curt.Arnold@hyprotech.com&gt; to XML Schema
Comments list, Tue, 18 Apr 2000 16:56:40 -0600</p>

<p>I guess it depends on what the interpretation of "extending" a
complex type that ultimately derived from a complex type that has a
content of mixed. If extending means that <emph>param</emph> is
magically added into the mixed content of its base type, then the
multiplicity would be implied. If extension in this context means
appears that content declared in the derived type appears after the
base complexType's content has been satisifed then <emph>param</emph>
is in the wrong place with the wrong multiplicity. Possibly the
behavior is already explicit in the schema docs. But for me to get my
mind around the schema doc, I have to work out from the schemas to
schema to the prose and not the other way around. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0059.html" author="Noah Mendelsohn">

<p>Noah_Mendelsohn@lotus.com to XML Schema Comments list, Thu, 20 Apr
2000 01:11:45 -0400</p>

<p>Schemas treats <emph>mixed</emph> differently than DTD's. In
schemas, both <emph>element-only</emph> and <emph>mixed</emph> take a
full content model. The only difference with <emph>mixed</emph> is
that the instance can have character information item children before
after and in between the elements validated by the model. So, you have
the full power of content models with <emph>mixed</emph>. Also,
<emph>mixed</emph> does not imply any defaults for
<emph>min/maxOccurs</emph>. This is NOT the DTD model, but it can
express every constraint allowed by DTD mixed (and more). </p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0060.html" author="Don Box">

<p>Don Box &lt;dbox@develop.com&gt; to XML Schema Comments list, Wed,
19 Apr 2000 23:23:19 -0700</p>

<p>This is actually a bit confusing, but I think I finally have my
head around it (I certainly didn't two days ago). </p>

<p>If one looks at Section 4.3.3 of Part 1, the description of the
{content type} deserialization rules discusses the EXPLICIT PARTICLE
that is introduced as a parent of most complex type content models. To
paraphrase, unless the complexType's content model is a lone
<code>all</code>, <code>group</code>, <code>sequence</code>, or
<code>choice</code>, the model is interpreted as if a compositor has
been introduced. In the case of <code>content='mixed'</code>, it is a
choice compositor marked
<code>minOccurs='0'</code>/<code>maxOccurs='unbounded'</code>.</p>

<p>That stated, I believe (but may be wrong) that the following: </p>

<eg>
&lt;complexType name='bob' content='mixed' &gt;
	&lt;element name='a'/&gt;
	&lt;element name='b'/&gt;
	&lt;element name='c'/&gt;
&lt;/complexType&gt;
</eg>

<p>is equivalent to: </p>

<eg>
&lt;complexType name='bob' content='mixed' &gt;
 &lt;choice minOccurs='0' maxOccurs='unbounded' &gt;
	&lt;element name='a'/&gt;
	&lt;element name='b'/&gt;
	&lt;element name='c'/&gt;
 &lt;/choice&gt;
&lt;/complexType&gt;
</eg>

<p>This is pretty much the DTD story. If one really wants the
"revolutionary structured mixed content model" that acts like
<emph>elementOnly</emph> but allows non-whitespace character data, one
would have needed to write this: </p>

<eg>
&lt;complexType name='bob' content='mixed' &gt;
 &lt;sequence minOccurs='m' maxOccurs='n' &gt;
	&lt;element name='a'/&gt;
	&lt;element name='b'/&gt;
	&lt;element name='c'/&gt;
 &lt;/sequence&gt;
&lt;/complexType&gt;

</eg>

<p>where <emph>m</emph> and <emph>n</emph> are the values that match
your expectations ;-) </p>

<p>Taking this into account, I believe my original schema for XSLT was
using <code>content='mixed'</code> correctly, although I now see at
least one opportunity to tighten up some constraints. </p>

</input> 

<input href="" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
20 Apr 2000 17:29:37 +0100</p>

<p>Curt Arnold &lt;Curt.Arnold@hyprotech.com&gt; writes: </p>

<p><emph>The param element reference in the named-template type
definition should have a minOccur="0" and a maxOccur="unbounded". As
written, a template has to have one and only one param.</emph>\ </p>

<p>Don wrote: </p>

<p><emph>My reading of rule 4.3 under the {content type} definition
(found under section 4.3.3) implies that there is an implicit
&lt;choice minOccurs='0' maxOccurs='unbounded' &gt; particle over the
particle children of a content=mixed complex type. I'll defer to Henry
on this.</emph></p>

<p>Don is right, but as I've said I think this is sowing enough confusion that
the expected benefit is being overwhelmed. </p>

<p><emph>Curt reply: </emph></p>

<p><emph>I guess it depends on what the interpretation of "extending"
a complex type that ultimately derived from a complex type that has a
content of mixed. If extending means that param is magically added
into the mixed content of its base type, then the multiplicity would
be implied. If extension in this context means appears that content
declared in the derived type appears after the base complexType's
content has been satisifed then param is in the wrong place with the
wrong multiplicity. Possibly the behavior is already explicit in the
schema docs. But for me to get my mind around the schema doc, I have
to work out from the schemas to schema to the prose and not the other
way around.</emph>
</p>

<p>I suspect there's some unclarity in this case -- I'll get back to
you. </p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0064.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
20 Apr 2000 17:32:08 +0100</p>

<p>Don Box &lt;dbox@develop.com&gt; writes: </p>

<p><emph>This is actually a bit confusing, but I think I finally have
my head around it (I certainly didn't two days ago). </emph></p>

<p><emph>If one looks at Section 4.3.3 of Part 1, the description of
the {content type} deserialization rules discusses the EXPLICIT
PARTICLE that is introduced as a parent of most complex type content
models. To paraphrase, unless the complexType's content model is a
lone all, group, sequence, or choice, the model is interpreted as if a
compositor has been introduced. In the case of content='mixed', it is
a choice compositor marked minOccurs='0'/maxOccurs='unbounded'.
</emph></p>

<p><emph>...</emph></p>

<p>The above analysis is entirely correct, as far as I can tell. </p>

</input>

<input href="http://www.doctypes.org/spec/schema-review-1.html#p0" author="Murray Altheim">

<p>Murray Altheim, Review of XML Schema Specification, 11 May 2000</p>

<p><b>Primer</b></p>

<p><b>&sect;2.2 <emph>Complex Type Definitions, Element &amp;
Attribute Declarations </emph></b></p>

<p>The third paragraph prior to Table 1 (beginning "The
<code>comment</code> element...") describes default values for
<code>minOccurs</code> and <code>maxOccurs</code>. This seems
counterintuitive.  If I leave off <code>maxOccurs</code> it seems that
a maximum has not been set,  so I'd expect it to be unbounded. The
default is however either equal to  <code>minOccurs</code> or 1, if
<code>minOccurs</code> is absent. </p>

</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-23.</p>

<p>The WG first noted that the discussion of this issue eventually
shifted from a proposal to change the defaulting rules for min- and
maxOccurs to a proposal to change the defaulting rules for the
top-level grouping element, the latter had been dealt with as issue
LC-126.  The former had not yet been dealt with, so we focused on
that. The WG identified four possible ways of dealing with the
defaults for min- and maxOccurs (for elements -- attributes are, it
will be recalled, now handled differently):
</p>

<ulist><item>  the last-call draft of 7 April specifies that the
maxOccurs property is (a) the literal value of the maxOccurs
attribute, if any, else (b) the literal value of the minOccurs
attribute, if any, else (c) 1.  This has led to various confusions in
the examples in the primer (<link>LC-38</link>).  
</item>
<item>the correction proposed by Henry Thompson (and originally
intended by at least some WG members): the maximum-occurrences
property is (a) the literal value of the maxOccurs attribute, if any,
else (b) either the value of minOccurs, or 1, whichever is
greater.</item>
<item>supply a literal default for both min- and max- </item>
<item>define no default for either min- or maxOccurs</item>
</ulist>

<p>It was observed that if literal defaults of 1 and 1 are supplied, a
schema author could create an error by raising the minOccurs value and
neglecting to edit the maxOccurs value.  Some proponents of literal
defaults agreed that this was a drawback to the use of literal
defaults but argued that it was an acceptable cost for the advantage
of eliminating conditional defaults.  Some argued that since defaults
of 1 and 1 are so easy to remember, it would be a rare schema author
who didn't realize that maxOccurs needed to be raised if minOccurs was
raised.</p>

<p>It was clarified that (given defaults of 1 and 1) processors would
be required to flag <code>&lt;element ref='foo'
minOccurs='2'/&gt;</code> as an error; it was observed that processors
might choose to recover from this error by assuming maxOccurs='2' --
this might be reassuring to some, or alarming to others, but it is a
consequence of our error handling policy, which requires all errors to
be reported and does not specify behavior in the presence of errors.
</p>

<p>A straw poll showed support for both the 'corrected status quo'
and literal defaults, with a preponderance of both active support and
toleration for literal defaults.  The chair put the formal question
accordingly</p>

<p><b>RESOLVED</b>: to specify literal defaults for min / max Occurs
in the XML transfer syntax. <b>Dissenting</b>:  Maloney (by
proxy).</p>

<p>The WG then discussed what the defaults should be.  In a straw
poll, there was a preponderance of opinion for 1 and 1 over 0 and
unbounded. <b>RESOLVED</b> without dissent: to make the default for
minOccurs and maxOccurs 1.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0105.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="shippers-and-billers" originator="Ray Gates" locus="primer" clause="2.7" cluster="typos" priority="substantive" status="silent" batch="C">

<title>Shipper/biller vs. Shippee/billee in part 0</title>

<description>

<p>Should the description of the example in Primer 2.7 be changed
to replace <emph>shipper</emph> and <emph>biller</emph> with
<emph>shippee</emph> (or <emph>recipient</emph>) and 
<emph>billee</emph> (or <emph>payer</emph>)?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0052.html" author="Ray Gates"> 

<p>Ray_Gates@manulife.com to XML Schema Comments list, Tue, 18 Apr
2000 16:21:54 -0400</p>

<p>In part 0 (April 7), in section 2.7 Building Content Models, end of
para. three, refers to "a single address for those cases where the
shipper and biller are co-located." </p>

<p>Surely, this should read "shippee and billee". </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0064.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="nonpositive-integer" originator="Gregor Meyer" responsible="Ashok Malhotra" locus="datatypes" priority="substantive" status="resolved" cluster="04 numeric" batch="D">

<title>Drop nonPositiveInteger?</title>


<description>

<p>Should the simple type <emph>nonPositiveInteger</emph> be dropped
as unnecessary?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0054.html" author="Gregor Meyer"> 

<p>petsa@us.ibm.com to XML Schema Comments list, Tue, 18 Apr 2000
10:29:41 -0400 (forwarding note from Gregor Meyer)</p>

<p>A minor comment on the recent XML Schema definitions:
xmlschema-2.html defines a type <emph>nonPositiveInteger</emph>; I
have never seen an application where this type would have been useful.
The type <emph>nonNegativeInteger</emph> is often used, though. Is it
intended to have an almost complete set of basic types defined by the
standard? In my humble opinion there is no need for a standardized
type <emph>nonPositiveInteger</emph>. </p>

</input>

</references>


<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>The nonNegativeInteger type is needed for the Schema for Schemas.
The nonPositiveInteger type is supplied for symmetry.  It is true that
it will be needed only rarely, but implementation seems unlikely to be
a burden, and the WG agreed to retain the type in the interests of
symmetry.</p>

</resolution>
</issue>


<!--*

<issue keyword="schema-compiler" originator="Curt Arnold" locus="both" priority="substantive" status="unassigned">
<title>ANN: XML Schema Compilation Project on SourceForge</title>
<description>

<p>Curt Arnold &lt;Curt.Arnold@hyprotech.com> to XML Schema Comments list and xml-dev, 
Thu, 20 Apr 2000 10:29:47 -0600</p>
<p>
You are invited to join a project to an open-source XSLT-based compiler for XML Schema.
</p>
<p>
The XML Schema "compiler" project intends to provide a reference
implementations (and potentially other) of schema processing to produce:
</p>
<p>
a) analysis of errors in the source schema.
b) a compiled form of the schema that contains the expansion of inclusions,
imports, complexType derivations, etc, in a form that closely related to the
information set necessary for a parser to validate a conforming document.
The compiled form should help reduce the potential for hacking by attacking
resources used in the schema definition.
c) transliteration (as much as possible) of XML schema constraints to other
validation mechanisms such as Schematron or RELAX.
d) generation of documentation for schemas.
e) provide a forum to discuss schema related issues.
f) provide feedback to the W3C XML Schema working group.
g) assist the development of schema-aware (and/or compiled schema-aware)
parsers.
</p>
<p>
The project is hosted at SourceForge at https://sourceforge.net/project/?group_id=4826 (project XSDComp)
</p>
<p>
The mailing list should be active in a few hours and I'll be posting the first files to the CVS system this afternoon.   Please visit the public forums to introduce yourself (in the developer) forum
or to see an overview in the Open Discussion forum.
</p>
<p>
Have a great holiday.
</p>
<p>
p.s. There were some missing attributes (such as a name on attribute) in the HTMLHelp for Schema that I published yesterday.  It was done by a quick XSLT transform that converted the schema for schema
back into the May 99 working draft that my inhouse schema doc tool still uses.  I'll probably redo it in a week or so based on the work here.
</p>
</description>
</issue>

*-->

 
<issue keyword="dt-namespace" originator="Curt Arnold" responsible="Henry Thompson" locus="datatypes" priority="substantive" status="silent" cluster="21 ns" batch="D">

<title>Proper home namespace/resource for built-in datatypes</title>

<description>

<p>What is the proper namespace for built-in datatypes? In particular,
should the built-in datatypes be defined both in the XSD namespace and
in their own namespace?</p>

<p>(Cf. issues <link href="issues.html#QNames">QNames</link> and <link
href="issues.html#reproSubstitution">reproSubstitution</link> in the
development-period issues list.)</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0066.html" author="Curt Arnold">

<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Fri, 21 Apr 2000 10:48:02 -0500</p>

<p>I know that there is some reorganization of the physical structure
of the schema for schemas intended in the near future and this thought
occurred to me while working on the previously mentioned schema
compilation project. </p>

<p>Basically, all documents whether they are schemas or not will need
to have implied definitions of the builtin datatypes in the same
manner as they have an implied definition of <emph>xsi:type</emph> and
 <emph>xsi:null</emph> (especially since a built-in datatype name
could be a value for an <emph>xsi:type</emph> attribute).</p>

<p>Only a minuscule fraction of documents need to have knowledge of
the schema definition elements. </p>

<p>This seems to indicate that the definition of the built-in
datatypes need to be defined in the xsi namespace
(http://www.w3.org/1999/XMLSchema-instance).
</p>

<p>Datatypes used in the schema definition elements that are not
intended as generally available datatypes (typically commented as
utility class not for public use) should be defined in XMLSchema.xsd
and would be in the http://www.w3.org/1999/XMLSchema namespace. </p>

<p>When a processor is trying to resolve a type name that is not
qualified, it would first look within the current schema and if there
was no match, would then attempt to resolve within the schema instance
namespace. </p>

<p>So, I'd suggest something like (freehanded definitions, not validated) </p>

<p>xsi.xsd </p>

<eg>
&lt;schema targetNamespace="http://www.w3.org/1999/XMLSchema-instance"&gt;
    &lt;simpleType name="urSimpleType"/&gt;
    &lt;simpleType name="string"/&gt;
    &lt;simpleType name="integer"/&gt;
    ....
    &lt;attribute name="type" type="QName"/&gt;
    &lt;attribute name="null" type="boolean"/&gt;
&lt;/schema&gt;

</eg>

<p>XMLSchema.xsd </p>

<eg>
&lt;schema targetNamespace='http://www.w3.org/1999/XMLSchema"&gt;
  &lt;import targetNamespace="http://www.w3.org/1999/XMLSchema-instance"
          schemaLocation="xsi.xsd"/&gt;
  &lt;!-- import of xml namespace goes here   --&gt;

  &lt;!--  since this is not in the instance namespace, 
        it will not be used to resolve
        unqualified names in other schemas   --&gt;
  &lt;simpleType name="XPathApprox"/&gt;
  ...
  &lt;attribute name="type" type="QName"/&gt;
  &lt;attribute name="null" type="boolean"/&gt;
&lt;/schema&gt;
</eg>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0067.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
21 Apr 2000 17:12:10 +0100</p>

<p>There is already a namespace and a schema for precisely what you
have in mind, namely
<code>http://www.w3.org/1999/XMLSchema-datatypes</code></p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0068.html" author="Curt Arnold">

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Fri, 21 Apr 2000 11:32:55 -0500</p>

<p>I had seen that, but I wasn't sure what the intentions were. It
seemed like it was defining a parallel namespace. It wasn't clear that
the instance and schema definition namespaces would eventually import
it and part2.xsd would no longer be included. Definitely seems the
right way to go. </p>

</input> 

<input author="Noah Mendelsohn" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0077.html">


<p>Noah_Mendelsohn@lotus.com to XML Schema Comments list, Thu, 27 Apr
2000 00:16:22 -0400</p>

<p>Uh...I'm not sure it's quite that simple. If we are going to
encourage coders of schema instance documents to use: </p>

<eg>
 &lt;el xmlns:dt="http://www.w3.org/1999/XMLSchema-datatypes"  
     xsi:type="dt:integer"/&gt;

</eg>

<p>as opposed to: </p>

<eg>
&lt;el xsi:type="xsd:integer"/&gt;
</eg>

<p>then we have to be very careful about the semantic implications.
Did we finally manage to make these two "integer" types identical in
the sense that they would be the same in the augmented infoset? If
not, then your suggestion leads users into big problems. I do not
typically want my infosets labeled with two subtly different sorts of
integers. </p>

<p>Last I heard in New Orleans, we did not have this level of
identity. If that is the case, then I think
http://www.w3.org/1999/XMLSchema-datatypes is appropriate for use
specifically in languages which will not interact with our schemas. We
have been quite clear that the typical (though not required) idiom in
a schema is: </p>

<eg>
&lt;xsd:element name="el" type="xsd:integer"/&gt;
</eg>

<p>This suggests to me that the intended instance is the 2nd one
above. That said, I have reservations about combining <emph>dt:</emph>
and  <emph>xsi:</emph>; the types can be used in many situations in
which <emph>xsi:</emph>  itself would be inappropriate. </p>

</input> 

<input author="Curt Arnold" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0078.html">


<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Thu, 27 Apr 2000 00:00:13 -0500</p>

<p>I reviewed the schema for datatypes and there are several things
that concern me about it: </p>

<olist>

<item>It introduces a parallel type hierarchy which would result in
unnecessary confusion</item>

<item>It doesn't use qualified names for the base datatype, which
implies a special rule when the name and base values are the same.
Otherwise an unqualified reference should refer an element in the
current namespace and failing that then be resolved whatever namespace
provides the built-in datatypes.</item>

<item>It implies an implicit import of some namespace (to provide the
built-in datatypes). If this implied import is the schema namespace,
you haven't done anything to reduce the namespace since the entirety
of the implicit namespace is still there.</item>

</olist>

<p>My current thinking on this is that: </p>

<ulist>

<item> a) schema-datatypes should be the one and only definition of
the built-in datatypes</item>

<item> b) schema-instance should import datatypes (at least
implicitly) to resolve the QName type of xsi:type and the boolean type
for xsi:null.</item>

<item> c) schema-instance and schema-datatypes are implicitly imported
any any schema processing. If you provide an explicit import for the
instance or datatypes, that resource will be used preferentially.
Otherwise, the processor will provide them from its resources.</item>

<item> d) schema for schema can declare any necessary "utility"
datatypes, however these are not available outside of schema for
schemas without an explicit import and qualified reference.</item>

<item> e) when a schema interpreter is resolving an unqualified simple
type name, it should first look for a matching type in the current
namespace and if not found, then look for a matching type in the
schema-datatypes namespace.</item>

<item> f) the base and name attribute should not be allowed to be the
same unless the name is urDataType.</item>

<item> g) schema analysis and authoring environments should report a
diagnostic message if a locally-scoped name conflicts with a type name
in schema-datatypes. However, parsers should not treat that as an
error and resolve to the locally scoped name first.</item>

</ulist>

<p>I believe this arrangement provides a near optimal partition.
Built-in types can be accessed either through unqualified names or
qualified with the datatypes namespace and generic XML documents do
not need to import the symbol space for schema definition. </p>

<p>If not, however I would strongly recommend dropping or avoiding the
parallel type hierarchy as currently defined in schema-datatypes. </p>

</input>

 
</references>

<resolution>
<p>Discussed in call of 2000-07-13.</p>
<p>The question is on the commentator's proposal that we revisit the
allocation of our constructs to namespaces.  We began consideration of
this question in Austin in April 1999, and decided it most recently in
New Orleans in March of this year. 
</p>
<p>
The status quo is that all built-in simple datatypes are in a
datatypes namespace, and also that all constructs (datatypes and
structures) are in the 'xsd' namespace.
</p>
<p>
The commentator proposes that we remove the overlap, and have two
disjoint namespaces, one for the built-in simple datatypes and one for
everything else.
</p>
<p>
The WG discussed the issue.
</p>
<p>
<b>RESOLVED</b> unanimously: to dispose of issue LC-55 with a polite no,
explaining that a separate namespace for datatypes does exist, that
the relationship between the xsd and datatypes namespaces is clearly
defined by the type derivation mechanism, and that the primer does say
to prefer the xsd form over the other in schemas.  Making the 
namespaces disjoint would only make it harder to exploit the
default-namespace mechanism when defining schemas.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0159.html">Formal response</link>.</p>
</resolution>

</issue>


<!--*

<issue keyword="content-model-question" originator="Rick JELLIFFE" locus="both" priority="substantive" status="unassigned">
<title>Content-model question</title>
<description>

<p>Rick JELLIFFE &lt;ricko@geotempo.com> to XML Schema Comments list, 
Sat, 22 Apr 2000 01:00:56 +0800</p>

<p>
On the issue of XML Schemas being compiled into Schematron, I am
interested in knowing if anyone can come up with content models that
could not be validated by a Schematron schema automatically generated
from an XML Schema so that, for every unique particle in an element
complex type:</p>
<olist>
<item>an assertion statement is created for all the allowed successors of
that particle within that parent</item>
<item>an assertion statement is created for all the allowed predecessors
of that particle within that parent</item>
<item>an assertion statement is created giving the effective minOccurs of
that element within the whole type</item>
<item>an assertion statement is created giving the effective maxOccurs of
that element within the whole type.</item>
</olist>

<p>
These simply derivable rules seem to validate most of the constraints in
most content models. But I can see a family of cases where these don't
capture everything: that is the case of particles repeated in different
contexts.  For example, a content model like
</p>
<eg>
	( a{3-4}, b, a{5-6} ) 
</eg>
<p>would by the above translation rules have the assertions
</p>
<eg>
 &lt;rule context="x/a">
  &lt;assert 
   test="following-sibling::b or following-sibling::a or
position()=count(parent::*/*)"
  >Allowed successors...&lt;/assert>
  &lt;assert 
   test="previous-sibling::b or previous-sibling::a or position()=1"
  >Allowed predecessors...&lt;/assert>
 &lt;/rule>
  &lt;rule context="x/b">
  &lt;assert 
   test="following-sibling::a"
  >Allowed successors...&lt;/assert>
  &lt;assert 
   test="previous-sibling::a"
  >Allowed predecessors...&lt;/assert>
 &lt;/rule>
  &lt;rule context="x">
   &lt;assert test="count(a) &gt; 7 and count(a) &lt; 11"
   >(max and min on a)&lt;/assert>
   &lt;assert text="count(b) =1 "
   >(max and min on b)&lt;/assert></eg>
<p>
but that corresponds to a slightly weaker content model:
</p>
<eg>
   ( a,  (( b, a{7-10}) 
     ( a,  (( b, a{6-9}) 
      | ( a,  (( b, a{5-8}) 
       | ( a,  (( b, a{4-7}) 
        |( a,  (( b, a{3-6}) 
          |( a,  (( b, a{2-5}) 
            |( a,   b, a{1-4}) 
      ))))))))))))
</eg>
<p>
i.e. 
</p>
<eg>
	( a{1-7}, b, a{1-9} ) where a>7 and a&lt;11
</eg>
<p>
If we can find any convenient way to represent these kind of grouping
constraints (and other similar ones) then it is possible that the
approach based on assertions on two-step path models is more powerful
that grammars (for modeling constraints, which is only one of the things
that a schema language can be for: a schema language can also allow
naming of structures present according to some analytical paradigm such
as "type" or "pattern"). (Of course, if allowed an infinite number of
subcontexts within an assert, that would give us a better purchase (in
the mountaineering sense) but I am trying to resist that if possible.
</p>
<p>
If anyone has any ideas or inspiration on this (especially formal
approaches) then please feel free to email me or to continue this
discussion on Curt's mail list  XSDComp (where is seems to fit in).
</p>

</description>
</issue>

*-->

 
<issue batch="D" cluster="19 modules" status="ok" priority="substantive" locus="structures" responsible="Mark Reinhold*" originator="Curt Arnold" keyword="schemaPrefix">

<title>Add <emph>schemaPrefix</emph>, <emph>targetPrefix</emph> attributes?</title>

<description>

<p>Should <emph>schemaPrefix</emph> and <emph>targetPrefix</emph>
attributes be added to the <emph>import</emph> and <emph>schema</emph>
elements, in order to work around the problems caused by the
inaccessibility of namespace-declaration information in XSLT  and
similar systems?
</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0070.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Fri, 21 Apr 2000 12:12:23 -0500</p>

<p>Namespace prefix definitions (<code>xmlns:prefix="uri"</code>
attributes) are not accessible from XSLT (and probably from anything
else that tries to hide the details of namespacing from you) which
means that it is not possible to resolve qualifed name references to
types, for example, in those environments. I'd suggest adding an
explicit schemaPrefix attribute to the import and targetPrefix
attribute to the schema element. At least, this information could be
used as decoration in the documentation. I am able to work around this
using equivalent attributes from another namespace, but it seems like
a general problem. </p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-06-30.</p>
<p>The suggestion has been withdrawn; the issue should be closed.
</p>
</resolution>
</issue>


<issue batch="D" cluster="19 impl-modules" status="resolved" priority="substantive" locus="structures" responsible="Matt Fuchs" originator="Curt Arnold" keyword="include-maxdepth">

<title>Add maximum depth for includes?</title>

<description>
<p>Should implementations be allowed to have a maximum depth for
includes?  Should the spec define a minimum value for that  maximum
depth?</p>
</description> 
 
<references>

<interaction issue="cotton-on-decimal"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0070.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Fri, 21 Apr 2000 12:12:23 -0500</p>


<p>Of course, any implementation has to have some limit on the depth
of nested includes. </p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-06-30.</p>
<p>It might be a theoretical problem (if
there is no limit, then for any processor it might be possible to
build a valid schema document which the processor could not process --
i.e. it might become impossible to build a conforming processor, if
conforming processors accept all and only valid schema documents), or
it might be a practical problem.  In fact, it seems very unlikely to
be a practical problem in XML Schema, any more than it is in XML.
</p>
<p>
Olken suggested that we require schema processors to support at least
32 or more nested includes.  Thompson observed that we don't limit the
maximum depth of content models, or require support for any minimum
level of nesting.  There are all sorts of potential implementation
limits we don't mention; the issue is spurious.
</p>
<p>
Peterson and Olken argued that file descriptor limits are rather
different, in practice, from stack space, and might need special
treatment on that ground.  Sperberg-McQueen (who had begun by
supporting Olken's proposal) observed with an air of surprise that,
owing to the declarative nature of XML Schemas, the sequence of
declarations has no significance, and it is not necessary to nest
includes: they can be queued, and a processor could in theory make do
with a single file descriptor for reading schema documents.
</p>
<p>
<b>RESOLVED</b> without dissent: to dispose of this issue with thanks
but no change, on the grounds that it is not a serious implementation
problem.
</p>
</resolution>

</issue>


<issue batch="D" cluster="58 impl-modules" status="resolved" priority="substantive" clause="6.3.2" locus="structures" responsible="Matt Fuchs" originator="Curt Arnold" keyword="import-conflicts">

<title>How to deal with nested imports?</title>

<description>
<p>How should software react to conflicts between imports, when
different schema components import the same namespace from different
resources?</p>
</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0070.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Fri, 21 Apr 2000 12:12:23 -0500</p>

<p>A complicated issue is nested imports. It should be moderately
common for multiple imports to in turn import some common namespace
but possibly from different resources. Trying to resolve the potential
conflicts seemed untenable. </p>

<p>How I've currently addressed it in my preprocessor is that only
imports that in the schema being compiled add information to the
validation package. If an import appears in an include or import and
its namespace didn't have an import in the schema being compiled, an
informative message is issued (but which might result in some
unsatisfied references). </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0159.html" author="Curt Arnold &lt;carnold@houston.rr.com>">


<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list (and xml-dev) on Thu, 11 May 2000 01:19:19 -0500
</p>

<p><b>Section 6.3.2: Point 4</b></p>

<p>
There would also be the need for some sort of statement when
inconsistent schemaLocations appear for the same namespace.  I would
assume that the first would take precedence.
</p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0190.html" author="Jim Trezzo &lt;jtrezzo@us.oracle.com>">

<p>Jim Trezzo &lt;jtrezzo@us.oracle.com&gt; to XML Schema Comments
list on Fri, 12 May 2000 16:03:28 -0700
</p>


<p><b>3. SchemaLocation problems</b></p>

<p>
 The XMLSchema spec seems to allow one to create XML schemas which can
contain references to element declarations and type definitions from
other namespaces, without having to provide the schemas that contains
those definitions. In effect, each instance document can then suggest
the location of the other schemas, or the schema processor must have
some other way of finding them.
</p>

<p>
 This presents a problem when we are trying to validate multiple
documents against a schema (or create a repository for documents
conforming to a schema), since each document might suggest changing
the type structure for the elements in this schema.
</p>

<p>
 The upshot of this is that implementations are <emph>required</emph>
to provide a way of locating schemas outside of the &lt;import&gt;
system if they want to avoid using the &lt;schemaLocation&gt; in the
instance documents (which is horrible).
</p>

<p>
 We would like to <emph>require</emph> specification of the
schemaLocation attribute in an &lt;import&gt; element in the schema,
so that we don't have to provide an alternative schema location
mechanism for schemas that come to us without &lt;import
schemaLocation=&gt;. The spec should still allow the &lt;import&gt; to
be ignored like &lt;schemaLocation&gt;, for systems that will find
schemas  by other means.
</p>


</input>

<input href="http://www.doctypes.org/spec/schema-review-1.html#p1" author="Murray Altheim">

<p>Murray Altheim, Review of XML Schema Specification, 11 May 2000</p>

<p><b>Part 1 : Structures</b></p>

<p><b>&sect;6.3.2 <emph>How schema definitions are located on the
Web</emph></b></p>

<p>Under <emph>Schema Representation Constraint: Schema Document
Location Strategy</emph>, I'm simply amazed at the lack of constraint
here. From  my reading of this section, almost anything goes, and I
don't understand how a  conformance definition could include this
normatively. </p>

</input>

</references>

<resolution>
<p>Discussed in calls of 2000-06-30 and 2000-07-06.</p>
<p>MSM suggested that conflicts among
multiple imports are not a problem, because the schemaLoc information
is only a hint; even if we did specify a rule for resolving conflicts,
the processor could ignore all the hints -- it's not clear it would be
possible to tell whether any processor implemented the
conflict-resolution rule.  The issue might be reclassified A, except
that that might appear patronizing.
</p>
<p>
<b>RESOLVED</b> unanimously: to dispose of this issue by responding
that the spec already tells you what to do: the schemaLoc values are
hints.  If you come across multiple imports for the same namespace,
you are free to ignore the hints; if you process a document for a
namespace, and discover it has a conflicting definition for something
you already have a definition for, it's an error.  [Unless you back
out everything you've done with the second file and pretend you never
opened it.]
</p>
<p>
The relevant sections of the spec should be mentioned in the response
(since it might be just a question of the commentator not having found
them).  They are 6.2, and the section that forbids conflicts among
declarations for the same item.
</p>

<p>
This issue also contains a separate point, namely Oracle's
proposal to require a schemaLoc hint on the import element.
</p>
<p>
The NS name might suffice, some said, but isn't guaranteed to produce
a schema.  Requiring a schema location hint places no particular
burden on the processor or author, processor can always ignore it.
</p>

<p>
At least two grounds for objection were identified:
(1) schemaLoc on the
import statement is now, and should be, parallel in usage to schemaLoc
on elements in the document instance, and (2)
requiring schemaLoc would suggest that in principle the
namespace name cannot be expected to serve as a URI for the schema; in
the view of some WG members (at least), the normal case should be to
use the namespace name to retrieve the schema, and schemaLoc should be
reserved for unusual (if not for pathological) cases.
</p>

<p>
RESOLVED unanimously: make this a priority feedback issue.
</p>

</resolution>

</issue>


<issue keyword="list-sep" originator="Dario de Judicibus" responsible="Mary Holstege" locus="datatypes" priority="substantive" status="silent" cluster="03 constructors" batch="D">

<title>Allow user-defined list separators?</title>

<description>

<p>Should the list type constructor be modified to allow the schema
author to specify an arbitrary character (or string, or regular
expression) for the item separator?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0071.html" author="Dario de Judicibus"> 

<p>"Dario de Judicibus" &lt;ddj@mclink.it&gt; to XML Schema Comments
list, Tue, 25 Apr 2000 23:12:02 +0200</p>


<p>The proposals first. The first one is related to lists of strings
(simple types). Standards state that no list of string can be defined
if some string contain spaces, because list are space separators. In
my personal opinion this is a weakness of the standard, especially if
you consider that we are speaking of Unicode strings, where the
concept (and code point) of space may differ from language to
language. What about adding a new facet for simple types which allow
to specify the list separator? Default would be blank space 0x20. So
we might have </p>

<eg>
&lt;xsd:simpleType name="ThreeCountries" base="Country" derivedBy="xsd:list"&gt;
  &lt;xsd:length value="3" /&gt;
  &lt;xsd:separator value=";" /&gt;
&lt;/xsd:simpleType&gt;

&lt;xsd:element name="threeCountries" type="ThreeCountries" /&gt;

&lt;threeCountries&gt;United States of America;Italia;San Marino&lt;/threeCountries&gt;
</eg> 

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0075.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Wed, 26 Apr 2000 07:56:59 -0500</p>

<p>I am a long time observer of the W3C XML Schema spec and not a
member of the W3C or the working group, so what I'm going to say is
not official W3C, but things covered in previous posts. </p>

<p>List separators: The working group explicit decided to allow only
the space separated lists at this time. Even getting that took a whole
lot of work. Some other W3C work (scalable vector graphics) for
instance does use other delimiters and if this is going to be changed
it will be done to accomodate the uses in other W3C efforts. </p>

</input>

</references>


<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>While we know this can useful, it is a slippery slope; lists are
included only for legacy purposes in the first place.  Microstructure
such as this requires the presence of a schema to parse, and in
general we wish to limit amount of secondary notations processors need
to parse.</p>

<p>So, thank you but we don't believe this would be a wise
change.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0180.html">Formal response</link> sent 11 July.  Commentator has
not replied.</p>

</resolution></issue>



<issue keyword="any-att" originator="Dario de Judicibus" locus="structures" priority="substantive" status="unassigned" cluster="10 openness" batch="A" responsible="Roger Costello*">

<title>Change meaning of <emph>anyAttribute</emph>?</title>

<description>

<p>Should the <emph>anyAttribute</emph> particle be changed to  mean
not "any attribute from a particular namespace" but instead "any
attribute from a particular attribute group in a particular
namespace"? [Unsure of specific change intended. -MSM]</p>

</description> 


<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0071.html" author="Dario de Judicibus"> 

<p>"Dario de Judicibus" &lt;ddj@mclink.it&gt; to XML Schema Comments
list, Tue, 25 Apr 2000 23:12:02 +0200</p>


<p>The comments now. The first is related to &lt;anyAttribute&gt;.
Differently from &lt;any&gt;, it does not look useful to allow any
attribute of a specific schema to be used in a specific element of
another schema. It makes more sense to allow any attribute belonging
to an attribute group of a specific schema to be used in another
element. For example </p>

<eg>
&lt;xsd:element name="image"&gt;
  &lt;xsd:complexType&gt;
    &lt;anyAttribute namespace="http://www.w3.org/xhtml"
        group="attributesForImg" /&gt;
  &lt;/xsd:complexType&gt;
&lt;/xsd:element&gt;
</eg>

</input>

</references>


</issue>



<issue keyword="simple-records" originator="Dario de Judicibus" responsible="Frank Olken" locus="datatypes" priority="substantive" status="silent" cluster="03 constructors" batch="D">

<title>Allow record-style simple types?</title>

<description>

<p>Should the datatypes spec be modified to allow the construction of
types with simple internal structure (e.g. to allow both quantity and
units of measure to be captured in the same simple type)?</p>

<!--* I could have sworn we had a measurement-units issue in the

    * old list, but I can't find it. -MSM
    *-->

</description> 

 
<references>

<interaction issue="microparsing"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0071.html" author="Dario de Judicibus"> 

<p>"Dario de Judicibus" &lt;ddj@mclink.it&gt; to XML Schema Comments
list, Tue, 25 Apr 2000 23:12:02 +0200</p>

<p>Final comment: there is no way to combine types. For example, if I
have</p>

<eg>
&lt;xsd:simpleType name="units"&gt;
  &lt;enumeration value="cm" /&gt;
  &lt;enumeration value="in" /&gt;
&lt;/xsd:simpleType&gt;
</eg>

<p>I have no way to define </p>

<eg>&lt;height&gt;12.4cm&lt;/height&gt;</eg>

<p>by combining xsd:decimal and units. That might be very useful. We
might use a variant of pattern for that: </p>

<eg>
&lt;xsd:complexType name="heightWithUnits"&gt;
  &lt;xsd:pattern&gt;
    &lt;xsd:part type="xsd:decimal" /&gt;
    &lt;xsd:part value="\p{Zs}*" /&gt;
    &lt;xsd:part type="units" /&gt;
  &lt;/xsd:pattern&gt;
&lt;/xsd:complexType&gt; 
</eg> 

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0075.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Wed, 26 Apr 2000 07:56:59 -0500</p>

<p>The schema group stated that aggregate types were outside the scope
of the initial version. Derivation by list was a hard fought exception
to that principle. </p>

<p>If you are interested in discussions of dimensional units in XML, I
can send you URL's to quite a few discussions. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0197.html" author="Martin Bryan &lt;mtbryan@sgml.u-net.com>">


<p>"Martin Bryan" &lt;mtbryan@sgml.u-net.com&gt; to XML Schema
Comments list on Sun, 14 May 2000 08:01:08 +0100
</p>


<p>
The one area I still expect we are going to have problems in using
datatype for electronic commerce is measurements. For example, how can
I check that 100cm and 1m are exactly equivalent, but 1yd is not. But
again I do not expect you to have addressed these problems at this
state. (Schema2 will be along within a few years!)
</p>


</input>

</references>


<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>We think it would be unwise to introduce secondary notations for
representing structures which can be represented satisfactorily using
XML.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0233.html">Formal response</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0238.html">Another commentator</link> is prepared to
wait until version 2.0.</p>

</resolution></issue>


<issue batch="D" cluster="25 facets" status="resolved" priority="substantive" locus="datatypes" responsible="Mary Holstege, Ashok Malhotra" originator="Ray Waldin" keyword="multi-facet">

<title>Doubly specified facets</title>

<description>

<p>How should schema processors treat derivations of simple types
which re-specify facets?  In particular, should or must they signal an
error if the re-specified facets are less restrictive than the
original values, not more?  Can period and duration be usefully
respecified at all?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0072.html" author="Ray Waldin"> 

<p>Ray Waldin &lt;rwaldin@pacbell.net&gt; to XML Schema Comments list,
Wed, 26 Apr 2000 03:45:10 -0700 (as corrected <link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0073.html">26
Apr 2000 03:51:53 -0700</link>).</p>

<p>I have some questions and a comment concerning SimpleTypes derived
"by restriction". To illustrate: </p>

<eg>
&lt;simpleType name="firstType" base="decimal"&gt;
  &lt;minInclusive value="1"/&gt;
  &lt;maxInclusive value="10"/&gt;
&lt;/simpleType&gt;

&lt;simpleType name="secondType" base="firstType"&gt;
  &lt;minInclusive value="2"/&gt;
  &lt;maxInclusive value="5"/&gt;
&lt;/simpleType&gt;

</eg>

<p>This seems perfectly acceptible as secondType is derived from
firstType "by restricting its value space", by specifying "more
restrictive" values for some facets. Here's a case that's not so
obvious, using "less restrictive" values:
</p>

<eg>
&lt;simpleType name="thirdType" base="firstType"&gt;
  &lt;minInclusive value="0"/&gt;
  &lt;maxInclusive value="11"/&gt;
&lt;/simpleType&gt;

</eg>

<p>My questions: </p>

<p>Is this disallowed or just pointless? In other words, should a
schema processor regard this type derivation as an error, or simply
produce a thirdType which is no more restrictive than firstType? </p>

<p>What does "more restrictive" mean for the period and duration
facets? Can period and duration be re-specified in any meaningful way
or is re-specifying either of these values disallowed? </p>

<p>If a derived type re-specifies the pattern facet (as in the case of
NCName and Name), are schema processors expected to: A) ensure that a
derived type specifies a "more restrictive" pattern than its base
type, or B) check all patterns in a type's derivation hierarchy when
validating an instance of that type? </p>

<p>My comment: </p>

<p>The datatypes spec should elaborate on the expected behavior of
schema processors when encountering derived types which re-specify
values for each facet. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0074.html" author="Curt Arnold">

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Wed, 26 Apr 2000 07:33:29 -0500</p>

<p>My personal preference would be that "looser" facets would be
tolerated, though an ideal schema profiler might tell that you are
wasting cycles or optimize the evaluation. I don't think that
suboptimality is a good reason to reject a document and the complexity
involved in determining the active constraint set is not justified in
my opinion. While figuring out the looser constraint is fairly obvious
for min/max, what if were trying to better if one pattern is looser
than another (and both could be active). </p>

<p>As a pattern, I know of no programming language that would fail to
compile a conditional like: </p>

<eg>
if(a &gt; 1 &amp;&amp; a &gt; 2 &amp;&amp; a &lt; 5 &amp;&amp; a &lt;10) {}
</eg>

<p>It would be a conceptual error for the duration facet to be
specified with two distinct values in a type hierarchy. You shouldn't
be able to derive from day and stretch the day to 25 hours. The
resulting type (25 hour periods starting at a particular midnight)
doesn't fit into the value space of 24 hour periods starting at
midnight. I could see making a duplicate specification of duration in
a hierarchy an error, I would not try to determine if the values of
the duration were identical (say if one had said P1D and another
PT3600s) </p>

<p>Multiple period facets can make sense in a hierarchy make sense.
You could create a derived type from time with a period of 48 hours
that represented a particular time of day every other day. I can't see
anything a schema validation can do with the period facet. It seems
like a piece of information only the application uses (if it wants) to
determine the meaning of the type.
</p>

</input>

</references>

<proposal author="WG"><p>Discussed at Edinburgh ftf.  RESOLVED to
require processors to detect restrictions which specify a broader
range than the base, and report them as errors.</p><p>Open questions:
how to zero out the value set, whether vacuous restrictions should be
errors or not.</p></proposal>

<resolution>
<p>Discussed in call of 2000-07-21.</p>
<p>In Edinburgh we agreed that it was an error to re-specify a facet if
the re-specification did not restrict the value space (or at least
leave it unchanged).  (Not clear whether this applies to regexes in
the pattern facet or not.)
</p>
<p>
AM recollects that this does not apply to regex patterns, on account of
technical cost.  Allowed to issue warning.
</p>
<p>
<b>RESOLVED</b>: make failure to check  this constraint on 'pattern' a
priority feedback issue.
</p>
<p>
We left open questions relating to
  how to zero out value set, 
  vacuous restrictions. 
</p>
<p>
The minutes read in part:
</p>
<p><emph>Diagram of the state of play:</emph></p>
<eg>
    1-10 ==> 1-10 postponed
    1-10 ==> 0-10 error, decided
    1-10 ==> 11-12 postponed
</eg>

<p><b>RESOLVED</b> unanimously to make Vacuous restriction legal.</p>

<p><b>RESOLVED</b>:  to make zeroing out the value space illegal.
<b>Dissent</b>: Sperberg-McQueen (rationale: the empty set is an important
tool in reasoning about sets; forbidding it because we think it
won't 'normally' be a good idea is not good language design)
Abstentions: none.
</p>
</resolution>


</issue>


<issue keyword="cm-recursion" originator="Richard Tobin" locus="structures" priority="substantive" status="silent" cluster="12 content-models" batch="C">

<title>Forbid recursion in content models?</title>

<description>

<p>Should the structures spec be modified to forbid recursion in names
content models?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0076.html" author="Richard Tobin"> 

<p>Richard Tobin &lt;richard@cogsci.ed.ac.uk&gt; to XML Schema
Comments list, Wed, 26 Apr 2000 15:12:10 +0100</p>

<p>The use of named model groups allows content models that are not
regular expressions. For example: </p>

<eg>
  &lt;s:group name="recur"&gt;
    &lt;s:sequence&gt;
      &lt;s:element name="open"/&gt;
      &lt;s:group ref="recur" minOccurs="0" maxOccurs="unbounded"/&gt;
      &lt;s:element name="close"/&gt;
    &lt;/s:sequence&gt;
  &lt;/s:group&gt;

</eg>

<p>Useful though this would be, it is probably not intended. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0074.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="entities" originator="Dario De Judicibus" locus="structures" priority="substantive" status="silent" cluster="entities" batch="A" responsible="Priscilla Walmsley">

<title>Entities</title>

<description>

<p>What happened to general entities? Should XML Schema be modified to
make it possible to declare general entities?</p>

</description> 

 
<references>

<interaction issue="character-entities"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0080.html" author="Dario de Judicibus"> 

<p>dejudicibus@it.ibm.com to XML Schema Comments list, Thu, 27 Apr
2000 12:41:19 +0200</p>

<p>Maybe this is trivial for those of you joined this group long time
ago, but I cannot find info about: </p>

<p>in one of the old draft of XML Schema, it was possible to define
entities too. For example </p>

<eg>
&lt;textEntity name='rights'&gt;All rights reserved.&lt;/textEntity&gt;
</eg>

<p>Why that is no more possible? And what can I use to define
entities, now?
</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0351">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="optional-minmax" originator="James Tauber" locus="structures" clause="3.2" priority="substantive" status="silent" cluster="14 attldecl" batch="C">

<title>Why are {min occurs}/{max occurs} optional in Attribute Declaration?</title>


<description>

<p>Is there an error in the description of the Attribute Declaration
component?  Why are the properties {min occurs} and {max occurs}
optional?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0081.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 02:42:09 -0400</p>

<p>Why are {min occurs} and {max occurs} optional in Attribute
Declaration?</p>

<p>The meaning of "absent" for these properties doesn't seem to be
defined in 3.2 and I can't think of what it would be. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0082.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
28 Apr 2000 08:54:07 +0100</p>

<p>Because they don't make sense on top-level declarations. It's
entirely parallel to element declarations, just less obvious because
we make Particle explicit between content model and element
declaration, but leave what  my parser calls AttributeUse implicit
between type def and attr decl. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0083.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 03:55:45 -0400</p>

<p><emph>Because they don't make sense on top-level declarations.</emph></p>

<p>So, could a sentence be added to this effect? </p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0077.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="urtype-unnamed" originator="James Tauber" responsible="Henry Thompson" locus="structures" clause="3.4" priority="substantive" status="silent" cluster="urtype" batch="A">

<title>{name} of the Ur-Type</title>


<description>

<p>Is there an error in the description of the Ur-Type?  Why is its
{name} property shown as "Not specified?"  Does that mean
"absent"?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0085.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 04:16:55 -0400</p>

<p>Why is the {name} of the Ur-Type (as a Complex Type) in 3.4 shown
as "Not specified"? How is this different from "absent"? </p>

<p>I assume that anonymous complex types in general have "absent" as
their {name} or is this not true? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0087.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
28 Apr 2000 09:22:11 +0100</p>

<p><emph>Why is the {name} of the Ur-Type (as a Complex Type) in 3.4
shown as "Not specified"? How is this different from "absent"?
</emph></p>

<p>No particular reason - should probably be 'absent'. </p>

<p><emph>I assume that anonymous complex types in general have
"absent" as their {name} or is this not true?</emph></p>

<p>Correct.</p>

</input></references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0118.html">Formal response to commentator</link> observes that
the question is now moot, since the urType now has an explicit name
(see issue <link href="#name-urtype">LC-74</link>.</p>
</resolution>
</issue>


<issue keyword="absence-null" originator="James Tauber" locus="structures" clause="3.4" priority="substantive" status="silent" cluster="sfs" batch="C">

<title>Why does <emph>absent</emph> point to definition for
<emph>null</emph> in glossary?</title>

<description>

<p>Is there an error in the links from the term "absent"? Why does it
link to the glossary entry for "null"?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0086.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 04:18:37 -0400</p>

<p>Why does "absent" in the "Complex Type Definition of the Ur-Type"
tableau (and possibly elsewhere) point to the definition for "null" in
the glossary?
</p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0089.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
28 Apr 2000 10:33:33 +0100</p>

<p>That's a bug, arising from a late decision to change from 'null' to
'absent'. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0077.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="simple-urtype" originator="James Tauber" locus="structures" clause="3.4/3.13" priority="substantive" status="silent" cluster="urtype" batch="C">

<title>Should there be a Simple Type Definition of the Ur-Type?</title>

<description>

<p>Should there be a <emph>simpleType</emph> definition of the urtype?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0088.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 04:20:18 -0400</p>

<p>I thought there used to be a Simple Type Definition of the Ur-Type?
Should there be one in 3.13 parallel to the one for Complex Types in
3.4? Or am I missing something? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0090.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
28 Apr 2000 10:36:39 +0100</p>

<p>This is a tricky issue. The ur-type is neither simple nor complex.
What's given in 3.4 is what it looks like as the base of a complex
type definition. There's no way to show what it looks like as the base
of a simple type definition, or rather, that would simply be a simple
type definition with no values for any of the properties, which would
not be terribly helpful. </p>

<p>I agree the prose explaining all this is less than satisfactory. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0091.html" author="James Tauber">

<p>I get it totally now that you have explained to me, which seems to
suggest that an additional sentence or two in the prose could do a
great deal. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0077.html">Formal response to commentator</link>.</p>
</resolution>

</issue>




<issue keyword="any-att-process" originator="James Tauber" locus="structures" clause="4.3.3" priority="substantive" status="silent" batch="C" cluster="14 attldecl">

<title>Should "anyAttribute" have a "processContents"
attribute?</title>


<description>

<p>Should the DTD and schema for schemas define a
<emph>processContents</emph> attribute for the
<emph>anyAttribute</emph> element?

</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0092.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 07:28:18 -0400</p>

<p>In the XML Representation Summary for <emph>anyAttribute</emph>  in
4.3.3, <emph>anyAttribute</emph> is not shown as taking a
<emph>processContents</emph> attribute.  The schema for schemas and
the DTD for schemas does not allow it, either. </p>

<p>However, 1.1 of the <emph>{attribute wildcard}</emph>  property
correspondence mentions it. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0094.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
28 Apr 2000 14:29:32 +0100</p>

<p>It should allow it, you're right. </p>

</input>

</references>


<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0077.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="local-alone" originator="James Tauber" locus="structures" clause="4.3.7" priority="substantive" status="silent" cluster="10 openness" batch="C">

<title>Can <code>##local</code> stand alone in namespace attribute or
must it be in a list?</title>


<description>

<p>Should the representation summary for the <emph>any</emph> element
be changed to clarify the usage of <code>##local</code>?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0093.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 09:16:47 -0400</p>

<p>In 4.3.7, in the representation summary for the "any" element
information item, it indicates that the attribute "namespace" takes
either: </p>

<ulist><item><code>##any</code></item>
<item><code>##other</code></item>
<item><code>##local</code></item>
<item>list of {uri, <code>##targetNamespace</code>}</item>
</ulist>

<p>However, in the "otherwise" section of the correspondences to the
Wildcard Schema Component, it refers to <code>##local</code>  as being
a substring in the list (and this is in fact the only mention of
<code>##local</code>) </p>

<p>Should the representation summary really read: </p>

<eg>namespace = ##any
              | ##other
              | list of {uri, ##targetNamespace, ##other}
</eg>

<p>? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0095.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
28 Apr 2000 14:33:10 +0100</p>

<p>Your analysis is correct. But I think you typoed above -- the
corrected summary should read </p>

<eg>
namespace = ##any 
          | ##other
          | list of {uri, ##targetNamespace, ##local}
</eg> 
</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0077.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="value-constraint" originator="James Tauber" locus="structures" clause="3.2/4.3.1" priority="substantive" status="silent" cluster="14 attldecl" batch="C">

<title>{value constraint} in top-level attribute declarations</title>

<description>

<p>Should the meaning of the value-constraint property for attributes
be clarified?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0097.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 15:52:55 -0400</p>

<p>In 3.2, the {value constraint} property of Attribute Declaration
components seems to allow a (value, absent) pair. This is supported by
the property correspondences for "attribute" element information items
(4.3.1) directly under "schema" where {value constraint}'s
representation is: </p>

<p>If there is a value attribute, then a pair consisting of the
lexical value of that attribute and absent, otherwise absent </p>

<p>What is the meaning of a {value constraint} that is a (value,
absent) pair?</p>

<p>In this particular case, it seems the value of the "use" attribute
is ignored, but doesn't it default to "optional"? </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0077.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="target-ns" originator="James Tauber" locus="structures" clause="4.3.1" priority="substantive" status="silent" cluster="14 attldecl" batch="C">

<title>Representation of {target namespace} in second case has parent
instead of ancestor</title>


<description>

<p>Should the word <emph>parent</emph> be changed to
<emph>ancestor</emph> in the representation of the {target namespace}
property for attribute declaration components (case 2)?</p>

</description> 


<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0098.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 16:10:56 -0400</p>

<p>In the second case in 4.3.1, a representation is given for when the
attribute element information item is <emph>not</emph> a direct child
of schema (that's the first case). However, in the representation of
{target namespace} it refers to the targetNamespace attribute of the
<emph>parent</emph> schema element. </p>

<p>Should this say "ancestor"? </p>

</input>

</references>


<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0077.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue batch="D" cluster="21 publication" status="ok" priority="substantive" locus="structures" responsible="Dan Connolly*, Henry Thompson" originator="Henry Thompson" keyword="namespace-versioning">

<title>XML Schema Namespace versioning</title>


<description>

<p>Should the URI reference used for the XML Schema namespace change
with each revision of the spec? Or not? Does the status of the spec
(draft, CR, PR, Rec) matter?</p>

</description> 

 
<references>

<interaction issue="namespace-date"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0099.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
28 Apr 2000 23:04:12 +0100</p>

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; writes: </p>

<p><emph>I used to both schema and DTD validate, but I didn't realize
these things had moved. I'll try using these URLs and see if it still
works. However, this policy of locating the schema and DTD at the
namespace is pretty confusing. I appreciate you don't want to change
the namespace every time you issue a new draft and I hope you would
try every time you made a substantive change, because now the result
is that even if I write my XML instance that (today) validates under
[1,2] next time you put out a new draft it won't! Before, not updating
your namespace violated a philosphical point (but the actual dtd and
schema were in a more specific (month) date space). Now you are
violating a more practical point, if I have an example that works now
based on something in date space it won't in the future. (I think,
right?) </emph></p>

<p><emph>[1] http://www.w3.org/1999/XMLSchema.dtd</emph></p>

<p><emph>[2] http://www.w3.org/1999/XMLSchema.xsd</emph>

</p>

<p>Well, it's a difficult point. I'd say we don't <emph>have</emph> a
namespace yet, we're just working towards having one, and using the
same name so people will get used to it as the XML Schema namespace.
</p>

<p>I appreciate your point about things going stale -- if we ever make
a backwards incompatible change, we'll put the old schema and dtd
somewhere in date space and you can use them for your stale documents.
</p>

<p>We're in new territory here (never before has there been a
definitive and operational anything <emph>at</emph> a namespace URI
before), Dan and I have been making policy by the seat of our pants,
by all means lets keep discussing this, but move the archiving to the
public comments list (see addresses above).
</p>

</input> 

<input author="Dan Connolly" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0100.html">


<p>Dan Connolly &lt;connolly@w3.org&gt; to XML Schema Comments list,
Fri, 28 Apr 2000 17:48:22 -0500</p>

<p>"Henry S. Thompson" wrote: </p>

<p><emph>Well, it's a difficult point. I'd say we don't
<emph>have</emph> a namespace yet, we're just working towards having
one, and using the same name so people will get used to it as the XML
Schema namespace.</emph>
</p>

<p>Really? That seems like an odd way of looking at things, to me.
It's quite clear to me that we have a namespace; the definition is
what you get back from http://www.w3.org/1999/XMLSchema. </p>

<p>And if we change the definition, it's sort of antisocial to re-use
the old address, as Joseph has observed. Though this is
work-in-progress stuff, and we don't really plan to support drafts
once they've been superceded, we might as well avoid the sort of
problems Reagle is having when it's easy to do. </p>

<p><emph>I appreciate your point about things going stale -- if we
ever make a backwards incompatible change, we'll put the old schema
and dtd somewhere in date space and you can use them for your stale
documents.</emph>
</p>

<p>Again, that seems backwards; if we make backwards-incompatible
changes, the thing to do is to leave the old one alone and use a new
identifier for the new definition. It's not really fair to expect
folks to change pointers in old documents. </p>

<p>If we decide to break their old documents, i.e. to not support
them, that's one thing. But the way to support them, if we're going to
go to any trouble at all, is to just leave the old definition in place
if we make a new, incompatible one. </p>

</input>

<input author="Joseph M. Reagle Jr." href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0101.html">


<p>Joseph M. Reagle Jr. &lt;reagle@w3.org&gt; to XML Schema Comments
list, Fri, 28 Apr 2000 18:15:46 -0400</p>

<p>At 23:04 2000-04-28 +0100, Henry S. Thompson wrote: <emph>I
appreciate your point about things going stale -- if we ever make a
backwards incompatible change, we'll put the old schema and dtd
somewhere in date space and you can use them for your stale
documents.</emph></p>

<p>But I can't touch my WD in the TR space, which used to work and
won't when you make these changes. </p>

</input> 

<input author="Noah Mendelsohn" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0102.html">


<p>Noah_Mendelsohn@lotus.com to XML Schema Comments list, Fri, 28 Apr
2000 19:12:23 -0400</p>

<p>Dan, I think you're presuming answers to a versioning architecture
for XML and namespaces. I believe that to be a known hard problem
which, in spite of my suggestions to the contrary [1], the XML
activity has so far declined to formally consider (I believe it was
discussed informally at a CG meeting, perhaps in Montreal last year.)
</p>

<p>Everything you propose, i.e. immutable namespaces, makes sense in
isolation. The problem I see is that none of the other necessary XML
machinery has been developed. Let's assume that some particular
vocabulary undergoes within a year 20 minor modifications, mostly bug
fixes,introducing little incompatibilities that are not of concern to
the vast majority of users. So, over the course of the year, 100,000
documents are written to this vocabulary, 5,000 in each of the 20
namespaces. Question: how do I build and maintain 30 XSL stylesheets
that do the right thing with these documents? For the sake of
discussion, none of the stylesheets happen to make use of any of the
features that were affected by the 20 bug fixes. Were it not for the
decision to make namespaces immutable, a single set of 30 stylesheets
would suffice, and none of the 30 would have required change through
the year. Presuming immutable namespaces, which do indeed have many
desirable architectural properties, I either need 600 stylesheets (30
useful sheets x 20 namespaces used in the instances), or some rather
messy disjunctions in each of my XPaths. </p>

<p>I do not propose that we go into an extensive discussion of
versioning here. I merely wish to agree with Henry that the answers
are far from clear, and in that sense we are feeling our way. I think
we are far from having worked out the practical ramifications of any
particular fixed design for versioning, including any that might be
based on immutable namespaces. It is my opinion that almost anything
practical we do for robust versioning of XML vocabularies will require
some serious engineering in one or another of our existing XML
specifications (e.g. XPath, if you believe the analysis above).
Pending such developments, I think we in the schemas group will have
to make decisions that are somewhat ad hoc at times, perhaps
republishing minor fixes as changes to the same namespace, with some
means of deploying new ones for major changes. In short, I think we
are about to get bitten by an overall lack of investment in figuring
out how to do namespace and vocabulary versioning in a robust manner.
Maybe I am just being too pessimistic. </p>

<p>[1] <link
href="http://lists.w3.org/Archives/Member/w3c-xml-plenary/1999Oct/0019.html">http://lists.w3.org/Archives/Member/w3c-xml-plenary/1999Oct/0019.html</link>
(My apologies to those on the schema comments list who cannot access
this member-only e-mail archive. The note basically suggests that
versioning is an important problem that will rear its head soon, and
points out some of the issues to be considered.) </p>

</input> 

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0104.html" author="Dan Connolly"> 

<p>Dan Connolly &lt;connolly@w3.org&gt; to XML Schema Comments list,
Fri, 28 Apr 2000 20:44:40 -0500</p>

<p>Noah_Mendelsohn@lotus.com wrote: </p>

<p><emph>Dan, I think you're presuming answers to a versioning
architecture for XML and namespaces.</emph>
</p>

<p>I'm observing an answer. Not the only answer, but one that is known
to work (i.e. to avoid the problem Joseph ran into). </p>

<p><emph>I believe that to be a known hard problem which, in spite of
my suggestions to the contrary [1], the XML activity has so far
declined to formally consider (I believe it was discussed informally
at a CG meeting, perhaps in Montreal last year.)</emph>
</p>

<p>Declined to consider versioning? Hardly! Evolution of specs is one
of W3C's core values. cf "Web Architecture: Extensible Languages"
http://www.w3.org/TR/1998/NOTE-webarch-extlang-19980210
</p>

<p>I guess it could depend on your definition of 'formal'. But... I
look hard at forward/backward compatibility of all the specs, and I'm
not the only one. We insisted on some last-minute changes to XSLT (a
way to make xslt:message act as a halt-and-catch-fire instruction) for
exactly this reason. </p>

<p><emph>Everything you propose, i.e. immutable namespaces, makes
sense in isolation. The problem I see is that none of the other
necessary XML machinery has been developed. Let's assume that some
particular vocabulary undergoes within a year 20 minor modifications,
mostly bug fixes,introducing little incompatibilities that are not of
concern to the vast majority of users. So, over the course of the
year, 100,000 documents are written to this vocabulary, 5,000 in each
of the 20 namespaces. Question: how do I build and maintain 30 XSL
stylesheets that do the right thing with these documents?</emph>
</p>

<p>I think you've answered your own question. You just do. It's hard
and awkward, but clearly it's possible. </p>

<p>The answer I'm talking about meets some requirements (namely, that
you can write a document and be assured that it will be interpreted
consistently henceforth) but doesn't meet others, i.e. easy
maintenance of stylesheets. </p>

<p><emph>For the sake of discussion, none of the stylesheets happen to
make use of any of the features that were affected by the 20 bug
fixes. Were it not for the decision to make namespaces immutable, a
single set of 30 stylesheets would suffice, and none of the 30 would
have required change through the year. Presuming immutable namespaces,
which do indeed have many desirable architectural properties, I either
need 600 stylesheets (30 useful sheets x 20 namespaces used in the
instances), or some rather messy disjunctions in each of my
XPaths.</emph>
</p>

<p>Right. </p>

<p><emph>I do not propose that we go into an extensive discussion of
versioning here. I merely wish to agree with Henry that the answers
are far from clear, and in that sense we are feeling our way.</emph>
</p>

<p>I agree that the whole general problem of language evolution is
messy. But I maintain that there's one mechanism, immutable resources,
that's known to avoid the problem Joseph ran into. </p>

<p><emph>I think we are far from having worked out the practical
ramifications of any particular fixed design for versioning, including
any that might be based on immutable namespaces. It is my opinion that
almost anything practical we do for robust versioning of XML
vocabularies will require some serious engineering in one or another
of our existing XML specifications (e.g. XPath, if you believe the
analysis above). Pending such developments, I think we in the schemas
group will have to make decisions that are somewhat ad hoc at times,
perhaps republishing minor fixes as changes to the same namespace,
with some means of deploying new ones for major changes.</emph>
</p>

<p>Sure... I just disagree that Henry's approach of "we'll put the old
one someplace that you can find it" is very useful. </p>

<p><emph>In short, I think we are about to get bitten by an overall
lack of investment in figuring out how to do namespace and vocabulary
versioning in a robust manner. Maybe I am just being too
pessimistic.</emph>
</p>

<p>If we had to design all parts of the Web before we deployed
anything, where would we be? I guess I have a little more faith that
economical solutions will present themselves in a timely fashion ;-)
</p>

</input>

<input author="Henry S. Thompson" href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0105.html">


<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
29 Apr 2000 10:13:24 +0100</p>

<p>I'll make three observations: </p>

<p>1) In the nicest possible way, I'm not sure what we owe to Joseph
on this one. We have <emph>not</emph> published this namespace yet, in
the sense of asserting publicly in a process-blessed way that
http://www.w3.org/1999/XMLSchema is the namespace URI for a namespace
whose semantics are defined in some officially approved REC. </p>

<p>2) The thrust of Dan's remarks are at odds with my memory of the
discussions surrounding the decision to enforce
http://www.w3.org/1999/XSL/Transform as the namespace URI for XSLT,
which strongly suggested a philosophical stance about persistent
identity clearly at odds with the practical reality of changing
details. In particular the decision to <emph>not</emph> add a version
number to that NS URI was taken after considerable thought. </p>

<p>I'm afraid this takes us back to my concern about too-tight
connection between namespace URI and presumed resource (= XML Schema
in this case) location. </p>

<p>3) There's certainly precedent for 'stable' resources evolving: the
XML Spec DTD still lives at http://www.w3.org/XML/1998/06/ although
it's currently in its 21st edition. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0106.html" author="Dan Connolly">

<p>Dan Connolly &lt;connolly@w3.org&gt; to XML Schema Comments list,
Sat, 29 Apr 2000 09:27:15 -0500</p>

<p>"Henry S. Thompson" wrote: </p>

<p>... <emph>1) In the nicest possible way, I'm not sure what we owe
to Joseph on this one. We have <emph>not</emph> published this
namespace yet, in the sense of asserting publicly in a process-blessed
way that http://www.w3.org/1999/XMLSchema is the namespace URI for a
namespace whose semantics are defined in some officially approved
REC.</emph>
</p>

<p>While it's true that we're not 100% bound to support old drafts, I
hope that the spec will gradually stabilize; i.e. that we'll gradually
make more of an attempt to avoid problems like the ones Joseph ran
into. </p>

<p><emph>2) The thrust of Dan's remarks are at odds with my memory of
the discussions surrounding the decision to enforce
http://www.w3.org/1999/XSL/Transform as the namespace URI for XSLT,
which strongly suggested a philosophical stance about persistent
identity clearly at odds with the practical reality of changing
details. In particular the decision to <emph>not</emph> add a version
number to that NS URI was taken after considerable thought.</emph>
</p>

<p>I'm not sure what you mean by "enforce", but perhaps that's no matter...
</p>

<p>My remarks aren't at odds with the way the XSLT namespace works;
they just don't apply. The XSL WG decided not to promise that the XSLT
namespace won't change. I think they made some promise about never
changing the namespace is such a way that would change the semantics
of a stylesheet that conforms to XSLT 1.0, but they left open the
possibility of backward-compatible changes to the namespace (where
"backwards-compatible change" is not formally specified).
</p>

<p>I have not said that every namespace resource must be immutable. I
have just said that using immutable resources as namespaces has some
desireable characteristics, including avoiding the "that schema just
changed out from under me" problem that Joseph ran into. </p>

<p><emph>I'm afraid this takes us back to my concern about too-tight
connection between namespace URI and presumed resource (= XML Schema
in this case) location.</emph>
</p>

<p>In any particular way? Or just general unease? </p>

<p><emph>3) There's certainly precedent for 'stable' resources
evolving: the XML Spec DTD still lives at
http://www.w3.org/XML/1998/06/ although it's currently in its 21st
edition.</emph>
</p>

<p>I'm not sure what you mean by 'stable'. That resource isn't "stable
published" in the Ted Nelson sense; it changes whenever Eve feels like
it. Contrast that with http://www.w3.org/TR/1998/REC-xml-19980210 or
http://www.ietf.org/rfc/rfc0822.txt which are guaranteed by their
publishers not to change, or mid:f5b66t16zij.fsf@cogsci.ed.ac.uk which
is guaranteed by the definition of the URI scheme not to change. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0111.html" author="Joseph M. Reagle Jr.">

<p>Joseph M. Reagle Jr. &lt;reagle@w3.org&gt; to XML Schema Comments
list, Mon, 01 May 2000 15:39:35 -0400</p>

<p>At 09:27 2000-04-29 -0500, Dan Connolly wrote: <emph>BTW: Has there
ever been any consideration in schema (I thought I saw this but don't
see it presently) to include a location attribute in the schema
element type? If a namespace need not be dereferencable (like PUBLIC)
then wouldn't it make sense to include a SYSTEM as well?</emph>
</p>

<p>Found it, I knew that I saw it before: 2.6.3 xsi:schemaLocation,
xsi:noNamespaceSchemaLocation The xsi:schemaLocation and
xsi:noNamespaceSchemaLocation attributes
http://www.w3.org/TR/xmlschema-1/#xsi:schemaLocation </p>

<p>So including these attributes in the schema for schema example in
the spec would be helpful. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0113.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
01 May 2000 21:42:20 +0100 </p>

<p>I'm confused by the above extracts, perhaps the context would have
clarified things. </p>

<p>SYSTEM and PUBLIC are part of the mechanisms by which an XML
instance points to external entities, in particular to (the external
subset of) DTDs.
</p>

<p>The analogous aspects of XML instances for schemas are
<emph>xsi:schemaLocation</emph> and <emph>xmlns</emph>, where
<emph>xsi</emph> is declared as
<code>http://www.w3.org/1999/XMLSchema-instance</code>.
</p>

<p>You can put a <emph>schemaLocation</emph> attribute from that
namespace on any element in any document without it needing a
declaration. </p>

<p>There's a lengthy discussion of all this in section 3 of chapter 6
of the spec. [1]. </p>

<p>I'm slightly at a loss to know exactly what you are asking for --
are you suggesting that the schema for schemas should be modified to
include a namespace declaration for
<code>http://www.w3.org/1999/XMLSchema-instance</code> and a
<emph>schemaLocation</emph> attribute from that namespace? We could do
that, but since the schema which applies to the schema for schemas,
which is of course itself (:-), actually <emph>does</emph> live at its
namespace URI, there didn't seem any point. </p>

<p>I'm also perplexed by the analogy with SYSTEM and PUBLIC, in that
in vanilla XML 1.0, you <emph>don't</emph> find those inside DTD
documents at all. </p>

<p>But maybe that's not what you meant. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0121.html" author="Joseph M. Reagle Jr.">

<p>Joseph M. Reagle Jr. &lt;reagle@w3.org&gt; to XML Schema Comments
list, Tue, 02 May 2000 18:38:42 -0400</p>

<p>I'm not surprised as I wasn't being very cogent. &lt;smile&gt; I
was thinking something like the following would've mitigated my
confusion (particularly as represented in the spec so I would know
where to find things).
</p>

<eg>
&lt;xml version='1.0'?&gt;
&lt;!-- XML Schema schema for XML Schemas: Part 1: Structures --&gt;
&lt;!DOCTYPE schema
  PUBLIC "-//W3C//DTD XMLSCHEMA 19991216//EN" 
  "http://www.w3.org/1999/XMLSchema.dtd"&gt;

&lt;schema xmlns="http://www.w3.org/1999/XMLSchema" 
        targetNamespace="http://www.w3.org/1999/XMLSchema" 
        blockDefault="#all" 
        elementFormDefault="qualified"  
        version="Id: XMLSchema.xsd,v 1.1 2000/04/06 13:51:05 aqw Exp" 
        xsi:schemaLocation ="http://www.w3.org/1999/XMLSchema.xsd" &gt;
</eg>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0128.html" author="Henry S. Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
03 May 2000 09:36:37 +0100</p>

<p>Right, we could have done that, and anticipating that there may be
processors which chose never to attempt dereferencing namespace URIs
perhaps we should. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0154.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Wed, 10 May 2000 12:48:14 -0400
</p>

<p><b>2.5 <link
href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#concepts-nameSymbolSpaces">Names
and Symbol Spaces</link></b></p>

<p>The fact that you are using the same namespace
"http://www.w3.org/1999/XMLSchema" across different specifications
with substantively different syntaxes may cause problems for
applications that expect the definition of a dated name space to be
stable. See  <link
href="http://lists.w3.org/Archives/Public/xmlschema-dev/2000Apr/0026.html">
http://lists.w3.org/Archives/Public/xmlschema-dev/2000Apr/0026.html</link>
for more discussion on this topic:
</p>

</input>

</references>
<resolution>
<p>Discussed in call of 2000-07-13.</p>
<p>The question is first on the policy we should be following with regard
to changes in our namespace and changes in our spec.  Frequent changes
inconvenient implementors and schema authors; infrequent changes can
lead to confusion and silent invalidation of existing data.
</p>
<p>
This question leads us to further questions: about our own evolution
policy.  Some WG members would like to adopt a forward-compatibility
policy similar to that of XSLT.  Some would like to have two namespace
names, with different polices for changing them.
</p>
<p>
On question 1, MSM suggested there are several policies we could follow:
</p>
<ulist>
<item>every time anything changes in the spec, the namespace name changes
(e.g. with datestamp)</item>
<item>every time anything changes in the schema for schemas or in the
    semantics of a construct, the namespace name changes</item>
<item>every time a change could invalidate existing schemas (when
    L2 is not a subset of L1)</item>
<item>every time a change would invalidate existing schemas</item>
<item>every time a change would lead a processor operating in 
    compatibility mode to produce unacceptable (in our view) results
    (Possibly same as 'would invalidate'?)</item>
</ulist>

<p>
On question 2 (compatibility policy), shall we introduce a policy
similar to that in XSLT, or shall we not?
</p>
<p>
On question 3 (one NS name or two?), shall we or shall we not?
</p>
<p>
After discussion, a straw poll was taken, which showed that there
was not consensus on these issues.
</p>
<p>
We did at least agree on one thing:
</p>

<p>
<b>RESOLVED</b> unanimously: to make the target namespace of the schema for
schemas be http://www.w3.org/2000/07/xml-schema (or 08, or whatever
month is appropriate) in our next non-CR Working Draft.  
</p>
</resolution>

</issue>


<issue batch="D" cluster="31 urtype" status="ok" priority="substantive" locus="structures" responsible="Paul Grosso, Noah Mendelsohn*" originator="Noah Mendelsohn" keyword="name-urtype">

<title>Define an explicit name for the urType?</title>

<description>

<p>Should XML Schema define a specific name for the urtype?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0103.html" author="Noah Mendelsohn"> 

<p>Noah_Mendelsohn@lotus.com to XML Schema Comments list, Fri, 28 Apr
2000 19:24:14 -0400</p>

<p>I would like to raise a new issue for consideration in last call of
XML schema. I think this request is based on new information, and I
request that it be placed on our list for consideration. </p>

<p>As James Tauber has noted, we do not have an explicit name for the
urType. The new information is that, during the design of the latest
SOAP specification [1], we realized that even if the schema language
itself can get by without a string name for the type, other systems
have real need for such a name. </p>

<p>In a nutshell, SOAP has its own mechanisms for declaring array-like
structures beyond those currently offered by schemas themselves. So,
you will see SOAP elements labeled with attributes like: </p>

<eg>
SOAP-ENC:arrayType="xsd:int[3]"
</eg>

<p>which refers to an array encoded as three XML elements each of
which is conformant with xsd:integer. Or: </p>

<eg>
SOAP-ENC:arrayType="yourNS:address[3]"
</eg>

<p>I happen not to be thrilled with that particular syntax, because I
would prefer explicit markup and not to have QNames buried within a
string, but neither of those is the issue here. The requirement is for
some means of saying things like: </p>

<eg>
SOAP-ENC:arrayType="xsd:urType[3]"
</eg>

<p>to indicate an array of three elements each of which must be a
(subtype of) our urType. As with our schema design, the intention is
to allow both simple types and complex types in the instance, so it is
truly is our notion of urType. </p>

<p>I believe that SOAP is not the only system that will emerge with
such a requirement. </p>

<p>If we as a workgroup decide not to provide such a name for the
type, then it is likely that SOAP will wind up defining something like
SOAP-ENC:urType with an indication that it refers to the urType of XML
schemas (indeed, that was supposed to make it into the SOAP 1.1
specification and didn't quite because the problem was noticed too
late.) I think everyone involved believes that would be undesirable.
So, the request is for an officially-blessed name for the urType.
(Note: this is not a request to try to split into separate urTypes for
simple and complex... just a name for what we have got.) </p>

<p>By the way, I think most ordinary mortals will find the term urType
to be unduly obscure. Perhaps something like "xsd:base"? I'm sure we
could amuse ourselves with a little name-the-urType contest. Thank you
very much. </p>

<p>[1] http://www.ibm.com/software/developer/library/soap/soapv11.html </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0107.html" author="Curt Arnold"> 

<p>On this issue of urType, I think I would prefer an explicit
declaration of an urType and the derivation of all types in a domain
from it. </p>

<eg>
&lt;!--  circular reference could indicate a urType   --&gt;
&lt;complexType name="urType" base="urType"&gt;
    &lt;any minOccurs="0" maxOccurs="unbounded"/&gt;
    &lt;anyAttribute use="optional"/&gt;
&lt;complexType&gt;

&lt;!--  simpleType can inherit from complexType as long as complex type has
not
             required attributes or content.  Could restrict it further to
self references.  --&gt;
&lt;simpleType name="urSimpleType" base="urType"/&gt;

&lt;!--  this could replace content="empty" and serve as the
               basis for most derivations by extension  --&gt;
&lt;complexType name="empty" base="urType" derivedBy="restriction"&gt;
    &lt;any maxOccurs="0"/&gt;
    &lt;anyAttribute use="prohibited"/&gt;
&lt;/complexType&gt;
</eg>

<p>My entry for the name the ur contest is root or rootType. </p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-06-29.</p>
<p>The WG discussed this issue, and distinguished four questions: Shall
we provide a name for the urType?  Shall we provide names for both the
'basic' urType and the 'urSimpleType'?  If so, what names should be
used?  Should the schema for schemas provide definitions of these
types?
</p>
<p>
<b>RESOLVED</b>:  to provide names for both the 'basic' urType and the
'simple' urType.
<b>Dissenting</b>: Biron
</p>
<p>
On the question of providing declarations, the WG was evenly divided
among pro, con, and uncertain.  This question should be discussed
by email; we will come back to it in Friday's meeting and if we can
reach a conclusion, we will; otherwise we will launch further
email discussion and put the issue at the bottom of the schedule.
</p>
<p>
The question of names was discussed by email and in the face to face
meeting of 1-2 August 2000.</p>
<p>A straw poll was taken on the various proposals.  A head to head
comparison of the top two candidate terms showed 14 in favor of
<emph>anyType</emph>, 11 in favor of <emph>urType</emph>.  For the
basic simple type, <emph>anySimpleType</emph> was chosen without
objection.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0137.html">Commentator</link> confirms that decision is OK.</p>
</resolution>

</issue>


<!--*

<issue keyword="compiler-urtype-name" originator="Curt Arnold" locus=""
 priority="substantive" status="unassigned">
<title>XML Schema compiler/New Issue: name for the urType</title>
<description>
<p>...</p>
</description> 
<references>
<input
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0107.html"
author="Curt Arnold"> 
<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments list, Sun,
30 Apr 2000 23:10:18 -0500</p>
<p>I've made an initial version of my schema compiler available at
http://download.sourceforge.net/XSDComp/XSDComp.zip. Still very much a work in
process. Basically, it is three XSLT transforms that will take an XML Schema,
resolve the imports and includes, evaluations the qname references, and expands
the equivClasses and restriction of attributes. It detects a lot of different
type of errors, but definitely not exhaustive at this time and does not try to
expand restriction of content model or determine acceptible values of xsi:type
for a given element. </p></input>
</references>
</issue>
*-->


<issue keyword="appinfo" originator="David Vun Kannon" responsible="Frank Olken" locus="structures" clause="4.3.10" priority="substantive" status="ok" cluster="09 appinfo" batch="A">

<title>Using appinfo annotations to store integrity constraints</title>

<description>

<p>Is it an appropriate use of <emph>appinfo</emph> annotations to use
them to store aplication-specific integrity constraints (e.g. SQL
<code>CHECK</code> constraints)?</p>

</description> 

 
<references>

<interaction issue="extensibility"></interaction>

<interaction issue="extending"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0112.html" author="Vun Kannon, David"> 

<p>"Vun Kannon, David" &lt;dvunkannon@kpmg.com&gt; to XML Schema
Comments list, Mon, 1 May 2000 16:28:00 -0400 </p>

<p>I am considering, as the subject line says, using appinfo annotations to
store integrity constraints. Consider a document as the transfer syntax for a
database predicate. An integrity constraint might be "no worker earns more than
their supervisor" or "pay_rate &gt; 0". These integrity constraints could be
expressed as CHECK constraints in SQL, for instance. </p>

<p>I was considering trying to achieve the same effect with XSL-T
templates in appinfo elements. Unfortunately, it appears that even in
the April 7 draft, annotation and appinfo are poorly documented.
Annotation is used but not defined in either the schema for schemas or
DTD, and appinfo (and documentation) similarly. What is the content
model <code>()+</code> supposed to mean, in sec 4.3.10? </p>

<p>Your comments appreciated on the appropriateness of the idea, and
my understanding of appinfo. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0114.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
01 May 2000 21:46:13 +0100</p>

<p>"Vun Kannon, David" &lt;dvunkannon@kpmg.com&gt; writes: </p>

<p><emph>I am considering, as the subject line says, using appinfo
annotations to store integrity constraints. Consider a document as the
transfer syntax for a database predicate. An integrity constraint
might be "no worker earns more than their supervisor" or "pay_rate
&gt; 0". These  integrity constraints could be expressed as CHECK
constraints in SQL, for  instance.</emph> </p>

<p>That's exactly the sort of thing appinfo is designed for. Sorry the
documentation is less complete in this area than it should be. </p>

<p>As the schema for schemas reveals, the content model for appinfo is
constrained only in so far as it may not contain elements from the XML
Schema namespace itself -- anything else, in any combination, is fine.
</p>

<p>So declare a namespace at the top of your schema, and put whatever
you like from that namespace inside appinfo. If you give your schema
validator a schema for <emph>that</emph>  namespace as well as the
schema for schemas, the contents of appinfo from that namespace will
get schema-validated as well. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0132.html" author="Vun Kannon, David"> 

<p>"Vun Kannon, David" &lt;dvunkannon@kpmg.com&gt; to XML Schema
Comments list, Wed, 3 May 2000 11:53:02 -0400 </p>

<p>Got it. </p>

</input>

</references>
<resolution>
<p><link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0234.html">Formal
response</link>. <link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0244.html">Commentator</link>
replies "I do consider Henry's explanation an adequate answer to my
question. ".</p>
</resolution>

</issue>



<issue keyword="inherit" originator="David Vun Kannon" locus="structures" priority="substantive" status="silent" cluster="14 attldecl" batch="A" responsible="Rick Jelliffe*">

<title>Defining inherited attribute values</title>


<description>

<p>Should XML Schema add a mechanism to allow the schema author to
define an attribute as having a value inherited from a specific
attribute (e.g. one with the same name) on an enclosing attribute?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0132.html" author="Vun Kannon, David"> 

<p>"Vun Kannon, David" &lt;dvunkannon@kpmg.com&gt; to XML Schema
Comments list, Wed, 3 May 2000 11:53:02 -0400 </p>

<p>I'm also thinking about appinfo for what I've taken to calling my
"<code>#IMPLIED</code> resolution strategy". I want my schema to state
explicitly what to do if a particular attribute is absent from an
instance of an element for which that attribute is declared. For
instance, the strategy that most of my attributes follow is: </p>

<eg>
ancestor-or-self::*[@implied-attribute][1]/@implied-attribute
</eg>

<p>which means that the attribute must exist somewhere among the
containing elements. Choosing the nearest value gives this useful
behavior that the attribute can be given a default, then the default
overridden for any subtree. </p>

<p>Is this idea of "absent attribute resolution strategy" useful
enough to all schemas that it should be part of XSchema itself, as
opposed to hiding it under the appinfo bushel? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0135.html" author="Rick JELLIFFE"> 

<p>Rick JELLIFFE &lt;ricko@geotempo.com&gt; to XML Schema Comments
list, Thu, 04 May 2000 01:32:15 +0800</p>

<p>From: Vun Kannon, David (dvunkannon@kpmg.com) <emph>Is this idea of
"absent attribute resolution strategy" useful enough to all  schemas
that it should be part of XSchema itself, as opposed to hiding it
under the appinfo bushel?</emph> </p>

<p>Being able to declare that an attribute should have a value
inherited from its parents (if that is the idea) was considered but
not taken up. It would have been useful for <emph>xml:lang</emph> too.
The line has to be drawn somewhere, of course (in the absense of some
kind of extensible implied-attribute-value resolution framework).
</p>

</input>

</references>


</issue>



<issue keyword="has-facet-ns" originator="Curt Arnold" responsible="Paul Biron*" locus="datatypes" priority="substantive" status="silent" cluster="17 sfs" batch="D">

<title>Namespace of has-facet, has-property</title>


<description>

<p>Should the <emph>has-facet</emph> and <emph>has-property</emph>
elements of <emph>part2.xsd</emph> be placed outside the main XML
Schema namespace (e.g. in order to allow them to occur within the
<emph>appinfo</emph> element)?

</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0115.html" author="Henry Thompson"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Mon, 1 May 2000 23:48:22 -0500</p>

<p>hst wrote: </p>

<p>As the schema for schemas reveals, the content model for appinfo is
constrained only in so far as it may not contain elements from the XML
Schema namespace itself -- anything else, in any combination, is fine.
</p>

<p>I was just thinking about this, the has-facet and has-property
elements in part2.xsd should be outside of the XMLSchema namespace.
</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-06-30.</p>
<p>An answer of 'yes' is entailed by our decision on issue <link
href="#ns-hasfacet">LC-122</link>. This issue should be closed.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0021.html">Formal response</link>.</p>
</resolution>

</issue>


<issue batch="C" cluster="21 ns" status="silent" priority="substantive" locus="both" originator="Alexander Falk" keyword="schema-validation">

<title>Possible schema validation issue in 3.0b3</title>


<description>

<p>Should types derived by the list constructor be defined as
<code>derivedBy="list"</code> or as
<code>derivedBy="xsd:list"</code>?</p>

</description> 

 
<references>

<interaction issue="dt-namespace"></interaction><input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0116.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
02 May 2000 09:10:34 +0100</p>

<p>"Falk, Alexander" &lt;falk@icon.at&gt; writes: </p>

<p><emph>Interesting question...  I've looked at both the primer and
the (normative) schema for schemas and DTD  for schemas. The first
seems to indicate that 'xsd:list' should be used, but  the normative
meta-schema and DTD clearly say that it should be 'list' all by
itself.</emph></p>

<p><emph>Maybe someone else can shed some authoritative light on this:
 if the schema-namespace is defined with prefix xsd, and we have the
following  simpleType definition</emph>
</p>

<eg>&lt;xsd:simpleType base="PermissionType" derivedBy="?????"/&gt;</eg>

<p><emph>should the <emph>derivedBy</emph> be 'list' (like the
meta-schema and DTD say), or should it be 'xsd:list' (like the primer
says)? </emph></p>

<p>My opinion is that the primer is the mistaken one here. The
'<emph>derivedBy</emph>' attribute has an enumerated type, with values
'extension', 'list' and 'restriction'. It's not a reference, which
would have type QName.</p>

</input>

</references>


<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0075.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="sfs-garbling" originator="Dan Vint" locus="datatypes" clause="A" priority="substantive" status="silent" cluster="sfs" batch="C">

<title>Stray data in Datatypes schema?</title>


<description>

<p>There appears to be stray data in the middle of the schema in
Datatypes section A (an <emph>annotation</emph> element, two
<emph>enumeration</emph> elements, and an orphaned end-tag for a
<emph>simpleType</emph> element, betweeen the definitions of the
complex types <emph>annotated</emph> and <emph>simpleType</emph>).
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0117.html" author="Dan Vint"> 

<p>Dan Vint &lt;DVint@lexica.net&gt; to XML Schema Comments list, Tue,
2 May 2000 07:56:33 -0700 </p>

<p>I've been trying to use the schema as presented in Appendix A of
Part 2 and have come across this piece of data that seems to be out of
place or at least missing some more markup: </p>

<eg>
  &lt;complexType name="annotated" base="openAttrs" derivedBy="extension" 
...

&lt;!-- Error here!
   &lt;annotation&gt;
    &lt;documentation&gt;All the things which can occur in any of the
                   attributes controlling derivation or use of derived 
                   definitions&lt;/documentation&gt;
    &lt;documentation&gt;A utility type, not for public use&lt;/documentation&gt;
   &lt;/annotation&gt;
   &lt;enumeration value="list"/&gt;
   &lt;enumeration value="restriction"/&gt;
  &lt;/simpleType&gt;
--&gt;

  &lt;complexType name="simpleType" base="annotated" derivedBy="extension" 

...
</eg>

<p>Between the two complexType definitions is this annotation and
simpleType that is broken. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0073.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="sfs-simple-base" originator="Dan Vint" locus="datatypes" priority="substantive" status="silent" cluster="sfs" batch="C">

<title>Stray slash in declaration of <emph>base</emph> attribute for
simple types?</title>


<description>

<p>There appears to be a stray slash in the start-tag for the
declaration of the <emph>base</emph> attribute within the declaration
of the complext type named <emph>simpleType</emph>, in Datatypes
section A.  The start-tag looks like an empty-element tag, but the
element is not empty. 
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0118.html" author="Dan Vint"> 

<p>Dan Vint &lt;DVint@lexica.net&gt; to XML Schema Comments list, Tue,
2 May 2000 08:00:53 -0700 </p>

<p>In the Appendix A (of part 2) the definition of this complexType
has the attribute base as an empty tag, but the close tag appears
later. </p>

<eg>
  &lt;complexType name="simpleType" base="annotated" derivedBy="extension"
abstract="true"&gt;
    &lt;element ref="facet" minOccurs="0" maxOccurs="unbounded"/&gt;
    &lt;attribute name="name" type="NCName"&gt;
      &lt;annotation&gt;
       &lt;documentation&gt;Can be restricted to required or
forbidden&lt;/documentation&gt;
      &lt;/annotation&gt;
    &lt;/attribute&gt;
    &lt;attribute name="base" type="QName" use="required"/&gt;
     &lt;simpleType base="NMTOKEN"&gt;
      &lt;enumeration value="list"/&gt;
      &lt;enumeration value="restriction"/&gt;
     &lt;/simpleType&gt;
    &lt;/attribute&gt;
  &lt;/complexType&gt;
</eg> 

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0073.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="sfs-files" originator="Dan Vint" locus="both" priority="substantive" status="silent" cluster="publication" batch="C">

<title>Schema-for-schema files</title>

<description>

<p>The separate DTD and XSD files which should be identical to the
text given in the appendices of parts 1 and 2 appear not to be
identical.  What gives?</p>

</description> 
 
<references>

<interaction issue="xml.xsd"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0119.html" author="Dan Vint"> 

<p>Dan Vint &lt;DVint@lexica.net&gt; to XML Schema Comments list, Tue,
2 May 2000 08:35:46 -0700 </p>

<p>1) On the webpage http://www.w3.org/TR/xmlschema-1/ at the top are
links to: </p>

<p>"with separate provision of the schema and DTD for schemas
described herein. " </p>

<p>The thought was these would be the same as the Appendix versions of
the schema and DTD, I beleive they are at least different versions.
The relationship between these links and the later appendix
information should be clarified and a clearer statement about these
top level links should be made as well. </p>

<p>2) In the Appendix for part 1 and part 2, the SCCS ID variables
show different names for the actual files than what appear to be the
specified INCLUDE and DOCTYPE values for these files. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0073.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue batch="A" cluster="09 appinfo" status="ok" priority="substantive" locus="requirements" responsible="Matt Fuchs, Jonathan Robie" originator="Robert Miller" keyword="extensibility">

<title>XML Schema considered inadequately extensible</title>

<description>

<p>The current draft of XML Schema appears to have insufficient
support for extensions to the language.  This could be remedied by
defining a syntax for associating active service packages with
particular elements.
</p>

</description> 
 
<references>

<interaction issue="appinfo"></interaction>

<interaction issue="extending"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0120.html" author="Robert Miller"> 

<p>"Miller, Robert (GXS)" &lt;Robert.Miller@gxs.ge.com&gt; to XML
Schema Comments list, Tue, 2 May 2000 15:43:11 -0400 </p>

<p>I suppose my greatest concern is that the capabilities represented
in the Schema work are not further extendible without also extending
the Schema syntax. That's a steep hill for proposed new extensions to
climb, and will likely act as a squelch on such extensions. As one who
sees shortcomings in what is supported in the current Schema work, I
find the closed Schema syntax disturbing.</p>

<p>...</p>

<p>Amid the complexity of the Schema specification is some much wished
for capability, and I've been among those making wishes, as the DTD
capability provides little of what is needed for Business Information
Exchange. But as much as I want such capability, I fear that Schema is
all we'll get, it won't be enough, and we'll have to pass it by for
something better. That would be disheartening.</p>

<p>A design more in keeping with my desires for extensibility would
define a syntax by which active service packages could be associated
with XML elements. Edit constraints might be one such service, and one
which might (and should) be pre-defined for use. The addition of new
services would not require a change to the XML Schema syntax, it would
simply require the definition of the new service and access to the
process(es) supporting the extended service. </p>

<p>If a service approach were to be considered, some thought should be
given to other services that might be desired (such as an array
processing service), such that service syntactic support needs are
adequately addressed in the underlying Schema syntax, even if the
considered services are not fully defined and implemented.</p>

</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-08.</p>

<p>The WG discussed this issue; some WG members argued that the
particular mechanism proposed was probably NOT the best way to
associate particular software handlers with elements in instances. The
appinfo element, or stand-off annotation schemes (such as the Schema
Adjunct Framework being defined by Extensibility) seem to do the job
better.  Others said that schemas should be more open than they are,
but that the specific proposal here is not one they support.
</p>

<p><b>RESOLVED</b> without dissent: to make no change to the spec in
response to this comment.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0138.html">Formal response</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0184.html">Followup</link>.</p>
<p>Robert Miller replies (privately):
"Actually, it's more like resigned than satisfied. However, ...
</p>
<p>"From the responses I have received on each of my issues, I am
satisfied that the WG did give serious consideration to these issues,
and acted upon them in a fair and open manner.  Finalization of the
work of the WG on XML Schema is anxiously awaited by many
organizations.  I have been impressed with the degree of effort put
into resolving the outstanding issues in a prompt and thorough manner,
and I look forward to final publication.  I'll close with a quote from
Dave Torma, founding Chair of X12C Communications and Controls, upon
the approval of a specification that was not all he had hoped for:
'It's ugly, but I can live with it.'
</p>

</resolution>
</issue>


<issue keyword="semantics" originator="Robert Miller" locus="both" priority="substantive" status="ok" cluster="09 appinfo" batch="A" responsible="Jim Barnette">

<title>Better support for semantics?</title>

<description>

<p>XML Schema needs better support for semantics; in particular, the
ability to link to a repository of semantic information about a
particular object would be useful.
</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0120.html" author="Robert Miller"> 

<p>"Miller, Robert (GXS)" &lt;Robert.Miller@gxs.ge.com&gt; to XML
Schema Comments list, Tue, 2 May 2000 15:43:11 -0400 </p>

<p>Perhaps the emphasis on `syntax' that underlies the XML DTD
specification has too strongly influenced the efforts of people who
recognized the limitations of DTD's. In my opinion, more attention
needs to be paid to the semantics of information, and less to the
syntax of information. There is little support for access to semantic
information in the Schema work, where much work is needed.</p>

<p>The ebXML work with which I am a participant envisions repositories
of semantic information. Certain of the semantic information in such
repositories, such as value constraints, can be represented in the
Schema syntax. But other important semantic attributes, (e.g.,a
pointer to a repository of semantic information about an XML element),
have no specific representation in the Schema.</p>

</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-08.</p>

<p>Our requirements document does list linking to some specification
of the semantics of an element type as a requirement; we thus agree
with the commentator that linking to semantic repositories is a needed
capability.  The view of the WG is that the annotation scheme adopted
at our Reston meeting (October/November 1999), and in particular the
appinfo element, meets this requirement.  
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0348.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0355.html">Commentator</link> agrees.</p>

</resolution></issue>


<issue keyword="arrays" originator="Robert Miller, MPEG-7" responsible="Frank Olken" locus="both" priority="substantive" status="nok" cluster="15 arrays" batch="A">

<title>Arrays?</title>

<description>

<p>Should XML Schema be modified to provide support for arrays?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0120.html" author="Robert Miller"> 

<p>"Miller, Robert (GXS)" &lt;Robert.Miller@gxs.ge.com&gt; to XML
Schema Comments list, Tue, 2 May 2000 15:43:11 -0400 </p>

<p>Just today, I received an Email from someone who had seen my
earlier Email to the Schema Work Group pointing out the need to
support arrays of information. Spreadsheets, a simple array construct,
are not provided a common representation in the XML Schema work.</p>

<p>...</p>

<p>If a service approach were to be considered (cf. issue <link
href="#extensibility">XML Schema considered inadequately
extensible</link>), some thought should be given to other services
that might be desired (such as an array processing service), such that
service syntactic support needs are adequately addressed in the
underlying Schema syntax, even if the considered services are not
fully defined and implemented.</p>

</input>


<input href="">

<p><b>1. Datatypes Issue</b>
MPEG-7 requires both arrays and matrices. We would 
prefer to have built-in array (1D) and matrix (2D, 3D) datatypes, instead of 
simply the 'derivedBy = list' mechanism.</p>

<p>If these cannot be provided then the alternative is to use lists.
In the  current WD, you can only create lists from atomic data types
and since a list  is not an atomic data type then you cannot create
matrices using 'lists of  lists' e.g.:</p>

<eg>&lt;simpleType name="ArrayOfInteger" base="integer" derivedBy="list"/&gt;
   &lt;length value="2"/&gt;
&lt;/simpleType&gt;

&lt;simpleType name="MatrixOfInteger" base="ArrayOfInteger" derivedBy="list"/&gt;
   &lt;length value="4"/&gt;
&lt;/simpleType&gt;</eg>

<p>
Alternatively we can simply convert matrices to  flattened lists
which can be 1D, 2D or 3D and use a <emph>dim</emph>  facet to lists
to specify multi-dimensionality:</p> 

<eg>&lt;simpleType name="MatrixOfInteger" base="ArrayOfInteger"/&gt;
   &lt;dim value="2 4"/&gt;
&lt;/simpleType&gt;</eg>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0011.html">Formal response to commentator</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0013.html">Don Brutzman</link> of X3D confirms this is something of
a problem for them.</p>
<p><link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0114.html">Bob
Miller</link> replies "I do not consider XML Schema 1.0 'good enough'
on this topic", but adds that he does not want to 'stop the presses'
to add arrays to XML Schema 1.0.</p>
</resolution>
</issue>


<issue keyword="fixed-default" originator="James Tauber" locus="structures" clause="4.3.1" priority="substantive" status="silent" cluster="14 attldecl" batch="C">

<title>4.3.1: second scenario: should value constraint default to FIXED?</title>

<description>

<p>Is a co-occurrence constraint missing in the second scenario of
Structures 4.3.1 (where 'ref' is absent and 'schema' is not the
parent)?
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0122.html" author="James Tauber"> 

<p>James Tauber &lt;JTauber@bowstreet.com&gt; to XML Schema Comments
list, Tue, 2 May 2000 21:09:11 -0400 </p>

<p>In 4.3.1, in the second scenario (where ref is absent and schema is
not the parent) the value of {value constraint} is given as "fixed" if
the "use" attribute is not "default". </p>

<p>In other words, if a value is given, but the use attribute is one
of "optional", "fixed" or "required", the value constraint is taken to
be "fixed".
</p>

<p>Is this correct? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0125.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
03 May 2000 09:26:50 +0100</p>


<p>There's a co-occurrence constraint missing, you're right. There
should be something under <emph>Attribute Declaration Representation
OK</emph> which says "if 'value' is present, then 'use' must be
"default", "fixed" or "required". </p>

</input>

</references>


<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0077.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="optionality" originator="Peter Canning" locus="structures" clause="3" priority="substantive" status="silent" cluster="21 ns" batch="C">

<title>Optional component != mandatory but absent?</title>

<description>

<p>What is the difference between an optional property (e.g. {min
occurs}) and a mandatory property whose legal values may  include
"absent" (e.g. {target namespace})?
</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0123.html" author="Peter Canning"> 

<p>Peter Canning &lt;canning@vitria.com&gt; to XML Schema Comments
list, Tue, 02 May 2000 20:31:45 -0700</p>

<p>The structure specification identifies some schema component
properties (e.g. the "min occurs" property in the "Attribute
Declaration" component) as optional and states (section 3 paragraph 1)
that optional properties that are missing have "absent" as their
value. It also describes some properties (e.g. the "target namespace"
property in the "Attribute Declaration" component) as mandatory, but
includes "absent" in the list of legal values. </p>

<p>What is the difference between an optional property, and a
mandatory property whose value can be "absent"? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0127.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
03 May 2000 09:34:30 +0100</p>

<p>Peter Canning &lt;canning@vitria.com&gt; writes: </p>


<p>Good question. I think (leaving aside the question of what happens
when a required property is absent without leave because of a failed
reference) that {target namespace} is the only such property, and we
should revisit the nomenclature here. There was a change in
terminology in this area very late in the publication process, and
some more work needs to be done. </p>

<p>The intended distinction is that {target namespace} is
<emph>always</emph> relevant, it value always significant, even when
it is the 'absent' value == no namespace. For e.g. {min occurs}, there
are circumstances, e.g. for top-level attribute declarations, where
the property is irrelevant, the value never looked at and hence not
supplied. </p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0068.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="xsi-null-value" originator="Curt Arnold" locus="primer" clause="2.3" priority="substantive" status="silent" cluster="xsinull" batch="C">

<title>Value space for <emph>xsi:null</emph> attribute</title>


<description>

<p>Should the <emph>xsi:null</emph> attribute be changed so that it
accepts the values <code>0</code> and <code>1</code> as well as  the
values <code>true</code> and <code>false</code>?
</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0124.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Tue, 2 May 2000 22:33:01 -0500</p>

<p>Section 2.3 </p>

<p>Among these, the enumeration facet is one of the most useful and it
can be constrain the values of almost simple type, except the boolean
type. </p>

<p>Why not the boolean type? xsi:null appears to use an enumerated
boolean (allowing true but not 1). Anyway, I believe that xsl:null
should accept false, 0, true and 1. With only true and 1 signifying
null content. </p>

</input>


</references>


<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0095.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="complex-lists" originator="Curt Arnold" locus="primer" clause="2.3" priority="substantive" status="silent" cluster="03 constructors" batch="C">

<title>Limits on lists</title>

<description>

<p>Should the Primer point out that lists cannot be derived from
complex or list types?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0124.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Tue, 2 May 2000 22:33:01 -0500</p>

<p>Section 2.3 </p>

<p>(you cannot create lists from complex types). </p>

<p>For the narrative, I think it is probably more appropriate that you
mention lists can't be derived from other list types. </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0095.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="undeclared-ns" originator="Curt Arnold" responsible="Henry Thompson" locus="primer" clause="3.4" priority="substantive" status="unassigned" cluster="19 modules" batch="A">

<title>Undeclared and unnamed namespaces</title>

<description>

<p>Should XML Schema be changed to revise the method of binding schema
components to the namespace without a name and using them to validate
unqualified elements in a document?  (E.g. to specify that
<emph>every</emph> schema document must specify a target namespace,
and that the unqualified elements in a document instance are bound to
a namespace at validation time, using a modification of the
<emph>noNamespaceSchemaLocation</emph> mechanism.)

</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0124.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Tue, 2 May 2000 22:33:01 -0500</p>


<p>3.4 Undeclared target namespaces </p>

<p>I have a problem with this. If you are going to the point of
defining a schema, these elements and attributes are in a conceptual
namespace whether or not you give it a name. The way targetNamespace
is defined, I cannot write one schema that could be used to validate a
XML 1.0 sans namespace document and also used in a to validate a
document with namespace support. I can't even use include since the
targetNamespaces wouldn't match. </p>

<p>What I would recommend is that targetNamespace be required for
schema definition. However, the XML 1.0 binding mechanism could
specify both a validation namespace and schema location. The
noNamespaceSchemaLocation could be a list of two URI's with the first
being the validation namespace and the second being the schema
location.</p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0126.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
03 May 2000 09:29:50 +0100</p>

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; writes: </p>

<p><emph>... The way targetNamespace is defined, I cannot &gt; write
one schema that could be used to validate a XML 1.0 sans namespace
&gt; document and also used in a to validate a document with namespace
support.</emph></p>

<p>That's precisely what you <emph>can</emph> do. Write the schema
with no targetNS, it can be used as is for no-namespace documents, and
included into schemas <emph>with</emph> a targetNS and thereby
appropriated for use with that target. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0130.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Wed, 3 May 2000 09:39:09 -0500</p>


<p>Primer Section 4.1 said: </p>

<p>The one import caveat to using the include is that the target
namespace of the included constructions must be the same as the target
namespace of the including schema... Maybe this is imprecise and
Section 1 allows the included target namespace to be blank. </p>

<p>However, even if you could use the include to achieve reuse, it is
still a bad thing to have to publish two near-identical schemas, one
for use in XML 1.0 sans Namespace usage and one for namespace aware
usage. This is really a distinction in usage and should be addressed
in the binding of a schema with a document and not in the schema
itself. </p>

<p>For example, you would have to have two schemas for XHTML. Both
would truely be using names within the context of the
http://www.w3.org/1999/XHTML (whatever the true namespace is), but one
would be for XML 1.0 compatible documents and one for XML
1.0+namespaces. This is just not good. </p>

<p>However, simply moving the statement of which namespace to match
with unnamespace qualified elements to the binding of the document and
schema allows you to use one schema for both XML 1.0 and
XML+Namespaces usages. </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0159.html" author="Curt Arnold &lt;carnold@houston.rr.com>">


<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list (and xml-dev) on Thu, 11 May 2000 01:19:19 -0500
</p>

<p><b>Note on defaultNamespace:</b></p>

<p>A previous comment (<link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0124.html">http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0124.html</link>)
discussed Section 3.4 on Undeclared target namespaces.  The current
treatment would require one schema for XHTML, for example, for
documents where the namespace was declared and another schema for
XHTML where the namespace was not declared.  To me, it seems that the
creation of a schema implies that you are defining elements that are
in a conceptual namespace and that the additional burden of picking
out a URI for this namespace is minimal.  If a instance document
doesn't want to use an xmlns attribute, that is a usage issue that
could be addressed by a xsi:defaultNamespace attribute (or schema PI)
that provides a weaker binding of unqualified names to a namespace
that is only used for schema validation.
</p>


</input>

</references>


</issue>


<issue keyword="mixed-extension" originator="Curt Arnold" locus="primer" clause="4.2" priority="substantive" status="resolved" cluster="12 content-models" batch="D" responsible="David Fallside*">

<title>Extension of mixed types</title>

<description>

<p>Should the model of extension-by-suffixation now supported by XML
Schema be revised (e.g. with a view toward achieving simpler behavior
when the base type has mixed content)?
</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0124.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Tue, 2 May 2000 22:33:01 -0500</p>


<p>4.2 Deriving Types by Extension </p>

<p>Furthermore, the two content models are treated as two children of
a sequential group. </p>

<p>I actually prefer this behavior, but it might be out of synch with
our recent discussion about behavior when the base type has content
model mixed.
</p>

</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-22.</p>

<p>Since this issue was raised by the commentator only as a
hypothetical change made logical by the suggestion of <link
href="#schema-for-xslt">LC-51</link>, and since we had not adopted the
suggestion of <link href="#schema-for-xslt">LC-51</link>, the WG felt
there was no need to adopt the implicit suggestion in this issue.
<b>RESOLVED</b> without dissent:  to retain the current suffixation
rule  for extending types, whether mixed or element-only.
</p>

</resolution></issue>


<issue keyword="character-entities" originator="Steven Pemberton" locus="structures" priority="substantive" status="silent" cluster="31 entities" batch="D" responsible="Don Mullen*">

<title>Support declaration of character entities?</title>

<description>

<p>Should XML Schema be extended to support the declaration of general
entities (or at least of entities which represent special characters,
e.g. <emph>eacute</emph>)? N.B. character entities are named entities;
they are distinct from numeric character references.
</p>

</description> 
 
<references>

<interaction issue="entities"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0129.html" author="Steven Pemberton"> 

<p>"Steven Pemberton" &lt;steven.pemberton@cwi.nl&gt; to XML Schema
Comments list, Wed, 3 May 2000 15:17:30 +0200</p>

<p>The HTML WG has requested me to relay to you a request that XML
Schemas include a facility to define at least character entities (such
as &eacute;).
</p>

<p>While we recognise that the full entity mechanism might be a
burden, HTML markup typically contains a lot of character entities,
and we would like to be able to define them when using schemas without
having to fall back to a DTD subset.
</p>

</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0141.html" author="Dan Connolly"> 

<p>Dan Connolly &lt;connolly@w3.org&gt; to XML Schema Comments list,
Fri, 05 May 2000 08:44:04 -0500</p>

<p>Steven Pemberton wrote: <emph>The HTML WG has requested me to relay
to you a request that XML Schemas include a facility to define at
least character entities (such as &amp;eacute;).</emph></p>

<p>We tried that before, but it didn't work out well; we weren't sure
we liked it, but we put the idea out for review, and the feedback was
overwhelmingly negative:
</p>

<p>"The provision within XML Schema: Structures of a mechanism for
defining parsed entities presents problems for the relationship
between schema-validity and XML 1.0 well-formedness, since references
to entities defined only in a schema are undefined from the XML 1.0
perspective. Strictly speaking, a well-formed XML document may contain
references to undefined entities only if it is declared as
standalone='no' and contains either an external subset or one or more
references to external parameter entities in their internal subset. We
get around this by [Definition: ] defining a nearly well-formed XML
document to be one which either is well-formed per XML 1.0, or which
fails to be well-formed only because of undefined general entity
references, but which would be well-formed if it were standalone='no'
and identified an external subset. We consider this justified on the
grounds that the use of a namespace declaration which refers to a
schema functions rather as an external subset, and from the XML 1.0
perspective such a reference almost of necessity renders the document
non-standalone when schema-validation is applied." </p>

<p>-- <link href="http://www.w3.org/1999/05/06-xmlschema-1/#conformance-schemaValidity">http://www.w3.org/1999/05/06-xmlschema-1/#conformance-schemaValidity</link>
</p>

<p>If you can think of a less awkward way to do it, let us know. </p>

<p>Otherwise, I think it's most likely that the WG will decline your
request.
</p>

<p>If you find this explanation to be satisfactory justification for
us to decline your request, please let us know by withdrawing your
request. </p>

<p><emph>While we recognise that the full entity mechanism might be a
burden, HTML markup typically contains a lot of character entities,
and we would like to be able to define them when using schemas without
having to fall back to a DTD subset.</emph></p>

<p>I'm afraid that's about the only way I can see to make it work.
</p>

<p>Another option is to use <code>&lt;eacute/&gt;</code> instead of
<code>&amp;eacute;</code>, but that requires application-level support
rather than being handled by the XML processor, and it won't work in
attribute value literals.
</p>

</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-08.</p>

<p>Alternatives: </p>

<ulist>
<item>specify entities in an entity-only DTD</item>
<item>use markup</item>
</ulist>

<p>Proposal to provide detailed guidance on instruction on these
alternatives. Instruct the editor of Primer to do so. WITHOUT
OBJECTION. 
</p>

<p>Question: Is there a future solution with a change to XML 1.0?
Answer: Not trivially. Follow-up: But should we take action on
ourselves to forward request to XML core that they address this issue?
Shall we suggest to the CG that this go on a list of candidate
requirements for XML 2.0?  <b>Agreed</b> by majority vote to instruct
chairs to take this issue to the XML CG for consideration as a
possible candidate requirement for XML 2.0.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0123.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0163.html">HTML WG</link> dissents:</p>
<p><emph>The HTML working group has instructed me to forward their
dissent from your WG's decision, and to ask you to send the issue for
review by the director.</emph></p>
<p><emph>The group is unhappy with the idea that a user agent would
have to be able to process schemas as well as DTD fragments, when an
aim of schemas was to replace DTDs.</emph></p>

</resolution></issue>



<issue keyword="dynamic-gi" originator="Dr. Ardeshir Bahreininejad" responsible="Mary Holstege" locus="structures" priority="substantive" status="silent" cluster="19 modules" batch="A">

<title>Dynamic element name specification.</title>

<description>

<p>How can XML Schema be used to support dynamic element-type
naming?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0131.html" author="Dr. Ardeshir Bahreininejad"> 

<p>"Dr. Ardeshir Bahreininejad" &lt;bahreininejad@yahoo.com&gt; to XML
Schema Comments list, Wed, 3 May 2000 07:57:59 -0700 (PDT)</p>

<p>I wish to define an element in a schema document where the "name"
of the element is not known. Let's say, the name of the element may be
decided by other parties using the schema for example: </p>

<eg>
&lt;element name="Cat"/&gt;
&lt;element name="Dog"/&gt; 
&lt;element name="????"/&gt; </eg>

<p>where a different user may decide on the ????. How do we define
such dynamic name allocation? </p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0182.html">Formal response</link>.</p>
</resolution>
</issue>


<issue batch="D" cluster="23 constructors" status="ok" priority="substantive" locus="datatypes" responsible="Ashok Malhotra" originator="David Vun Kannon" keyword="union-types">

<title>Disjoint datatypes?</title>

<description>

<p>Should XML Schema be modified to allow the creation of union types?
(Or, less strongly, enumerated types whose value spaces are the
unions of the value spaces of their base types, with the base types
required to have disjoint value spaces.)
</p>

</description> 
 
<references>

<interaction issue="conjunction-types"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0133.html" author="David Vun Kannon"> 

<p>"Vun Kannon, David" &lt;dvunkannon@kpmg.com&gt; to XML Schema
Comments list, Wed, 3 May 2000 12:04:24 -0400 </p>

<p>Can I build a datatype out of pieces that are disjoint? A simple
example might be US_states + Canadian_provinces. Say my schema already
contains declarations of these two enumerations. The new enumeration I
want is the merger of the two. I don't want to extend one with the
members of the other, explicitly written out.
</p>

<p>A more complex case is SQL style datatypes: integer + NULL. Can I
build such a datatype in XSchema? </p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0134.html" author="Ashok Malhotra"> 

<p>petsa@us.ibm.com to XML Schema Comments list, Wed, 3 May 2000
13:12:49 -0400</p>

<p>No, sorry, not in version 1. </p>

<p>You cannot create a type out of the union of disjoint types, say,
integer and string. </p>

<p>You also cannot union two separately declared enumerations. </p>

</input>

</references>


<proposal author="WG">

<p>Discussed at Edinburgh ftf.</p>

<p>This appears to be a narrowing of issue <link
href="#conjunction-types">LC-2</link> which the task force will look
at.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0120.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0133.html">David Vun Kannon</link> replies that this looks
satisfactory at first blush.</p>
</proposal>
</issue>


<issue keyword="help" originator="Asir S Vedamuthu" locus="structures" clause="5.11" priority="substantive" status="silent" cluster="07 typedecl" batch="A" responsible="Henry Thompson*">

<title>Clarify Structures 5.11 Complex Type Definition Constraints -
Type Derivation OK</title>


<description>

<p>Can the rules defining the Constraint on Schemas "Type Derivation
OK (Complex)" be clarified?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0136.html" author="Asir S Vedamuthu"> 

<p>"Asir S Vedamuthu" &lt;asirv@webmethods.com&gt; to XML Schema
Comments list, Thu, 4 May 2000 09:59:09 -0400</p>

<p>I am having a hard time to understand - how to evaluate 'The item
type definition is validly derived from the {type definition}'. And,
here is the text from the spec,
http://www.w3.org/TR/xmlschema-1/#coss-ct </p>

<p>"Constraint on Schemas: Type Derivation OK (Complex) </p>

<p>A complex type definition (call it D, for derived) is validly
derived from a type definition (call this B, for base) given a subset
of {extension, restriction} if: </p>

<ulist>

<item>1.1 The {derivation method} of D is not in the subset, or in the
{final} of its {base type definition};</item>

<item>1.2 Either</item>

<item>1.2.1 They are the same type definition; or </item>

<item>1.2.2 B is the {base type definition} or </item>

<item>1.2.3 the {base type definition} is not the ur-type definition
and is validly derived from B given the subset as defined by this
constraint (if the {base type definition} is complex) or validly
derived from B given the subset unioned with {list} as defined in Type
Derivation OK (Simple) (&sect;5.12) (if the {base type definition} is
simple)."</item>

</ulist>

<p>Please help me understand (maybe an example) &amp; I greatly
appreciate your help. </p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0094.html">Formal response to commentator</link>.</p>

</input>

</references>


</issue>


<issue batch="A" cluster="19 modules" status="silent" priority="substantive" locus="structures" responsible="Sperberg-McQueen" originator="Jane Hunter" keyword="xml-lang">

<title>Use of xml:lang</title>

<description>

<p>Does <emph>xml:lang</emph> need to be declared / imported like any
other attribute? If so, where is the <emph>xml</emph> namespace?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0138.html" author="Jane Hunter"> 

<p>Jane Hunter &lt;jane@dstc.edu.au&gt; to XML Schema Comments list,
Fri, 05 May 2000 09:54:28 +1000</p>

<p>We're using XML Schema within MPEG-7 to define descriptions of
audiovisual content. Certain descriptive elements have a language
attribute. For consistency, we'd like to use the <emph>xml:lang</emph>
attribute.
</p>

<p>Does this need to be declared like any other attribute for the
elements to which it applies? For example: </p>

<eg>
&lt;complexType name="FrameAnnotation"&gt;
     &lt;element name="Who" type="string" minOccurs="0"/&gt;
     &lt;element name="What" type="string" minOccurs="0"/&gt;
....
     &lt;attribute ref="xml:lang"/&gt;
&lt;/complexType&gt;
</eg>

<p>I assume that we also need to import the xml namespace? If so,
where is this located? </p>

</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0139.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
05 May 2000 09:07:59 +0100</p>


<p>There is an example of this in the schema for schemas [1] itself,
which also uses xml:lang. </p>

<p>Short answer, it's at the XML namespace URI, i.e.
<code>http://www.w3.org/XML/1998/namespace</code> </p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0031.html">Formal response to commentator</link>.</p>
</resolution>

</issue>



<issue batch="D" cluster="10 openness" status="silent" priority="substantive" clause="2.2.2.2" locus="structures" responsible="Henry Thompson, Ugo Corda*" originator="Curt Arnold" keyword="equivclass">

       
<title>equivClass: common ancestor type</title>


<description>

<p>Should the structures spec be modified by dropping the rule that
all element types in an equivalence class must be declared as having
types which are derived from the type of the exemplar of the
equivalence class?
</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0140.html" author="Curt Arnold"> 

<p>Curt Arnold &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list, Fri, 5 May 2000 00:05:30 -0500</p>

<p>Section 2.2.2.2 </p>

<p><emph>All such members must have type definitions which are either
the same as the exemplar's type definition or restrictions or
extensions of it. Therefore, although the names of elements can vary
widely as new namespaces and members of the equivalence class are
defined, the content of member elements is strictly limited according
to the type definition of the equivalence class exemplar</emph> </p>


<p>This implies that the justification for the constraint is somehow
related to simplification of validation because content is strictly
limited.... </p>

<p>However, this "limitation" is circumventable by creating an
abstract examplar with a minimal type such as empty. </p>

<eg>
&lt;complexType name="empty"/&gt;

&lt;element name="resourceDefRef" abstract="true" type="empty"/&gt;

&lt;element name="resource" equivClass ="resourceDefRef"&gt;
    &lt;complexType base="empty" content="mixed"&gt;
            &lt;any maxOccurs="unbounded" minOccurs="0"/&gt;
    &lt;/complexType&gt;
&lt;/element&gt;

&lt;elementType name="resourceRef" equivClasss="resourceDefRef"&gt;
    &lt;complexType base="empty"&gt;
        &lt;attribute name="href" type="uriReference"/&gt;
    &lt;/complexType&gt;
&lt;/elementType&gt;
</eg>

<p>By which we have created an <emph>equivClass</emph> with two
members that are about as structurally dissimilar as possible. I think
it is a good thing to be able to do that since it should be common, as
in this example, that logically equivalent things have radically
different XML representation. </p>

<p>But then why go through the hoops of manufacturing a common
ancestor type? I have a guess that it is so that
<code>final='restriction'</code> or <code>final='extension'</code>
makes sense, but that I think that is putting the cart before the
horse. </p>

<p>Like the concept of interfaces in OOP, <emph>equivClass</emph>'s
reason for being is to allow structurally dissimilar but conceptually
similar items to be substitutable. Interfaces do not make any demands
on the structure of the implementing class and one class may support
many interfaces. </p>

<p>I would strongly recommend that: </p>

<ulist>

<item>a) the restriction on <emph>equivClass</emph> members having a
common ancestor type be removed.</item>

<item>b) that the <emph>final</emph> attribute of
<emph>&lt;element&gt;</emph> be a boolean. A value of
<code>true</code> would inhibit the use of the element as an
exemplar.</item>

<item>c) that the <emph>equivClass</emph> attribute of
<emph>&lt;element&gt;</emph> become a list of QNames.</item>

</ulist>

<p>I believe this would simplify schema authoring by eliminating the
manufacturing of common ancestor classes, would simplify schema
validation by eliminating the need to ensure common ancestor classes
and would be consistent with the use of interfaces in OOP. </p>

</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-08.</p>

<p>The WG discussed the current rule that all members of an
equivalence class (or 'substitution class', as the chair suggested
calling it instead) must have types derived from the exemplar of the
class. In favor of retaining it, WG members noted
that</p>

<ulist>

<item>when schema authors extend anything, it is useful if they
specify the invariant which governs the class; this is conveniently
captured by specifying the type of the exemplar</item>

<item>if the invariant is simply 'all members of the class must be
elements', then the schema author can assign the urtype to the
exemplar -- so the rule does no harm to those who do not need it, and
does good to all by ensuring that the schema is relatively explicit
about the invariants</item>

</ulist>

<p>The WG also observed in passing that in some cases, eliminating
the rule might make it easier to mix in new element types (e.g.  when
internationalizing a schema) -- the set of cases affected seemed too
limited to be compelling.</p>

<p><b>RESOLVED</b> without dissent: to retain the status quo in this
area.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0097.html">Formal response to commentator</link>.</p>

</resolution></issue>



<issue keyword="hexadecimal" originator="Doug Ransom" responsible="Frank Olken" locus="datatypes" priority="substantive" status="silent" cluster="04 numeric" batch="D">

<title>Allow hex notation for integers?</title>

<description>

<p>Should hexadecimal notation be allowed for numbers (at least for
integer and non-negative integer)?
</p>

</description> 

 
<references>

<interaction issue="decimal-point"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0142.html" author="Doug Ransom"> 

<p>Doug Ransom &lt;Doug_Ransom@pml.com&gt; to XML Schema Comments
list, Fri, 5 May 2000 11:53:52 -0700 </p>

<p>I think would be very unfortunate if Integer and NonNegative
integer could not have hex lexical structure. i.e. 0xffaa00bb instead
of 4289331387. </p>

<p>Binary is really inapprpriate for this -- people often want to
represent numbers as hex (i..e HTML colours). </p>

</input>

</references>


<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>The general tide of comments has run against allowing multiple
lexical forms for the same type, even to the point that some comments
criticize the decision to allow leading zeroes for integers. So the WG
believes this would not be a wise change.</p><p>In discussions of
issue <link href="#non-gregorian-dates">LC-21</link>, a proposal have
been made for a built-in abstract type corresponding to each of the
major existing built-in types, to allow derivation of types which
share a value space with the existing built-in type but use a
different lexical form.  If we adopt that proposal as a general thing,
then schema authors could specify hex notation for integers, though
schema processors would not be required to understand the mapping from
lexical form to value.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0108.html">Formal response to commentator</link>.</p>
</resolution></issue>


<issue batch="A" cluster="19 modules" status="silent" priority="substantive" locus="structures" responsible="David Ezell*" originator="gmacri@libero.it" keyword="ns-and-schemaloc">

<title>Clarifying schema location and namespace</title>

<description>

<p>How does a system know which schema to search for a declaration of
an element in a particular namespace?</p>

</description> 

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0143.html" author="gmacri@libero.it"> 

<p>"gmacri@libero.it"&lt;gmacri@libero.it&gt; to XML Schema Comments
list, Sat, 6 May 2000 14:20:01 +0200</p>

<p>In this example there are three declarations of namespace and two
declaration of schemalocation that are independent. </p>

<eg><![CDATA[
<Library 
  xmlns:book  ="http://www.somewhere.org/Book" 
  xmlns:person="http://www.somewhere-else.org/Person" 
  xmlns:xsi   ="http://www.w3.org/1999/XMLSchema/instance" 
  xsi:schemaLocation="http://www.somewhere.org/Examples 
    http://www.somewhere.org/Examples/Book.xsd 
    http://www.somewhere-else.org/Person 
    http://www.somewhere-else.org/Person/Person.xsd">
 <BookCatalogue>
  <book:Book>
  <book:Title>Illusions The Adventures of a Reluctant 
    Messiah</book:Title> 
  <book:Author>Richard Bach</book:Author> 
  <book:Date>1977</book:Date> 
  <book:ISBN>0-440-34319-4</book:ISBN> 
  <book:Publisher>Dell Publishing Co.</book:Publisher> 
  </book:Book>
]]></eg>

<p>When I analyze this document with an application (automatically),
how I can understand that, for example, for "Book" element I must
search it in the schema "Book.xsd" and not in "Person.xsd", to verify
the validity of this document? </p>

</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0144.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
08 May 2000 08:58:58 +0100</p>


<p>The above document is just fine even if it doesn't in itself
provide the answer to your question for a processor. The &lt;Book&gt;
element is in the {<code>http://www.somewhere.org/Book</code>}
namespace, for which no schema document is identified explicitly in
the value of <emph>xsi:schemaLocation</emph>. That doesn't mean the
document is not schema valid. Note also that the document element
(<emph>&lt;Library&gt;</emph>) is not in any namespace, and no schema
is provided explicitly (with
<emph>xsi:noNamespaceSchemaLocation</emph>) for that element either.
</p>

<p>But there are at least two other ways schema components for these
elements might be found: </p>

<olist>

<item>The schema documents
<code>http://www.somewhere.org/Examples/Book.xsd</code> and
<code>http://www.somewhere-else.org/Person/Person.xsd</code> might
<emph>&lt;import&gt;</emph> schemas with appropriate target namespaces
(that is, <code>http://www.somewhere.org/Book</code> and none, for
<emph>&lt;Book&gt;</emph> and <emph>&lt;Library&gt;</emph>
respectively); </item>

<item>The user who invokes schema validation may supply such schemas,
either in the form of schema documents, or in some
application-specific built-in form. </item>

</olist>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0332.html">Formal response to commentator</link>.</p>
</resolution>

</issue>



<issue keyword="xpath-query" originator="gmacri@libero.it" locus="structures" priority="substantive" status="silent" cluster="20 keys" batch="A" responsible="Jonathan Robie*">

<title>XPath expressions in key definitions</title>

<description>

<p>Can a key contain fields which lie outside the element identified
by the selector?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0145.html" author="gmacri@libero.it"> 

<p>"gmacri@libero.it"&lt;gmacri@libero.it&gt; to XML Schema Comments
list, Mon, 8 May 2000 14:24:33 +0200</p>

<p>In this example there is a definition of a key: </p>

<eg>
&lt;xs:element name="car"&gt;
   &lt;xs:complexType model="empty"&gt;
    . . .
    &lt;xs:attribute name="regRef" type="dt:integer"/&gt;
    &lt;xs:attribute name="regState" type="twoLetterCode"/&gt;
   &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;
 &lt;/xs:complexType&gt;

 &lt;xs:key name="carRef" &gt;
  &lt;xs:selector&gt;.//car[@regRef]&lt;/xs:selector&gt;
   &lt;xs:field&gt;@regRef&lt;/xs:field&gt;
   &lt;xs:field&gt;@regState&lt;/xs:field&gt;
 &lt;/xs:keyref&gt;
&lt;/xs:element&gt;
</eg>

<p>If I want to define a key similar to the key defined above,  can I
use as content of &lt;field&gt; a name of element that is  not a
descendant of "car" but is a name of an element that is,  for
instance, the child of an ancestor of car?</p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0146.html" author="Henry Thompson"> 

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list,
08 May 2000 14:52:50 +0100</p>

<p>Yes. As the spec. says [1], the things picked out by &lt;field&gt;
are not constrained to lie within the element picked out by
&lt;selector&gt;, and no other constraint as to locality is imposed.
</p>

<p>[1] <link
href="http://www.w3.org/TR/xmlschema-1/#Identity-constraint_Definition_details">http://www.w3.org/TR/xmlschema-1/#Identity-constraint_Definition_details</link>

</p>

</input>

</references>


</issue>


<issue keyword="particles" originator="Michael K Smith" locus="structures" clause="3.8" priority="substantive" status="silent" cluster="ed-str" batch="C">

<title>Suggested rewording in '3.8 Particle Details'</title>

<description>

<p>Should the wording in Structures 3.8 be changed for clarity?</p>

</description> 
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0147.html" author="Michael K Smith"> 

<p>"Smith, Michael K" &lt;michael.smith@eds.com&gt; to XML Schema
Comments list, Mon, 8 May 2000 13:59:09 -0500 </p>

<p>In '3.8 Particle Details': </p>

<p>The 'either' preceding paragraphs 1.1.1 through 1.1.3 (see below)
and 1.2 is confusing. It initiallly appears that 1.1.1 through 1.1.3
are modified by the 'either', while upon further reading they must be
joined by an implicit 'and' and the 'either' relates the implicit 1.1
to 1.2. I don't know what the best solution to this might be, perhaps
parenthesis or an explict 1.1 with an 'and' conjoining its children.
Perhaps your notational introduction explained this, but I didn't see
it. </p>

<p><emph>A sequence (possibly empty) of element information items is
schema-valid with respect to a particle if either</emph></p>

<p><emph>1.1.1 The length of the sequence is greater than or equal to
the {min occurs};</emph></p>

<p><emph>1.1.2 If {max occurs} is a number, the length of the sequence
is less than or equal to the {max occurs};</emph></p>

<p>One aspect of this separation of 1.1.1 and 1.1.2 that seems less
than optimal is that it makes it easy to define a schema that cannot
be satisfied. E.g. minOccurs = 2 and maxOccurs = 1. (Such schemas
might be generated mechanically, say from database entries.) Whereas
if 1.1.1 and 1.1.2 were combined we could at least have a schema that
could be satisfied by instances that did not contain the excluded
element. </p>

<p>1.1.1 Let <emph>range</emph> = [{min occurs}...{max occurs}]. If
<emph>range</emph> is empty then the sequence must be empty, otherwise
the length of the sequence must be contained in the range. </p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0069.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="wildcard" originator="achille@us.ibm.com" locus="structures" priority="substantive" status="silent" cluster="14 attldecl" batch="A" responsible="Chuck Campbell">

<title>Help on Wildcard</title>

<description>

<p>How does a schema author indicate that a complex type can have any
namespace-qualified attribute, regardless of the namespace?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0150.html" author="achille@us.ibm.com">

<p>
In section 3.9, it is explained that: "the {namespace constraint}
property (for a wildcard) provides for validation of elements that: 3.
(<emph>not</emph> and absent} are namespace qualified."
</p>

<p>
I assume that it is also true for attribute wildcard.  I look at the
XML representation of Wildcard  and it does not seem obvious how to
express something like " any attribute with qualified namespace".
Maybe the XML representation of wildcard should allow something like
<code>&lt;any namespace="##qualified"/&gt;</code> (and for Attribute
wildcard  <code>&lt;anyAttribute namespace="##qualified"/&gt;</code>)
which will correspond to the {namespace constraint} =
(<emph>not</emph> and absent).
</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0213.html">Formal response</link>.</p>
</resolution>

</issue>


<issue keyword="microparsing" originator="Anders W. Tell"
priority="substantive" locus="both" cluster="03 constructors"
batch="D" status="nok" responsible="David Ezell">

<title>Suggestion: Microparsing support in XML Schema</title>

<description>

<p>Should XML Schema be modified to allow the definition of abstract
information models, together with rules for encoding the information
either as elements or as strings (for use as attribute values)?
</p>

</description>

 
<references>

<interaction issue="simple-records">

</interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0151.html" author="Anders W. Tell">

<p>
Anders W. Tell (&lt;anderst@toolsmiths.se&gt;) to  WWW XML Schema
Comment list on Wed, 10 May 2000 09:47:27 +0200
</p>


<p>Problem:</p>

<p>
A common phenomena which now and then surfaces in the markup world is
the occurrence of what some authors call "Micro-parsing". This is the
situation when Schema writers define that a XML attribute should
contain structured information and therefore creates a need for
customized parsers, hence the above term.
</p>

<p>
Two examples are
</p>

<ulist><item>XPath expression in XSL:
<code>match="/cars/car[@name='volvo']"</code></item>

<item>Path in SVG:  <code>&lt;path d="M 100 100 L 140 100 L 120 140
z"/&gt;</code></item>

</ulist>

<p>
Is this not a paradox? A markup language which cannot be used for
markup anymore? Of course all markup languages have a limit and maybe
XML's limit have been reached.
</p>

<p>
Why:
</p>

<p>What are the reasons for encoding complex information in a single
attribute ?
</p>

<p>The reason I have seen are sofar are:</p>

<ulist>

<item>compression, produces smaller XML streams  (SVG
paths,...)</item>

<item>usage of attribute strings for readability (XPath
expressions.,,,)</item>

<item>usage of attribute strings for compactness (XPath
expressions,...)</item>

<item>...</item>

</ulist>


<p>
The following suggestions is an attempt to "internalize" these
encoding scenarios, to capture as much as possible of the encoding
information inside XML Schemas instead of relying on externally
created and managed documentation.
</p>

<p>
Another side effect of the proposal is that it's now possible to have
DOM access to structured attributes as if they were XML element
encoded.
</p>

<p>
For Grove enthusiasts it is also possible to view (with a little
effort ;)) attributes as hierarchical nodes.
</p>

<p>
So here goes...
</p>

<p>
<b>Solution:</b>
</p>

<p>
First a few initial short definitions:
</p>

<p>
<b>Encoding "Stereotype"</b> &lt;=&gt; something that should be
encoded, is defined by a information model which may be defined in
terms of one or more information items (nodes/properties,...).
</p>

<p>
<b>Encoding "Form"</b> &lt;=&gt; principles for how nodes/properties
in an Stereotype's information model must be encoded as a strings or
XML elements. (the following suggestion implies two forms, one for
attribute encoding and one for XML element encoding)
</p>

<p>
<b>"Attribute-Micro-Parser"</b> &lt;=&gt; A software artifact which
encodes and decodes XML attribute strings to/from XML elements.
</p>


<ulist>

<item>Add new XML Schema data type which represents "MicroParsed"
attribute values. Make it a subtype of "string" with all its facets.
Schema writers can now derive their own MicroParsed data types, one
for each stereotype they want to encode as attribute.
</item>

<item>In this new data type add a reference to a complexType. This
referenced schema defines how to encode the contents (information
model) of the attribute string ("attribute form") as an XML element
tree ("element form"). Note: Maybe this reference should be a new
facet for the string data type. Note: With this design it is possible
to encode the same stereotype as either XML attribute string or XML
element tree in documents.
</item>

<item>In this new data type add a reference to the attribute's "form
specification", i.e. where to find more information on how to
construct attribute strings from the underlying information model.
</item>

<item>All available information in the stereotypes information model
<emph>must</emph> be encoded in the "element form" and the information
encoded in the "attribute form" <emph>must</emph> be a "subset" of the
information encoded in the element form's encoding (similar to
applying a grove plan before encoding as attribute). The "element
form" is considered a "complete" encoding form (contains all
information in the information model).
</item>

<item>Information set: Add an extra optional property to attribute
information item. property: "parsed"
sequence&lt;element-info-item[zero or one]&gt;
</item>

<item>Recommend that all Schema authors first create an information
model for the stereotype then create encoding "form"s for the primary
XML element encoding form and last the corresponding XML attribute
strings form.
</item>

<item>DOM framework: Create a new software artifact called
"DOMAttributeMicroParser"
</item>

</ulist>

<eg>
interface DOMAttributeMicroParser {
    readonly  attribute string  name;
    readonly  attribute string  namespace;

    /* parse attribute string and create the corresponding element tree */
    long      parse(in DOMAttribute from, out DOMElement to);

    /* Traverse the element tree and create corresponding attribute
       string expression */
    long      construct(in DOMElement from, out DOMAttribute to);
};
</eg>

<ulist><item>
DOM framework [Optional]: Create a subclass to DOM Attribute called
"DOMParsedAttribute"
</item>

</ulist>

<eg>
interface DOMParsedAttribute : DOMAttribute {
     attribute DOMElement  fParsed;  /* parsed attribute */
};
</eg>

</input>

</references>

<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>The consensus of the Working Group is that this would not be a wise
change to the language.  It amounts to an invitation to reinvent the
SGML features DATATAG and SHORTREF features.  It is our conviction
that XML is a useful language for structured information, and if it is
desired to make the internal structure of information explicit, XML
may usefully be applied to the problem. </p>

<p>There is also no clear upper boundary on the complexity to be
required of a microparser:  if it can handle simple patterns, then why
not regular languages?  If it can handle regular languages, then why
not context-free languages?</p>

<p><link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0112.html">Formal
response to commentator</link> (originally sent 12 July 2000).
Commentator not persuaded.  <link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0113.html">Followup</link>.</p>

</resolution>

</issue>


<issue keyword="duration-restricting" originator="Michael Anderson" locus="datatypes" priority="substantive" status="unassigned" cluster="01 facets" batch="A" responsible="Lew Shannon">

<title>Restricting Facets</title>


<description>

<p>Can a schema author constrain values of the time-duration type to
be measured only or at most in days?  (E.g. by using the
<emph>pattern</emph> facet?)  Also:  must all values which match the
<emph>pattern</emph> facet be members of the value space of the base
type?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0152.html" author="Michael Anderson &lt;michael@research.canon.com.au>">

<p>Michael Anderson &lt;michael@research.canon.com.au&gt; to XML
Schema Comments list (and xml-dev) on Wed, 10 May 2000 11:01:32 +1000
</p>

<p>
Is it possible to define a new simple type to constrain the pattern of
a time duration so that duration can at most be measured in days.  For
instance,
</p>

<eg>
  &lt;xsd:simpleType name="MyTimeDuration"
                  base="xsd:timeDuration"&gt;
      &lt;xsd:pattern
       value="-?P(\d+D)?(T(\d+H)?(\d+M)?(\d+(\.\d+)?S)?)?" /&gt;
  &lt;/xsd:simpleType&gt;

</eg>

<p>
According to the XML Schema working drafts, the <emph>pattern</emph>
facet is allowed for <emph>timeDuration</emph>.  My interpretation is
that any pattern facet, once specified for a subtype of the
timeDuration type, can further restrict the format of
<emph>timeDuration</emph> provided that it is still of a valid
<emph>timeDuration</emph> format.  Is this correct?  Furthermore does
the parser need to check this? ie check that the pattern of
<emph>MyTimeDuration</emph> is indeed still a valid pattern for
timeDuration.
</p>

<p>Cheers,

    Michael.

</p>

</input>

</references>

</issue>


<issue keyword="XML-Signature" originator="Joseph M. Reagle Jr." locus="both" priority="substantive" status="ok" cluster="requirements" batch="A" responsible="Sperberg-McQueen">

<title>XML Signature WG's review of XML Schema</title>


<description>

<p>The XML Schema language suffices to meet the requirements of XML
Signature.  In particular, the content types (mixed, empty,
elementOnly, textOnly) and the wildcard facility are useful.</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0153.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Wed, 10 May 2000 12:48:18 -0400
</p>

<p><link
href="http://www.w3.org/Signature/2000/05/03-schema-review.html">
http://www.w3.org/Signature/2000/05/03-schema-review.html</link>
</p>

<p>
The XML Signature WG thanks the XML Schema WG for their work and the
opportunity to review the last call Working Draft [1].  This comment
does not address the ease of implementation but only whether the
functionality as specified meets our requirements. To that end, the
last call specification easily meets our requirements. In particular,
the content types (elementOnly | empty | mixed | textOnly) and the
Wildecard Schema Component &lt;ANY/&gt; are very useful for dealing
with mixed content scenarios which are common to the signature domain.
In time, the type extension capabilities might be a useful feature in
constructing other cryptographic (key and certificate) syntaxes but we
are presently not employing these typing features.
</p>

<p>
Since the XML Signature specification should enter the W3C
Recommendation and IETF Standard tracks soon, we ask that the schema
WG give priority to the need for a stabilized syntax and for
expediently advancing the schema specification towards Recommendation.
</p>

<p>
Joseph Reagle, on behalf of the XML Signature WG
</p>

<p>[1]</p>

<ulist>

<item>http://www.w3.org/TR/2000/WD-xmlschema-0-20000407/</item>

<item>http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/</item>

<item>http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/</item>

</ulist>



</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0033.html">Formal response to commentator</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0037.html"></link> replies
"The decision is acceptable though as stated I need a little more help in 
understanding its effects."</p>
</resolution>
</issue>


<issue keyword="stable-syntax" originator="Joseph M. Reagle Jr." priority="substantive" locus="both" status="ok" cluster="requirements" batch="A" responsible="Sperberg-McQueen">

<title>Please stabilize syntax</title>


<description>

<p>Please give priority to stabilizing the syntax of XML Schema, and
to speed in completing the Recommendation.</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0153.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; (on behalf of XML
Signature WG) to XML Schema Comments list on Wed, 10 May 2000 12:48:18
-0400
</p>

<p>
   Since the XML Signature specification should enter the W3C
   Recommendation and IETF Standard tracks soon, we ask that the schema
   WG give priority to the need for a stabilized syntax and for
   expediently advancing the schema specification towards Recommendation.
</p>


</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0033.html">Formal response to commentator</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0037.html"></link> replies
"The decision is acceptable though as stated I need a little more help in 
understanding its effects."</p>
</resolution>
</issue>


<issue keyword="clarify-components" originator="Joseph M. Reagle Jr." locus="structures" clause="2.2" priority="substantive" status="silent" cluster="08 complexity" batch="C">

<title>Restructure Structures 2.2.*, or define components?</title>

<description>

<p>Should short definitions of the twelve types of components be
added, for clarity and to assist readers?  Should there be a clearer
correspondence between the types of components and the headings in
section 2.2?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0154.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Wed, 10 May 2000 12:48:14 -0400
</p>


<p>

<b>2.2 <link href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#concepts-data-model">XML Schema Abstract Data Model</link></b></p>

<p>
I could understand this chapter better if the 12 components listed
somehow corresponded more closely to the 2.2.* section headings.
Perhaps, a quick definition on each of the 12 components, or a move
away from the "primary" and "secondary" and "helper" designations
(towards others) if those terms aren't substantively used elsewhere. 
</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0080.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="prefix-consistency" originator="Joseph M. Reagle Jr." locus="both" priority="substantive" status="silent" cluster="08 complexity" batch="C">

<title>Reagle's comments on XML Schema</title>


<description>

<p>Should the examples in the spec use consistent prefixes (e.g. to
make relevant examples easier to find with grep)?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0154.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Wed, 10 May 2000 12:48:14 -0400
</p>

<p><b>Namespace Prefixes</b></p>

<p>
When trying to understand the specifications, I frequently found
myself bouncing between the primer, structures, and datatypes
documents, frequently using find or grep facilities to find bits of
examples. Using a consistent namespace prefix (xs: or xsd:) through
all documents would be helpful. 
</p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0080.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="xsi-xsd-names" originator="Joseph M. Reagle Jr." locus="both" priority="substantive" status="silent" cluster="08 complexity" batch="C">

<title>Clear relation of <emph>xsi</emph> and <emph>xsd</emph> namespaces</title>


<description>

<p>Should the instance (<emph>xsi</emph>) namespace be more clearly
related to the schema (<emph>xsd</emph>) namespace?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0154.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Wed, 10 May 2000 12:48:14 -0400
</p>

<p><b>2.6 <link
href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#Instance_Document_Constructions">Schema-Related
Markup in Documents Being Schema-Validated</link></b>
</p>

<p>
Could the Schema Instance namespace somehow relate to the Schema
namespace? For instance, I'd find it easier to understand who defined
the schema instance namespace with something like:</p>

<ulist>

<item><code>http://www.w3.org/1999/XMLSchema/Instance</code></item>

<item><code>http://www.w3.org/1999/XMLSchema#Instance</code></item>

</ulist>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0080.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="explicit-schemaloc" originator="Joseph M. Reagle Jr." locus="structures" clause="A" priority="substantive" status="silent" cluster="publication" batch="C">

<title>Make schema and DTD locations more explicit?</title>

<description>

<p>Should the DTD and schema for schemas be modified to make the
system identifiers used more explicit (e.g. by using absolute URIs
instead of relative URIs)?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0154.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Wed, 10 May 2000 12:48:14 -0400
</p>

<p><b>Appendix A <link
href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#normative-schemaSchema">(normative)
Schema for Schemas</link></b>
</p>

<p>
It would be useful for XML declarations to include more explicit
declarations of DTD and schema locations. For instance: 
</p>

<eg>
     &lt;xml version='1.0'?&gt;
     &lt;!-- XML Schema schema for XML Schemas: Part 1: Structures --&gt;
     &lt;!DOCTYPE schema
       PUBLIC "-//W3C//DTD XMLSCHEMA 19991216//EN" 
       "http://www.w3.org/1999/XMLSchema.dtd"&gt;

     &lt;schema xmlns="http://www.w3.org/1999/XMLSchema" 
       targetNamespace="http://www.w3.org/1999/XMLSchema" 
       blockDefault="#all" elementFormDefault="qualified" 
       version="Id: XMLSchema.xsd,v 1.1 2000/04/06 13:51:05 aqw Exp"
       xsi:schemaLocation ="http://www.w3.org/1999/XMLSchema.xsd" &gt;
</eg>

<p><b>Defaults</b></p>

<p>
The more explicit representation of default values in schema component
definitions is useful. However, the many varied defaults can still be
confusing, perhaps this could be simplified, or a table could be
provided that includes all default values. 
</p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0080.html">Formal response to commentator</link>.</p>
</resolution>
</issue>



<issue keyword="defaults" originator="Joseph M. Reagle Jr." locus="both" priority="substantive" status="silent" cluster="publication" batch="C">

<title>Simplify default values, or document better</title>

<description>

<p>Should the calculation of default values for properties of schema
components be simplified?  (Alternatively, should a table showing
<emph>all</emph> default values and the conditions under which they
apply be provided?)</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0154.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Wed, 10 May 2000 12:48:14 -0400
</p>

<p><b>Defaults</b></p>

<p>
The more explicit representation of default values in schema component
definitions is useful. However, the many varied defaults can still be
confusing, perhaps this could be simplified, or a table could be
provided that includes all default values. 
</p>

</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0080.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="ns-primer" originator="Joseph M. Reagle Jr." locus="primer" clause="3" priority="substantive" status="silent" cluster="08 complexity" batch="C">

<title>Clearer guidelines in Primer section 3?</title>

<description>

<p>Should Primer section 3 be revised to provide simpler, more
explicit guidelines for schema authors (in cookbook style)?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0154.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">

<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Wed, 10 May 2000 12:48:14 -0400
</p>

<p><b><link
href="http://www.w3.org/TR/2000/WD-xmlschema-0-20000407/#NS">3.
Advanced Concepts I: Namespaces, Schemas &amp;
Qualification</link></b>
</p>

<p>
This topic (not necessarily the exposition) is difficult to comprehend
with respect to both comprehending the concepts and as a potential
source of validation errors in instances I create. Perhaps some
guidelines such as, "If you want to create an instance that has no
prefixes in children elements then X; if you want to create an
instance ... Y" so readers can easily jump-start their own schema
writing. 
</p>


</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0080.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="determinism" originator="Bob Schloss" locus="structures" priority="substantive" status="silent" cluster="12 content-models" batch="A" responsible="Henry Thompson">

<title>Determinism and Choices of Sequences</title>

<description>

<p>Some aspects of the Unique Particle Attribution (determinism)
constraint appear to need clarification.</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0155.html" author="Bob Schloss">


<p>Bob Schloss &lt;rschloss@us.ibm.com&gt; to XML Schema Comments list
on Wed, 10 May 2000 19:42:22 -0400</p>

<p>
My understanding is that Unique Particle Attribution constraint is so
that parsers do not have to lookahead.
</p>

<p>
If I define a complex type as follows:
</p>

<eg>
&lt;xsd:complexType name="ChoiceOfSequences1"&gt;
  &lt;xsd:choice&gt;
     &lt;xsd:sequence&gt;
         &lt;xsd:element name="a" type="typeOfA"/&gt;
         &lt;xsd:element name="b" type="typeOfB"/&gt;
         &lt;xsd:element name="d" type="typeOfD"/&gt;
      &lt;/xsd:sequence&gt;
      &lt;xsd:sequence&gt;
          &lt;xsd:element name="a" type="typeOfA"/&gt;
          &lt;xsd:element name="c" type="typeOfC"/&gt;
      &lt;/xsd:sequence&gt;
    &lt;/xsd:choice&gt;
  &lt;/xsd:complexType&gt;
</eg>

<p>is this permitted (a legal type definition)?</p>

<p>
I could imagine the answer is yes, because a parser doesn't have to
look ahead during parsing.
</p>

<p>
I could imagine the answer is no in the case where the equivalence
classes of  c  and of   b   are not completely independent, but only
because the first sequence requires that  d  follow  b.
</p>

<p>
If this second thought is the one intended by the working group,
shouldn't Structures appendix E say something about this under 'Unique
Particle Attribution'?
</p>

<p>
Here is a different case:
</p>

<p>If I define a complex type as follows:
</p>

<eg>&lt;xsd:complexType name="ChoiceOfSequences2"&gt;
  &lt;xsd:choice&gt;
     &lt;xsd:sequence&gt;
         &lt;xsd:element name="a" type="typeOfA1"/&gt;
         &lt;xsd:element name="b" type="typeOfB"/&gt;
      &lt;/xsd:sequence&gt;
      &lt;xsd:sequence&gt;
          &lt;xsd:element name="a" type="typeOfA2"/&gt;
          &lt;xsd:element name="c" type="typeOfC"/&gt;
      &lt;/xsd:sequence&gt;
    &lt;/xsd:choice&gt;
  &lt;/xsd:complexType&gt;
</eg>

<p>is this permitted (a legal type definition)?
</p>

<p>

Does this depend on whether there is a common parent
type for typeOfA1 and typeOfA2 other than the ur-type?
(Since if there was, and the xsi:type attribute was not used
on the a element in the instance document with a value
of either typeOfA1 or typeOfA2, the parser would have to
look ahead before determining which branch of the choice
was being processed).
</p>

<p>
I think the general problem related to choices (which may
contain choices, which may contain choices) which contain
sequences.
</p>

<p>
Here is a third case:
</p>

<p>If I define a complex type as follows:
</p>

<eg>&lt;xsd:complexType name="ChoiceOfChoices3"&gt;
  &lt;xsd:choice&gt;
     &lt;xsd:choice&gt;
         &lt;xsd:element name="a" type="typeOfA1"/&gt;
         &lt;xsd:element name="b" type="typeOfB"/&gt;
      &lt;/xsd:choice&gt;
      &lt;xsd:choice&gt;
          &lt;xsd:element name="a" type="typeOfA2"/&gt;
          &lt;xsd:element name="c" type="typeOfC"/&gt;
      &lt;/xsd:choice&gt;
    &lt;/xsd:choide&gt;
  &lt;/xsd:complexType&gt;
</eg>

<p>
is this permitted?  I don't think it is, because a choice of choices
is like flattening to one choice, and then there are 2 different types
that can appear with element a.  (Appendix E does rule out this if the
user had it flattened, and in Section 5.7 on model groups, I think
this is covered by Element Declarations Consistent). But this still
seems to me that a "Also see..." in Appendix E should cover this case.
</p>

<p>
I guess I'm asking for clarification of these examples now, and also
that Appendix E be more complete in the next spec working draft.
</p>


</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0149.html">Formal response</link>.</p>
</resolution>
</issue>


<issue keyword="pt1-lesch" originator="Susan Lesch " priority="substantive" locus="structures" batch="C" cluster="misc" status="silent">

<title>Minor comments for WD-xmlschema-1-20000407</title>

<description>

<p>Various editorial suggestions.</p>

</description>
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0156.html" author="Susan Lesch &lt;lesch@w3.org>">


<p>Susan Lesch &lt;lesch@w3.org&gt; to XML Schema Comments list on
Wed, 10 May 2000 19:41:36 -0800
</p>

<p>
 These are just a few minor editorial comments on your Last Call
draft,  <link
href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/"> XML Schema
Part 1: Structures</link> "work in progress." Please  feel free to
ignore or use them as you see fit.
</p>

<p>
In the interest of advancing schemas in practice, perhaps in the 
Abstract or in Introduction section 1, you could identify your 
audience, encourage them, and (like MathML) explain that this is not 
a user's guide for the general public. This specification is 
carefully and beautifully done, but it was a mystery for me on one 
reading, even after reading the Primer.
</p>

<p>
Both Webster's (en-US) and the concise Oxford dictionaries list the 
"z" rather than the "s" form of these words first: normalisation, 
normalised, optimise, standardised, and characterisation. They could 
be changed to z's.
</p>

<p>
The text does not refer to most of the References (Cambridge 
Communique, DCD, DDML, ISO-11404, and so on). I'm not certain they 
need to be there, especially the old URI RFCs.
</p>

<p>
Though I didn't correct this here, apparently the use of "we" is 
frowned on in specifications. I don't yet have a proper reference for 
you. One reason is in the final paragraph of 
http://lists.w3.org/Archives/Public/www-xml-linking-comments/2000JanMa 
r/0079.html which explains that first person English is hard to 
translate.
</p>

<p>
muzmo.com and foo.com are registered domains. You could consider 
using example.com, example.net, and example.org which IANA registered 
for examples. (See RFC 2606 section 3 at 
http://www.ietf.org/rfc/rfc2606.txt.)
</p>

<p><b>Minor typos (quotes are followed by a suggestion)</b></p>

<p>
2.2.1.3 par. 1
with respect to particular simple type &rarr;
with respect to a particular simple type
</p>

<p>
2.2.1.3 par. 2, list items 1 and 3
A restriction &rarr;
a restriction
</p>

<p>
3.4 table - {content type}, and 3.4 par. 11, and 3.13 par. 7
I.e &rarr;
i.e.,
</p>

<p>

3.7 par. 3
{compositor}determines &rarr;
{compositor} determines
</p>

<p>
3.13 par. 11
. therein. &rarr;
.
</p>

<p>
4.3.3 table {content type} 4.4.2.3
the the &rarr;
the
</p>

<p>
5.1 list item 4 has a subheading 4 (that should perhaps be 4.1 or 1).
</p>

<p>
In 5.11, the first sentence is repeated in the third line
</p>

<p>
5.11 note in 1.1.6
It is trivially &rarr;
It is trivial
</p>

<p>
6.3.1 par. 1
mime &rarr;
MIME
</p>

<p>
6.3.2 list item 2 note, and 6.3.2 last par.
recommendation &rarr;
Recommendation
</p>

<p>
B. line 3
The the &rarr;
The
</p>

<p>
B. line 172
exculsive &rarr;
exclusive
</p>

<p>
D.
HTML 4.0 Specification &rarr;
HTML 4.01 Specification
</p>

<p>
RFC 1808,Relative &rarr;
RFC 1808, Relative
</p>

<p>
RFC 1738,Uniform &rarr;
RFC 1738, Uniform
</p>

<p>
RFC 2141,URN &rarr;
RFC 2141, URN
</p>

<p>
XSchema
c/xscspecv4.htm For more &rarr;
c/xscspecv4.htm. For more
</p>


</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0161.html" author="ht@cogsci.ed.ac.uk (Henry S. Thompson)">


<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list
on 11 May 2000 10:23:47 +0100
</p>

<p>
Thanks for your careful reading.
</p>

<p>
Susan Lesch &lt;lesch@w3.org&gt; writes:
</p>

<p>
<emph>These are just a few minor editorial comments on your Last Call
draft, XML Schema Part 1: Structures [1] "work in progress." Please
feel free to ignore or use them as you see fit. </emph></p>

<p><emph>In the interest of advancing schemas in practice, perhaps in
the Abstract or in Introduction section 1, you could identify your
audience, encourage them, and (like MathML) explain that this is not a
user's guide for the general public. This specification is carefully
and beautifully done, but it was a mystery for me on one reading, even
after reading the Primer. </emph></p>

<p>
Good idea.
</p>

<p>
<emph> Both Webster's (en-US) and the concise Oxford dictionaries list
the "z" rather than the "s" form of these words first: normalisation,
normalised, optimise, standardised, and characterisation. They could
be changed to z's. </emph>
</p>

<p>
I'll check my UK dictionary -- as a UK (naturalised :-) speaker, I've
used UK spelling throughout.
</p>

<p><emph>The text does not refer to most of the References (Cambridge
Communique, DCD, DDML, ISO-11404, and so on). I'm not certain they
need to be there, especially the old URI RFCs. </emph>
</p>

<p>
Right.
</p>

<p>
<emph> Though I didn't correct this here, apparently the use of "we"
is frowned on in specifications. I don't yet have a proper reference
for you. One reason is in the final paragraph of <link
href="http://lists.w3.org/Archives/Public/www-xml-linking-comments/2000JanMar/0079.html">http://lists.w3.org/Archives/Public/www-xml-linking-comments/2000JanMar/0079.html</link>
which explains that first person English is hard to translate.</emph>
</p>

<p>
But I hate the academic passive, which is the obvious alternative . . .
</p>

<p>
<emph>muzmo.com and foo.com are registered domains. You could consider
using example.com, example.net, and example.org which IANA registered
for examples. (See RFC 2606 section 3 at  <link
href="http://www.ietf.org/rfc/rfc2606.txt">http://www.ietf.org/rfc/rfc2606.txt</link>.)</emph>
</p>

<p>
Agreed.
</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0066.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="pt1-arnold" originator="Curt Arnold " priority="substantive" locus="structures" cluster="08 complexity" batch="C" status="silent">

<title>Minor part 1 comments</title>

<description>

<p>Various editorial suggestions and requests for clarification.</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0157.html" author="Curt Arnold &lt;carnold@houston.rr.com>">


<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list on Wed, 10 May 2000 23:56:29 -0500
</p>

<p><b>Part 1/Section 3.4</b></p>

<p>
A complex type for which {abstract} is true must not appear as the
{type definition} of an ElementDeclaration...
</p>

<p>
Actually, it would seem that you would allow it, but it would require
that the xsi:type specify a non-abstract type derived from the type
used in the declaration.
</p>

<p><b>Part 1/Section 4.3.7</b></p>

<p>
Wildcards are subject to the same ambiguity....   If an instance element
could match either an explicit particle and a wildcard, or one of two
wildcards, within the content model of a type, that model is in error.
</p>

<p>
If I had version 1.0 of a schema and wanted to create a variant that
would be forward compatible for a processing application (so that the
processing application would accept 1.0 valid documents and later
revisions), I'd be inclined just mechanically add &lt;any&gt; and
&lt;anyAttribute&gt; elements, like:
</p>

<eg>
&lt;!-- definition in 1.0 schema   --&gt;
&lt;complexType name="pipe"&gt;
    &lt;element ref="material" minOccurs="0" maxOccurs="1"/&gt;
&lt;/complexType&gt;

&lt;!--  definition in 1.0+ schema   --&gt;
&lt;complexType name="pipe"&gt;
    &lt;element ref="material" minOccurs="0" maxOccurs="1"/&gt;
    &lt;any minOccurs="0" maxOccurs="unbounded"/&gt;
    &lt;anyAttribute/&gt;
&lt;/complexType&gt;
</eg>

<p>
Unfortunately, this would run into the Unique Particle Attribution issue and
would be in error by my reading.  In this simple case, it is fairly easy to
rewrite the permissive complexType as:
</p>

<eg>
&lt;complexType name="pipe"&gt;
    &lt;any minOccurs="0" maxOccurs="unbounded"/&gt;
    &lt;anyAttribute/&gt;
&lt;/complexType&gt;
</eg>

<p>
However, that could be much more difficult in complex real-life schemas.
Some sort of lower priority for wildcard matches that would allow the first
formulation while avoiding the attribute issue would be beneficial.
</p>

<p><b>Constraint on Schemas: Particle Restriction OK (Elt:Elt - Name
and Type OK)/Point 1.1</b>
</p>

<p>
{nullable} are the same: wouldn't it be a valid restriction if the base type
was nullable and the derived type inhibited xsi:null="true"
</p>

<p>
Section 5.11/Constraint on Schemas: Derivation Valid (Extension)/Point 1.1.2
</p>

<p>
Either I'm reading it wrong, or it is saying that you must fully repeat all
the attributes defined in the base type in the derived type.
</p>

<p><b>Point 1.2.2</b></p>

<p>
So if I have:
</p>

<eg>
&lt;complexType name="base"&gt;
    &lt;anyAttribute/&gt;
&lt;/complexType&gt;

&lt;complexType name="derived" base="base" derivedBy="restriction"&gt;
    &lt;attribute name="value" use="required"/&gt;
&lt;/complexType&gt;
</eg>

<p>
Does this still allow any other attribute to appear, but value is required?
If so doesn't that run into the Unique Particle Attribute issue.
</p>

<p><b>Point 1.3:</b></p>

<p>
Is this saying that if my base type definition has a required attribute, I
have to repeat in a derived by restriction type?
</p>

<p><b>Section 5.12/Constraint on Schemas:Derivation Valid</b></p>

<p>
Point 1.2(.1?) This would seem to disallow adding new facets in the derived
type
</p>

<eg>
&lt;simpleType name="derived" base="xsdt:string"&gt;
    &lt;!--  this facet isn't declared for string   --&gt;
    &lt;pattern value="\d*"/&gt;
&lt;simpleType&gt;
</eg>


</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0095.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="qname-resolution" originator="Curt Arnold " locus="structures" clause="6.2.2" priority="substantive" status="ok" cluster="19 modules" batch="A" responsible="Roger Costello">

<title>Resolution of QNames references</title>

<description>

<p>Should QName resolution seek first in the target namespace for
unqualified names, then in the namespace of simple datatypes? If no
change is made, should the current rules be stated more prominently
(both in Structures and in Primer)? [Uncertain about specifics of
proposal. -MSM]</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0158.html" author="Curt Arnold &lt;carnold@houston.rr.com>">


<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list on Thu, 11 May 2000 00:08:22 -0500
</p>

<p><b>Section 6.2.2: References to schema components across
namespaces</b></p>

<p>
The comments in the example are the only place that I have found that
indicate how unqualified QName references are to be resolved.   From a
usability standpoint, it would be much preferable to that an
unqualified name be first attempted to be located within the target
namespace then with the datatypes (or schema namespace).  This, of
course, would be a more complex resolution than would be used for a
unqualified tagname but seems to be consistent with previous usage.
</p>

<p>
If unqualified names are strictly going to be resolved this way, an
explicit statement should be made prominently in both Primer and Part
1.
</p>


</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0162.html" author="Henry Thompson">

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list
on 11 May 2000 10:26:34 +0100
</p>

<p>
They wouldn't be QNames in the meaning of the word if we did it that
way.  We didn't think it wise to invent a new concept
<emph>almost-QName-but-not-exactly</emph>.

</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0161">Commentator</link> confirms he is satisfied on this
issue ("with proper documentation").</p>
</resolution>

</issue>


<issue batch="D" cluster="19 modules" status="nok" priority="substantive" clause="6.3.2" locus="structures" responsible="Noah Mendelsohn" originator="Curt Arnold " keyword="retro-schemaloc">

<title>Require declaration before use of schema location?</title>

<description>
<p>Should XML Schema require that schema locations be declared before
or above the elements which claim validity according to the schema in
question?</p>
</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0159.html" author="Curt Arnold &lt;carnold@houston.rr.com>">


<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list (and xml-dev) on Thu, 11 May 2000 01:19:19 -0500
</p>

<p><b>Section 6.3.2: Point 4</b></p>

<p>
Having declarations of schemaLocations anywhere in the document having
document scope, of course, seriously complicates event-based
validation.  It would seem reasonable to require that schemaLocations
appear before the need for the corresponding schema information.
</p>


</input>

</references>

<resolution>
<p>Discussed in call of 2000-07-06.</p>
<p>The question is on the commentator's proposal to require that
schemaLoc information appear 'before' occurrences of constructs from
the namespace it relates to.  The three known possibilities are:
</p>
<ulist>
<item>say yes (above)</item>
<item>say yes (above or to the left -- including occurring on the
start-tag were the first such constructs appear)</item>
<item>say no (no change needed)</item>
</ulist>
<p>[Discussion ...]</p>
<p>
<b>RESOLVED</b> unanimously: to make this a priority feedback issue.
</p>

<p>
<b>RESOLVED</b> unanimously: to dispose of issue LC-116 by saying yes,
some such restriction will be added.
</p>
<p>
There was some sentiment for scoping schemaLoc information in the
same way that namespace declarations are scoped (i.e. specifying that
it must occur 'above or in the start-tag of' any use of constructs in
the namespace.  The proponderance of opinion, however, was for
specifying that it must occur above or to the left.
</p>
<p>
<b>RESOLVED</b> unanimously: to require that schemaLoc information, if it
occurs, should appear above or to the left of any use of names from
that namespace.
</p>
<p>
The sense of the word 'require' in the resolution just agreed to
was discussed.  Two formulations were offered:
</p>
<olist>
<item>
The first schemaLoc for a namespace must not be preceded by any
names from that namespace; otherwise it is an error.
</item>
<item>
Any schemaLoc for a namespace which is preceded by any names
from that namespace must be ignored by any conforming processor.
</item>
</olist>
<p>
The second formulation is an attempt to avoid making it an error,
while still making clear that one-pass schemaLoc-aware processing must
be possible.  A straw poll showed a preponderance of support for 
the first formulation.
</p>
<p>
<b>RESOLVED</b> unanimously:  to adopt the first formulation.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/att-0208/00-part">Formal response</link>.</p>
<p>Commentator's <link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0210.html">answer</link>
suggests refinement.</p>
</resolution>

</issue>



<issue keyword="locating-schema-resources" originator="Curt Arnold " locus="structures" clause="6.3" priority="substantive" status="ok" cluster="19 modules" batch="D" responsible="Noah Mendelsohn">

<title>(Locating Schema resources)</title>

<description>

<p>Should the rules for locating schema components be modified to use
public identifiers and otherwise improve the matchup among schemas,
namespaces, and resources?</p>

</description>

 
<references>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0159.html" author="Curt Arnold &lt;carnold@houston.rr.com>">


<p>"Curt Arnold" &lt;carnold@houston.rr.com&gt; to XML Schema Comments
list (and xml-dev) on Thu, 11 May 2000 01:19:19 -0500
</p>

<p>
In general, I think locating schema resources has a couple of serious
deficiencies.
</p>

<p>
First, there is not a one-to-one correspondence between namespaces
and schemas.   For example, the XHTML namespace has three distinct
DTD's associated with it which are distinguished using public
identifiers.  There may also be successive versions of schemas for the
same namespace.
</p>

<p>
Second, a single schema resource may contain many distinct (possibly
tens if not hundreds) namespaces through inclusions. I believe the
typical usage would be to have a single schema resource that would
contain definitions for all the expected namespaces and then,
occassionally, one or more additional schema resources for
unanticipated namespaces.  Having to enumerate all the namespaces that
appear in a mega resource would get very long and prone to error.
</p>

<p>
Third, there is not a conflict resolution mechanism when a namespace
has multiple schema locations are declared either implicitly (through
an import within a schema) or explicitly through a schemaLocation
attribute.
</p>

<p>
Fourth, there is not a mechanism to identify a schema resource to be
used to validate an XML 1.0 (pre-namespace) compatible document.
</p>

<p>
It would seem the best approach would be to use public identifiers
(fortunately having a rebirth of interest on xml-dev) to explicitly
identify a specific schema resource instead of relying on an ambiguous
combination of namespace and namespaceLocation to resolve whether a
particular cached version of a schema is appropriate.
</p>

<p>
What I would suggest is that:
</p>

<olist>

<item><emph>schema</emph> element have  a
<emph>targetPublicIdentifier</emph> attribute in addition to a
<emph>targetNamespace</emph>.</item>

<item><emph>xsi:schemaPublic</emph> be a list of public
identiers</item>

<item><emph>xsi:schemaSystem</emph> be a list of URI's</item>

<item><emph>xsi:defaultNamespace</emph> would identify the  namespace
to be used for unqualified elements. (see note)</item>

<item>A <emph>publicIdentifier</emph> simple type be added  to the
built-in datatypes.</item>

<item>The use of a processing instruction as an alternative mechanism
for specifying schema resources for XML 1.0 compatible documents.
Since these would not involve multiple namespaces or resources, I'd
recommend something like the following to appear before the document
element:
</item></olist>

<eg>
&lt;?xsi:schema defaultNamespace PUBLIC pubid sysid ?&gt;
&lt;?xsi:schema defaultNamespace SYSTEM sysid ?&gt;
</eg>

<p>
When <emph>xsi:schemaPublic</emph> and <emph>xsi:schemaSystem</emph>
appear on the same element, there must be a one to one correspondence
between entries, so that if the second public identifier cannot be
resolved, the second URI could be used to retrieve the resource.  I'm
assuming that there can be an acceptible mechanism for representing a
null public identifier and a null URI.
</p>

<p>
When schema information appears for one namespace in multiple schema
resources, the first appearance would be used for validation.
</p>

</input>


</references>

<proposal author="Sperberg-McQueen">
<p>C. M. Sperberg-McQueen to IG, 5 July 2000</p>
<p>The commentator proposes that we introduce explicit support for public
identifiers into the XML Schema language, and use them to address some
of the puzzles which result from the current fact that any namespace
may be formalized by more than one schema document; HTML is a good
example.
</p>
<p>
I believe there is likely to be consensus in the WG that this is
probably not a good idea.  
</p>
<p>
If I had to provide a rationale, I'd say:
</p>
<ulist>
<item>
Public identifiers have too great an overlap with namespace
names AND with URIs to make for a really comfortable match.
The overlap in function is guaranteed to make every future
proposal to use, or even to define, public identifiers as
controversial and difficult to resolve as past proposals have
been.
</item>
<item>
The proper matchup among namespace names and schema documents is
already complex; adding public identifiers to the mix would not
necessarily simplify things, even if public identifiers were not
controversial.
</item>
<item>
Sufficient unto the day are the evils thereof.  We believe that
schemaLoc and out-of-band methods of distinguishing among the multiple
schema documents for a given namespace provide as good a solution as
is currently available; were we to take on the problems of design and
definition which would be entailed in any attempt to define a role for
public identifiers, we would be unlikely to produce a dramatically
better matchup to the complexities of reality.  We would be almost
guaranteed, however, of expending large amounts of effort in the
process.  We have enough on our plate already.
</item>
</ulist>

</proposal>
<resolution>
<p>Discussed in call of 2000-07-06.</p>
<p>The question is on the commentator's proposal that we add facilities
to relate namespaces and schemas to public identifiers.
</p>
<p>
There was no visible support for the proposal.  
</p>

<p>
<b>RESOLVED</b> unanimously: to respond to the suggestion with a
polite no, giving a rationale which is substantially that outlined in
MSM's message of 5 July.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0209.html">Formal response</link>.</p>
<p>Commentator's 
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0211.html">reply</link>,
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0212.html">second reply</link>, and
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0215.html">third reply</link>.
Net:  he is <link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0249.html">satisfied.</link>
</p>

</resolution>

</issue>


<issue keyword="easy-signable-schemas" originator="Martin J. Duerst " locus="both" priority="substantive" status="silent" cluster="27 i18n-boolean" batch="D" responsible="Ashok Malhotra">

<title>Making it easy to create signable schemas</title>

<description>

<p>...</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0160.html" author="Martin J. Duerst &lt;duerst@w3.org>">


<p>"Martin J. Duerst" &lt;duerst@w3.org&gt; to XML Schema Comments
list on Thu, 11 May 2000 16:53:52 +0900
</p>

<p>
This review deals with the suitability of XML Schema to describe the
constructs used in XML-DSig (Schema/DTD).
</p>

<p>
What is missing, and what I would hope the XML DSig group could
contribute significantly to, is some kind of analysis e.g. with
respect of what potentials and problems XML Schema offers with regards
to describing data that can easily be signed. Two examples:
</p>

<olist>

<item>
Because the 'boolean' datatype has four lexical values (true, false,
1, 0; this is in the spec, no kidding) instead of two lexical values,
that means that additional effort (at least) is necessary if somebody
wants to create a schema for some data containing boolean values.
</item>

<item>
If there is some way to express that elements of the same type have to
appear in a certain order (don't know whether this is in the spec or
not), this will also help to create schemata that can be used to
validate data and then feed that data into XML DSig without any or
without much processing.
</item>

</olist>

<p>
In other words, try to make sure that for appropriately designed XML
Schemas, no additional 'data canonicalization' step is necessary to
sign some data.
</p>

<p>
What do the DSig experts in this group think about such issues?
</p>

</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0166.html" author="Joseph M. Reagle Jr. &lt;reagle@w3.org>">


<p>"Joseph M. Reagle Jr." &lt;reagle@w3.org&gt; to XML Schema Comments
list on Thu, 11 May 2000 13:00:22 -0400
</p>

<p>
At 04:53 PM 5/11/00 +0900, Martin J. Duerst wrote: <emph>Because the
'boolean' datatype has four lexical values (true, false, 1, 0; this is
in the spec, no kidding) instead of two lexical values, that means
that additional effort (at least) is necessary if somebody wants to
create a schema for some data containing boolean values.</emph>
</p>

<p>

Martin, thank you for reminding me about this. I recall you've mentioned
this before and I believe we had an agreement from Michael to do something
about ensuring a consistent lexical representation of data types. I can't
find a URL for that agreement (I think it was sometime last year) but I can
find evidence that the WG was trying to satisfy that requirement (for
floating points at least):
</p>

<p><b>3.2.3 - 3.2.5 Lexical notation of floating-point numbers</b>
[Where the author requested other notations] <emph>This argument was
made by several people but there was a strong sentiment for a single
lexical representation.</emph> <link
href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html">http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0043.html</link>
</p>

<p>
However, I'm not sure to what extent this is a problem (I'm expressing
ignorance, not arguing it isn't). If an XML instance uses '0' that is
signed, is there and expectation that since the schema permits a
'false' as well, intermediary processors would change it? I appreciate
this might happen with character code mappings, but I tend to view
schema's as constraints on permissible values, and not a processor (in
the vein of infoset/C14N/DOM). (For instance, just because a schema
permits an unconstrained string, one wouldn't presume it would change
the string ...?)
</p>

<ulist>

<item><emph>If there is some way to express that elements of the same
type have to appear in a certain order (don't know whether this is in
the spec or not), this will also help to create schemata that can be
used to validate data and then feed that data into XML DSig without
any or without much processing.</emph>.
</item>

</ulist>


<p>
I don't quite follow. Element of the same element type? Can you give
an example?
</p>


</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0172.html" author="Martin J. Duerst &lt;duerst@w3.org>">


<p>"Martin J. Duerst" &lt;duerst@w3.org&gt; to XML Schema Comments
list on Fri, 12 May 2000 16:38:15 +0900
</p>

<p><emph>However, I'm not sure to what extent this is a problem (I'm
expressing ignorance, not arguing it isn't). If an XML instance uses
'0' that is signed, is there and expectation that since the schema
permits a 'false' as well, intermediary processors would change
it?</emph></p>

<p>
Not necessarily, but that may well happen. We already see in the DSig
group that people want to use the DOM, and don't want to keep around
e.g. whether an attribute was single-quoted or double-quoted. As we
move up the semantic ladder (well, it feels more like a very flat
slope, but that's a different issue), exactly the same will very
easily happen one step higher.
</p>

<p><emph>I appreciate this might happen with character code mappings,
but I tend to view schema's as constraints on permissible values, and
not a processor (in the vein of infoset/C14N/DOM).</emph>
</p>

<p>
Constraints on permissible values is one function, and probably the
most important one the way the spec is written. But for datatypes, the
'infoset' aspect is already there, and C14N is what we are just
discussing here, and would be very very easy to add at this point in
time compared to having to start another group,... in a few months.
Something like DOM is not done yet, but conversion from data to XML
streaming and back is an important application of XML Schema, probably
the most important one.
</p>

<p><emph>(For instance, just because a schema permits an unconstrained
string, one wouldn't presume it would change the string ...?) </emph>
</p>

<p>There is a clear difference between changing the value, and
producing a different lexical representation for the same value.
Changing from 0 to false is the later, changing the string is the
former.
</p>

<ulist>

<item><emph>If there is some way to express that elements of the same
type have to appear in a certain order (don't know whether this is in
the spec or not), this will also help to create schemata that can be
used to validate data and then feed that data into XML DSig without
any or without much processing. </emph></item></ulist>

<p><emph>I don't quite follow. Element of the same element type? Can
you give an example?</emph>
</p>

<p>
Well, let's assume you have a list of students, with student id,
birthday, and a boolean for 'male' (gender). The task is to
produce a signable XML document from this data. In order for
the sign to be reproducable, the XML document has to be exactly
the same for the same data. Assuming that the structure looks
something like</p>

<eg>
&lt;student&gt;
 &lt;id&gt;... &lt;/id&gt;
 &lt;birthday&gt;date&lt;/birthday&gt;
 &lt;male&gt;boolean&lt;/male&gt;
&lt;/student&gt;
...
</eg>

<p>
and is described as an XML Schema, the 'missing pieces' for the
above task are to make sure the students are always in the same
order (e.g. by id) and that date and boolean are always in
a canonical form (and of course that the underlying XML is
in C14N).
</p>

<p>
Probably the above is not the most appropriate example, but I hope
you get the idea.
</p>


</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0180.html" author="John Boyer &lt;jboyer@PureEdge.com>">


<p>"John Boyer" &lt;jboyer@PureEdge.com&gt; to XML Schema Comments
list on Fri, 12 May 2000 09:42:08 -0700
</p>

<p>
 <b>&lt;martin&gt;</b> Not necessarily, but that may well happen. We
already see in the DSig group that people want to use the DOM, and
don't want to keep around e.g. whether an attribute was single-quoted
or double-quoted. As we move up the semantic ladder (well, it feels
more like a very flat slope, but that's a different issue), exactly
the same will very easily happen one step higher.
<b>&lt;/martin&gt;</b>
</p>

<p>
<b>&lt;john&gt;</b> Actually, I'm pretty sure we would argue that if
you want to schema normalize an XML document, then you would need
another transform for that. Whether we define such a transform in this
version of the spec is a decision of the chairs.
</p>


</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0195.html" author="Martin J. Duerst &lt;duerst@w3.org>">


<p>"Martin J. Duerst" &lt;duerst@w3.org&gt; to XML Schema Comments
list on Sun, 14 May 2000 11:49:02 +0900
</p>

<p>
At 00/05/12 09:42 -0700, John Boyer wrote: <emph><b>&lt;john&gt;</b>
Actually, I'm pretty sure we would argue that if you want to schema
normalize an XML document, then you would need another transform for
that. </emph>
</p>


<p>
Can you give some examples for what you mean by 'schema normalize',
i.e. a short document before and after normalization, or so?
</p>

<p>
What I'm saying is that with some rather minor tweaks to the current
Schema drafts, it will be possible to easily write Schemata that will
make sure that documents that validate against these Schemata will
already be normalized and won't need any normalzation on the schema
level anymore.
</p>

<p><emph>Whether we define such a transform in this version of the
spec is a decision of the chairs. </emph>
</p>

<p>
How could such a transformation look?
</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-07-28.</p>
<p>The issue is a general exhortation to the XML Schema WG to make the
schema language conduce to the creation of data that can easily be
signed.  No specific proposals are made, beyond use of single lexical
representation; the DSig experts (i.e. Joseph Reagle) who participated
in the discussion express a certain skepticism that multiple lexical
representations are really a problem.
</p>
<p>
<b>RESOLVED</b>: to close LC-118 with thanks and cross-refer, for the
substantive proposal, to <link href="#SLR">LC-220</link>.
</p>
</resolution>

</issue>


<issue keyword="Q-include" originator="gmacri@libero.it " locus="structures" priority="substantive" status="silent" cluster="19 modules" batch="A" responsible="Ugo Corda">

<title>Question on include</title>

<description>

<p>A request for clarification on <emph>include</emph></p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0163.html" author="gmacri@libero.it &lt;gmacri@libero.it>">


<p>"gmacri@libero.it"&lt;gmacri@libero.it&gt; to XML Schema Comments
list on Thu, 11 May 2000 14:20:06 +0200
</p>

<p>
When I write a XML schema, for instance schema1.xsd, in which is
included  another schema, schema2.xsd, the elements's, attributes's
and types's    name of child of schema1.xsd must be not equal at
elements's,  attributes's and types's name of child of schema2.xsd?
</p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0164.html" author="ht@cogsci.ed.ac.uk (Henry S. Thompson)">


<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list
on 11 May 2000 15:19:27 +0100
</p>

<p>
That's correct, assuming you mean elements, attributes and types
declared at the top level.
</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0003.html">Formal response</link>.</p>
</resolution>

</issue>


<issue batch="C" cluster="04 datetime" status="nok" priority="substantive" locus="datatypes" originator="Ninggang Chen" keyword="pt2-durations">

<title>[Clarifications] Part 2 Datatypes</title>

<description>

<p>A variety of questions about the datatypes spec, in particular
about time durations expressed in abstract or concrete months, years,
etc.</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0165.html" author="Ashok Malhotra">


<p><b>petsa@us.ibm.com to w3c-xml-schema-ig@w3.org and others,
Wednesday, May 03, 2000 2:39 PM</b>
</p>


<p>"Asir S Vedamuthu" &lt;asirv@webmethods.com&gt;@w3.org on
05/03/2000 01:36:48 PM
</p>


<p><emph>(1)  &lt;Snip&gt; Section 3.3.8 integer
http://www.w3.org/TR/xmlschema-2/#integer </emph></p>

<p><emph>Integer has the following constraining facets: precision,
scale, .. &lt;/Snip&gt;</emph></p>

<p><emph>Please explain the validation contribution of 'precision'
&amp; 'scale' if the {base type definition} is integer.</emph></p>

<p>
Integer is derived from decimal by setting scale=0 The PSV infoset for
derived datatypes indicates all the facets of the base datatype and
their fixed values.
</p>

<p><emph>(2) &lt;Snip&gt; Section 3.2.6 timeDuration
http://www.w3.org/TR/xmlschema-2/#timeDuration </emph></p>

<p><emph>.. where nY represents the number of years, nM the number of
months, .. &lt;/Snip&gt;</emph>
</p>

<p><emph> &lt;Snip&gt; Section 4.2.6 - 4.2.9</emph></p>

<p><emph>.. if the {base type definition} is one of date and time
related datatypes, then the value must be chronologically less than or
equal to {value} &lt;/Snip&gt; </emph></p>

<p><emph>'nY' - Does a year have 360 or 365 days?</emph></p>

<p><emph>'nM' - Does a month have 28, 30, 31, or 400 days? </emph></p>

<p><emph>Note: I scanned thru ISO 8601 and it does not say anything
about it </emph></p>

<p>The number of days in the month or year will depend on when the
period occurs.  We take the position that this is always known and,
thus, there is no ambiguity but would like to see counterexamples.
ISO8601 seconf edition, does say in 3.15 that "in certain applications
a month is regarded as a unit of time of 30 days".
</p>

<p><emph>(3) &lt;Snip&gt; Section 4.2.1 length
http://www.w3.org/TR/xmlschema-2/#dc-length Constraint on Schemas:
length and minLength - it is an error for both length and minLength to
be members of {facets} &lt;/Snip&gt; </emph></p>

<p><emph>Is it ok if length and maxLength are members of {facets}?
</emph></p>

<p>
No, if length is specified neither minLength or maxLength can be
specified.
</p>

<p><emph>(4) &lt;Snip&gt; Sectin 4.2.6 maxInclusive
http://www.w3.org/TR/xmlschema-2/#dc-maxInclusive Constraint on
Schemas: It is an error for the value specified for minInclusive to be
greater than the value specified for maxInclusive for the same
datatype&lt;/Snip&gt; </emph></p>

<p><emph>Is it ok if minExclusive to be greater than maxInclusive?
This question also applies to Section 4.2.7 - 4.2.9 </emph></p>

<p>No.</p>

<p><emph>(5) &lt;Snip&gt; Section 4.2.5 enumeration
http://www.w3.org/TR/xmlschema-2/#dc-enumeration [value] a set of
values from  the value space of the {base type
definition}&lt;/Snip&gt; </emph></p>

<p><emph>Lets say I have a &lt;simpleType/&gt; A that restricts a
{base type definition} B. In addition, &lt;simpleType/&gt; A has a set
of &lt;enumeration&gt; values, say e1, e2, e3, .., en. Is the set {e1,
e2, .. } of values form the value space of {base type definition} B or
&lt;simpleType/&gt; A? Note: it is the synthesis of facet values which
together determine the value space and properties of the datatype.
Please clarify</emph></p>

<p>The enumerated values must be from the value space of A.
</p>

</input>

<input href="" author="Asir Vedamuthu">

<p>
 <b>Asir S Vedamuthu &lt;asirv@webmethods.com&gt; to
&lt;w3c-xml-schema-ig@w3.org&gt; and others, (date?)</b>
</p>


<p><b>Item 1</b></p>

<p>
AM: <emph>Integer is derived from decimal by setting scale=0 The PSV
infoset for derived datatypes indicates all the facets of the base
datatype and their fixed values</emph>
</p>

<p>
If so, integer datatype has -
</p>

<ulist>

<item>
(a) facets: precision, scale, pattern, enumeration, maxInclusive,
maxExclusive, minInclusive and minExclusive
</item>

<item>
(b) constraining facets: pattern, enumeration, maxInclusive,
maxExclusive, minInclusive and minExclusive
</item>

</ulist>

<p><b>Item 2</b></p>

<p>AM: <emph>The number of days in the month or year will depend on
when the period occurs.  We take the position that this is always
known and, thus, there is no ambiguity but would like to see
counterexamples. ISO8601 seconf edition, does say in 3.15 that "in
certain applications a month is regarded as a unit of time of 30
days".</emph>
</p>

<p>
However, 'period' is not a facet or constraining facet of
timeDuration. Need more clarification.
</p>

<p><b>Item 3, 4 &amp; 5</b></p>

<p>
Cool. Then item 3, 4 &amp; 5 call for <emph>editorial
corrections</emph>  to Part 2 Datatypes spec.
</p>


</input>

<input author="Ashok Malhotra" href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000May/0022.html">

<p><b>Ashok Malhotra to w3c-xml-schema-ig-request@w3.org, Thursday,
May 04, 2000 10:42 AM</b>
</p>

<p>[The number of days will depend on when the period occurs; this
should always be known, no?  If you have another use case, it would be
useful to see it.]</p>

<!--*

<p>
The number of days in the month or year will depend on when the
period occurs.  We take the position that this is always known
and, thus, there is no ambiguity but would like to see
counterexamples.
</p>
<p>
ISO8601 second edition, does say in 3.15 that "in certain
applications
a month is regarded as a unit of time of 30 days".
</p>
<p><emph> However, 'period' is not a facet or constraining facet of
timeDuration. Need more clarification.</emph>
</p>
<p>
My contention is that a duration will always be used relative to a
particular start time. This will determine how many days in a month etc.
If you have a use case where this is not the case, I would be very
interested in hearing about it.
</p>
<p>
<emph>
Cool. Then item 3, 4 &amp; 5 call for _editorial corrections_ to Part 2
Datatypes spec.</emph></p>
<p>
Paul, can you take care of these?  Thanks!
</p>
*-->

</input>

<input author="Asir S Vedamuthu" href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000May/0023.html">

<p><b>Asir S Vedamuthu [mailto:asirv@webmethods.com] to
petsa@us.ibm.com, Thursday, May 04, 2000 2:19 PM</b>
</p>


<p>
Here is a simple use case -
</p>

<eg>
&lt;project&gt;
	&lt;title&gt;Demolish I-95 and build it from scratch&lt;/title&gt;
	&lt;startDate&gt;unknown&lt;/startDate&gt;
	&lt;duration xsi:type="duration"&gt;P30Y45M55D&lt;/duration&gt;
&lt;/project&gt;
</eg>

<p>
&amp;
</p>

<eg>
&lt;simpleType name="duration" base="dt:timeDuration"&gt;
	&lt;minInclusive value="P0Y40M25D"/&gt;
	&lt;maxInclusive value="P35Y53M22DT45H23M68S"/&gt;
&lt;/simpleType&gt;
</eg>


</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0165.html" author="Ninggang Chen &lt;nchen@webMethods.com>">


<p><b>"Ninggang Chen" &lt;nchen@webMethods.com&gt; to XML Schema
Comments list on Thu, 11 May 2000 11:26:34 -0400</b>
</p>

<p>
According to ISO 8601, there are four ways to express a period of
time. The timeDuration datatype uses the second way, which is
expressed "in one or more specific components but not associated with
any specific start or end". ([ISO 8601] section 5.5.1)
</p>

<p>
There is no facet in timeDuration specifying the starting point of the
time period and as we can see from Asir's example that the starting
point is not necessarily known. Therefore, I have a impression that
the definition of timeDuration is incomplete. If we don't have an
unambiguous definition of year and month, this data type is simply not
usable.
</p>


</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0065.html">Formal response to commentator</link>.
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0116.html">Commentator</link> is unsatisfied.</p>
</resolution>

</issue>




<issue batch="D" cluster="05 fco" status="silent" priority="substantive" locus="structures" responsible="Henry Thompson" originator="Tim Berners-Lee " keyword="ids-not-names">

<title>Element names should be xml:ids in schemas</title>


<description>

<p>Shall XML Schema be modified so that:</p>

<ulist>

<item>The <emph>name</emph> attribute on <emph>element</emph>,
<emph>complexType</emph>, and <emph>simpleType</emph> declarations is
of type <emph>ID</emph>.</item>

<item>As a consequence, the symbol spaces for names of complex types,
simple types, and element types are merged.</item>

<item>As a second consequence, top-level and local declarations of
elements and complex types cannot use the same name.</item>

<item>The <emph>name</emph> attribute on <emph>element</emph>,
<emph>complexType</emph>, and <emph>simpleType</emph> declarations is
renamed <emph>id</emph>.</item>

</ulist>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0167.html" author="Tim Berners-Lee &lt;timbl@w3.org>">


<p>"Tim Berners-Lee" &lt;timbl@w3.org&gt; to XML Schema Comments list
on Thu, 11 May 2000 16:07:19 -0400
</p>

<p><b>Comments on xml-schemas</b></p>

<p>
Firstly, It is essential that important things be referenceable by
URI.   It is <emph>much</emph> easier and safer to use a barenames
<code>#id</code>  xpointer reference than a complex xpointer
expression.  Given that HTML element name and complex types are really
important concepts in a schema, and ones which people will want to
refer to from other languages and other schemas, please use type IDs
for that. (I note that unfortunately this cannot apply to attributes:
the creators of schemas will have to think of [an] appropriate ID and
give it explicitly if they want others to be able to use a barename
reference to refer to the attribute name.)  It is I think worth
forcing complex types and element names to share the same space,
because little is lost (except for some confusion!) and one gains the
power of xml ID and barename xpointer references for both.
</p>

<p>
Secondly, I note that the schema spec used <code>name=</code> for
element types instead of the more natural <code>id=""</code>.   I made
that mistake a long time ago with HTML <code>&lt;A name=&gt;</code>
... and it has been a thorn in everyone's side ever since!   Please do
not make that mistake again!!!!   Specs should use <code>id=</code>
for things of type ID.  (I would be in favor of reserving and
predefining it in all namespaces myself, as it would allow an xpointer
reference to be followed without having to look up the DTD or schema,
and I feel that without that XML becomes unbearably complex)
</p>

<p>
The same applies to data types.  If schema <emph>foo</emph> defines a
datatype <emph>bar</emph> then it really is too clumsy unless
<code>foo#bar</code> is the datatype's URI.
</p>

</input>

</references>


<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>After much discussion, agreed that this is an important basic
problem. The WG didn't buy the proposed solution. We don't believe we
have a good long term solution. We will in the short term explain
better what is available and in long term will provide something that
defines names for all important constructs. 
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0056.html">Formal response to commentator</link>.</p>

</resolution></issue>


<issue keyword="ns-hasfacet" originator="Ralph R. Swick " responsible="Paul Biron" locus="structures" priority="substantive" status="silent" cluster="05 fco-appinfo" batch="C">

<title>xsd:appinfo</title>

<description>

<p>Should the XML Schema for Datatypes be modified so that the
<emph>has-facet</emph> and  <emph>has-property</emph> elements (which
occur within <emph>appinfo</emph>) (1) be assigned to a (documented)
namespace, and (2) be given made first-class objects by being given
clear names.
</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0168.html" author="Ralph R. Swick &lt;swick@w3.org>">


<p>"Ralph R. Swick" &lt;swick@w3.org&gt; to XML Schema Comments list
on Thu, 11 May 2000 16:23:33 -0400
</p>

<p>
The <emph>xsd:appinfo</emph> schema component in the
schema-for-schemas <link
href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#element-appinfo">http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#element-appinfo</link>
appears to adequately address the request for a mechanism to permit an
XML Schema schema document to hold declarations for mapping to other
application data structures documented in item 3.2 of <link
href="http://www.w3.org/TR/1999/NOTE-schema-arch-19991007">http://www.w3.org/TR/1999/NOTE-schema-arch-19991007</link>.
</p>

<p>
I thank the XML Schema WG for including this feature.  I also commend
the WG for illustrating one usage scenario in the Schema for Datatype
definitions <link
href="http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/#schema">http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/#schema</link>
</p>

<p>
My enthusiasm is tempered, however, by the lack of any guidance on how
to discover the semantics of the two example elements
<emph>has-facet</emph> and <emph>has-property</emph>.   Having
constructed all this wonderful machinery for extending the declarative
power of an XML Schema, the sole example of its use fails to lead the
way in applying that same machinery to the extension.
<emph>has-facet</emph> and <emph>has-property</emph> do not themselves
have first-class names, nor are they even clearly part of a namespace.
I encourage the spec editors to lead by example in your application of
appinfo.
</p>


</input>

</references>


<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>Datatypes editors to provide the requested namespace and
documentation for it and associate these elements with it. 
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0021.html">Formal response</link>.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0081.html">Followup</link>.</p>

</resolution></issue>


<issue keyword="cm-group" originator="Curt Arnold " priority="substantive" responsible="Henry Thompson" batch="D" locus="structures" status="silent" cluster="17 sfs/content-models">

<title>Inconsistency on content model for group</title>

<description>

<p>Shall the schema for schemas and the DTD for schemas be changed to
align their content models for the <emph>group</emph> element more
closely?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0169.html" author="Curt Arnold">

<p>"Arnold, Curt" &lt;Curt.Arnold@hyprotech.com&gt; to XML Schema
Comments list on Thu, 11 May 2000 15:43:15 -0600
</p>

<p>
The narrative and schema for schemas allow groups to contain
<emph>annotation</emph>, <emph>group</emph>, and <emph>any</emph>
elements as children.  The DTD only allows <emph>all</emph>,
<emph>choice</emph> and <emph>sequence</emph>.
</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-06-30.</p>
<p><b>RESOLVED</b> without dissent: to instruct HST to bring the DTD and the
schema for schemas into alignment with each other as regards the
content model for group, and to bring the content model for group into
alignment with complexType.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0088.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="MPEG" originator="Jane Hunter " priority="substantive" responsible="Frank Olken" batch="D" locus="both" status="unassigned" cluster="formal">

<title>MPEG-7 Feedback to Last Call for Review</title>

<description>

<p>[This issue has been split.  See the cross references below for the
location of the various parts.]</p>

</description>

 
<references>

<interaction issue="arrays"></interaction>

<interaction issue="extending"></interaction>

<interaction issue="array-size"></interaction>

<interaction issue="typed-refs"></interaction>

<interaction issue="restriction-awkward"></interaction>

<interaction issue="restrension"></interaction>

<interaction issue="min-max-occurs"></interaction>

<interaction issue="impex"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0170.html" author="Jane Hunter &lt;jane@dstc.edu.au>">

<p>Jane Hunter &lt;jane@dstc.edu.au&gt; to XML Schema Comments list on
Fri, 12 May 2000 11:31:17 +1000
</p>

<p>
Here's MPEG-7's feedback to the current XML Schema Language WDs: <link
href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html">http://archive.dstc.edu.au/mpeg7-ddl/issues.html</link>

</p>

<p>
 It's based on problems which have arisen during encodings of MPEG-7
Descriptors  and Description Schemes. Examples of these can be found
at: <link
href="http://archive.dstc.edu.au/mpeg7-ddl/">http://archive.dstc.edu.au/mpeg7-ddl/</link>
</p>

<p>
In some cases there may be alternative methods for solving a problem,
so we'd  appreciate suggestions from the WG.
</p>

<p>
I'm going to be at WWW9 in Amsterdam next week so I'll be available to
discuss  any of these issues face-to-face then if any of the WG are
interested.
</p>

</input>

</references>


</issue>


<issue keyword="MIS-Managers" originator="David RR Webber " priority="substantive" responsible="Dave Hollander" batch="B" locus="requirements" status="ok" cluster="process">

<title>Extend last-call comment period?</title>

<description>

<p>Should the last-call comment period be extended to allow comment by
ebXML?</p>

</description>
 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0171.html" author="David RR Webber &lt;Gnosis_@compuserve.com>">


<p>David RR Webber &lt;Gnosis_@compuserve.com&gt; to XML Schema
Comments list on Fri, 12 May 2000 03:16:54 -0400
</p>

<p>
Group.
</p>

<p>
I'm reporting here direct from the lobby of the ebXML meeting in
Brussels.
</p>

<p>
Some significant decisions have been made this week, and it is very
clear that ebXML is one of the major potential users of XML Schema.
</p>

<p>
It is also clear that several of the potentially mission critical
features required are either missing (support for ISO11179 datatypes)
or unclearly defined in the current Schema draft.
</p>

<p>
Also - ebXML is very focused on providing sustainable and low-cost
business solutions that are scalable to a global level.
</p>

<p>
Looking at this there are just too many issues with the current W3C
Schema draft to make it viable.
</p>

<p>
Simply put - if I were asked today by an MIS Manager if I would
recommend W3C Schema in its current form as the basis for a major new
implementation I would emphatically have to say - NO.
</p>

<p>
I would there ask that the current period for the review of this
release  candidate be extended at least another 4 weeks to allow time
for  discussion of the issues relating specifically to support of the
ebXML requirements, and that we develop a set of metrics that we can
measure the suitability-to-task in the context of maintainability and
use in a global eBusiness environment.
</p>

<p>
I will work on a draft of these today and post these tonight when I
get back to the USA.
</p>

</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0194.html">Formal response</link>.
Commentator <link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0206.html">concurs</link>.</p>
</resolution>

</issue>




<issue keyword="complextype-groups" originator="Henry Thompson" responsible="Henry Thompson" batch="D" priority="substantive" locus="structures" status="ok" cluster="12 content-models">

<title>Content model of &lt;complexType&gt;</title>

<description>

<p>Should the content model for <emph>complexType</emph> be changed
to require an explicit grouping element (<emph>sequence</emph>,
<emph>choice</emph>, or <emph>all</emph>) instead of 
supplying an implicit <emph>choice</emph> when it has particles
as children?</p>

</description>

 
<references>

<interaction issue="schema-for-xslt"></interaction>

<interaction issue="minoccur-maxoccur"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0173.html" author="ht@cogsci.ed.ac.uk (Henry S. Thompson)">


<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list
on 12 May 2000 10:21:11 +0100
</p>

<p>
Currently this is as follows:
</p>

<eg>
   &lt;sequence&gt;
    &lt;choice&gt;
     &lt;element ref="facet" minOccurs="0" maxOccurs="unbounded"/&gt;
     &lt;group ref="particle" minOccurs="0" maxOccurs="unbounded"/&gt;
    &lt;/choice&gt;
    &lt;group ref="attrDecls"/&gt;
   &lt;/sequence&gt;
</eg>

<p>
where 'particle' is
</p>

<eg>
  &lt;group name="particle"&gt;
   &lt;choice&gt;
   &lt;element name="element" type="localElement"/&gt;
   &lt;element name="group" type="groupRef"/&gt;
   &lt;element ref="all"/&gt;
   &lt;element ref="choice"/&gt;
   &lt;element ref="sequence"/&gt;
   &lt;element ref="any"/&gt;
   &lt;/choice&gt;
  &lt;/group&gt;
</eg>

<p>
I'd like to change this to
</p>

<eg>
   &lt;sequence&gt;
    &lt;choice&gt;
     &lt;element ref="facet" minOccurs="0" maxOccurs="unbounded"/&gt;
     &lt;group ref="explicitGroup"/&gt;
    &lt;/choice&gt;
    &lt;group ref="attrDecls"/&gt;
   &lt;/sequence&gt;
</eg>

<p>
where 'explicitGroup' is
</p>

<eg>
  &lt;group name="explicitGroup"&gt;
   &lt;choice&gt;
   &lt;element name="group" type="groupRef"/&gt;
   &lt;element ref="all"/&gt;
   &lt;element ref="choice"/&gt;
   &lt;element ref="sequence"/&gt;
   &lt;/choice&gt;
  &lt;/group&gt;
</eg>

<p>
I think the defaulting of the wrapper is messy, confusing and is
getting in our way: the increased clarity in requiring a single
&lt;all&gt;, &lt;choice&gt; or &lt;sequence&gt; outweighs the extra
verbosity.
</p>

<p>
The one potential problem is that people will have to learn to write e.g.
</p>

<eg>
  &lt;complexType name="paraContent" content="mixed"&gt;
   &lt;choice minOccurs="0" maxOccurs="1"&gt;
    &lt;element ref="emph"/&gt;
    &lt;element ref="strong"/&gt;
     . . .
    &lt;/choice&gt;
   &lt;/complexType&gt;
</eg>

<p>
for backward-compatible mixed content.
</p>

</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-23.</p>

<p>Possible resolutions include:
</p>
<ulist><item>  status quo (do nothing)</item>

<item>make the top-level grouping default to sequence both when
<code>content="elementOnly"</code> and when
<code>content="mixed"</code></item>

<item>make the top-level grouping default to sequence when
<code>content = 'elementOnly'</code>, but no default when
<code>content='mixed'</code></item>

<item>remove the defaults entirely and require an explicit top-level
grouping
</item>
</ulist>

<p>It was observed that if there is only one child, the fourth option
will require that it be a one-item sequence or a one-item choice.</p>

<p>
A straw poll showed no support at all for the status quo, and some
tolerance, but no preference, for making sequence the default for both
element-only and mixed content.  As between the third and fourth
choices, there was approximately equal preference for each, but
greater toleration (more 'can-live-with' votes) for the fourth, on
which the chair accordingly put the formal question. <b>RESOLVED</b>:
to remove all defaulting in the association between XML representation
of content models and the schema component, and make the relevant
portion of the content model of complexType read  <code>(choice | all
| seq | grpref)?</code> <b>Dissenting</b>:  Beech.</p>

<p><b>Rationale</b> (supplied post hoc by chair): the conditional
defaulting rules, though intended to simplify life for schema authors
and readers by making the markup load lighter, have the opposite
effect: they are confusing and simply make schema writing and reading
more error-prone. Implicit grouping elements are (in the view of some
though not all WG members) useful to some users, just as end-tag
omission is.  But like end-tag omission, their cost in confusion to
new and occasional users outweighs their advantages to frequent users.
 Removing the defaults simplifies the spec, makes it unnecessary for
readers to learn and understand the defaulting rules, and makes
schemas easier to read and write and less prone to mistakes caused by
misunderstanding the default rules.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0089.html">Commentator</link> confirms that the resolution
of the issue is acceptable.</p>

</resolution></issue>


<issue keyword="error-flags" originator="Henry Thompson" priority="substantive" responsible="Henry Thompson" batch="D" locus="structures" status="ok" cluster="11 infoset">

<title>Error logging in the infoset</title>

<description>

<p>Shall the post-schema-validation info set have properties to carry
information about schema-validation errors (i.e. to  identify all the
different ways a document, subtree, element, attribute, or other
construct can fail to be schema-valid)?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0174.html" author="ht@cogsci.ed.ac.uk (Henry S. Thompson)">

<p>
To: www-xml-schema-comments@w3.org
From: ht@cogsci.ed.ac.uk (Henry S. Thompson)
Date: 12 May 2000 10:24:21 +0100
Message-ID: &lt;f5bsnvoi0je.fsf@cogsci.ed.ac.uk&gt;
Subject: Error logging in the infoset
</p>

<p>ht@cogsci.ed.ac.uk (Henry S. Thompson) to XML Schema Comments list
on 12 May 2000 10:24:21 +0100
</p>

<p>
Pursuant to our decision in Berkeley to allow the editors the option
to systematise and tabulate 'errors', the next internal draft will
contain a table of ways to lose and explicit short identifiers for all 
of them.  I'd like to add a post-schema-validation infoset property
associated with element and attribute infoitems which records these
when appropriate.
</p>


</input>

</references>


<resolution>

<p>Discussed in call of 2000-06-15.</p>

<p><b>RESOLVED</b>: to add a property to the PSV infoset with the
characteristics described: if the subtree is not schema-valid, and the
processor identifies the cause with one of the identified error codes,
then the processor may optionally record the reason by placing the
appropriate error code in the new property -- errors in the schema
currently being used for validation are not addressed by this
proposal, although an analogous property might be added to any
schema-info-set that results from our action on LC-162 and LC-198.

<b>Dissenting</b>: Beech.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0090.html">Commentator</link> confirms that resolution is
acceptable.</p>

</resolution></issue>


<issue batch="D" cluster="31 modules" status="ok" priority="substantive" locus="structures" responsible="Lee Buck" originator="Henry Thompson" keyword="type-modification">

<title>Lee Buck's use case returns: a hesitant proposal for type modification</title>

<description>

<p>Should XML Schema be modified so as to allow module users to
redeclare types, named model groups, and named attribute groups, by
providing the modified definition within the schema
<emph>import</emph> or <emph>include</emph> element?  This might make
modules easier to use.</p>

<ulist>

<item>allow circular</item>

</ulist>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0175.html" author="ht@cogsci.ed.ac.uk (Henry S. Thompson)">


<p>ht@cogsci.ed.ac.uk (Henry S. Thompson)
to XML Schema Comments list on
12 May 2000 10:40:26 +0100
</p>

<p>
Someone recently observed to me that we don't explicitly rule out
circular type definition.  We certainly should, but I wonder if we
should consider a carefully controlled exception to this, and to the
no redefinition/redeclaration rule:  You can redefine or redeclare
imported or included components <emph>inside the include/import
element</emph>, and only there.  Furthermore, such redefinitions may
be  circular in the case of types, named model groups and attribute
groups, and all such redefinitions are retrospective, i.e. they effect
the included/imported components which reference those definitions.
</p>

<p>
Simple example
</p>

<p>
schema1.xsd
</p>

<eg>
  &lt;schema xmlns='http://www.w3.org/1999/XMLSchema'
          targetNamespace='http:///www.example.com/stuff'
          xmlns:m='http:///www.example.com/stuff'&gt;
   &lt;complexType name="personName"&gt;
     &lt;sequence&gt;
      &lt;element name="forename"/&gt;
      &lt;element name="middle" minOccurs="0" maxOccurs="unbounded"/&gt;
      &lt;element name="surname"/&gt;
     &lt;/sequence&gt;
    &lt;/complexType&gt;

    &lt;element name="person" type="m:personName"/&gt;

    &lt;element name="record"&gt;
     &lt;complexType&gt;
      &lt;sequence&gt;
        &lt;element ref="m:person"/&gt;
        &lt;element name="position"&gt;...&lt;/element&gt;
        ...
      &lt;/sequence&gt;
     &lt;/complexType&gt;
    &lt;/element&gt;
   &lt;/schema&gt;
</eg>

<p>
schema2.xsd
</p>

<eg>
  &lt;schema xmlns='http://www.w3.org/1999/XMLSchema'
          targetNamespace='http:///www.example.com/stuff'&gt;
    &lt;include "schema1.xsd"&gt;
      &lt;complexType name="personName" base="m:personName"
                   derivedBy="extension"/&gt;
        &lt;element name="genMark" minOccurs="0"/&gt;
      &lt;/complexType&gt;
    &lt;/include&gt;
   &lt;/schema&gt;
</eg>

<p>
Documents using schema2 for the http:///www.example.com/stuff would be
 able to have &lt;genMark&gt; as a daughter of &lt;person&gt; in their
&lt;record&gt;s, whereas those using schema1 would not.
</p>

<p>
I certainly haven't thought through all the ramifications of this, but
if we want to do anything at all to allow ourselves to reuse our own
work, this is the best thing I've thought of.
</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-07-06.</p>
<p>The question is on the proposal to support light-weight
modifications when including.  HT has clarified that this is only for
modifications, not for arbitrary replacements of the definition.
</p>
<p>
The chair proposed to discuss this for a few minutes, to see whether
consensus exists; if not, he proposed, we should then take the
discusion to email.  The WG agreed.
</p>
<p>
The WG discussed the proposal without reaching any clear conclusion.
One point of concern was the sense that a type derivation that does
not generate a new type but modifies the old one in place is tricky
and dangerous, and possibly inconsistent with our other practice.
Some WG members suggested that this trickiness is inherent in the use
case; others denied this claim.
</p>
<p>
Another point of concern was that we need to ensure that there is 
a clear definition of the rules for handling multiple includes.
</p>
<p>
It seems plausible to allow such in-place modification to apply to
simple types, probably only for user-defined simple types.  It is an
open question whether changing to a list type should be allowed or
not.
</p>

<p>Discussed at face to face meeting of 1-2 August 2000.</p>
<p>Discussion had produced two variants of a modifying
<emph>include</emph>, which (in the chair's analysis) varied in two
ways:</p>
<ulist>
<item>derive new T from old T</item>
<item>derive [actually, define] new T <emph>ignoring</emph> old T</item>
</ulist>
<ulist>
<item>must be same namespace</item>
<item>may be same namespace</item>
<item>must <emph>not</emph> be same namespace</item>
</ulist>

<p>In neither variant is the old type T available in any sense. In the
resulting type lattice, the old type is pruned. Depending on where we
end up on second point, we may or may not want to use the term 
'<emph>include</emph>'.
We do not currently have any mechanism to do this when the namespaces
are different.
</p>
<!--* 
<p>
MF: Objects to this simplified rendering of the proposal. Deriving one schema
from another vs local tweaking. That is, as separate derivation mechanism. 
</p>
<p>
DH attempts to define meaningful question: 
First question: are we defining new derivation mechanism or modifying include
mechanism. 
</p>
<p>
Adding derivation by override is separable question. HST points out that that
is not currently on the table.
</p>
<p>
Clarification: in same namespace means new T hides the old T
</p>
*-->
<p>
A straw poll showed a strong majority (16 to 4, with two abstentions)
in favor of adopting some proposal similar to those on the table.</p>
<p>A use case was described, in order to clarify the namespace
implications of the proposals.  Imagine a user has a schema,  using
XHTML stuff, but wants to change so that XHTML elements in the user's
documents have a certain extra  required attribute.  On the "must not
be in same namespace" account, the user can do this.  On the "must be
same namespace" account the user can do it, but only by writing your
own schema for XHTML namespace and importing it. A second use case is
the one described to us by the definers of XHTML, who want to have
conditions of the form "When you you have this module, you get this
attribute."  A third use case: defining v2 of XML Schema.
</p>
<p>
Some WG members urged caution:  this is a piece of versioning, and
we want to be careful not to get in way of a full story later. 
Some preferred to see the new type T derived from the old type T
because it solves the use case while preserving important invariants 
with respect to derived types.  It doesn't preclude us from going to
the other option in due course; leveraging existing mechanisms is the 
right way to proceed cautiously.  Other WG members felt that anything 
we do, including nothing, is risky. Some proposed to make it a
priority feedback item.</p>
<p>
A problem arose: If we derive the new type T from the old type T, we
have said the old T effectively disappears. So if the old T was
derived from Q by restriction and the new T is derived by extension,
we have a problem: we can't go from Q to the new T in one step without
losing our normal constraints on the abstract component set. The
consensus appeared to be that an anonymous type identical to the old
T, which is the type of nothing in the schema, continues to exist in
the type lattice.
</p>
<p>
Question: if I had a type S derived from the old T, and I derive a new
T such that type S breaks, what happens?  A: Yes, it breaks, just as
if you did it by cut and paste in original schema.
</p>

<p>A straw poll showed a very strong preponderance of opinion (19 to
one, with four abstentions) in favor of deriving the new type T from
the old type T.</p>

<p>
The WG discussed the namespace question.  Some WG members preferred to
require that the two schema documents apply to the same namespace, in
part because the mechanism could not otherwise be used for  developing
complex languages like XHTML and in part because it felt "more honest"
in owning up to the fact that the author of the second schema document
is changing someone else's namespace. Others felt it was "more honest"
if the namespaces were required to be different, and that the XHTML
use case relies on bad practice, which should not be encouraged. Still
others felt that it was wrong to assume (as both 'honesty' arguments
do) that the authors of the two schema documents are different people,
and that the modular design of XHTML represents good practice, not bad
practice, and must be supported.
</p>
<p>A straw poll showed majority support (12 to 4 to 5, with one
abstention) for requiring that the two schema documents involved in
a modifying-include relationship define the same namespace.</p>
<p>
The WG then discussed what to call the resulting construct; proposals
included <emph>include</emph>, <emph>patch</emph>,
<emph>update</emph>, <emph>override</emph>, <emph>occlude</emph>,
<emph>redefine</emph>, <emph>pollute</emph>, <emph>revise</emph>, and
<emph>alter</emph>.  The top three (<emph>alter</emph>,
<emph>redefine</emph>, <emph>revise</emph>) were considered, and the
WG eventually decided for <emph>redefine</emph>.</p>

<p>
<b>Resolved</b> unanimously: to dispose of LC-128 by adding a
'redefine' element which can take type derivations as its children as
originally proposed by HST, with the proviso that each type must be
derived in this pseudo-circular way and the namespaces have to be the
same? Including attribute groups and model groups. 
</p>
</resolution>


</issue>


<issue batch="C" cluster="typos" status="silent" priority="substantive" locus="datatypes" responsible="editors" originator="Susan Lesch " keyword="pt2-lesch">

<title>Minor typos in WD-xmlschema-2-20000407</title>

<description>

<p>Various editorial suggestions.</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0176.html" author="Susan Lesch &lt;lesch@w3.org>">


<p>Susan Lesch &lt;lesch@w3.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 03:15:32 -0800
</p>

<p>
These are a few possible minor typos in your Last Call draft,  <link
href="http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/">XML  Schema
Part 2: Datatypes</link> "work in progress." A section number is
followed by a quote and then a suggestion.
</p>

<p>
In section 3, there are 17 occurrences of double spaces under various 
"Derived datatypes," for example, in 3.2.1.2. You could remove the 
&amp;nbsp;'s or put the pair of terms on one line.
&lt;a href="#dt-built-in"&gt;built-in&lt;/a&gt;&nbsp;
&lt;a href="#dt-derived"&gt;derived&lt;/a&gt;
</p>

<p>
Status of this document - last par.
recommendation [twice] &rarr;
Recommendation
</p>

<p>
2.1
c) a set of facets
[You might link to facet's definition the first time it is mentioned.]
</p>

<p>
2.4.1.4 par. 2
cardinality, there are &rarr;
cardinality; there are
[or] &rarr;
cardinality. There are
</p>

<p>
2.4.1.12 par. 2
octect &rarr;
octet
</p>

<p>
3.2 par. 1
derived from this the datatype &rarr;
derived from this datatype
</p>

<p>
3.2.7 par. 2
ocurrence &rarr;
occurrence
</p>

<p>
3.3.4.2 has an empty list item.
</p>

<p>
3.3.5 par. 1
fininte-length &rarr;
finite-length
</p>

<p>
3.3.6
The value space of Name the set &rarr;
The value space of Name is the set
</p>

<p>
3.3.8.1
a lexical consisting of &rarr;
a lexical representation consisting of
</p>

<p>
3.3.15
This results in is the &rarr;
This results in the
</p>

<p>
3.3.24.1, 3.3.25.1, 3.3.26.1, and 3.3.27.1
and an preceding "-" &rarr;
and a preceding "-"
</p>

<p>
4. par. 1
present, optional &rarr;
present; optional
</p>

<p>
4.2.12 note
associated encoding. &rarr;
associated with encoding.
</p>

<p>
5.1 table {variety}
or any of its any ancestor
[Sorry I didn't understand that phrase.]
</p>

<p>
5.1.2 par. 1
dataype &rarr;
datatype
</p>

<p>
5.2 par. 1
specificing
[Not sure. Do you mean specifying?]
</p>

<p>
5.2.10 example
and only allow whole cents. &rarr;
and only allows whole cents.
[assuming "application" is the subject of the sentence]
</p>

<p>
5.2.12 par. 1
is a encoding &rarr;
is an encoding
</p>

<p>
5.2.13 example
Is "HMO" (Health Maintenance Organization) an internationally 
understood acronym? If not you might say "health insurance company."
</p>

<p>
A. and B. line 6 need closing parentheses followed by an ending 
period after "just in case". To be a little more formal, you could 
end the sentence after "entity expansions)."
</p>

<p>
A. lines 28 and 30
builtin &rarr;
built-in
</p>

<p>
B. line 26
Customisation &rarr;
Customization
</p>

<p>
E. note after table 3
it it logicall &rarr;
it is logically
</p>

<p>
E.1 par. 11
chacters &rarr;
characters
</p>

<p>
E.1.1 par. 4 and par. 8
compliment &rarr;
complement
</p>

<p>
E.1.1 par. 8
Suppliment &rarr;
Supplement
</p>


</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0066.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="Mitre" originator="Roger L. Costello " priority="substantive" responsible="Roger Costello, Noah Mendelsohn" batch="D" locus="both" status="ok" cluster="formal">

<title>XML Schema Comments</title>

<description>

<p>[This issue has been split.  See the cross-references below for the
location of the various parts.]</p>

</description>

 
<references>

<interaction issue="open-intercalation"></interaction>

<interaction issue="open-sfs"></interaction>

<interaction issue="schema-derivation"></interaction>

<interaction issue="split-spec"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0177.html" author="Roger L. Costello &lt;costello@mitre.org>">


<p>"Roger L. Costello" &lt;costello@mitre.org&gt; to XML Schema
Comments list on Fri, 12 May 2000 08:51:46 -0400
</p>


<p>
The below comments summarize the points made in our white paper:
<link href="http://www.xfront.org/EvolvableSchemas.html">&lt;http://www.xfront.org/EvolvableSchemas.html&gt;</link>
</p>

<p>
Please read the white paper to obtain the full context of the comments.
</p>


</input>

</references>


</issue>


<issue keyword="dummy-01" batch="X" originator="Ashok Malhotra" priority="substantive" locus="both" status="abandoned" cluster="dummies">

<title>Dummy</title>

<description>

<p>[This issue number has been retired.]</p>

</description>

 
</issue>


<issue keyword="all-grp" originator="Dan Rupe " priority="substantive" responsible="Martin Gudgin" batch="A" locus="structures" status="silent" cluster="12 content-models">

<title>Contents which may occur in any order</title>

<description>

<p>How do I specify that the elements in a group can occur in any
order?  Should XML Schema allow this not just at the top level but at
any level?</p>

</description>

 
<references>

<interaction issue="all-with-n-gt-1"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0179.html" author="Dan Rupe &lt;Dan_Rupe@go.com>">

<p>Dan Rupe &lt;Dan_Rupe@go.com&gt;
to XML Schema Comments list on
Fri, 12 May 2000 08:21:18 -0700 (PDT)
</p>

<p>
I would like to be able to specify the opposite of &lt;sequence&gt; (unsequential) within complexTypes and groups.
</p>

<p>
Consider the following example in a schema:
</p>

<eg>
&lt;complexType name="A_complexType"&gt;
	&lt;element name="B" type="int" /&gt;
	&lt;element name="C" type="int" /&gt;
&lt;/complexType&gt;

&lt;element name="A_complex" type="A_complexType" /&gt;
</eg>

<p>
In my instance document, I would simply like &lt;C&gt; to be able to come before &lt;B&gt;, for example.
</p>

<p>
Or, in this example schema snippet:
</p>

<eg>
&lt;complexType name="A_complexType"&gt;
	&lt;element name="B" type="int" minOccurs="0" maxOccurs="unbounded"/&gt;
	&lt;element name="C" type="int" minOccurs="0" maxOccurs="unbounded"/&gt;
&lt;/complexType&gt;

&lt;element name="A_complex" type="A_complexType" /&gt;
</eg>

<p>
I would like to able to specify that any number of &lt;B&gt;'s and
&lt;C&gt;'s can appear any number of times and in any order.  Like this:
</p>

<eg>
&lt;C&gt;1&lt;/C&gt;
&lt;C&gt;2&lt;/C&gt;
&lt;B&gt;3&lt;/B&gt;
&lt;B&gt;4&lt;/B&gt;
&lt;C&gt;5&lt;/C&gt;
&lt;B&gt;6&lt;/B&gt;
&lt;C&gt;7&lt;/C&gt;
etc...
</eg>

<p>
It's my understanding that the order of elements declared within a
complexType in the schema must appear in that same order in the
instance document.  (Of course a minOccurs with a value of zero can
make an element optional, but following elements must still appear
sequentially in the instance document.)  The Primer also mentions that
a named group is &lt;sequence&gt; by default.
</p>

<p>
It seems the &lt;all&gt; element may be an attempt to provide
unsequential capabilities, but I'm not sure if this is what &lt;all&gt;
really provides.  (I can't really tell for sure because XML Spy has
not implemented it yet.  Are there other validators out there that
have?)  If it does, it's use seems limited since it can only be used
at the top-level of any content model, and the its children must be
simple elements, not contained groups.
</p>

<p>
Since &lt;sequence&gt; is the default behavior of complex types and
groups, I suggest one of two possible scenarios:
</p>

<ulist>

<item>&lt;sequence&gt; could have a boolean attribute added to it which
allows unsequential capabilities</item>

<item>Remove &lt;sequence&gt; altogether (since it's the default) and add
an &lt;unsequence&gt;-like element.</item>

</ulist>


</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0111.html">Formal response to commentator</link>.</p>
</resolution>

</issue>




<issue keyword="URIs-for-datatypes" originator="Ralph R. Swick " priority="substantive" responsible="Henry Thompson" batch="D" locus="datatypes" status="silent" cluster="05 fco">

<title>Well-known URIs for all built-in datatypes and facets</title>

<description>

<p>Should the XML Schema spec specify URIs which can/should
be used for references to the built-in datatypes and facets?
(Even in the absence of a generally satisfactory way to construct
a URI for arbitrary schema constructs.)</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0181.html" author="Ralph R. Swick &lt;swick@w3.org>">


<p>"Ralph R. Swick" &lt;swick@w3.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 13:01:09 -0400
</p>

<p>
The comments in Schema Structures, Section 4.2.1, regarding the use of
xpointer to identify schema components do not go quite far enough to
permit broad reuse of important features defined by XML Schema.
<link href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#section-References-to-Schema-Components-from-Elsewhere">http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#section-References-to-Schema-Components-from-Elsewhere</link>
</p>

<p>
Specifically, after lengthy discussion and deliberation the RDF Schema WG
was persuaded to defer all base datatyping specifications until after an
XML Schema specification was completed so as to be able to leverage any
base datatypes from XML.
</p>

<p>
It will be a significant benefit to the wider XML application community
if canonical URIs were defined for each of the built-in datatypes as well
as for each the specified facets.
</p>

<p>
This request is certainly a subset of the broader request for an
algorithm to derive a full URI for every Schema component from the
namespace URI and the local name (and, perhaps the type or symbol
space).  I want to emphasize that even if the general case remains
unaddressed in version 1, it is important and useful to address the
specific case of the built-in datatypes.  This partially addresses
bullet 3.9 of <link href="http://www.w3.org/TR/1999/NOTE-schema-arch-19991007">http://www.w3.org/TR/1999/NOTE-schema-arch-19991007</link>.
</p>


</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0182.html" author="Perry A. Caro &lt;caro@Adobe.COM>">


<p>"Perry A. Caro" &lt;caro@Adobe.COM&gt;
to XML Schema Comments list on
Fri, 12 May 2000 12:12:08 -0700
</p>


<p>
<emph>It will be a significant benefit to the wider XML application community
if canonical URIs were defined for each of the built-in datatypes as well
as for each the specified facets.</emph>
</p>

<p>
Hear, hear!  We emphatically agree with this request.  Lack of reliable URI
"id's" for the built-in datatypes and specified facets would be a huge
obstacle to wide adoption and interoperability.  This cannot be overstated.
</p>

<p>
It will be hard enough to implement compliant, interoperable, real-world
processors--human error and the variety of character and URI encodings being
what they are--without also having to worry about how to disambiguate the
names of these vital items. That being the case, also consider:
</p>

<ulist><item>
specifying the precise normalization of the URI for the sake of simple
literal equality testing,
</item>

<item>
keeping the URI's concise and simple; a non-normative appendix containing
a set of general parsed entity declarations defining recommended best
practice "abbreviations" for the URI's would be a kindness to users.
</item>

</ulist>

<p>
To be sure, these last two items are mere wishes compared to the overriding
requirement for canonical URI's of any shape or form to be part of the
normative matter of the spec.
</p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0193.html" author="ht@cogsci.ed.ac.uk (Henry S. Thompson)">


<p>ht@cogsci.ed.ac.uk (Henry S. Thompson)
to XML Schema Comments list on
13 May 2000 10:24:58 +0100
</p>

<p>
In principle, which would you prefer:
</p>

<ulist>

<item><link
href="http://www.w3.org/TR/xmlschema-2/#timeDuration">http://www.w3.org/TR/xmlschema-2/#timeDuration</link>
Already exists, resolves to section in HTML document
</item>

<item>
<link
href="http://www.w3.org/1999/XMLSchema#timeDuration">http://www.w3.org/1999/XMLSchema#timeDuration</link>
Doesn't exist yet, but can easily be made to, Resolves to element in
the Schema for Schemas.
</item>

</ulist>

</input>

</references>


<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>There is some lack of clarity on what should be pointed at in the
case of facets. The has-facet in the appinfo on the particular types?
Or the element declaration defining a particular facet? 
</p>

<p>ACTION: HST is respondant for 133. Check with Ralph about what he
meant. </p>

<p>Do we have a preference? For facets mostly prefer pointing at the
element declaration defining a particular facet. There is a preference
for pointing to declarations in the schema for schemas on the grounds
that it is more likely to be useful, but a strong minority prefers
pointing to the specification text instead as pointing at the
schema-for-schemas sets a precedence for the future that may be at
odds with out long term direction. 
</p>

<p><b>Resolved:</b> to resolve this issue by supplying IDs and
stipulating what the URI should be.  <b>Dissenting:</b>:  Mendelsohn:
Against putting ids on facet elements in the schema for schemas
because: (1) this suggests that putting id's on declarations is the
right way to name abstractions (2) if it were, then I think an id on
an element declaration should be for that element, not for the
abstraction defined by that element),   Beech,  Thompson,  Gudgin,
Ezell.  <b>Abstaining:</b> Shannon</p>

<p>It was pointed out that it would be useful to have a docinfo
backpointer to the relevant parts of the specification in the schema
for schemas.  QUESTION: Shall we instruct the editors that the schema
for schemas should point to the relevant part of text using an
annotation?  Preference (11) but not binding majority. 
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0091.html">Formal response to commentator</link>.</p>

</resolution></issue>


<issue keyword="dummy-02" batch="X" originator="Perry A. Caro " priority="substantive" locus="datatypes" status="abandoned" cluster="dummies">

<title>Dummy</title>

<description>

<p>[This issue number has been retired]</p>

</description>

 
</issue>


<issue keyword="form-elementFormDefault" originator="Ralph R. Swick " priority="substantive" responsible="Noah Mendelsohn" batch="A" locus="structures" status="silent" cluster="06 localtypes">

<title>'form' and 'elementFormDefault' appear harmful</title>

<description>

<p>The rules for specifying whether or not namespace prefixes appear
in document instances on elements declared local to some complex type
appear to change the rules for processing default namespace names in
very profound ways. Should this be clarified, or fixed?</p>

</description>

 
<references>

<interaction issue="revisit-locals"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0183.html" author="Ralph R. Swick &lt;swick@w3.org>">


<p>"Ralph R. Swick" &lt;swick@w3.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 16:30:53 -0400
</p>

<p>
The control over namespace qualification provided by
<emph>form</emph> and <emph>elementFormDefault</emph> appear, if I
understand them correctly, to change default namespace processing in a
very fundamental way. <link
href="http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#declare-element">http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/#declare-element</link>
</p>

<p>
It appears that the default case,
'<code>elementFormDefault="unqualified"</code>' would change what a
processor currently understands to be the namespace of some
unqualified elements within the scope of some parents.  To understand
which unqualified elements are bound to which namespaces requires
schema processing.
</p>

<p>
This seems to make default namespace declarations unuseable, (or,
conversely, to make schema processing a requirement rather than an
option).  Neither conclusion feels good to me.  I hope I'm
fundamentally misunderstanding, Schema Structures section 4.3.2 and
that the statement in the final paragraph of Schema Primer section 3.1
is inaccurate. <link
href="http://www.w3.org/TR/2000/WD-xmlschema-0-20000407/#UnqualLocals">http://www.w3.org/TR/2000/WD-xmlschema-0-20000407/#UnqualLocals</link>
</p>


</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0185.html" author="Noah_Mendelsohn@lotus.com">


<p>Noah_Mendelsohn@lotus.com
to XML Schema Comments list on
Fri, 12 May 2000 17:16:15 -0400
</p>

<p>
I understand your confusion, but I think you have misinterpreted the 
schema specification.  The namespace qualification or lack thereof for any 
element in a document to be validated is established according to the 
rules of the Namespaces Recommendation, and does not change during the 
course of schema validation.  Indeed, validation is defined as an 
operation on an infoset, so all the mechanisms of namespace defaults and 
so on are applied before schema validation begins.
</p>

<p>
I think your confusion is about the case where we have an instance 
document that looks like this:
</p>

<eg>
&lt;n:a xmlns:a="uria"&gt;
        &lt;!-- element b is neither 
          prefixed nor qualified --&gt;
        &lt;b&gt;5&lt;/b&gt;
&lt;/n:a&gt;
</eg>

<p>
First of all, neither XML 1.0 nor namespaces itself introduces any
notion  of local scoping for elements.  Therefore, it is not
surprising that we  cannot tell whether the declaration for &lt;b&gt;
is locally scoped.  Whether  you use qualified or unqualified forms,
local scoping is always an  artifact of schema processing, never
fundamental to the instance.
</p>

<p>
Furthermore, and I think this is your point of confusion, even if the
declaration for &lt;b&gt; is locally scoped within the declaration for
&lt;n:a&gt;,  &lt;b&gt; itself is still not considered to be in a
namespace.  We cannot change  that; the namespaces recommendation says
it is not.  So, the namespace URI  in the infoset for the element (or
lack of namespace URI in this case) is  not changed by validation.
What does happen as a result of the validation  is that additional
information is added to the infoset, and from that  information you
can make some determination as to the actual declaration  for
&lt;b&gt;.  So, it is not &lt;b&gt; itself which appears in a
namespace, but &lt;b&gt;  is associated during validation with
definitions and declarations which  may well be in the target
namespace "uria". 
</p>

<p>
Note too that there is a direct analogy to the treatment of attributes
per  the namespaces recommendation: the typical attribute appears
unqualified,  but has a definition scoped to a possibly namespace
qualified element on  which it appears (you know it is scoped that way
because two attributes  named 'atr' appearing on two different
elements in the same namespace can  have two different default values.
 I don't think anyone disputes this.  The namespaces recommendation
makes clear that such unprefixed attributes  are not specifically in
the namespace of the element on which they appear,  although a
non-normative concept of namespace partition is discussed.  Indeed,
this analogy is often cited by proponents of
'elementFormDefault=qualified'.) 
</p>

<p>
Now, having prepared this glib explanation, I will admit to one point
of  discomfort on my part.  I had expected that we had put into the
augmented  infoset a contribution indicating the element declaration
for &lt;b&gt;, from  which you could surely determine its local
scoping.  I am a little  surprised to see that we only supply the
type, which in the example above  may be something as simple as
integer.
</p>

<p>
Note that this entire discussion has a direct analogy in the case
where  '<code>elementFormDefault="qualified"</code>'.   You still do
not know whether the element  is locally scoped until you check the
schema, and namespaces are still  assigned exactly according to the
rules of the namespaces recommendation.
</p>

<p>
So, I think the fundamental design is sound.  I would like to hear
from  other members of the schema workgroup whether we actually have
the infoset  contribution quite right.  Henry?
</p>


</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0186.html" author="Noah_Mendelsohn@lotus.com">


<p>Noah_Mendelsohn@lotus.com
to XML Schema Comments list on
Fri, 12 May 2000 17:27:59 -0400
</p>

<p>
<emph>Indeed, this analogy is often cited by proponents of
'elementFormDefault=qualified'.</emph>
</p>

<p>
Ooops.  Of course I meant:
</p>

<p>
Indeed, this analogy is often cited by proponents of
'elementFormDefault=unqualified'.
</p>


</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0138.html">Formal response to commentator</link> sent
25 May and 29 June; commentator has not responded.</p>
</resolution>

</issue>


<issue batch="D" cluster="15 constants" status="silent" priority="substantive" locus="both" responsible="Frank Olken" originator="Steven Goldfarb " keyword="constants">

<title>Symbolic constants</title>

<description>

<p>Should XML Schema provide support for typed symbolic constants?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0184.html" author="Steven Goldfarb &lt;Steven.Goldfarb@cern.ch>">


<p>Steven Goldfarb &lt;Steven.Goldfarb@cern.ch&gt;
to XML Schema Comments list on
Fri, 12 May 2000 14:17:02 -0700
</p>


<p>
We would like to request a modification to the current working draft of
the XML Schema, Working Draft 7 April 2000.  Specifically, we are
interested in the implementation of a mechanism for the usage of
symbolic constants in XML Schema.
</p>

<p>
Efforts have recently begun in the High Energy Physics community to use
XML to describe the geometry of our detectors.  Several languages have
already been developed toward this aim and we have recently begun work
toward merging our efforts into a standard.
</p>

<p>
Our geometrical description of a detector involves the construction of
a complex structure from simple components in an iterative manner.  We
create elementary solids and position instances of them in space.  These
actions require the entry of explicit values for the dimensions of the
solids and the coordinates of the positions.  In our current model, we
store these values as attributes.  This involves the entry of thousands
of values to describe these complex detectors, making it essential to
avoid data repetition.
</p>

<p>
Ideally, we would like to be able to define a symbolic constant in the
XML implementation which could be referenced throughout the document.
The constant therefore needs to have a type, a name, a value and possibly
a unit. In our case, we would include the constant as an attribute or as
element content. Most likely, this implies the need for a mechanism to
differentiate between a symbol and plain text when referencing.
</p>

<p>
To give an example for the XML implementation, we would like to be able
to describe a piece of geometry like:
</p>

<eg>
&lt;constant name="chamber_width" value="105.254" unit="mm" /&gt;
&lt;constant name="chamber_length" value="210.508" unit="mm" /&gt;

&lt;box name="Upper Chamber" X="$chamber_width" Y="$chamber_length" Z="32"
material="Lead" /&gt;
&lt;box name="Lower Chamber" X="$chamber_width" Y="$chamber_length" Z="14"
material="Copper" /&gt; 
</eg>

<p>
In this example, the parser would replace the name of the symbol with the
value of the symbol. It is important that this also support type checking,
i.e. in the example above, the attributes X, Y and Z should all be defined
as 'double'.
</p>

<p>
We realise that this feature is not implemented for XML and we hope that
this will be revised in the future. However, XML schema could benefit from
this by facilitating the creation of default values. In the current XML
Schema working draft, the default values must be typed explicitly, and
cannot be a reference to a previously defined constant.
</p>

<p>
During the course of our discussions with other experts we found that the
'Express' language contains a similar mechanism to handle symbolic
constants, as well as being able to use arithmetic expresssions. Clearly,
also this community would benefit from our request.
</p>



</input>

</references>

<resolution>
<p>Discussed in call of 2000-06-29.</p>

<p>
Several positions could be distinguished (not mutually exclusive):
</p>
<ulist>
<item>we should add the constructs requested</item>
<item>entities can be used to get the essential function, as
described by MSM in
<link href="http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000Jun/0209"
>http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000Jun/0209</link>
</item>
<item>union types (as proposed) can be used to get the essential
function, as proposed by Curt Arnold in
<link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0372">
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0372</link></item>
<item>identity constraints can be used to get the essential function,
as described by Dan Connolly (orally)</item>
<item>regardless of whether the essential functionality can be 
achieved, this is not functionality we should look to support
in version 1.0.</item>
</ulist>
<p>
A straw poll showed little support for adding the constructs, and
substantial support for the view that this is not functionality
essential for XML Schema 1.0.  The various workarounds had varying
degrees of support: most for entities, a lot for union construction,
and some for identity constraints.
</p>

<p>
<b>RESOLVED</b>: to dispose of issue LC-136 by saying no, mentioning the
various partial or possible workarounds suggested, and saying this
does not seem to be functionality essential to version 1.0.
</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0012.html">Formal response to commentator</link>.</p>
</resolution>

</issue>


<issue keyword="dummy-03" batch="X" originator="Noah Mendelsohn" priority="substantive" locus="structures" status="abandoned" cluster="dummies">

<title>Dummy</title>

<description>

<p>[This issue number has been retired.]</p>

</description>

 
</issue>


<issue keyword="dummy-04" batch="X" originator="Noah Mendelsohn" priority="substantive" locus="structures" status="abandoned" cluster="dummies">

<title>Dummy</title>

<description>

<p>[This issue number has been retired.]</p>

</description>

 
</issue>


<issue keyword="legacy-mixed" originator="Ninggang Chen " priority="substantive" responsible="Dan Connolly*" batch="A" locus="structures" status="silent" cluster="12 content-models">

<title>Mixed Content Model</title>

<description>

<p>How do I represent, in a schema, the equivalent of the DTD notation
<code>&lt;!ELEMENT P (#PCDATA|a|b|c)*&gt;</code>?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0187.html" author="nchen &lt;nchen@webMethods.com>">


<p>"Ninggang Chen" &lt;nchen@webMethods.com&gt;
to XML Schema Comments list on
Fri, 12 May 2000 17:38:17 -0400
</p>

<p>
In the schema spec, it says "1.2.4  If the <emph>{content type}</emph>
is <emph>element-only</emph> or <emph>mixed</emph>, the  sequence of
the element information item's element information item
<emph>[children]</emph>,  if any, taken in order, is schema-valid with
respect to the <emph>{content type}</emph>'s particle,  as defined in
Element Sequence Valid (Particle) (&sect;3.8)" ( <link
href="http://www.w3.org/TR/xmlschema-1/#Complex_Type_Definition_details">http://www.w3.org/TR/xmlschema-1/#Complex_Type_Definition_details</link>).</p>

<p>
So how do we represent <code>&lt;!ELEMENT P (#PCDATA|a|b|c)&gt;</code>
in  schema?! The order and number of child elements are not
constrained in XML 1.0, and therefore many industry users have already
used this model in their documents. How can they easily migrate these
documents to schema? Or should we suggest them using DTDs for old
documents but using schema when create new documents?
</p>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0189.html" author="Dan Connolly &lt;connolly@w3.org>">


<p>Dan Connolly &lt;connolly@w3.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 17:25:03 -0500
</p>

<p>
nchen wrote: <emph>  ... So how do we represent  <code>&lt;!ELEMENT P
(#PCDATA|a|b|c)&gt;</code> in schema?! The order and number of child
elements are not constrained in XML 1.0</emph>
</p>

<p>
I believe you are mistaken. That syntax is not legal in XML 1.0. There
is a similar syntax that has the property that the order and number of
children are not constrained:
</p>

<eg>
	&lt;!ELEMENT P (#PCDATA|a|b|c)*&gt;

</eg>

<p>
(note the *).
</p>

<p>
This has a straightforward analog in XML Schema:
</p>

<eg>
 &lt;element name='P'&gt;
  &lt;complexType content='mixed'&gt;
   &lt;choice minOccurs='0' maxOccurs='unbounded'&gt;
    &lt;element ref='t:a'/&gt;
    &lt;element ref='t:b'/&gt;
    &lt;element ref='t:c'/&gt;
   &lt;/choice&gt;
  &lt;/complexType&gt;
 &lt;/element&gt;
</eg>

</input>

</references>


</issue>


<issue keyword="dummy-05" originator="Dan Connolly " priority="substantive" locus="requirements" status="abandoned" batch="X" cluster="dummies">

<title>Dummy</title>

<description>

<p>[This issue number has been retired.]</p>

</description>

 
</issue>


<issue keyword="dummy-06" originator="Dan Connolly " priority="substantive" locus="structures" status="abandoned" batch="X" cluster="dummies"> 

<title>Dummy</title>

<description>

<p>[This issue number has been retired.]</p>

</description>

</issue>


<issue keyword="oracle" originator="Jim Trezzo " priority="substantive" responsible="Ashok Malhotra, David Beech" batch="D" locus="both" status="ok" cluster="formal">

<title>Oracle Comments on XML Schema Last Call:</title>

<description>

<p>[This issue has been split.  See the cross-references below for
pointers to the locations of the parts.]</p>

</description>

 
<references>

<interaction issue="id-constraint"></interaction>

<interaction issue="equivclass-off"></interaction>

<interaction issue="import-conflicts"></interaction>

<interaction issue="psv-api"></interaction>

<interaction issue="psv-augmentation"></interaction>

<interaction issue="recurringDuration"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0190.html" author="Jim Trezzo &lt;jtrezzo@us.oracle.com>">

<p>Jim Trezzo &lt;jtrezzo@us.oracle.com&gt;
to XML Schema Comments list on
Fri, 12 May 2000 16:03:28 -0700
</p>

<p>
Oracle Comments on XML Schema Last Call:
</p>

<p>
Here are the comments we have collected within Oracle.
</p>

<p>
David Beech and Jim Trezzo
</p>

</input>

</references>

</issue>


<issue batch="D" 
       cluster="30 complexity" 
       status="silent" 
       priority="substantive" 
       locus="structures" 
       responsible="Matt Fuchs" 
       originator="Philip Wadler " 
       keyword="simplify-simplify">

<title>Simplifying XML Schema</title>

<description>

<p>[This issue has been split.  See the cross references below for
pointers to the locations of the parts.]</p>

</description>

 
<references>

<interaction issue="drop-xsitype"></interaction>

<interaction issue="drop-xsinull"></interaction>

<interaction issue="simple-complex"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0191.html" author="Philip Wadler &lt;wadler@research.bell-labs.com>">


<p>Philip Wadler &lt;wadler@research.bell-labs.com&gt;
to XML Schema Comments list on
Fri, 12 May 2000 19:08:51 -0400
</p>

<p><b>Simplifying XML Schema</b></p>

<p>
The current Schema proposal is complex.  Programmers have shown a
remarkable ability to put up with complexity, but we do not yet know
whether the XML community will be so forgiving.  We would like to
suggest that it is possible to greatly simplify XML Schema, while not
unduly limiting its power.  Indeed, some of the suggestions below
would both simplify Schema and extend its power at the same time.
</p>

<p>
We are also asking the XML Query working group to support changes
along these lines, but in writing this letter we are not acting as
representatives of XML Query.
</p>

<p>
Yours sincerely,
</p>

<p>Philip Wadler, Lucent</p>

<p>Jerome Simeon, Lucent</p>

<p>Mary Fernandez, AT&amp;T</p>


</input>

</references>

<resolution>
<p>Discussed and resolved at the face to face meeting 1-2 August 2000.</p>

<p>
On the table were the MSL proposal from Matthew Fuchs and a proposal
for modularizing the XML Schema language, from Rick Jelliffe.
</p>

<p>In discussion, some WG members suggested that a large part of
what is perceived as complexity in the design is complexity of
the documentation:  implementors appear not to be having trouble
implementing the language, or understanding from the document what
implementations need to do.  End-users and prospective schema
authors, on the other hand, are reporting trouble reading the spec.
</p>
<p>
The language might be modularized, suggested some, by defining validation
and validation-related conformance without speaking about the
schema-document to abstract-component mapping; some implementors report
that their conversion code for reading schema documents and building
components is much larger than their validation code.  Such modularization 
would also address the desires of those who would like to write DTDs
in an XML instance syntax without all the other features of XML Schema.
Modularization of this kind, however, would take several FTE months of
work.  Some WG members argued against Jelliffe's modularization proposal
on the grounds that it proposes to change the language from the ground
up, and it is now much more important to get the spec out and get
user feedback instead of sitting in a room and thinking about it.
</p>
<p>Several WG members spoke in favor of MSL as providing the beginnings
of a formal model which accounts for all of XML Schema.  Some objected
to its elimination (or apparent elimination, near elimination, or
apparent near elimination) of the tag/type distinction, but confirmed
that its formalism seemed more accessible to implementors in their
organizations.  This surprised some WG members, who said that the
coders in their shops were not, in general, happy to see specifications
formalized in first-order predicate calculus.  Some WG members suggested
that the apparent simplicity of MSL resulted from the fact that it does
not, as presented, actually cover the entire design; if the necessary
missing details are added, readers could find MSL just as complex as
the current draft.
</p>
<p>Several WG members said they would like to rewrite large portions
of the spec, but would not like to change the design and would prefer
to make the editorial changes during CR rather than postponing CR.
</p>
<p>The WG agreed to make it an exit criterion for leaving the
Candidate Recommendation phase that there be a formalization of XML
Schema which could accompany or be included in the specification.
Editorial work on making the prose clearer will also proceed during
the CR period.</p>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0176.html">Formal response</link>.</p>
</resolution>


</issue>


<issue keyword="X3D" originator="Don Brutzman " priority="substantive" responsible="Frank Olken" batch="A" locus="datatypes" status="silent" cluster="15 arrays">

<title>X3D-related comments on Schema datatypes</title>

<description>

<p>Various comments from the point of view of the X3D Consortium.</p>

</description>

 
<references>

<interaction issue="array-size"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0192.html" author="Don Brutzman &lt;brutzman@nps.navy.mil>">


<p>Don Brutzman &lt;brutzman@nps.navy.mil&gt;
to XML Schema Comments list on
Fri, 12 May 2000 20:35:59 -0700
</p>

<p>
The following comments are based on document review and known DTD
shortfalls.  We have only done preliminary examinations of schema
instantiations for the X3D tagset.  Summary:  looks good.
</p>

<p>
References:</p>

<ulist>

<item><link
href="http://www.web3D.org/x3d.html">http://www.web3D.org/x3d.html</link></item>

<item><link
href="http://www.web3D.org/technicalinfo/specifications/vrml97/part1/fieldsRef.html">http://www.web3D.org/technicalinfo/specifications/vrml97/part1/fieldsRef.html</link></item>

<item><link
href="http://www.w3.org/TR/xmlschema-0/">http://www.w3.org/TR/xmlschema-0/</link></item>

<item><link
href="http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1/</link></item>

<item><link
href="http://www.w3.org/TR/xmlschema-2">http://www.w3.org/TR/xmlschema-2</link></item>

</ulist>

<p>
1.  The Extensible 3D (X3D) specification makes heavy use of float,
double and integer lists.  The list support for float/double/integer
appears useful and usable.
</p>

<p>
2.  X3D lists of floats/doubles/integers are often lists of 2-tuples,
3-tuples or 4-tuples.  Such typing is commonplace for 3D graphics
(e.g. translations are 3-tuples, orientations are axis-angle
4-tuples). Regular-expression patterns will let us express these
relationships (hopefully without redefining the numeric base types,
not yet sure). No draft schema appears in the current SVG draft -
pertinent examples  are welcome.
</p>

<p>
A helpful facet might be to specify the tuple-ordinality of a list
type, so that only appropriate multiples of the typed data are
allowed.  Please  be aware that wrapping such X3D tuples in their own
type tags has been  considered, but is impractical due to unneccesary
redundancy and the  extremely large volumes of numeric data involved
in many scenes.
</p>

<p>...</p>

<p>
4.  Thanks for this excellent work.  If further issues are identified
during eventual production of the X3D schema, we'll report them back.
</p>


</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0242.html">Formal response</link>.</p>
</resolution>

</issue>


<issue keyword="num-constraints" originator="Don Brutzman" priority="substantive" locus="datatypes" status="silent" cluster="09 appinfo" batch="A" responsible="Priscilla Walmsley">

<title>How do I specify additional numeric constraints?</title>

<description>

<p>An example of a needed kind of extension / extensibility.</p><p>[N .B. This issue number has been opportunistically recycled.]</p>

</description>

<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0192.html" author="Don Brutzman &lt;brutzman@nps.navy.mil>">

<p>Don Brutzman &lt;brutzman@nps.navy.mil&gt;
to XML Schema Comments list on
Fri, 12 May 2000 20:35:59 -0700
</p>



<p>
3.  A further feature X3D might use is the ability to identify &amp;
evaluate further numerical constraints to be placed on data.  For
example, Normal  (i.e. perpendicular vector) 3-tuples should have unit
magnitude.  It  appears language-specific data validation will be
needed to check such  cases, probably corresponding to named
simpleType or complexType  definitions.  So Schema capabilities at
least appear sufficient to enable such checking independently, even if
not supporting it directly.
</p>

<p>
4.  Thanks for this excellent work.  If further issues are identified
during eventual production of the X3D schema, we'll report them back.
</p>


</input>

</references>

<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000JulSep/0242.html">Formal response</link>.</p>
</resolution>
</issue>




<issue keyword="q-ref" originator="gmacri@libero.it " priority="substantive" responsible="Henry Thompson" batch="A" locus="structures" status="silent" cluster="12 content-models">

<title>Question on "ref" attribute</title>

<description>

<p>Can <emph>ref</emph> attributes refer to constructs not at the top
level?</p>

</description>

 
<references>

<interaction issue="named-nontop"></interaction><input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0196.html" author="gmacri@libero.it &lt;gmacri@libero.it>">

<p>"gmacri@libero.it"&lt;gmacri@libero.it&gt;
to XML Schema Comments list on
Sun, 14 May 2000 16:11:28 +0200
</p>

<p>
When I write a XML schema as this that follow:
</p>

<eg>
&lt;schema xmlns="http://www.w3.org/1999/XMLSchema"
        targetNamespace="http://www.somewhere.org/BookCatalogue"
        xmlns:cat="http://www.somewhere.org/BookCatalogue"&gt;
    &lt;element name="BookCatalogue"&gt;
        &lt;type&gt;
             &lt;element name="Book" minOccurs="0" maxOccurs="*"&gt;
                  &lt;type&gt;
                      &lt;group ref="BookElements"/&gt;
                      &lt;attribute name="Category" minOccurs="1"&gt;
                          &lt;datatype source="string"&gt;
                              &lt;enumeration value="autobiography"/&gt;
                              &lt;enumeration value="non-fiction"/&gt;
                              &lt;enumeration value="fiction"/&gt;
                          &lt;/datatype&gt;
                      &lt;/attribute&gt; 
                      &lt;attribute name="InStock" type="boolean" 
default="false"/&gt;
                      &lt;attribute name="Reviewer" type="string" 
default=""/&gt;
                  &lt;/type&gt;
             &lt;/element&gt;
        &lt;/type&gt;
    &lt;/element&gt;
    &lt;group name="BookElements" order="seq"&gt;
        &lt;element name="Title" type="string"/&gt;
        &lt;element name="Author" type="string"/&gt;
        &lt;element name="Date" type="string"/&gt;
        &lt;element name="ISBN" type="string"/&gt;
        &lt;element name="Publisher" type="string"/&gt;
    &lt;/group&gt;
&lt;/schema&gt;
</eg>

<p>
the group's "ref" attribute must always refer to a group that is
child (top level) of schema ?
</p>


</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0198.html" author="ht@cogsci.ed.ac.uk (Henry S. Thompson)">


<p>ht@cogsci.ed.ac.uk (Henry S. Thompson)
to XML Schema Comments list on
14 May 2000 20:57:40 +0100
</p>

<p>
"gmacri@libero.it"&lt;gmacri@libero.it&gt; writes:
</p>

<p>
 <emph> the group's "ref" attribute must always refer to a group that
is  child (top level) of schema ?</emph>
</p>

<p>
Yes.
</p>

<p>
In general (except for local element and attribute declarations, that
is), named things must occur at the top level.
</p>

<p>
Without exception, only things named at the top level can be 'ref'ed.
</p>


</input>

</references>


</issue>


<issue keyword="dummy-08" originator="Martin Bryan " priority="substantive" locus="datatypes" status="abandoned" batch="X" cluster="dummies">

<title>Dummy</title>

<description>

<p>[This issue number has been retired.]</p>

</description>

</issue>




<issue keyword="dummy-09" originator="Cohen, Aaron M " priority="substantive" locus="requirements" status="abandoned" batch="X" cluster="dummies">

<title>Dummy</title>

<description>

<p>[This issue number has been retired.]</p>

</description>

</issue>


<issue keyword="extending" originator="Jane Hunter (MPEG-7)" responsible="Frank Olken, Lee Buck" locus="structures" priority="substantive" status="silent" batch="A" cluster="10 openness">

<title>Provide guidance on extending schema for schemas?</title>

<description>

<p>Should the spec be revised to provide clearer guidance on
recommended methods for extending the schema for schemas and
adding new constructs to satisfy requirements not covered by the
spec?  In particular, should the behavior of a conforming processor
in the presence of attributes and elements from outside the
schema namespace be described?</p>

</description>

 
<references>

<interaction issue="appinfo"></interaction>

<interaction issue="extensibility"></interaction>

<input href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html" author="Jane Hunter">

<p><b>2. Extensibility Issue</b></p>

<p>MPEG-7 requires clarification of: </p>

<ulist>

<item>Recommended extensibility mechanisms (e.g. XSL/XSLT?) so MPEG-7
can add  additional attributes to the XML Schema specification and
define their own  constructs to satisfy MPEG-7-specific requirements;
</item>

<item>The behaviour of an XML Schema valid parser in the case of an
"unknown"  (MPEG-7) tag and attribute in the schema
specification.</item>

</ulist>

</input>

<input href="http://www.doctypes.org/spec/schema-review-1.html#p1" author="Murray Altheim">

<p>Murray Altheim, Review of XML Schema Specification, 11 May 2000</p>

<p><b>Part 1 : Structures</b></p>

<p><b>&sect;2.2.6 <emph>Annotation Components </emph></b></p>

<p>While it certainly makes sense that the Schema spec would not
define the annotation mechanism, I would have hoped that the DTD
design (and the  Schema for Schemas) would make it easy to extend.
Perhaps rather than (from  part2.dtd): </p>

<eg>    &lt;!ELEMENT %annotation; (%appinfo; | %documentation;)*&gt;</eg>

<p>this could be declared as: </p>

<eg>    &lt;!ENTITY  %annotation.content; "(%appinfo; | %documentation;)*"&gt;
    &lt;!ELEMENT %annotation; %annotation.content; &gt;
</eg>

<p>although I'm not sure how I'd modify the DTD or Schema for Schemas
if I wanted to say, insert a <code>&lt;xhtml:div&gt;</code> here.
</p>


</input>

</references>
<resolution>
<p><link href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000OctDec/0127.html">Formal response to commentator</link>.</p>
</resolution>
</issue>


<issue keyword="array-size" originator="Jane Hunter (MPEG-7)" responsible="Frank Olken" locus="both" priority="substantive" status="resolved" batch="D" cluster="15 arrays">

<title>Allow specification of size constraints in instance?</title>

<description>

<p>Should XML Schema be modified to allow the specification of size
constraints (e.g. for a series of elements representing an array, or
for a list of tokens representing an array)?  If so, should the
ability to specify size constraints in the instance always be
available, or be available only if the schema author calls for it?</p>

</description>

 
<references>

<interaction issue="X3D"></interaction>

<input href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html" author="Jane Hunter">

<p><b>3. Parameterization of Array and Matrix Sizes</b></p>

<p>We would like to define  the size of lists (arrays and matrices) at
the time of instantiation. In the  example below we suggest a
<emph>valuePar</emph> construct which gives the name of  the attribute
whose value will be used for the facet. The attribute data type  must
match the facet data type. This example is currently problematic
because  facets only apply to simple types and attributes can only be
added to complex  types. The other issue is whether VectorI is being
restricted or  extended?</p>

<eg>&lt;simpleType name="listOfInteger" base="integer" derivedBy="list"&gt;

&lt;complexType name="VectorI" base="listOfInteger" derivedBy="extension"&gt;
    &lt;length valuePar="Size"/&gt;
    &lt;attribute name="Size" type="nonNegativeInteger" use="required" /&gt;
&lt;/complexType&gt;</eg>

</input>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0192.html" author="Don Brutzman &lt;brutzman@nps.navy.mil>">


<p>Don Brutzman &lt;brutzman@nps.navy.mil&gt;
to XML Schema Comments list on
Fri, 12 May 2000 20:35:59 -0700
</p>


<p>
2.  X3D lists of floats/doubles/integers are often lists of 2-tuples, 
3-tuples or 4-tuples.  Such typing is commonplace for 3D graphics 
(e.g. translations are 3-tuples, orientations are axis-angle 4-tuples).
Regular-expression patterns will let us express these relationships
(hopefully without redefining the numeric base types, not yet sure).
No draft schema appears in the current SVG draft - pertinent examples 
are welcome.
</p>

<p>
A helpful facet might be to specify the tuple-ordinality of a list type,
so that only appropriate multiples of the typed data are allowed.  Please 
be aware that wrapping such X3D tuples in their own type tags has been 
considered, but is impractical due to unneccesary redundancy and the 
extremely large volumes of numeric data involved in many scenes.
</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-06-29.</p>
<p><b>RESOLVED</b>: to dispose of this issue by saying no (with rationale).
<b>Dissenting</b>: Jelliffe (It's useful and should be included.)
<b>Abstaining</b>: Connolly</p>
</resolution>
</issue>


<issue keyword="typed-refs" originator="Jane Hunter (MPEG-7)" responsible="Frank Olken" locus="structures" priority="substantive" status="unassigned" batch="A" cluster="20 keys">

<title>How do I restrict IDREFs to particular (element) types?</title>

<description>

<p>How does a schema author use key constraints to specify that
a value (which otherwise behaves like an SGML or XML ID) is
restricted to pointing at one (or more) particular element type(s)?</p>

</description>

 
<references>


<input href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html" author="Jane Hunter">

<p><b>4. Typed References</b></p>

<p>MPEG-7 requires 'typed references' or the ability 
to constrain IDs and IDREFs to particular elements: </p>

<eg>&lt;element name="SummaryDS"&gt;
  &lt;complexType&gt;.....&lt;/complexType&gt;
&lt;/element&gt;

&lt;attribute name="SummaryDSRef" type="IDREF" refType="SummaryDS"/&gt;</eg>

</input>

</references>

</issue>


<issue keyword="restrension" originator="Jane Hunter (MPEG-7)" responsible="Frank Olken" locus="structures" priority="substantive" status="resolved" batch="D" cluster="07 typedecl">

<title>Simultaneous restriction and extension?</title>

<description>

<p>Should XML Schema be modified to allow complex types to be derived
from other types not only by restriction or extension but also by
simultaneous restriction and extension?</p>

</description>

 
<references>

<interaction issue="restriction-awkward"></interaction>

<input href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html" author="Jane Hunter">

<p><b>5. Derivation Issues</b></p>

<p>...</p>

<p><b>5.2 Combined Restriction and Extension in One Step</b> </p>

<p>The current XML Schema WD allows a new complex type to be derived 
from an existing one either by restriction or extension but not both at the 
same time. Nevertheless, it is quite common for a new type to both restrict 
and extend a base type. The constraint imposed by the current XML Schema WD 
means that such type derivation has to go through two steps: a restriction 
followed by an extension or vice versa. This will create a large number of 
dummy types. For example:</p>

<eg>  &lt;complexType name="A"&gt;
    &lt;element name="B" type="string" minOccurs="0" maxOccurs="unbounded"/&gt;
    &lt;element name="C" type="string"/&gt;
  &lt;/complexType&gt;</eg>

<p>
We then define "D" which restricts B to a 
single occurrence and adds a new element E. We would like to do this in 
one step (not two):</p>

<eg>  &lt;complexType name="D" base="A" derivedBy="both"&gt;
       &lt;element name="B" type="string" minOccurs="1"/&gt;
       &lt;element name="E" type="integer"/&gt; &lt;
  &lt;/complexType&gt;</eg>

<p><b>5.3 Unambiguous derivation of nested elements</b></p>

<p>If we allow derivation by both restriction and extension in a single 
step then there needs to be a mechanism for specifying the exact path of 
element derivations. This is required to avoid ambiguity when there are 
anonymous embedded  type definitions. For example: </p>

<eg>&lt;complexType name="A"&gt;
    &lt;element name="B"&gt;
         &lt;complexType&gt;
            &lt;element name="C" type="string" minOccurs="0"
                                 maxOccurs="unbounded"/&gt;
         &lt;/complexType&gt;
    &lt;/element&gt;
    &lt;element name="D" type="integer" /&gt;
&lt;/complexType&gt;

&lt;complexType name="E" base="A" derivedBy="both"&gt;
    &lt;element name="C" type="string" minOccurs="1" /&gt;
    &lt;element name="F" type="integer" /&gt;
&lt;/complexType&gt;</eg>

<p>
Is "C" an extension (that is, a new element) or a 
restriction of "B.C"? If the latter, then it would be better to use a path 
specification such as B.C. :</p>

<eg>&lt;complexType name="E" base="A" derivedBy="both"&gt;
        &lt;element name="B.C" type="string" minOccurs="1"/&gt; 
        &lt;element name="F" type="integer"/&gt;
&lt;/complexType&gt;</eg>

<p><b>5.4 Derivation by Restriction/Extension using Derived Complex Type</b></p>

<p>We would like to be able to do the following kinds of derivation by
restriction/extension based on an existing restricted/extended
complex type:
</p>

<eg>&lt;complexType name="A"&gt;
    &lt;element name="B" type="BType"/&gt;
&lt;/complexType&gt;

&lt;complexType name="restrictedB" base="BType" derivedBy="restriction"&gt;
&lt;!-- derivation by restriction --&gt;
&lt;/complexType&gt;

&lt;complexType name="restrictedA" base="A" derivedBy="restriction"&gt;
    &lt;element name="B" type="restrictedB"/&gt;
&lt;/complexType&gt;</eg>

<eg>&lt;complexType name="extendedB" base="BType" derivedBy="extension"&gt;
&lt;!-- derivation by extension --&gt;
&lt;/complexType&gt;

&lt;complexType name="extendedA" base="A" derivedBy="extension"&gt;
    &lt;element name="B" type="extendedB"/&gt;
&lt;/complexType&gt;</eg>

</input>



</references>

<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>This has been raised within the WG before. The argument at the
time: we have defined two and may yet define more type derivation
mechanisms, don't believe we want to define all logical combinations
of these. Again it is a slippery slope. It is already tricky because
can extend complex types from simple types, don't want to think about
what implications of that would be if you have restricting extensions
in the mix. It is also the case tha we have said that we want schema
processors to check restriction steps to ensure that they are
restrictions. Cannot imagine how to check both at once. Too hard.
Don't go there. 
</p>

</resolution></issue>


<issue batch="D" cluster="24 occurs" status="resolved" priority="substantive" locus="structures" responsible="Frank Olken" originator="Jane Hunter (MPEG-7)" keyword="min-max-occurs">

<title>Re-align occurrence indications for elements and attributes?</title>

<description>

<p>Shall the XML transfer syntax for occurrence information
for attributes and elements be made identical? (Cf. issue
<link href="issues.html#attributeOcc">222 attributeOcc: Change
the specification of attribute occurrence?</link> in the
development-issues list.)</p>

</description>

 
<references>

<interaction issue="minoccur-maxoccur"></interaction>

<input href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html" author="Jane Hunter">

<p><b>6. Inconsistencies in Occurrence Constraints</b> In the current
working  draft there are inconsistencies between the specification of
occurrence  constraints for elements and attributes e.g.
<code>default="37"</code>  vs. <code>use="default"  value="37"</code>.
It would be much better if the same attributes are used.</p>

<eg>&lt;element name="myElement" type="integer" minOccurs="0" maxOccurs="1" default="37" /&gt;

&lt;attribute name="myAttribute" type="integer" use="default" value="37"/&gt;</eg>

</input>


<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0272.html" author="XML Query WG">

<p>
Paul Cotton &lt;paulcotton@alumni.uwaterloo.ca&gt;
to www-xml-schema-comments@w3.org,
Mon, 29 May 2000 12:28:34 -0400,
Subject: XML Query Comments to XML Schema (2nd part)
</p>


<p><b>2.4 Problems with minoccurs and maxoccurs</b></p>

<p>
A. The default for maxOccurs behaves counter-intuitively. When
   maxOccurs is not explicitly specified, it inherits the value of
   minOccurs (which defaults to 1 if not specified). This is
   confusing. For example, po.xsd in XML-Schema Part-0 (Primer)
   contains the declaration &lt;xsd:element ref="comment" minOccurs="0"/&gt;
</p>
<p>
   This effectively prohibits comments in the instance-document.
</p>

<p>
   The XML Query Working Group suggests that Schema require that
   minOccurs and maxOccurs occur together or that Schema normatively
   adopt the default-rule mentioned in Appendix B of XML Schema
   Part-1: "maxOccurs defaults to 1 or minOccurs, whichever
   is greater".
</p>

<p>
B. The XML Query Working finds the different treatment of the
   properties minOccurs/maxOccurs, fixed, default, and value in the
   XML representation for element-declarations and for
   attribute-declarations confusing.  The XML Query Working group
   suggests to use the same representation for element-declarations
   and attribute-declarations, and constrain the allowed value for
   minOccurs and maxOccurs in attribute-declarations to "0" or "1".
   This would allow queries such as:
</p>

<eg>
   "Select all attributes and elements that may occur at most 1 once"
</eg>

<p>
   to be evaluated more efficiently.
</p>

<p>
C. There is an inconsistency between '*' and 'unbounded'. Primer uses
   "*" to mean Infinity; Data Type spec uses "*" in appendix B. Other
   places in the spec use "unbounded".
</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-07-20.</p>
<p>The question is on a proposal to reverse our decision on development
issue 222 attributeOcc: Change the specification of attribute
occurrence?
</p>
<p>
   On 2000-03-16, the WG first voted to suppress minOccurs and
   maxOccurs (dissenting: Box, Brown, Thompson. abstaining: Biron,
   Shannon), and then (without dissent) to choose the second proposal
   above.
</p>
<p>
   On 2000-03-23, the WG declined to reconsider that decision, and
   there was no consensus in favor of changing the behavior of
   attributes to make them required by default.
</p>
<p>
The WG discussed the issue, and distinguished two changes proposed by
the commentators: changing the 'use' attribute back to minOccurs and
maxOccurs, and changing the name of the 'value' attribute to
'default'.
</p>
<p>
An initial straw poll showed support for at least the first change, but
after further discussion the WG decided against the changes.
</p>
<p>
<b>RESOLVED</b>: to retain the 'use' attribute instead of reverting to
minOccurs and maxOccurs.  <b>Dissenting</b>: Biron, Olken, Thompson (by proxy).
</p>
<p>
Rationale: the arguments in favor of reverting to the earlier syntax
are flawed: elements are not the same as attributes (as illustrated by
the difference in range of legal values for both min and max, as well
as the difference in defaults), and making the syntax suggest they are
would be misleading.  RDF's decision not to come to grips with the
distinction, and to attempt to make attributes and child elements
interchangeable is (in the view of some WG members) one of the biggest
mistakes in the design of RDF syntax, and this is not a mistake we
should repeat or encourage.
</p>
<p>
On the second question, some members of the WG suggested that the use
of the term 'default' for both default and fixed values might be
mildly confusing in such close proximity to the sharp distinction
being made between fixed and default values in the 'use' attribute.
There was, in the end, not enough serious support for the suggested
change.
</p>
<p>
<b>RESOLVED</b> unanimously: to close issue LC-153 part 2 with a polite no.
</p>
</resolution>

</issue>


<issue batch="D" cluster="19 modules" status="resolved" priority="substantive" locus="structures" responsible="Frank Olken" originator="Jane Hunter (MPEG-7)" keyword="impex">

<title>Allow explicit specification of name import/export?</title>

<description>
<p>Should XML Schema be revised to make it possible to import
specified names from other modules (rather than the entire set of
names), and to specify in the definition of a module what names from
it are legitimately used by other modules (are exported)?</p>
</description>

 
<references>


<input href="http://archive.dstc.edu.au/mpeg7-ddl/issues.html" author="Jane Hunter">

<p><b>7. Element-specific Importation and Exportation</b>
It would be useful to 
be able to specify the importation of specific individual elements, types, 
attributes or groups rather than only complete schemas. </p>

<p>We would also like to be able to specify which particular components 
(elements, types, attributes, groups etc.) of a schema are 
<emph>exportable</emph>.

</p>

</input>

</references>

<resolution>
<p>Discussed in call of 2000-07-06.</p>
<p>The question is on MPEG-7's proposal that we support explicit
control over name export, and explicit support for (selective)
name import.
</p>
<p>
<b>RESOLVED</b> unanimously to dispose of LC-154 by saying that some WG
members (at least) see utility in such a suggestion, and no one argued
against it on principle, but that experience has made us feel such
functionality is better omitted from 1.0.  Our earlier design did have
similar functionality but was widely criticized as needlessly complex
in this area; even those of us who believe the functionality is
important also agree that the mechanisms we have thus far thought of
seem complicated.  We hope that experience will suggest lighter-weight
methods of achieving this function.  We do foresee the possibility
of compatible extensions later to provide this functionality.
</p>
<p>
It was noted that control of name export can be accomplished, within
limits, by making only those things top-level which the module author
wishes to have exported.  Complex types and element declarations which
are local to some complex type cannot be referred to from other
modules, and are thus effectively hidden.  We are not sure whether
this completely satisfies all needs for control over the export of
names, or not; we do believe it is useful in many circumstances.  We
do not see any way, in the current draft, to control import or
inclusion of names; users of third-party modules will end up having
all the top-level names in those modules visible.
</p>
<p>
(The chair notes after the fact that perhaps this should be a priority
feedback issue.)
</p>
</resolution>
</issue>



<issue batch="D" 
       cluster="29 openness" 
       status="ok" 
       priority="substantive" 
       locus="structures" 
       responsible="Roger Costello, Noah Mendelsohn" 
       originator="Roger L. Costello " 
       keyword="open-intercalation">

<title>Restore global openness</title>

<description>

<p>Shall XML Schema be revised to allow schema authors to define
complex types which allow unknown elements to be inserted anywhere
within the type? (or: within the type or within any of its
descendants?)</p>

</description>

 
<references>

<interaction issue="open-sfs"></interaction>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0177.html" author="Roger L. Costello &lt;costello@mitre.org>">


<p>"Roger L. Costello" &lt;costello@mitre.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 08:51:46 -0400
</p>


<p>
<b>[1]</b> Please reinstate the capability to specify open content using an
attribute (i.e., <code>content = "open"</code>).  
</p>

<p>
Rationale: 
</p>

<ulist>

<item>we expect open content schemas to be the norm, rather than the
exception.
Open content enables systems to respond quickly in a changing 
environment. Systems implementing the schema are not forced to
change in lock-step. Changes do not break systems that haven't 
explicitly been programmed to take advantage of them. The system 
of systems using an open content schema can grow larger without 
compromising its robustness or responsive to new requirements 
(i.e., it's scalable). Thus, an open schema invites change, rather
than hinders change. 
</item>

<item>It is possible to define open content using the &lt;any&gt; element before
and after each element declaration. However this results in a
potentially large number of &lt;any&gt; elements being added (significantly
increasing the size of the schema). Aside from the fact that it's easy
to make mistakes and forget to include an &lt;any&gt; element, it becomes
tedious very quickly.  Effectively, the &lt;any&gt; element incentivizes
"closed" schemas as they are much easier to read and write. Closed
systems do not lead to evolvable, scalable, robust systems. 
</item>

<item>The refinement method of evolving a schema is a systematic, engineered
approach; a new schema is carefully crafted based upon the original
schema, then instance documents are produced from the new schema. This
approach to schema evolution is fine in many cases. However, many
situations require a more lightweight, on-the-fly evolution capability.
A typical user wanting to experiment and add to a schema may not have
the time, resources, nor the skill to go through the process of
carefully crafting a new schema.  
</item>

<item>
To be successful, Schemas must be effective on the Internet, a 
system characterized by both chaos and order (defined as a "chaord"
by Dee Hock). Refinable schemas provide savvy users with a very 
ordered, engineered approach for managing schema evolution. Open 
content models empower novice users and XML hackers with a simple 
mechanism for managing the chaos in a constructive way. Any system
that fails to recognize and accommodate both chaos and order is
less likely to succeed. 
</item>

</ulist>

</input>

<input href="http://www.doctypes.org/spec/schema-review-1.html#p1" author="Murray Altheim">

<p>Murray Altheim, Review of XML Schema Specification, 11 May 2000</p>

<p><b>Part 1 : Structures</b></p>

<p><b>&sect;2.2.1.3 <emph>Complex Type Definition </emph></b></p>

<p>The failure of complex type definitions to allow only appending
extensions seems very limiting. In a DTD might see a content model
defined as: </p>

<eg>( frontmatter, preface?, chapter*, backmatter )</eg>

<p>It sounds as if it would be impossible to extend this to:</p>

<eg>( frontmatter, preface?, introduction?, chapter*, backmatter )</eg>

<p>Being able to extend by appending particles after
<code>backmatter</code> is pretty useless in this context. It seems
that this  would require a schema author to resort to redefinition
rather than extension,  thus losing any advantages of type
inheritance. </p>

</input>

</references>

<resolution>
<p>Discussed in meeting of 1-2 August 2000.</p>
<p>The proposal amounts to this:</p> 
<ulist>
<item>Add a switch on element declarations</item>
<item>which would allow arbitrary elements (in some sense of the
word '<emph>arbitrary</emph>' to intervene 
between child elements in a
type;</item>
<item>the result would be similar (in some ways) to the
<code>content="mixed"</code> switch.</item>
<item>Some WG members also discern a similarity to the effect
of an imaginary ability to have an <code>ANY</code> inclusion 
exception in an SGML DTD.</item>
</ulist>

<p>
It was common ground that:
</p>
<ulist>
<item>
The content models thus created can be written without
the switch, by using lots of wildcards.</item>
<item>The task of writing those content models using
wildcards is mechanical and error-prone and complicated
by our determinism rule.</item>
<item>The switch would make it much more convenient
to write 'globally open' declarations.</item>
<item>In any case, the current point-by-point wildcards 
should be retained.</item>
</ulist>
<p>There were differences of opinion in the WG on whether the switch,
or the globally-open style of declaration it makes easier, is a  good
idea or not.</p>
<p>
A straw poll showed a large preponderance of opinion in favor of 
not going there.
</p>
<p>
<b>Resolved</b>: to dispose of LC-155 by respectfully declining the proposal.
<b>Dissenting</b>: Buck, Costello, Hollander.</p>

</resolution>


</issue>


<issue keyword="open-sfs" 
       originator="Roger L. Costello " 
       priority="substantive" 
       responsible="Roger Costello, Noah Mendelsohn" 
       batch="D" 
       locus="structures" 
       status="ok" 
       cluster="29 openness">

<title>Make schema for schemas open?</title>

<description>

<p>Shall the element types declared in the schema for schemas
be declared open? If so,</p>

<ulist>

<item>open in the sense of allowing suffixed extensions?</item>

<item>open in the sense of allowing intercalated elements at
specified points?</item>

<item>open in the sense of allowing intercalated elements at
any point?</item>

</ulist>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0177.html" author="Roger L. Costello &lt;costello@mitre.org>">


<p>"Roger L. Costello" &lt;costello@mitre.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 08:51:46 -0400
</p>


<p>
<b>[2]</b> Please make the schema for schemas open.
</p>

<p>
Rationale:
</p>

<ulist>

<item>This would allow the schema to gradually evolve and allow users to
migrate to updated schema functionality at their own pace. Further, an
open content schema for schemas would facilitate experimentation and
specification of additional types of constraints for vertical markets.
</item>

</ulist>


</input>

</references>

<resolution>
<p>Discussed at meeting of 1-2 August 2000.</p>
<p>The status quo is that on every major schema construct, there
is an <emph>annotation</emph> element, which may contain arbitrary
content; there are no content-model wildcards elsewhere in the
schema for schemas.  All elements in schema documents can
have attributes from any other namespace.</p>
<p><b>Resolved</b>: to dispose of LC-156 by politely declining to
change the status quo.
<b>Dissenting</b>: Buck, Costello, Hollander, Holstege, Olken.
<b>Abstaining</b>: Corda, Ezell, Mendelsohn.
</p>
</resolution>


</issue>


<issue batch="D" 
       cluster="29 openness" 
       status="ok" 
       priority="substantive" 
       locus="structures" 
       responsible="Roger Costello, Noah Mendelsohn" 
       originator="Roger L. Costello" 
       keyword="schema-derivation">

<title>Clarify schema evolution</title>

<description>

<p>Shall the XML Schema spec be modified to describe clearly what
behavior is expected of an application which
is confronted with documents which conform not to the schema it
expects but to a schema derived from that schema?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0177.html" author="Roger L. Costello &lt;costello@mitre.org>">


<p>"Roger L. Costello" &lt;costello@mitre.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 08:51:46 -0400
</p>


<p>
<b>[3]</b> Please define the expected behavior of an application configured to
process (e.g., extract data from) documents conforming to schema 'X'
when it receives documents conforming to schemas derived from schema
'X'.  
</p>

<ulist>

<item>
For example, suppose that a search engine is looking for cellphones
by looking for instance documents conforming to cellphone.xsd.
Supose that it encounters an instance document that conforms to 
cellphone++.xsd.  Is the application supposed to be able to 
determine that cellphone++ is derived from cellphone?  What if 
cellphone++ derives from ... which derives from .. which ... 
derives from cellphone.  Is the search engine expected to be able 
to trace back all the way to cellphone.xsd?
</item>

</ulist>


</input>

</references>

<resolution>
<p>Discussed at the face to face meeting of 1-2 August 2000.</p>
<p>
If schema Y is derived from schema X, and procssor P is hard-coded for
schema X, what does P do when confronted with data conforming to
schema Y?
</p>
<ulist>
<item>dies in all cases</item>
<item>dies if Y extends X (and the instance exercises those extensions), but works if Y restricts X</item>
<item>dies in some cases (which?), works in some (which?)</item>
<item>always works (how?)</item>
</ulist>
<p>
Clarification: "schema Y is derived from schema X" means that
schema X has derivations by extension or restriction.
</p>
<p>
Some WG members argued that since the spec doesn't actually talk about
conformant application-processors, this question is out of scope.  It
is also not clear how to give it a formulation that crisply defines
the relation of schemas X and Y.
RLC withdrew the question; it may be discussed offline as a point of 
interest.</p>

</resolution>


</issue>


<issue keyword="split-spec" originator="Roger L. Costello " priority="substantive" responsible="Roger Costello, Noah Mendelsohn" batch="D" locus="both" status="abandoned" cluster="08 complexity">

<title>Split the specification?</title>

<description>

<p>Should the functionality of XML Schema be divided, with the
simpler part being normative, and the more complex part of the
functionality being in a non-normative part of the spec?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0177.html" author="Roger L. Costello &lt;costello@mitre.org>">


<p>"Roger L. Costello" &lt;costello@mitre.org&gt;
to XML Schema Comments list on
Fri, 12 May 2000 08:51:46 -0400
</p>


<p>
<b>[4]</b> Simplify the schema by making it open and moving the more complex
features to a non-binding portion of the schema spec.  The resulting
simplified version of the XML Schema spec can then gradually evolve to
incorporate the more complex features (if the market dictates).
</p>


</input>


</references>


<resolution>

<p>Discussed at Edinburgh ftf.</p>

<p>This issue can be folded into <link
href="#simplify-simplify">LC-143</link>.</p>

</resolution></issue>


<issue batch="D" cluster="28 keys-infoset" status="ok" priority="substantive" locus="both" responsible="Ashok Malhotra, David Beech" originator="Jim Trezzo " keyword="id-constraint">

<title>Add PSV infoset properties for keyref info?</title>

<description>

<p>Should XML Schema specify that schema processors must
make the results of their keyref checking available to
downstream applications by adding it (on request, or by
default) to the PSV infoset?</p>

</description>

 
<references>

<input href="http://lists.w3.org/Archives/Public/www-xml-schema-comments/2000AprJun/0190.html" author="Jim Trezzo &lt;jtrezzo@us.oracle.com>">

<p>Jim Trezzo &lt;jtrezzo@us.oracle.com&gt;
to XML Schema Comments list on
Fri, 12 May 2000 16:03:28 -0700
</p>

<p>
<b>Part 1: Structures</b>
</p>

<p><b>1. Identity-constraint table</b>
</p>

<p>
For reasons of performance, and avoidance of duplicate
implementation, we believe that a conforming schema
processor should always be prepared to pass the
results of its keyref checking in the PSV-infoset.
It could be very expensive for applications such as
query processors to have to redo this work, both in
run-time performan