Skip to content

XQuery insert-before Function

How to use XQuery's insert-before function to add items at a specific position in a sequence while preserving the original data structure.

XQuery insert-before Function

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 is the provided sequence. A sequence can contain 0 or more items.
  • $position is index of item to be inserted. Index starts from 1.
  • $inserts is zero or more items to be inserted.

Example

XQuery Expressionxquery
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>
Outputxml
<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>
Navigation