Subject: [xsl] XPath expression to express: There must be an empty sequence From: "Costello, Roger L. costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 19 Nov 2017 18:38:20 -0000 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: Adjacent grouping?, rus tle profrustylea | Thread | Re: [xsl] XPath expression to expre, David Carlisle d.p.c |
Re: [xsl] Re: Adjacent grouping?, Martin Honnen martin | Date | Re: [xsl] XPath expression to expre, David Carlisle d.p.c |
Month |