<?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>5303</bug_id>
          
          <creation_ts>2007-12-06 15:00:11 +0000</creation_ts>
          <short_desc>Recognize URI scheme without schema assessment</short_desc>
          <delta_ts>2008-01-03 19:29:45 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>SML</product>
          <component>Core</component>
          <version>FPWD</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>resolved</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>LC</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sandy Gao">sandygao</reporter>
          <assigned_to name="Valentina Popescu">popescu</assigned_to>
          
          
          <qa_contact name="SML Working Group discussion list">public-sml</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>17987</commentid>
    <comment_count>0</comment_count>
    <who name="Sandy Gao">sandygao</who>
    <bug_when>2007-12-06 15:00:11 +0000</bug_when>
    <thetext>In the URI scheme definition:

&quot;1. An SML reference element is identified as using the SML URI scheme if and only if exactly one instance of the sml:uri global element declaration is present as a child of that reference element.&quot;

Suggest to replace it with

&quot;1. An SML reference element is identified as using the SML URI scheme if and only if exactly one element information item with the name sml:uri is present as a child of that reference element.&quot;

This makes it possible to identify SML URI scheme instances without schema assessment. It also avoid certain strange cases. For example, if the schema has:

&lt;element name=&quot;myRef&quot;&gt;
  &lt;complexType&gt;
    &lt;sequence&gt;
      &lt;element ref=&quot;sml:uri&quot;/&gt;
      &lt;any processContents=&quot;skip&quot;/&gt;
    &lt;/sequence&gt;
  &lt;/complexType&gt;
&lt;/element&gt;

And in the instance:
&lt;myRef sml:ref=&quot;true&quot;&gt;
  &lt;sml:uri&gt; abc &lt;/sml:uri&gt;
  &lt;sml:uri&gt; xyz &lt;/sml:uri&gt;
&lt;/myRef&gt;

Then according to the current definition, this is viewed as an instance of the URI scheme, because only the first &lt;sml:uri&gt; matches the global element declaration and the second matches the wildcard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17990</commentid>
    <comment_count>1</comment_count>
    <who name="C. M. Sperberg-McQueen">cmsmcq</who>
    <bug_when>2007-12-06 19:16:33 +0000</bug_when>
    <thetext>(Slightly pedantic editorial note:)

For readers who think in terms of either the XML grammar or in terms of the
XPath and XDM data models, the phrase &apos;the name sml:uri&apos; can be misinterpreted
as constraining just the prefix and local name, not the namespace and local
name.  I support the change, but suggest that the editors find some other phrasing
to make clear that what we care about is the expanded name of the element, not
its prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17991</commentid>
    <comment_count>2</comment_count>
    <who name="Kirk Wilson">kirk.wilson</who>
    <bug_when>2007-12-06 19:23:17 +0000</bug_when>
    <thetext>+1 to proposal as amended by MSM in comment #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18001</commentid>
    <comment_count>3</comment_count>
    <who name="Kumar Pandit">kumarp</who>
    <bug_when>2007-12-07 03:17:57 +0000</bug_when>
    <thetext>I agree with the proposal in comment# 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18030</commentid>
    <comment_count>4</comment_count>
    <who name="Virginia Smith">virginia.smith</who>
    <bug_when>2007-12-10 20:52:43 +0000</bug_when>
    <thetext>I agree with proposal in comment #1 with an additional suggestion for detecting errors. E.g., in the example would the SML validator regard 2 sml:uri elements as an error since the URI scheme specifies only 1 or would the validator regard this as an unknown scheme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18080</commentid>
    <comment_count>5</comment_count>
    <who name="Sandy Gao">sandygao</who>
    <bug_when>2007-12-13 18:32:41 +0000</bug_when>
    <thetext>To answer the question raised in comment #4.

The latter: it&apos;s not using the URI scheme, because the reference is not recognized as an instance of the URI scheme.

To avoid potential confusion, we could clarify that scheme implementations can only report errors for their recognized instances. For example, maybe in 4.3, after the 3 requirements, add something like: 

&quot;A schema definition MAY impose additional requirements on references recognized as instances of the scheme. Such requirements, if any, MUST NOT be applied by scheme implementations to references that are not instances of the corresponding scheme.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18089</commentid>
    <comment_count>6</comment_count>
    <who name="Virginia Smith">virginia.smith</who>
    <bug_when>2007-12-13 20:33:42 +0000</bug_when>
    <thetext>fix per original description as modified by comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18129</commentid>
    <comment_count>7</comment_count>
    <who name="Valentina Popescu">popescu</who>
    <bug_when>2007-12-18 19:11:00 +0000</bug_when>
    <thetext>URI definition, section 4.3.1, first bullet reads now :

1. An SML reference element is identified as using the SML URI scheme if and only if exactly one element information item whose [local name] is uri and whose [namespace name] is http://www.w3.org/@@@@/@@/sml is present as a child of that reference element.

To address comment #4 and #5 this paragraph was added at the end of section 4.3 Reference Schemes

http://dev.w3.org/cvsweb/~checkout~/2007/xml/sml/build/sml.html?content-type=text/html;%20charset=utf-8#Reference_Schemes

A schema definition MAY impose additional requirements on references recognized as instances of that scheme. Such requirements, if any, MUST NOT be applied by scheme implementations to references that are not instances of the corresponding scheme.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>