Subject: Re: [xsl] XPath expression to check that there are no intervening elements? From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 19 Jul 2016 15:54:54 -0000 |
Or perhaps empty(B/following-sibling::*[not(self::B)]/following-sibling::B) Michael Kay > On 19 Jul 2016, at 16:51, Michael Kay mike@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > empty((* except B) [following-sibling::B and preceding-sibling::B]) > >> On 19 Jul 2016, at 16:44, Costello, Roger L. costello@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: >> >> Hi Folks, >> >> This XML has a solid block of <B> elements: >> >> <Document> >> <A/> >> <B/> >> <B/> >> </Document> >> >> This XML has an intervening <C> element: >> >> <Document> >> <A/> >> <B/> >> <C/> >> <B/> >> </Document> >> >> I need an XPath expression to return a Boolean value: >> >> Return true if there is one solid block of <B> elements >> (no intervening elements). >> Otherwise, return false. >> >> I created a horrendous XPath expression to solve it: >> >> count(B) eq (B[last()]/count(preceding-sibling::*)+1 - B[1]/count(preceding-sibling::*)) >> >> Can you provide a better (simpler, more efficient) XPath expression? >> >> /Roger
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath expression to check, Michael Kay mike@xxx | Thread | Re: [xsl] XPath expression to check, G. Ken Holman g.ken. |
Re: [xsl] XPath expression to check, Michael Kay mike@xxx | Date | Re: [xsl] XPath expression to check, G. Ken Holman g.ken. |
Month |