- From: Michael Dyck <jmdyck@ibiblio.org>
- Date: Wed, 11 Dec 2002 22:18:46 -0800
- To: www-xml-linking-comments@w3.org
XPointer Framework W3C Proposed Recommendation 13 November 2002 ------------------------------------------------------------------------ Status of this Document para 1 "XML Mime types" Change "Mime" to "MIME". ------------------------------------------------------------------------ 1.2 Terminology [Definition: application] "The occurrence and usage of XPointers, and the behavior to be applied to resources and subresources obtained by processing those XPointers" Change "XPointers" to "pointers" twice. Delete "resources and"? Everything else indicates that you obtain subresources, not resources, from pointers. [Definition: namespace binding context] "A binding of ... prefixes to ... names." Change "binding" to "mapping". A "binding" refers to a single (prefix,name) pair, not the whole collection. (At least, that's how you use it later.) "XML-namespace-defined [XML-Names] namespace prefixes" This is a fairly awkward phrase. How about changing the sentence to: "A mapping of namespace prefixes to namespace names, as defined in [XML-Names]." ------------------------------------------------------------------------ 2 Conformance para 3 "the information items and properties tabulated below may be relevant." Perhaps change "may be relevant." to: "are relevant to the evaluation of shorthand pointers. (Individual XPointer schemes will have different infoset requirements.)" ------------------------------------------------------------------------ 3.1 Syntax XPointer Framework Syntax You've gone from using an initial lowercase letter for all symbols (in the July 10th draft), to using an initial capital for all symbols. If you want to follow the XML spec's convention, the following symbols should not have an initial capital: pointer schemeBased pointerPart schemeData escapedData ------------------------------------------------------------------------ 3.2 Shorthand Pointer para 1 "has a matching NCName as an identifier" Perhaps just "has a matching identifier". "identifier" / "identified by" You use both the noun "identifier" and the (passive) verb "is identified by", which reduces clarity, I think. Moreover, that same verb is used elsewhere in the spec with a different meaning, which might lead to confusion. I think you should try to eliminate this use of the verb. The 4 points could be rephrased: If an element information item has [thing1], then it has the value of [thing2] as an identifier. or you could introduce a "variable" to refer to the element: The identifiers of an element information item (E) are determined as follows: - If E has [thing1], then the value of [thing2] is an identifier of E. - ... point 4 In any event, point 4 should be made parallel with the other points: If an element information item has an externally-determined ID, then it is identified by the value of that ID. [... it has the value of that ID as an identifier.] [... the value of that ID is an identifier of E.] para after point 4: "is identified by" Change to "has an identifier that matches". Note 1 "might be identified by multiple values" Change to "might have multiple identifiers". Note 2 "and the creator of a pointer can, instead of a shorthand pointer, use a scheme-based pointer or provide one or more schemes that address the desired element in other ways." Change "and the creator" to "or the creator". Change "or provide" to "and provide". Note 3: "the value which identified an element information item is unique within the document" Change to "the identifiers of an element information item are unique within the document", or simply "multiple element information items within a document have the same identifier". "not affected ... because ..." I think this note would be clearer if you said something like: Within a document, multiple element information items can have the same identifier (XML and XMLSchema allow it), but the semantics of a shorthand pointer are unaffected by this, because it always picks the first in document order. ------------------------------------------------------------------------ 3.3 Scheme-Based Pointer para 2 "If the XPointer processor does not support the scheme used in a pointer part" Maybe append "(as described below)", referring to para 4. para 4 "Abstractly, scheme names are a tuple" Keep it singular: "Abstractly, a scheme name is a tuple" (For a nice parallelism, you might change the preceding sentence to "Syntactically, a scheme name consists of ...") "that Prefix" Change to "the Prefix". "no corresponding prefix" Change to "no binding for the Prefix". ------------------------------------------------------------------------ 3.4 Namespace Binding Context para 2 "to add a (prefix/namespace name) binding" Change the slash to a comma? ------------------------------------------------------------------------ 4 Character Escaping "The set of characters for XPointers" "XPointers and IRI references containing XPointers" "applied to XPointers" Change "XPointers" to "pointers" four times. ------------------------------------------------------------------------ 4.1 Escaping Contexts "The following contexts require various types of escaping to be applied to XPointers" Change "XPointers" to "pointers". B and C: I think it needs to be made clearer that B and C are not specifying how to encode reserved characters in IRIs/URIs, or even (in general) in IRI/URI references (for both of which, this spec cannot be normative), but only in pointers-as-fragment-identifiers. And that they must do this because the URI/IRI specs don't (completely?) specify how any fragment identifier language should do that. (Presumably it wasn't that clear within the Linking WG either, or you wouldn't have omitted section 4 from the July draft.) One possibility would be to create a new section (entitled, say, "Using Pointers as Fragment Identifiers") that yanks the relevant sentences from section 4, and adds at least one sentence explaining why this is necessary (i.e., why it isn't handled by the URI/IRI specs). Then the remains of 4 could simply refer to that section, and be completely non-normative. (Basically, it would become more focussed on the examples of 4.2; 4.1 would just be a set-up.) Separate question: if a URI/IRI containing percent-escapes appears in a pointer (in a pointer part using the xmlns scheme, say), and then that pointer is used as the fragment identifier of a URI/IRI reference, do the percents in the percent-escapes get further escaped? For example, does xmlns(p=http://www.7%25solution.com/ns) become whatever#xmlns(p=http://www.7%2525solution.com/ns) I'm guessing they'd have to, but I thought I'd check. B. Escaping and Encoding of reserved IRI characters "Thus, when an XPointer is inserted into an IRI reference" Change "an XPointer" to "a pointer". Maybe change "is inserted into" to "is used as the fragment identifier of". "is converted to UTF-8 [...] as one or more bytes" Would it be better to say: is converted to one or more bytes according to UTF-8 [...] If so, ditto this under C. C. Escaping and Encoding of reserved URI characters "reserved URI characters" The set of characters that are reserved in URIs is irrelevant, because the pointer doesn't appear in a URI. It appears as the fragment identifier of a URI reference. "IRI references can be converted to URI references for consumption by URI resolvers." This is irrelevant, I think. Even if they weren't convertible, you'd still have to have this section, and it would be identical. "The disallowed characters in URI references" This isn't what's important; what's important are the disallowed characters in *fragment identifiers* in URI references. "include [blah] except for the number sign (#)" Delete "the number sign (#)". Although '#' is an allowed character in URI refs, it is *not* allowed in URI ref fragment identifiers. "and percent sign (%)" Delete this too. Although the percent sign does appear, it does so only in escape sequences. A "normal" occurrence of '%' must be escaped, so it must be considered a "disallowed character" for the purposes of the encoding mechanism described. "Disallowed characters are escaped as follows:" Couldn't you just say that they're escaped using the same procedure as in B? D. XML escaping "It is not recommended that URI references ... be placed in XML documents." I think it would be better to say: It is recommended that IRI references (rather than the more restricted URI references) be used in XML documents. para after D "syntactic rules for XPointers" Change "XPointers" to "pointers" (or <code>Pointer</code>). ------------------------------------------------------------------------ 4.2 Examples of Escaping both examples "The following table shows the escaping ... of an XPointer" Change "an XPointer" to "a pointer". "C. IRI reference converted to URI reference" The IRI -> URI conversion is irrelevant. Change to "C. Pointer in URI reference". example 2 "xpointer(id('...'))" It would be a nice change to use "element(...)" instead. A. "The XPointer" Change "XPointer" to "pointer", or just delete "The XPointer". -Michael Dyck
Received on Thursday, 12 December 2002 01:35:41 UTC