<?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>4274</bug_id>
          
          <creation_ts>2007-01-23 13:44:59 +0000</creation_ts>
          <short_desc>Static typing of Comp-notation-*</short_desc>
          <delta_ts>2007-10-02 10:13:55 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XML Query Test Suite</product>
          <component>XML Query Test Suite</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nick Jones">nick</reporter>
          <assigned_to name="Frans Englich">frans.englich</assigned_to>
          <cc>tim</cc>
          
          <qa_contact name="Mailing list for public feedback on specs from XSL and XML Query WGs">public-qt-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>13779</commentid>
    <comment_count>0</comment_count>
    <who name="Nick Jones">nick</who>
    <bug_when>2007-01-23 13:44:59 +0000</bug_when>
    <thetext>Comp-notation-*, while it should be possible to infer the types correctly, unfortunately fail to static type check when following the rules in the formal semantics due to a quantifier mismatch

(: Name: Comp-notation-1 :)
(: Written by: Andreas Behm :)
(: Description: notation comparison :)

(: insert-start :)
import schema namespace myns=&quot;http://www.example.com/notation&quot;;
declare variable $input-context as document-node(schema-element(myns:allTypes)) external;
(: insert-end :)

fn:not($input-context//*:NOTATION1 eq $input-context//*:NOTATION3)


// normalizes to descendant-of-self() [FS 4.2]

This always has quantifier &apos;*&apos; [FS 8.2.2.1.8]

The step expression becomes a FLWOR expression [FS 4.2]

This returns a type with the quantifier of the descendant-or-self() [FS 4.8.2]

statEnv |-  Expr1 : Type1
...
-------------------------
statEnv |-  for $VarName1 in Expr1 return Expr2 : Type2 · quantifier(Type1)

Therefore the static typing of the path expression will always have the &apos;*&apos; quantifier which causes a static typing exception with the operators, like eq, which expect a quantifier of one.

If should theoretically be possible to infer a type without the &apos;*&apos; quantifier for the descendant-or-self() step in these tests due to the schema information, so I can report this as a bug in the Formal Semantics instead if people think that is more appropriate.

Otherwise, could // be replaced by the full path?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16565</commentid>
    <comment_count>1</comment_count>
    <who name="Frans Englich">frans.englich</who>
    <bug_when>2007-09-14 09:34:53 +0000</bug_when>
    <thetext>A fix has been attempted in CVS, XQTS_current.zip is updated.

If the resolution is satisfactory, feel free to change status to CLOSED. Otherwise, reopen this report. If no feedback is returned within two weeks, status will be changed to CLOSED. Thanks for reporting!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16571</commentid>
    <comment_count>2</comment_count>
    <who name="Nick Jones">nick</who>
    <bug_when>2007-09-14 11:04:13 +0000</bug_when>
    <thetext>Thanks. All of them looked fixed except Comp-notation-11 which doesn&apos;t parse (missing right parenthesis); I think also the first exactly-one is in the wrong place (should be inside the boolean?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16875</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2007-09-29 18:27:16 +0000</bug_when>
    <thetext>comp-notation-11 seems to parse OK, but it is now comparing a boolean to a notation because the parens are in the wrong place.

(When I see queries that have been made as unreadable as this, I really wonder what attraction anyone sees in implementing the static typing rules.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16926</commentid>
    <comment_count>4</comment_count>
    <who name="Frans Englich">frans.englich</who>
    <bug_when>2007-10-01 12:15:15 +0000</bug_when>
    <thetext>*** Bug 5056 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16970</commentid>
    <comment_count>5</comment_count>
    <who name="Frans Englich">frans.englich</who>
    <bug_when>2007-10-02 09:51:03 +0000</bug_when>
    <thetext>A fix has been attempted in CVS, XQTS_current.zip is updated.

If the resolution is satisfactory, feel free to change status to closed. Otherwise reopen this report. If no feedback is given within two weeks, status will be set to closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16977</commentid>
    <comment_count>6</comment_count>
    <who name="Nick Jones">nick</who>
    <bug_when>2007-10-02 10:13:55 +0000</bug_when>
    <thetext>Thanks. It now works.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>