ORA-31043: Element '' not globally defined in schema ''

42 Views Asked by At

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.

0

There are 0 best solutions below