XQuery – insert-before Function

  • Post author:
  • Post category:XQuery
  • Post comments:1 Comment

The insert-before function is used to insert an item in a given sequence at any position. This function returns the modified sequence but the original sequence is not altered.

Syntax

insert-before($seq as item()*, $position as xs:integer, $inserts as item()*)

Input Parameters

  • $seq − provided sequence. Sequence can contain 0 or more items.
  • $position − index of item where it is to be inserted. Index starts from 1.
  • $inserts − zero or more items to be inserted.

Example

XQuery Expression

let $items := (1,2,3,4,5,9)
let $additional-items := (6,7,8)
let $new-items := insert-before($items,6,$additional-items)
return
   <result>   
      
      <items>
      {
         for $item in $new-items
         return {$item}
      }
      </items>
      
   </result>

Output

<result>
   <items>
      <item>1</item>
      <item>2</item>
      <item>3</item>
      <item>4</item>
      <item>5</item>
      <item>6</item>
      <item>7</item>
      <item>8</item>
      <item>9</item>
   </items>
</result>

Verify the Result

In order to test the above-mentioned functionality, replace the contents of books.xqy (mentioned in Environment Setup chapter) with the above XQuery expression and execute the XQueryTester java program to verify the result.

This Post Has One Comment

Leave a Reply