How can I put definitions for dynamic components in multiple files?
This page discusses how to handle dynamic components outside the single DynamicComponents are described in the This works fine if we are happy to put all DynamicComponents in the same
This is a problem when trying to factorize the CDB in a structured and hierarchical way. See:
Starting from ACS 4.1.0, it is possible to use the recent XInclude and XPointer XML specification. See ZLegacy/ACS.CDBDynamicComponents for a detailed discussion about usage and implementation of XInclude and Xpointer in xercel-2 java, our parser (and the patches we have implemented).
<xi:include href="<relative path>/XXX_IncludeDynamic.xml" xpointer="element(/1)" />
Guidelines, conventions and other approved usages of the XInclude facility are not part of this discussion and will have to be adressed with HLA, SE and IT at a later time.
Example
<?xml version="1.0" encoding="utf-8"?> <Components xmlns="urn:schemas-cosylab-com:Components:1.0" xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <_ Name="*" Code="controlDynamic_1" Type="IDL:alma/PsDynamic_1:1.0" Container="Container"/> <_ Name="*" Code="controlPsDynamic_2" Type="IDL:alma/PsDynamic_2:1.0" Container="bilboContainer" /> </Components>
<?xml version="1.0" encoding="utf-8"?> <Components xmlns="urn:schemas-cosylab-com:Components:1.0" xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <_ Name="*" Code="corrDynamic_1" Type="IDL:alma/MountDynamic_1:1.0" Container="Container"/> <_ Name="*" Code="corrDynamic_2" Type="IDL:alma/MountDynamic_2:1.0" Container="corrContainer" /> </Components>
<?xml version="1.0" encoding="utf-8"?> <Components xmlns="urn:schemas-cosylab-com:Components:1.0" xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude"> <_ Name="ALMA_DOOR" Code="acsexmplDoorImpl" Type="IDL:alma/acsexmplBuilding/Door:1.0" Container="Container" /> <xi:include href="CONTROL_IncludeDynamic.xml" xpointer="element(/1)" /> <xi:include href="CORRELATOR/IncludeDynamic.xml" xpointer="element(/1)" /> </Components> A complete working example of CDB is here: Main.FAQHierarchicalComponentsAndCDBStructure -- GianlucaChiozzi - 06 Sep 2005 |
Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.
|