xsl-list
[Top] [All Lists]

Re: [xsl] Find the number of elements that are prior to the series of elements that match a string?

2019-03-12 14:53:27
On 12.03.2019 18:35, Costello, Roger L. costello(_at_)mitre(_dot_)org wrote:

I have an XML document containing a long list of Byte elements, e.g.,

I have a string of hex values, e.g.,

04000000FF

You can see that the string is contained within this series of Byte elements:


What is an efficient way to solve this problem?

I think it can be done in XQuery 3 with a windowing clause, I am not sure whether you need a sliding or a tumbling window but along the lines of

let $req := '04000000FF'
let $len := string-length($req)
return
    head(
        for sliding window $w in /Bytes/Byte
        start $b1 at $s when $b1 = substring($req, 1, 2)
        end at $e when $e - $s + 1 = $len idiv 2
        where string-join($w) eq $req
        return $s - 1
    )
--~----------------------------------------------------------------
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
--~--

<Prev in Thread] Current Thread [Next in Thread>