I am getting an Error
"ORA-31043: Element '' not globally defined in schema ''"
. I have registered two schemas:
SuministroInformacion.xsd
https://livesql.oracle.com/apex/livesql/s/bfqrtjtu5dh5tbmhmw5iqsk06
SuministroLR.xsd
https://livesql.oracle.com/apex/livesql/s/bfqrxly04ys26vucnrfw24x12
but when i run the script, it fails:
set serveroutput on;
DECLARE
l_payload_xml CLOB;
l_payload_xml_2 CLOB;
l_payload_xml_3 CLOB;
l_xmltype XMLTYPE;
l_schema_name varchar2(100) := 'SuministroLR.xsd';
BEGIN
l_payload_xml := '<?xml version = "1.0" encoding = "UTF-8"?>
<siiLR:SuministroLRFacturasEmitidas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd SuministroLR.xsd">
<sii:Cabecera>
<sii:IDVersionSii>1.1</sii:IDVersionSii>
<sii:Titular>
<sii:NombreRazon>xxxx</sii:NombreRazon>
<sii:NIF>123123</sii:NIF>
</sii:Titular>
<sii:TipoComunicacion>A0</sii:TipoComunicacion>
</sii:Cabecera>
<siiLR:RegistroLRFacturasEmitidas>
<sii:PeriodoLiquidacion>
<sii:Ejercicio>2024</sii:Ejercicio>
<sii:Periodo>02</sii:Periodo>
</sii:PeriodoLiquidacion>
<siiLR:IDFactura>
<sii:IDEmisorFactura>
<sii:NIF>123123</sii:NIF>
</sii:IDEmisorFactura>
<sii:NumSerieFacturaEmisor>123123</sii:NumSerieFacturaEmisor>
<sii:FechaExpedicionFacturaEmisor>29-02-2024</sii:FechaExpedicionFacturaEmisor>
</siiLR:IDFactura>
<siiLR:FacturaExpedida>
<sii:TipoFactura>F1</sii:TipoFactura>
<sii:ClaveRegimenEspecialOTrascendencia>01</sii:ClaveRegimenEspecialOTrascendencia>
<sii:ImporteTotal>11652.50</sii:ImporteTotal>
<sii:DescripcionOperacion>123123-LLC</sii:DescripcionOperacion>
<sii:Contraparte>
<sii:NombreRazon>LLC</sii:NombreRazon>
<sii:IDOtro>
<sii:CodigoPais>US</sii:CodigoPais>
<sii:IDType>06</sii:IDType>
<sii:ID>123123123</sii:ID>
</sii:IDOtro>
</sii:Contraparte>
<sii:TipoDesglose>
<sii:DesgloseTipoOperacion>
<sii:PrestacionServicios>
<sii:NoSujeta>
<sii:ImporteTAIReglasLocalizacion>11652.50</sii:ImporteTAIReglasLocalizacion>
</sii:NoSujeta>
</sii:PrestacionServicios>
</sii:DesgloseTipoOperacion>
</sii:TipoDesglose>
</siiLR:FacturaExpedida>
</siiLR:RegistroLRFacturasEmitidas>
<siiLR:RegistroLRFacturasEmitidas>
<sii:PeriodoLiquidacion>
<sii:Ejercicio>2024</sii:Ejercicio>
<sii:Periodo>02</sii:Periodo>
</sii:PeriodoLiquidacion>
<siiLR:IDFactura>
<sii:IDEmisorFactura>
<sii:NIF>123123</sii:NIF>
</sii:IDEmisorFactura>
<sii:NumSerieFacturaEmisor>123123</sii:NumSerieFacturaEmisor>
<sii:FechaExpedicionFacturaEmisor>29-02-2024</sii:FechaExpedicionFacturaEmisor>
</siiLR:IDFactura>
<siiLR:FacturaExpedida>
<sii:TipoFactura>F1</sii:TipoFactura>
<sii:ClaveRegimenEspecialOTrascendencia>01</sii:ClaveRegimenEspecialOTrascendencia>
<sii:ImporteTotal>11652.50</sii:ImporteTotal>
<sii:DescripcionOperacion>123123-LLC</sii:DescripcionOperacion>
<sii:Contraparte>
<sii:NombreRazon>LLC</sii:NombreRazon>
<sii:IDOtro>
<sii:CodigoPais>US</sii:CodigoPais>
<sii:IDType>06</sii:IDType>
<sii:ID>US31231231</sii:ID>
</sii:IDOtro>
</sii:Contraparte>
<sii:TipoDesglose>
<sii:DesgloseTipoOperacion>
<sii:PrestacionServicios>
<sii:NoSujeta>
<sii:ImporteTAIReglasLocalizacion>11652.50</sii:ImporteTAIReglasLocalizacion>
</sii:NoSujeta>
</sii:PrestacionServicios>
</sii:DesgloseTipoOperacion>
</sii:TipoDesglose>
</siiLR:FacturaExpedida>
</siiLR:RegistroLRFacturasEmitidas>
</siiLR:SuministroLRFacturasEmitidas>';
dbms_output.put_line(l_payload_xml);
l_xmltype := XMLTYPE(l_payload_xml, l_schema_name);
l_xmltype.schemavalidate;
END;
/
Error message is below:
Error report - ORA-31043: Element '' not globally defined in schema '' ORA-06512: at "SYS.XMLTYPE", line 272 ORA-06512: at line 97 31043. 00000 - "Element '%s' not globally defined in schema '%s'" *Cause: The specified element name has not been defined at the top level of the XML schema (i.e. globally). Elements must be defined globally to be the root of an XMLType object. *Action: Check the XML schema definition to make sure the specified element name has been defined at the top level.