[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Further Thoughts on Issue 87
Issue 87 was raised because the XPath syntax in the example Snippet 3-5 in section 3.4 was thought to be incorrect. On subsequent checking it turned out that the syntax was, indeed, correct. An XPath expression that consists of an unadorned element name selects all element children of the context node with that name. The spec (lines 457-458) says "Note that the XPath expression will always be evaluated within the context of an attachment considering elements where binding instances or implementations are allowed to be present. The expression is evaluated against /the parent element of any binding or implementation element/." Thus, if a policySet is attached high at the component level, its applicability needs to be examined against the parent element of any binding or implementation element. That is, the context node is set, in turn to each such parent element and the XPath is then evaluated. This seems unduly onerous, so I suggested changing the spec to say that the context node is the root of the SCDL document. An expression such as //binding.ws would then select all binding.ws elements anywhere in the SCDL. This seems to me to be significantly simpler to evaluate. Dave, pointed out that this would not cover included composites and that this was a problem. On further reflection, I realized that to evaluate the @attachTp in the case of external attachment we create an */Infoset for External Attachment/* See line 844. This does cover the included composites and the @appliesTo in policySets could be evaluated using the root of this constructed InfoSet as the context element. What do people think? Details of the construction of the */Infoset for External Attachment/* are copied below for easy reference. 1. The Domain is treated as a special composite, with a blank name - "" 2. Where one composite includes one or more other composites, it is the including composite which is addressed by the XPath and its contents are the result of preprocessing all of the include elements --Where the policySet is intended to be specific to a particular use of a composite file (rather than to all uses of the composite), the structuralURI of a component is used to attach policySet to a specific use of a nested component, as described in the SCA Assembly specification [SCA-Assembly]. --The XPath expression can make use of the unique URI to indicate specific use instances, where different policySets need to be used for those different instances. -- All the best, Ashok
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]