Hi Folks,
I have a set:
<set>
<element>A</element>
<element>B</element>
</set>
Here are some sequences derived from the set:
<sequences>
<sequence/>
<sequence>
<item>A</item>
</sequence>
<sequence>
<item>B</item>
</sequence>
<sequence>
<item>A</item>
<item>A</item>
</sequence>
<sequence>
<item>A</item>
<item>B</item>
</sequence>
<sequence>
<item>B</item>
<item>A</item>
</sequence>
<sequence>
<item>B</item>
<item>B</item>
</sequence>
</sequences>
Notice that:
- there is an empty sequence
- there is a sequence corresponding to each element of the set
- and there are other sequences (that I'm not concerned with for now)
I want to create XPath expressions which express the rules that sequences must
satisfy to be valid.
First rule: There must be an empty sequence. I expressed that rule with this
XPath expression:
sequence[not(item)]
Assume that the root element, <sequences>, is the context node.
Is that the right way to express the rule? Is there a better XPath expression?
By "better" I mean simpler, plainer, more transparent. I seek simplicity and
clarity over efficiency and cleverness.
Second rule: There must be a singleton sequence corresponding to every element
in the set. A "singleton sequence" is a <sequence> containing one <item>.
I expressed that rule with this XPath expression:
every $element in $set//element satisfies exists(sequence[(item = $element) and
not(item[2])])
Assume that $set is a variable whose value is the set.
Is that the right way to express the rule? Is there a better XPath expression?
/Roger
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--