This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 21009 - [XPROC10] Error in 7.1.5 p:delete
Summary: [XPROC10] Error in 7.1.5 p:delete
Status: ASSIGNED
Alias: None
Product: XML Processing Model
Classification: Unclassified
Component: Pipeline language (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Norman Walsh
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-15 08:46 UTC by Tim Mills
Modified: 2014-02-19 14:46 UTC (History)
0 users

See Also:


Attachments

Description Tim Mills 2013-02-15 08:46:59 UTC
The specification states that p:delete "cannot be used to remove 
namespaces. It is a dynamic error (err:XC0062) if the match option 
matches a namespace node. "

Unless I'm mistaken, this error code appears to be redundant because an 
XSLT pattern does not permit matching of namespaces (the namespace axis 
isn't available).  See:

http://www.w3.org/TR/xslt#patterns
http://www.w3.org/TR/xslt20/#patterns

The test case:

Test err:XC0062 #001
<p:pipeline version="1.0" xmlns:p="http://www.w3.org/ns/xproc">
       <p:delete match="namespace::test" />
</p:pipeline>

is therefore wrong because namespace::test is not a valid 
XSLTMatchPattern.  Perhaps this should be expecting err:XD0028.
Comment 1 Norman Walsh 2014-02-19 12:43:03 UTC
You're correct. That test is invalid at present. Because implementations vary in how and when the detect errors, we didn't require error tests to match errors exactly. As long as you throw an error, you can report passing the test.

Because XSLT 3.0 introduces the namespace axis, we're inclined to leave the error in place. The point being that we don't want p:delete to delete namespaces.
Comment 2 Tim Mills 2014-02-19 14:46:50 UTC
I can live with that, but I'm an error code pedant :)