This section includes the following topics:
The XQuery Expression Editor page allows you to create variable structures, define user namespaces, use predefined message context variables to build Inline XQuery expressions, build Inline XQuery expressions manually, and select XQuery or XSLT resources for execution as Inline XQueries. You can access this page through the Message Flow of a proxy service. To learn more about Message Flow, see Overview of Message Flow.
This section includes the following topics:
AquaLogic Service Bus allows you to import XQueries that have been created with an external tool such as the BEA XQuery Mapper. You can use these XQueries anywhere in the proxy service message flow by binding the XQuery resource input to an Inline XQuery, and binding the XQuery resource output to an action that uses the result as the action input; for example, the Assign, Replace, or Insert actions. However, you can enter the XQuery inline as part of the action definition instead of entering the XQuery as a resource. You can also use Inline XQueries for the condition in an If...Then... action.
The Inline XQuery and XPath editors allow you to declare a variable's structure by mapping it to a type or element and then creating path expressions with a drag and drop action from the graphical representation of the structure. This is an ease-of-use feature. You can also enter the path expressions manually instead.
You can use this feature directly for all user-defined variables, as well as $inbound, $outbound, and $fault. However, you cannot use it directly to access XML attachments in $attachments, headers in $header, or documents and RPC parameters in $body, with one exception— you can use it directly to access documents and parameters in $body for request messages received by a WSDL proxy service.
To learn more about creating variable structures, see Creating a Variable Structure, and "Variable Structures" in Modeling Message Flow in AquaLogic Service Bus in the AquaLogic Service Bus User Guide.
You typically use the Inline XQuery Expression Editor to enter simple XQueries that consist of the following:
Note: | For more complex XQueries, we recommend that you use the XQuery Mapper, if you prefer a more user-friendly editor with drag-and-drop functionality. |
Examples of good uses of Inline XQueries are:
$header
or $body
.$attachments
. for loop
. for loop
with an Update action.You can access the Inline XQuery Expression Editor from the Edit Stage Configuration page.
The Edit Message Flow page is displayed for the proxy service you selected.
The XQuery Expression Editor page is displayed. The page includes the following functionality:
Using the XQuery Condition Editor
Using the XPath Expression Editor
Viewing and Changing Message Flow
The XQuery Condition Editor page allows you to define variable structures, define user namespaces, generate XPath for message context variables, and build XQuery conditions. You can access this page through the Message Flow of a proxy service. To learn more about Message Flow, see Overview of Message Flow.
The Inline XQuery Condition Editor is similar to the Inline XQuery Expression Editor in that you use it to enter XQueries inline as part of action definitions. However, the Condition Editor enables you to enter Inline XQueries for conditions in an If...Then... action instead.
The Inline XQuery Condition editor also enables you to declare a variable's structure by mapping it to a type or element and then creating path expressions with a drag and drop action from the graphical representation of the structure. This is an ease-of-use feature. You can also enter the path expressions manually instead. To learn more about creating variable structures, see Creating a Variable Structure, and "Variable Structures" in "Modeling Message Flow in AquaLogic Service Bus" in the AquaLogic Service Bus User Guide.
The Edit Message Flow page is displayed for the proxy service you selected.
The XQuery Condition Editor page is displayed. The page includes the following functionality:
Using the Inline XQuery Expression Editor
Using the XPath Expression Editor
Viewing and Changing Message Flow
The XPath Expression Editor page allows you to define user namespaces, define variable structure, generate XPath for message context variables, and build XPath expressions manually. You can access this page through the Message Flow of a proxy service. To learn more about Message Flow, see Overview of Message Flow.
The Inline XQuery XPath Editor is similar to the Inline XQuery Expression Editor in that you use it to enter XQueries inline as part of action definitions.
The XQuery and XPath editors allow you to declare a variable's structure by mapping it to a type or element and then creating path expressions with a drag and drop action from the graphical representation of the structure. This is an ease-of-use feature. You can also enter the path expressions manually instead.
You can use this feature directly for all user-defined variables, as well as $inbound, $outbound, and $fault. However, you cannot use it directly to access XML attachments in $attachments, headers in $header, or documents and RPC parameters in $body, with one exception— you can use it directly to access documents and parameters in $body for request messages received by a WSDL proxy service.
To learn more about creating variable structures, see Creating a Variable Structure, and "Variable Structures" in "Modeling Message Flow in AquaLogic Service Bus" in the AquaLogic Service Bus User Guide.
The Edit Message Flow page is displayed for the proxy service you selected.
The XPath Expression Editor page is displayed. The page includes the following functionality:
Using the XQuery Condition Editor
Using the Inline XQuery Expression Editor
Viewing and Changing Message Flow
The XQuery Expression Editor, XQuery Condition Editor, and XPath Expression Editor pages enable you to define user namespaces. To learn more about these editors, see Using the XQuery Condition Editor, Using the Inline XQuery Expression Editor, and Using the XPath Expression Editor.
http://url/.../
or enter a URN in the format uddi:server:
.Note: | An XML namespace is a way of making the element and attribute names globally unique. You qualify the element and attribute names, which are local names, with the namespace prefix to achieve this uniqueness. |
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
To learn more, see Building an XQuery Expression Manually.
|
|||
To learn more, see Building an XPath Expression Manually.
|
|||
To learn more, see Selecting an XQuery Resource for Execution.
|
|||
To learn more, see Selecting an XSLT Resource for Execution.
|
|||
To learn more, see Building an XQuery Condition Using the Text Option.
|
|||
To learn more, see Entering a Comparison Expression Using the Builder Option.
|
|||
To learn more, see Entering a Unary Expression Using the Builder Option.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding a Route Node.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XQuery Expression Editor, XQuery Condition Editor, and XPath Expression Editor pages enable you to create variable structures. To learn more about these editors, see Using the XQuery Condition Editor, Using the Inline XQuery Expression Editor, and Using the XPath Expression Editor.
In typical programming language, variables are statically scoped and their name and type are explicitly declared. The variable can be accessed anywhere within the static scope. Although some predefined variables exist in AquaLogic Service Bus, you can also dynamically create variables by assigning a value to them; that is, when you create a variable structure mapping. When a value is assigned to a variable, the variable can be accessed anywhere in the proxy service message flow. The variable type is not declared, but the type is essentially the underlying type of the value it contains at any point in time.
When you activate the session, the variables you dynamically create are deleted if you have saved them at the XQuery Expression Editor, Stage, and Pipeline levels. This means that at design time, AquaLogic Service Bus does not know which of the non-predefined variables exist and what their types are at any point in the message flow.
The variable structure mappings enable you to add predicates. Each variable structure mapping entry has a label and maps a variable or variable path to one or more structures. The scope of these mappings is the stage or route node. Because variables are not statically typed, a variable can have different structures at different points (or at the same point) in the stage or route node. Therefore, you can map a variable to multiple structures, each with a different label. To view the structure, you can select the corresponding label with a drop down.
Note: | You can also create variable structure mappings in the Inline XPath Expression Editor. However, although the variable is mapped to a structure, the XPaths generated when you select from the structure are relative XPaths relative to the variable. An example of a relative XPath is ./ctx:attachment/ctx:body . However, the mapping used to generate this XPath would map $attachments . |
The Variable Structures panel displays additional fields and options.
Note: | When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to delete the changes you have made so far in the current session. |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
To learn more, see Building an XQuery Expression Manually.
|
|||
To learn more, see Building an XPath Expression Manually.
|
|||
To learn more, see Selecting an XQuery Resource for Execution.
|
|||
To learn more, see Selecting an XSLT Resource for Execution.
|
|||
To learn more, see Building an XQuery Condition Using the Text Option.
|
|||
To learn more, see Entering a Comparison Expression Using the Builder Option.
|
|||
To learn more, see Entering a Unary Expression Using the Builder Option.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XQuery Expression Editor, XQuery Condition Editor, and XPath Expression Editor pages enables you to use predefined message context variables to build XQuery expressions, XQuery conditions and XPath expressions in the Inline Editors. To learn more about these editors, see Using the XQuery Condition Editor, Using the Inline XQuery Expression Editor, and Using the XPath Expression Editor.
attachments
, body
, header
, outbound
, or inbound
. To learn more about these predefined message context variables, see Message Context.Note: | The displayed names are a tree view that may be expanded to reveal sub elements that may in turn be selected. |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Building an XQuery Expression Manually.
|
|||
To learn more, see Building an XPath Expression Manually.
|
|||
To learn more, see Selecting an XQuery Resource for Execution.
|
|||
To learn more, see Selecting an XSLT Resource for Execution.
|
|||
To learn more, see Building an XQuery Condition Using the Text Option.
|
|||
To learn more, see Entering a Comparison Expression Using the Builder Option.
|
|||
To learn more, see Entering a Unary Expression Using the Builder Option.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XQuery Expression Editor page allows you to build an Inline XQuery expression manually. To learn more about this editor, see Using the Inline XQuery Expression Editor.
Note: | To build the expression, you can drag XQuery functions from the XQuery Functions Palette on the left side of the page, and drop them in the XQuery Text field. You can also add predefined default namespaces, variable namespaces, and user-defined namespaces, which are listed in the Namespace Definitions panel on the left side of the page. The drag-and-drop feature is supported only for the Internet Explorer browser. Other browsers do not support the JavaScript required to set the dragged text. To use the XML schema tree, instead of doing a drag-and-drop, you must click the node you are interested in. The XPath for this node is displayed in the text area at the bottom of the palette. You must then copy and paste the content of this text area into the XQuery Text field. |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
To learn more, see Selecting an XQuery Resource for Execution.
|
|||
To learn more, see Selecting an XSLT Resource for Execution.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XPath Expression Editor page allows you to build an Inline XPath expression manually. To learn more about this editor, see Using the XPath Expression Editor.
Note: | To build the expression, you can drag XQuery functions from the XQuery Functions Palette on the left side of the page, and drop them in the Text field. You can also add predefined default namespaces, variable namespaces, and user-defined namespaces, which are listed in the Namespace Definitions panel on the left side of the page. The drag-and-drop feature is supported only for the Internet Explorer browser. Other browsers do not support the JavaScript required to set the dragged text. To use the XML schema tree, instead of doing a drag-and-drop, you must click the node you are interested in. The XPath for this node is displayed in the text area at the bottom of the palette. You must then copy and paste the content of this text area into the Text field. |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XQuery Expression Editor page allows you to select an XQuery resource for execution. To learn more about this editor, see Using the Inline XQuery Expression Editor.
The following XQuery expressions are examples of valid input to this field:
Note: | The following variable name is not a valid entry for this field and results in an exception: body |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
To learn more, see Building an XQuery Expression Manually.
|
|||
To learn more, see Selecting an XSLT Resource for Execution.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XQuery Expression Editor page allows you to select an XSLT resource for execution. To learn more about this editor, see Using the Inline XQuery Expression Editor.
The following XQuery expressions are examples of valid input to this field:
Note: | The following variable name is not a valid entry for this field and results in an exception: body |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
To learn more, see Building an XQuery Expression Manually.
|
|||
To learn more, see Selecting an XQuery Resource for Execution.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XQuery Condition Editor page allows you to build an XQuery condition using the Text option. To learn more about this editor, see Using the XQuery Condition Editor.
Note: | To build the condition, you can drag XQuery functions from the XQuery Functions Palette, or you can drag message context variables from the Message Context Variables Panel, and drop them in the Text View field. You can also add predefined default namespaces, variable namespaces, and user-defined namespaces, which are listed in the Namespace Definitions panel. The drag-and-drop feature is supported only on an Internet Explorer browser. Other browsers do not support the JavaScript to set the dragged text. To use the XML schema tree, instead of doing a drag-and-drop, you must click the node you are interested in. The XPath for this node is displayed in the text area at the bottom of the palette. You must then copy and paste the content of this text area into the Text View field. |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
To learn more, see Entering a Comparison Expression Using the Builder Option.
|
|||
To learn more, see Entering a Unary Expression Using the Builder Option.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XQuery Condition Editor page allows you to enter a comparison expression using the Builder option. To learn more about this editor, see Using the XQuery Condition Editor.
Note: | To build the expression, you can drag XQuery functions from the XQuery Functions Palette, and drop them in the Operand field. You can also add predefined default namespaces, variable namespaces, and user-defined namespaces in this way from the Namespace Definitions panel. |
Note: | You must enter the text in quotations—for example, "true" is valid; true is not. |
Note: | When you build additional expressions, make sure to select the And or the Or options in the Conjunction field. |
Note: | You can select a condition and click an Up arrow to move it up the list of conditions, click a Down arrow to move it down the list of conditions, click an Edit icon to update it, and click a Delete icon to delete it. |
Note: | Unary expressions may be intermixed with Comparison expressions in the overall definition of a condition. |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
To learn more, see Building an XQuery Condition Using the Text Option.
|
|||
To learn more, see Entering a Unary Expression Using the Builder Option.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|
The XQuery Condition Editor page allows you to enter a unary expression using the Builder option. To learn more about this editor, see Using the XQuery Condition Editor.
Note: | To build the expression, you can drag XQuery functions from the XQuery Functions Palette, and drop them in the Expression field. You can also add predefined default namespaces, variable namespaces, and user-defined namespaces in this way from the Namespace Definitions panel. |
Note: | When you build additional expressions, make sure to select the And or the Or options in the Conjunction field. |
Note: | You can select a condition and click an Up arrow to move it up the list of conditions, click a Down arrow to move it down the list of conditions, click an Edit icon to update it, and click a Delete icon to delete it. |
Note: | Unary expressions may be intermixed with Comparison expressions in the overall definition of a condition. |
To learn more, see Defining a User Namespace.
|
|||
To learn more, see Creating a Variable Structure.
|
|||
To learn more, see Using Predefined Variables in the Inline Editors.
|
|||
To learn more, see Building an XQuery Condition Using the Text Option.
|
|||
To learn more, see Entering a Comparison Expression Using the Builder Option.
|
|||
Click Save. The Edit Stage Configuration page is displayed. The expression is populated with the transformation you selected. To learn more, continue in Viewing and Changing Stage Configuration Details or Adding an Action.
|
|||
Click Test. To learn more, see Performing Inline XQuery Testing.
|
|||
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Project View or Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
|