<?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>22663</bug_id>
          
          <creation_ts>2013-07-13 12:59:31 +0000</creation_ts>
          <short_desc>[xslt 3.0] strip-space variations across packages</short_desc>
          <delta_ts>2014-05-15 14:00:35 +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>XSLT 3.0</component>
          <version>Candidate Recommendation</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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="Michael Kay">mike</reporter>
          <assigned_to name="Michael Kay">mike</assigned_to>
          
          
          <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>90714</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2013-07-13 12:59:31 +0000</bug_when>
    <thetext>We say that xsl:strip-space/preserve-space affects documents loaded using a call on doc() that appears within the same package.

So what happens if doc() is called in more than one package with the same URI? Do you get different versions of the same document?

If so, can we reconcile this with what F+O says about the stability of the doc() function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90979</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2013-07-19 09:43:58 +0000</bug_when>
    <thetext>As pointed out in bug #22733, there are similar issues with the input-type-annotations attribute. I think that this should also be scoped to a package, and should affect documents loaded using doc()/document()/collection() calls within that package.

As far as the stability rules are concerned, I think the rule should be that if two calls on doc() within the scope of a transformation process the same absolute URI and use the same rules for space and annotation stripping, then (and only then) they should return the same document node. 

The definition of &quot;the same rules&quot; here needs work on the wording, but essentially it means the same list of nametests controlling strip-space and preserve-space, taking into account the ordering of the rules by import precedence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91503</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2013-08-01 13:58:44 +0000</bug_when>
    <thetext>It was noted that we could require the calls on doc() in different static contexts to return results that effectively mean the document must only be read once and then have space stripping applied (ie. disallowing reading a version of the document that has changed in the interim)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93634</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2013-09-23 11:00:15 +0000</bug_when>
    <thetext>We (MK+Abel) looked at the proposal in more detail, and came to the conclusion that it is viable.

We should say that the dynamic context for the doc() function depends on which package the call is contained in, and the mapping from URIs to document nodes is therefore different for different packages. We could say that these mappings are permitted to vary ONLY by applying the strip-space and strip-annotations as modifications to some base mapping which must be common across packages; but it&apos;s simpler to say nothing, which essentially means that implementations have freedom to allow the mapping in different packages to be completely independent (one resolver/catalog per package) or not, as they see fit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93636</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Kay">mike</who>
    <bug_when>2013-09-23 11:38:52 +0000</bug_when>
    <thetext>The proposal has been applied to the baseline document.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>