IF Blocks

IF blocks have a single input port, labeled condition; a Flow port; and two result ports: if then, and if else.

Figure 314. IF Block

You use IF blocks to compose if then, else XQuery expressions, such as the following:

		<Book>
 
			{
 
				if( $book/title ) then
 
					<Title/>
 
				else
 
					<ISBN/>
 
			}
 
		</Book>
 

This expression, for example, was composed by mapping

  • The title element in the source document to the IF block's input port.
  • The if then result port to the Title element in the target structure.
  • The if else result port to the ISBN element in the target structure.

IF blocks create a structure if the if then or if else branches are true. These ports can be connected to the target schema; otherwise they can be connected to Flow ports of FLWOR, function, and other IF blocks.

 
Free Stylus Studio XML Training: