Shared libraries and XML or DFDL schema files

When you validate against deployed XML or DFDL schema files in shared libraries, you must specify the name of the shared library that contains the appropriate compiled model.

Shared libraries can contain XML or DFDL schema files. Shared libraries can also access schema files that are contained in referenced shared libraries, either by using the import or include options.
The graphic shows that shared library 1 contains a schema file that is called Sch1.xsd, and shared library 2 contains a schema file called Sch2.xsd. Shared library 1 can also access the Sch2.xsd schema file in library 2. In this scenario, shared library 2 cannot access the Sch1.xsd schema file in shared library 1.
When the first shared library is deployed, a model is compiled that contains all the schema files in that shared library and any referenced shared libraries.
This graphic shows shared libraries 1 and 2 after deployment. The model that is created for shared library 1 contains schema files Sch1.xsd and Sch2.xsd. The model that is created for shared library 2 contains only the Sch2.xsd schema file.
The application or applications that reference the shared libraries can also contain their own schema files. A separate model is compiled that contains only the schema files from the application. The schema files in the application cannot access schema files in a shared library.
The graphic shows that at development time, application 1 references shared library 1, which also references shared library 2. Application 1 contains schema file Sch3.xsd. Shared library 1 contains schema file Sch1.xsd. Shared library 2 contains the schema file Sch2.xsd. Application 1 cannot access schema files Sch1.xsd and Sch2.xsd in the referenced shared libraries. However, as in the previous example, shared library 1 can access the schema file in shared library 2. After deployment, the model that is created for application 1 contains only schema file Sch3.xsd. The model for shared library 1 contains schema files Sch1.xsd and Sch2.xsd. The model for shared library 2 contains schema file Sch2.xsd.
To validate against the deployed schema files, the compiled representation of the XML schemas is passed to the parser. Therefore, you must specify the name of the shared library that contains the appropriate compiled model. For example, when you create a message flow, you can configure the input node to validate against the message model for a shared library that is called hl7 by specifying a value of {hl7} in the Message model property on the Input Message Parsing panel of the node. To access the Message model value in the Validate node, you can set the MessageSet field of the Properties tree by including the following ESQL statement in a Compute node:
SET OutputRoot.Properties.MessageSet = '{Shared LibraryName};'
You can use the following methods to view the relationships between applications and shared libraries:
  • The mqsilist command
  • User trace and system trace
  • The web user interface
  • The Integration Explorer view of the IBM® App Connect Enterprise Toolkit