<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>3378</bug_id>
          
          <creation_ts>2006-06-23 09:51:27 +0000</creation_ts>
          <short_desc>Last Call comment: Please make xs:anyAtomicType abstract</short_desc>
          <delta_ts>2007-10-14 18:18:07 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XML Schema</product>
          <component>Datatypes: XSD Part 2</component>
          <version>1.1 only</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>important, hard</status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Rys">mrys</reporter>
          <assigned_to name="C. M. Sperberg-McQueen">cmsmcq</assigned_to>
          
          
          <qa_contact name="XML Schema comments list">www-xml-schema-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>10209</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Rys">mrys</who>
    <bug_when>2006-06-23 09:51:27 +0000</bug_when>
    <thetext>XQuery 1.0 currently treats xs:anyAtomicType as an abstract type (even though xs:anySimpleType is instantiatable). XSD 1.1 seems to be making it instantiatable. Since I do not see many use cases for having actual instances that are typed xs:anyAtomicType and because of potential future impact on XQuery, I urge you to make the type abstract as well. It is better to be restrictive and loosen the restriction later than be more lenient and providing more complexity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16628</commentid>
    <comment_count>1</comment_count>
    <who name="C. M. Sperberg-McQueen">cmsmcq</who>
    <bug_when>2007-09-17 18:36:09 +0000</bug_when>
    <thetext>The XML Schema WG discussed this issue on its telcon of 14 September (see
http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2007Sep/0002.html
[member-only link] for minutes), but did not reach consensus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16712</commentid>
    <comment_count>2</comment_count>
    <who name="David Ezell">David_E3</who>
    <bug_when>2007-09-20 16:27:46 +0000</bug_when>
    <thetext>From the above telcon:

Straw poll: 
In favour of changing to abstract: 1 
In favour of keeping it concrete: 4 + 2 halves 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16857</commentid>
    <comment_count>3</comment_count>
    <who name="Mary Holstege">holstege</who>
    <bug_when>2007-09-28 15:32:05 +0000</bug_when>
    <thetext>The preponderance of sentiment was to not make the change because
xs:anySimpleType is already concrete and is used in schemas in the wild for
generic attributes.  If you wish to define a base level schema that has no
commitment to a specific type for an attribute, with the intention that 
later versions or local refinements of that schema will give a specific type,
you have no other option.  So it is by no means obvious to us that making
xs:anySimpleType concrete constitutes a design mistake.  Has xs:anyAtomicType
been available in XSDL 1.0, likely many of these schemas would have used it in
the way xs:anySimpleType is now used, and outlawing this practice seems 
counter-productive.  In addition, while it is quite possible for a type 
derivation hierarchy in the context of structures to have this kind of flip-flop
from concrete to abstract to concrete types, this would be the only case within
the datatypes proper, which do get used in other contexts, and this gives
(some of) us pause.

On the other hand, we do not fully understand that the actual impact on XQuery
as a language would be, and would welcome a crisper explanation of that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17183</commentid>
    <comment_count>4</comment_count>
    <who name="Sandy Gao">sandygao</who>
    <bug_when>2007-10-14 17:46:32 +0000</bug_when>
    <thetext>Discussed at 2007-10-12 F2F.

Resolved: no, anyAtomicType should remain concrete. Rationale: parallelism with anySimpleType and lack of cost in QT, since anyAtomicType is already mapped to untypedAtomic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17187</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2007-10-14 18:18:07 +0000</bug_when>
    <thetext>To expand the explanation of the decision (unofficially):

If xs:anyAtomicType is concrete in XML Schema, then an XDM node can be annotated as having type xs:anyAtomicType. XDM already assumes this situation can arise, and states that when such a node is atomized, the result is an xs:untypedAtomic value. XPath does not allow creation of a free-standing atomic value of type xs:anyAtomicType, so when seen as an &quot;item type&quot; rather than as a &quot;schema type&quot;, the type is abstract. But making it abstract as a schema type appears to be unnecessary. There seem to be some use cases for allowing it to be used, for example in:

&lt;xs:attribute name=&quot;x&quot; type=&quot;xs:anyAtomicType&quot;/&gt;

Currently xs:anySimpleType is allowed in this situation; the difference between the two cases is that if xs:anyAtomicType is used, then any restricted type can only restrict it to an atomic type, not to a list type.

(Mind you, this use case also argues that xs:anyListType would be useful, which contradicts the rationale for another decision...)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>