IBM Rational Publishing Engine/Rational Requirements Composer: Missing nodes when applying conditions
When using IBM Rational Publishing Engine with Rational Requirements Composer, due to a known issue affecting Business Processes diagrams, you may be missing certain nodes when applying filters, conditions, and assignments -- for example, in the Edit Conditions window. To work around this, you can manually update the schema to change the references from dc namespace elements to inline definitions.
A typical symptom occurs when you go to apply a condition to a Business Processes diagrams data source query, when using IBM Rational Publishing Engine (RPE) with Rational Requirements Composer. In the Edit Conditions window, you will be missing several nodes that should be showing up. You would see this even if the data source looks good in RPE (no grayed out nodes).
This issue has been identified as a product defect and has been logged under APAR PM27677
The reason certain nodes are missing is that IBM Rational Publishing Engine (RPE) only displays nodes of known types in the Conditions window. The nodes that are not showing up are defined as dc:SimpleLiteral, a type that RPE has no knowledge about.
Resolving the problem
To work around this issue, you can manually update the IBM Rational Publishing Engine (RPE) schema to change the references from dc namespace elements to inline definitions. Attached below is a PERL script (dc2inline.pl) that can update the schema to work around this issue. Follow these instructions for proper use of the script:
- Save the script into a location where you can put temporary XSD files. If needed, install PERL.
- In RPE, right-click the data source you need to update and choose Open Schema in Editor.
- Copy/paste the schema contents into a temporary XSD file on your hard drive, in the location where you saved the script.
- Leave the Schema Editor open -- you will need it later.
- Edit the script so that the XSD_FILE variable matches the name of the temporary XSD file you created.
- Then set the NEW_XSD variable to be the name that you want the new file, which contains the updated schema, to have.
- Run the script -- it will create a new XSD file with the updated schema.
- Open the new XSD file in a text editor and copy its contents into the clipboard.
- Back in RPE, in the Schema Editor, select all the contents and delete them. Then paste updated schema into schema editor.
- Save your changes in the Schema Editor, then close the schema. This updates your data source's schema.
- Check the RPE console for errors -- you should have no errors from this operation.
- Inspect the data source in RPE -- it should look the same as before, with no new grayed out nodes.
- Inspect the Edit Conditions window -- the missing nodes should now appear.
Once the workaround is implemented, the Conditions window will show the missing nodes, which will be simple types that have unary multiplicity. You still will not see nodes like collaboration, content, and location, as they are complex types that are not meant to be used as values.
All source code and/or binaries attached to this document are referred to here as "the Program". IBM is not providing program services of any kind for the Program. IBM is providing the Program on an "AS IS" basis without warranty of any kind. IBM WILL NOT BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS), EVEN IF IBM, OR ITS RESELLER, HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
PERL script to change references from dc namespace elements to inline definitions: