[cddlm] CDL expression and Component Model's case-condition

Jun Tatemura tatemura at sv.nec-labs.com
Tue Jun 20 17:59:19 CDT 2006


Here are two clarification points related to each other:

[1] For CDL expression, on which the spec
says that "it must not contain any location path," please see
the attached file that defines the syntax of expression
(based on XPath1.0 spec).

[2] For Component Model's cmp:switch, I am not really sure what
cmp:case/@condition should support. The spec says
"a valid XPath calculation on declared properties returning
a boolean value" -- however, I do not think this includes the
full set of XPath, which does not always make sense.
I assume that cdl:pathType is used instead of the full-spec path
expression.
Then, the syntax of cmp:case/@condition can be given
by extending the syntax of cdl expression as:
-----
PrimaryExpr ::= VariableReference
    | '(' Expr ')'
    | Literal
    | Number
    | FunctionCall
    | CDLPath

CDLPath ::= ('/')? Step ('/' Step)*
Step ::= '.' | '..' | QName
-----
which is also a valid XPath expression.
(We may want to remove VariableReference
from PrimaryExpr, since there is no way to define variables
for cmp:switch).

One possible problem here is that we cannot specify
@cdl:refroot (this is the reason why I introduced cdl:expression
and cdl:variable) within the expression. This may not be a problem
if we just want to refer to properties within a component graph.

--
Best Regards,
Jun Tatemura




-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cdl-expression-syntax.txt
Url: http://www.ogf.org/pipermail/cddlm-wg/attachments/20060620/cad318f2/attachment.txt 


More information about the cddlm-wg mailing list