RE: I'm _still_ confused about 3.8 Extension elements

Oh boy... the situation with this section seems far worse than I remember.

Now, I'm not a spec writer, so I can't say that too technically, but in
summary, shouldn't the spec in general call to:
1. Allow for extension *atomic steps* AND direct children of p:pipeline.*
2. Allow non-null attributes on any element (fortunately, that seems to be
the case now).
3. Ignore any extension elements AND attributes placed in the ignored
namespaces list, regardless of whether the extension is supported or not.**
4. When encountering a non-implemented extension, behave as if the
element/attribute was not there i.e. as if it was ignored.

* If an XProc processor is to follow the rule "The presence of an extension
element must not cause the connections between steps to differ from the
connections that any other conformant XProc processor would produce"
currently present in the spec, then they won't be creating any compound
steps anyway.

** That is, behave as if those elements were not present in the pipeline to
begin with, not give errors or anything... right? If not, what happens on
ignoring should be defined. If so... I'm not sure I see the idea here.

And last, but definitely not least, how are things standing between ignored
namespaces and imported pipelines? I mean, if pipeline A imports pipeline
library B and C, where B doesn't declare those namespaces are ignored, and C
adds additional ignored namespaces, what namespaces are ignored in which
pipeline(-library)? I didn't saw any paragraph explaining that sort of
situation. And I'm feeling very split as to how it should be.

In comparison, XSLT used "extension-element-prefixes" which explicitly
declares extensions on a single stylesheet basis, so it never has to worry
for those in included/imported stylesheets. Using "ignore-prefixes" on a
single pipeline or pipeline-library basis seems to be pointless if you ask
me, so there should probably be some rules for imported pipelines to make
this useful, or "ignore-prefixes" should be turned into "extension-prefixes"
with the semantics of XSLT's "extension-element-prefixes".

-----Original Message-----
From: public-xml-processing-model-comments-request@w3.org
[mailto:public-xml-processing-model-comments-request@w3.org] On Behalf Of
Henry S. Thompson
Sent: Thursday, November 22, 2007 8:17 PM
To: public-xml-processing-model-comments@w3.org
Subject: I'm _still_ confused about 3.8 Extension elements


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Further to the whole question of versioning. . .

3.8 [1] appears to me to contradict itself:

 "An element is only an extension element if it is an ignorable
  element that occurs as a direct child of a p:pipeline or
  p:pipeline-library."

 "[E]lements in a subpipeline are interpreted as follows. . .
   2. Is in ignorable namespace?
    a. Is a known extension? Process as appropriate."

How can an element in a sub-pipeline be a direct child of p:pipeline?

I know I originally proposed the interpretation bullets, but I'm still
confused. . .

Looking at the RNG schema, and other parts of the spec., I _think_ the
editor's intent was to allow extensions only in subpipelines, as a way
of allowing for . . . extensions.  But that is completely at odds with
the following from the beginning of 3.8:

 "The presence of an extension element must not cause the connections
  between steps to differ from the connections that any other
  conformant XProc processor would produce."

Such a constraint would render any extension useless, as far as I can
tell.

Maybe this all is moot, as this aspect of the spec. has to be
revisited in light of our proposal wrt language evolution at the
f2f [2], discussion wrt Comment 15.  [Actually, I've excerpted
that discussion and replied to the Comment 15 thread with it,
and then sent _this_ message in the resulting thread . . .]

ht

[1] http://www.w3.org/XML/XProc/docs/langspec.html#extension-elements
[2]
http://lists.w3.org/Archives/Public/public-xml-processing-model-wg/2007Nov/0
031.html
- -- 
 Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                     Half-time member of W3C Team
    2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
            Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
                   URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged
spam]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQFHRcejkjnJixAXWBoRAvFyAJ9QvsWB+iANBXbaaeHwTSnPgkGjZgCfSG7K
8+3uWDPKUSnfwvvVOYAC68Y=
=BCkr
-----END PGP SIGNATURE-----

Received on Friday, 23 November 2007 11:28:11 UTC