| title | URN Schema Validation | Commerce PHP Extensions | |
|---|---|---|
| description | Learn about uniform resource name (URN) schema validation for Adobe Commerce and Magento Open Source components. | |
| keywords |
|
Each module can contain XSD files for XML validation.
The application uses Uniform Resource Names (URNs) to reference XML schema declarations.
The application supported URNs begin with urn:magento. The application supports two XSD reference types:
- Module XSD
- Framework XSD
You cannot change the XSD for any XML files provided with the Adobe Commerce and Magento Open Source applications.
The syntax for the module XSD is a colon separated declaration. An example follows:
urn:magento:module:Magento_Flow:flows/content.xsd
where
urn:magentois the URN identifiermoduleis the reference type identifierMagento_Flowis the name of the module. This must be exactly the same as the module specified by ComponentRegistrar in the registration.php file.flows/content.xsdis the relative path to the module’s directory.
The syntax for the framework XSD is a colon separated declaration. An example follows:
urn:magento:framework:Api/etc/extension_attributes.xsd
where
urn:magentois the URN identifierframeworkis the reference type identifier. You can also add additional framework libraries as separate components withframework-<sub-name>Api/etc/extension_attributes.xsdis the relative path to the framework’s directory.
Use URN notation to reference schema from inside a XSD document:
<xs:redefine schemaLocation="urn:magento:framework:Config/etc/view.xsd">
The URN resolution is invoked automatically by the libxml engine. Register the URN resolver by using libxml_set_external_entity_loader:
libxml_set_external_entity_loader(['Magento\Framework\Config\Dom\UrnResolver', 'registerEntityLoader']);The relative path to other XSDs cannot be used from inside the XSD file, because the entity loader fails to resolve the relative path.