XSLT Mapping
Using XSLT, a one-time mapping needs to be performed between the schema representing the foreign XML and the Materials Compliance Management schema.
The result of applying the customized transform to an instance of foreign BOM data in its own XML format is a new document, which might be in Materials Compliance Management XML format, or any format that Materials Compliance Management already recognizes, such as legacy BOM format. It is recommended that your transforms should generate Materials Compliance Management XML, that is, XML that conforms to the Materials Compliance Management XML schema as defined in one of the XSD files, described in XSD for Importing XML:
- MCC_BillOfMaterials.xsd
- MCC_Elements.xsd
- MCC_MaterialCompositionReport.xsd
- MCC_PortalService.xsd
- MCC_SimpleTypes.xsd
- MCC_SubstanceThresholdReport.xsd
- MCC_SupplierReport.xsd
These XSD files are included as part of the standard Materials Compliance Management installation. However, this feature will also support transformation to any format already recognized by Materials Compliance Management, such as IPC and Legacy BOM. In this case, two transformations will actually take place, first the customer's transform, for example, to a legacy BOM, and then another transformation (conversion) to Materials Compliance Management XML.
The transform must be pure XSL: no extensions will be supported. In particular, the XSL will have no access to an ENOVIA database context.
Once the .xsl file has been created and debugged, Materials Compliance Management must be told where to find the .xsl file using the following .properties file option:
emxMaterialsComplianceCentral.importer.XMLTransformFile
The value of this property must be set to the absolute path name of the .xsl file.
Note that only a single .xsl file can be referred to via this parameter. That file may "include" or "import" other XSL files, as supported by XSL. If you have more than one XML schema that you would like to be able to convert using this mechanism, you would need to include the combined set of rules in one transform.
To set the extension to be appended to the transformed file name, use this property:
emxMaterialComplianceCentral.importer.XSLTransformResultExtension
Values are "xml" (or leave unset) if the transform outputs XML or "txt" if the transform outputs to legacy BOM format.