<?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>5579</bug_id>
          
          <creation_ts>2008-03-19 22:49:15 +0000</creation_ts>
          <short_desc>Update 1.1: In-situ validation</short_desc>
          <delta_ts>2014-07-30 14:23:09 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XPath / XQuery / XSLT</product>
          <component>Requirements for Future Versions</component>
          <version>Candidate Recommendation</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></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Kay">mike</reporter>
          <assigned_to name="Jonathan Robie">jonathan.robie</assigned_to>
          <cc>jim.melton</cc>
    
    <cc>jonathan.robie</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>19551</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2008-03-19 22:49:15 +0000</bug_when>
    <thetext>It would sometimes be useful to validate a document in-situ, that is, without having to create a copy. And indeed, XQuery Update defines such a facility in the form of the internal upd:revalidate() function. However, this functionality is not directly available to users. The only way to invoke it is to do a dummy update (for example, renaming an element to its existing name). It would seem to be useful to add some surface syntax that invokes the functionality directly: perhaps a function call, perhaps some construct such as &quot;validate strict in place { expr }&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24453</commentid>
    <comment_count>1</comment_count>
    <who name="Jonathan Robie">jonathan.robie</who>
    <bug_when>2009-03-31 16:38:32 +0000</bug_when>
    <thetext>In updates, the validation is seen after updates are applied - when would it be seen in your proposal?

There are some systems where it is not possible to keep the identity of nodes while changing their properties, which validation does.

Would it make more sense to do this as part of scripting?

Can you say more about the use cases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24457</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2009-03-31 22:49:20 +0000</bug_when>
    <thetext>The first justification for the proposal is that we already provide the facility of in-situ validation, we just don&apos;t provide any sensible surface syntax for it: you invoke it, for example, by doing a rename on a node with the new name being the same as the old. Since implementations have to provide the capability, it makes sense to make it accessible to users. This is a justification based on orthogonality of design, not on specific use cases.

Clearly, as with all updates, use cases depend on the context in which updates are run: we don&apos;t provide any way of taking advantage of the fact that a rename was done without change of identity, but we assume that updates will occur in an environment where this is significant to applications. The same applies to validation. 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24458</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Robie">jonathan.robie</who>
    <bug_when>2009-03-31 23:28:15 +0000</bug_when>
    <thetext>I don&apos;t yet understand the semantics you would propose, and how this relates to snapshot semantics.

Jonathan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24476</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2009-04-01 08:08:52 +0000</bug_when>
    <thetext>The proposed semantics are to add an entry to the PUL whose effect is to cause upd:applyUpdates to invoke upd:revalidate on a specified node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24955</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Robie">jonathan.robie</who>
    <bug_when>2009-04-28 16:29:25 +0000</bug_when>
    <thetext>The WG has decided to defer this to 1.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109578</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Robie">jonathan.robie</who>
    <bug_when>2014-07-30 14:23:09 +0000</bug_when>
    <thetext>The Working Group decided to close this without change.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>