Exporting SBOM data from Agile 9.3.4 produces XML files that fail validation against the FDA SBOM schema requirements for regulatory submissions. Our export process uses PX with custom transformations, but the resulting XML structure doesn’t match the required namespace declarations and element hierarchy.
The specific error from the FDA validation tool:
Error: Element 'ComponentList' is not valid
Expected: sbom:ComponentList with xmlns:sbom="urn:fda:sbom:2024"
Found: ComponentList with no namespace
Line 47, Column 12
Our current export mapping configuration in PX pulls from the SBOM object class and related BOM items, but the XML transformation doesn’t inject the required namespace attributes. We’ve tried modifying the PX stylesheet, but the schema mismatch persists across multiple validation attempts.
Anyone successfully configured SBOM exports that pass FDA or EU MDR XML schema validation? We’re facing a submission deadline and need to resolve this schema mismatch urgently.
The namespace issue is common with PX exports. You need to define the namespace prefix in your PX transformation root element. In your XSLT stylesheet, add the xmlns declarations at the top level and ensure all child elements use the proper prefix. Check the FDA schema XSD file for the exact namespace URI and required prefixes.
Good points on element ordering. I’ve reviewed the FDA XSD and there are indeed strict sequence requirements. Our PX transformation currently outputs elements based on database query order, not schema sequence. How do you handle mandatory elements when the source Agile data might be incomplete? Do you use default values or fail the export?
For mandatory elements with missing data, we implement a validation layer before export. Create a pre-export report that checks data completeness against the target schema requirements. If critical fields are empty, flag the SBOM record for data completion before allowing export. This prevents failed submissions and gives your team visibility into data quality issues. You can build this validation into a custom workflow step.
I’ll provide a comprehensive solution addressing all three critical areas.
XML Schema Validation:
First, obtain the official FDA SBOM XSD schema (version 2024.1 or later) and set up local validation testing. Install an XML validator like Xerces or use xmllint:
xmllint --schema fda_sbom_2024.xsd your_export.xml --noout
This gives precise error locations. The namespace error you’re seeing requires proper declaration in your output XML root element.
Export Mapping Configuration:
In Agile Admin Console, navigate to PX Configuration > Export Mappings > SBOM_FDA_Export. Your mapping must specify:
- Element sequence matching FDA schema xs:sequence order
- Mandatory field checks with default value handling
- Cardinality constraints (minOccurs, maxOccurs)
Create a mapping validation rule:
<validation>
<required field="componentName" default="[UNKNOWN]"/>
<required field="manufacturerName" default="[PENDING]"/>
<required field="deviceIdentifier" failOnMissing="true"/>
</validation>
PX Transformation:
Your XSLT stylesheet needs namespace-aware transformation. Update the root template:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:sbom="urn:fda:sbom:2024"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:template match="/">
<sbom:SBOM xsi:schemaLocation="urn:fda:sbom:2024 fda_sbom_2024.xsd">
<sbom:Header>...</sbom:Header>
<sbom:ComponentList>
<xsl:apply-templates select="BOMItem"/>
</sbom:ComponentList>
</sbom:SBOM>
</xsl:template>
Key points:
- All elements must use sbom: prefix
- Declare schemaLocation for validation
- Process BOM items in schema-required sequence
- Handle optional vs. mandatory elements explicitly
Implementation Steps:
- Update PX stylesheet with proper namespaces
- Modify export mapping to enforce element sequence
- Add pre-export data validation workflow
- Test with FDA validator before submission
- Document mapping for future schema updates
For missing mandatory data, implement a two-tier approach: use placeholder defaults for non-critical fields ([UNKNOWN], [PENDING]) but fail export for critical identifiers like deviceIdentifier or manufacturerID. This ensures compliance while maintaining data quality standards.
Test your updated export against the FDA validator iteratively. Schema compliance typically requires 3-4 refinement cycles to handle edge cases and optional element combinations.