xsltxpath-2.0

How can I determine if a sequence is an ordered subsequence of another sequence in XPATH 2.0?


In XPath 2.0, how can I determine if a sequence is a contiguous subsequence of another sequence?

For example ('1','2') is a contiguous subsequence of ('a','b','1','2','3','4')

Here, I am not referring to a subset but '1','2' occurs in order in the sequence ('a','b','1','2','3','4') at the 3rd position.


Solution

  • You could try

    let $seq1 := ('1','2'),
        $seq2 := ('a','b','1','2','3','4')
    return some $pos in (1 to count($seq2)) satisfies deep-equal($seq1, subsequence($seq2, $pos, count($seq1)))