XQuery Reference

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

XQuery Occurrence Indicators

The following chapter defines the supported XQuery occurrence indicators. An occurrence indicator defines how many times an item may occur. Occurrence indicators are used in XQuery function signatures to define how many items can be passed into a argument and how many items can be returned from a function.

 


None

If no occurrence indicator is specified, than the item must appear once and only once as shown in the following example function signature:

bea-xf: trim-left(xs: string $string-var) —>xs:string

In the preceding example, just a single item must be specified for the $string-var1 argument of the trim-left function. For example, the following would be a valid invocation of the normalizedString function:

<result>{bea-xf:trim-left(" abc ")}</result>

The following are invalid invocations of the normalizedString function, as specified by the occurrence indicator of the $string-var argument:

<result>{bea-xf:trim-left(())}</result>

<result>{bea-xf:trim-left(" abc "," def ")}</result>

 


?

The ? occurrence indicator defines that the item can occur once or zero times. An item appearing zero times means that the empty sequence is passed in as an argument. (See the following example for details.) The empty sequence is a sequence containing zero items (), which is similar to null in SQL.

The ? occurrence indicator is specified for both the $string-var1 and $string-var2 arguments of the following example XQuery function signature:

xf: tokenize(xs: string?$string-var1,xs:string?$string-var2) —>xs:string*

The ? occurrence indicator for the $string-var1 argument defines that the item can occur once or zero times, as shown in the following table.

Table 16-1 Occurence Indicator
Occurs This Many Times . . .
Example
Zero
tokenize((),"\s")
One
tokenize("Jane fell down the hill", "\s")

 


*

The * occurrence indicator defines that the item can contain zero or more items. The * occurrence indicator is specified in the return value of the following example XQuery function signature:

xf:tokenize(xs: string? $string-var1, xs:string? $string-var2) —> xs:string*

An * occurrence indicator as part of the return value of a function defines that zero or more items may be returned from that function, as shown in the examples of the following table.

Table 16-2 Occurance Indicator
Examples
How Many Items Are Returned?
What is Returned?
tokenize("","\s")
Zero
 
tokenize("Jane", "\s")
One
Jane
tokenize("Jane fell down", "\s")
Many (In this case, three)
("Jane", "fell", "down")

 


+

The + occurrence indicator defines that the item must appear one or more times


  Back to Top       Previous  Next