- From: <bugzilla@wiggum.w3.org>
- Date: Tue, 08 May 2007 02:06:38 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3946 jmdyck@ibiblio.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #2 from jmdyck@ibiblio.org 2007-05-08 02:06 ------- (personal response) I agree, the Formal Semantics does appear to be wrong in this respect. Proposed solution: A) The formal type system must model the target of a PI. In analogy to ElementType and AttributeType, we can define (in 2.4.2 Item types, duplicated in A.2): [? (Formal)] ProcessingInstructionType ::= "processing-instruction" PITargetOrWildcard [? (Formal)] PITargetOrWildcard ::= NCName | "*" In [27 (Formal)] ElementContentType, replace "processing-instruction" with ProcessingInstructionType B) Except as handled otherwise below, wherever processing-instruction appears as a type, replace it with processing-instruction * Specifically, that would be in: 3.5.1 / example 1,7 3.5.4 / Norm / rule 17,18,19,20,25,26 4.7.3.1 / STA / rule 1,2,3,4 4.7.3.1 / DEv / rule 1,2 4.7.3.3 / DEv / rule 1,2 4.7.3.5 / STA / rule 2 7.1.5 / STA / rule 1 7.1.6 / STA / rule 1 7.2.5 / STA / rule 3,4 7.2.6 / STA / rule 6 8.1.7 / Sem / rule 1,2 8.2.2.1.3 / Sem / rule 8,9 8.2.2.1.4 / Sem / rule 6 8.2.2.1.5 / Sem / rule 3 8.3.1 / Sem / rule 4 C) In 3.5.4 / Norm, delete the paragraph beginning "The [XPath/XQuery] type system does not model the target of a processing-instruction", and replace the two subsequent rules (21 & 22) with: [[ processing-instruction(NCName) ]]_sequencetype == processing-instruction NCName StringLiteral has atomic value String xs:NCName(String) = NCName -------------------------------------------------------- [[ processing-instruction(StringLiteral) ]]_sequencetype = processing-instruction NCName D) In 4.7.3.5 / STA / rule 1 / conclusion, change the type to processing-instruction NCName E) In 8.2.3.1.2 / Sem 4 (Processing instruction, comment, and text kind tests), replace rule 1 with: [[ PITest ]]_sequencetype = processing-instruction * ----------------------------- statEnv |- test PITest with PrincipalNodeKind of ProcessingInstructionType : ProcessingInstructionType And replace rule 2 with: [[ PITest ]]_sequencetype = processing-instruction NCName ----------------------------- statEnv |- test PITest with PrincipalNodeKind of processing-instruction NCName : processing-instruction NCName [[ PITest ]]_sequencetype = processing-instruction NCName ----------------------------- statEnv |- test PITest with PrincipalNodeKind of processing-instruction * : processing-instruction NCName ? F) In 8.3.1 / Sem, after rule 4, insert statEnv |- processing-instruction NCName { String } matches processing-instruction NCName
Received on Tuesday, 8 May 2007 02:06:40 UTC