Working with XML Connections in a Catalog
This topic describes how you can set up XML connections in a catalog, and add and manage tables transformed from XML data sources in the catalog via the connections.
This topic contains the following sections:
- Setting Up XML Connections in a Catalog
- Adding More Tables to an XML Connection
- Managing the Tables in an XML Connection
Setting Up XML Connections in a Catalog
To set up an XML connection to connect a catalog to an XML data source, follow the steps below:
- Create a catalog or open a catalog.
- In the Catalog Manager, right-click the node of a data source and choose Add XML Connection from the shortcut menu.
If you want to set up the connection in a new data source in the catalog, select any of the existing catalog data sources, select New Data Source on the Catalog Manager toolbar, then in the New Data source dialog box, specify the name of the data source, select the XML connection type and select OK.
Designer displays the XML Connection Wizard dialog box.
- In the Import XML Schema screen, specify the way to import the XML schemas from the Schema Type drop-down list: Import from XSD or Parse from XML Instance.
- Provide the required information for importing the XML schemas.
- If you select Import from XSD as the schema type:
- In the Schema Name text box, type the URI string of the schema file or select Browse to select the file.
In the URI string, you can reference parameters and constant level formulas in the current catalog data source in the format @FieldName, and the special field "User Name" as @username. For example, if a URI string is
http://localhost:8080/rest/getData?startDate=2016-01-01
, and you want to use the parameters pHost, pPort, and pStartDate to dynamically generate the URI at runtime, then the URI string ishttp://@pHost:@pPort/rest/getData?startDate=@pStartDate
. Moreover, if a URI string contains characters, such as @, '.', or double quotation marks, or other strings that do not need to be parsed, quote them with double quotation marks. You can select New Parameter to create a parameter in the current catalog data source and reference it in the URI string. If you use the special field "User Name", when you select Next in the connection wizard, Designer displays the Security Identifier dialog box for you to specify the user name with which to generate the stream. When you run reports created on the XML data on Server, the real user's ID will be used. - When the specified URI string begins with the "http://" or "https://" protocol, Designer enables the RESTful button. Select the button to specify the RESTful options for the schema file in the RESTful Data Source Options dialog box.
- To receive the remote data via REST Web Service on the application server, select Via REST Web Service, then from the MIME Type drop-down list, select the MIME type for the REST Web Service data source. You can also specify the type in the text box manually. The REST Web Service Client API (such as the JAX-RS Client API of Java EE) will then be used to get the remote data. When you use a proxy to connect to the REST Web Service, you need to configure the proxy parameters in Designer so that the proxy can work successfully.
If you do not select Via REST Web Service, Designer receives the remote data via the protocol in the URL you specify in the Schema Name text box in the connection wizard.
- Specify the user name and password for remote data authentication.
- Select HTTP Advanced Options to specify the advanced HTTP options.
- Select an HTTP method from the Method drop-down list to send the request, which can be GET or POST.
- Select the Add button above the Headers box to add a header line, then specify the name and value of the user-defined HTTP header. Repeat this to edit more headers. To delete an unwanted header, select it and select the Remove button .
- In the Body box, specify the user-defined HTTP body.
- When editing the HTTP headers and body, you can reference parameters and constant level formulas predefined in the current catalog data source, as well as the special field "User Name". Select to create a parameter and reference it in the header or body, if the predefined parameters cannot meet your requirements.
- If you reference parameters and formulas in the HTTP headers and body, you can select the Edit Format button to edit the format of their values.
- Select OK to apply the specified RESTful data source options and return to the XML Connection Wizard dialog box.
- From the Starting Node drop-down list, specify the starting node accordingly.
- Specify the XML instance file.
To use an instance file from URI, select the URI radio button, then type the URI string in the Instance text box or select Browse to select the instance file. You can also reference parameters, constant level formulas, and the special field "User Name" in the URI string. When the specified URI string begins with
http://
orhttps://
protocol, Designer enables the RESTful button. Select the button to specify the RESTful options for the instance data.To use an instance file from a user-defined interface, select User Defined, then provide the class name with package name in the Class Name field. You can also select Browse to find the class file. The class you specify must exist and can be found by Designer, also by Server at runtime, which means the class should be in the class path of the system environment. After filling in this text box, Designer automatically displays the class name of the interface that the class implements behind "The class implements:". Specify the parameter string for the user-defined interface in the Parameter box. The parameter string must match the format defined in the class. You can also reference parameters, constant level formulas, and the special field "User Name" in the parameter string.
- Select Validate with schema before fetching to validate whether or not values in the XML instance are valid according to the W3C standard and the selected XSD schema.
- If a value of DateTime data type is accurate to millisecond, although the value is valid according to the W3C standard, a message "Invalid Value" still pops up. You can ignore the error message and continue the transformation process.
- If you use a parameter to dynamically specify an XML instance at runtime, the XML instance will be validated at runtime rather than in the importing process.
- In the Schema Name text box, type the URI string of the schema file or select Browse to select the file.
- If you select Parse from XML Instance as the schema type, type the URI string of the XML instance in the Schema Name text box or select Browse to select it. In the URI string, you can reference parameters, constant level formulas, and the special field "User Name". When the specified URI string begins with
http://
orhttps://
protocol, Designer enables the RESTful button. Select the button to specify the RESTful options for the instance data.
- If you select Import from XSD as the schema type:
- Select the Time Zone and Locale button to specify the time zone and the locale for the XML instance in the Time Zone and Locale Options dialog box.
- When you reference parameters and formulas in the URI/parameter string, you can select the Edit Format button to edit the format of their values.
- Select Next to go to the next screen.
- In the Modify Schema Properties screen, supplement and modify the element properties and then select Next.
- In the Transform XML Schema screen, select an XPath to be the transforming start point. Select Next.
- In the Transformed Relational Schema screen, check the transformed result, and then select Next.
- In the Add Table screen, add the required tables to the connection, and select the Generate the default pre-join path checkbox for generating default pre-join paths for the tables. A table contains fields mapped to attributes, simple elements, contents of complex elements, and other nodes in the XML data source.
You can create queries and business views using these tables and a report is developed from a query (or something else which is functionally similar) or from a business view.
- Select Finish to confirm the transformed result and complete the transformation process.
Adding More Tables to an XML Connection
After you have set up an XML connection in a catalog, you can add more tables transformed from the XML data source into the catalog via the XML connection.
- Do one of the following:
- Right-click the XML connection and select Add Tables from the shortcut menu.
- Right-click the Tables node of the XML connection and select Add Tables from the shortcut menu.
- Right-click an existing table in the XML connection if there is and select Add Tables from the shortcut menu.
- Right-click any folder in the Tables node of the XML connection if you have already created some and select Add Tables from the shortcut menu.
- Select the Tables node of the XML connection, or any existing table or folder in the connection and select Add Tables on the Catalog Manager toolbar.
Designer displays the Add Tables dialog box.
- Select the Refresh button.
- Designer lists the tables contained in the schema that it transforms from the XML file in the Tables box. Choose the required tables and select Add.
To choose consecutive tables, select the first table, press and hold down the SHIFT key, and then select the last table. To choose tables that are not consecutive, press and hold down CTRL, and then select each table.
- After adding the required tables, select Done to close the dialog box.
Managing the Tables in an XML Connection
For the tables that have been transformed from an XML data source and added into a catalog via an XML connection, you can refresh them, organize them into folders, and remove and add the table columns the same as you do with tables from a JDBC database.