- From: <bugzilla@wiggum.w3.org>
- Date: Thu, 02 Nov 2006 18:17:04 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3946 Summary: Typing of processing-instructions Product: XPath / XQuery / XSLT Version: Candidate Recommendation Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Formal Semantics AssignedTo: simeon@us.ibm.com ReportedBy: nick@cbcl.co.uk QAContact: public-qt-comments@w3.org We are looking at ForExprType060 and ForExprType061 in XQTS which are for $test as processing-instruction("filesystem") in ($input-context//fs:Folder)[1]//processing-instruction() return $test and for $test as processing-instruction("unknown") in ($input-context//fs:Folder)[1]//processing-instruction() return $test one if which is meant to throw a type exception, the other not, as all processing instructions nodes are <?filesystem?>. But I don't believe the formal semantics describe this behaviour. The normalization rules in 3.5.4 state [processing-instruction(StringLiteral)]sequencetype == processing-instruction? Static typing in 4.8.2: statEnv |- Expr1 : Type1 Type0 = [ SequenceType ]sequencetype statEnv |- prime(Type1) <: Type0 statEnv |- VarName1 of var expands to Variable1 statEnv + varType(Variable1 => Type0) |- Expr2 : Type2 statEnv |- for $VarName1 as SequenceType in Expr1 return Expr2 : Type2 · quantifier(Type1) passes for the above expressions as the types are Type0 and prime(Type1) are both processing-instruction For dynamic evaluation 8.3.1 Matches states statEnv |- processing-instruction NCName { String } matches processing-instruction and statEnv |- Value matches (Type | empty) statEnv |- Value matches Type? as I believe according to the formal semantics all processing instructions match processing-instruction("anything").
Received on Thursday, 2 November 2006 18:17:16 UTC