highsource / jsonix

Powerful XML<->JSON JavaScript mapping library.
BSD 2-Clause "Simplified" License
356 stars 75 forks source link

Could not be unmarshalled #246

Open dishant2612 opened 3 years ago

dishant2612 commented 3 years ago

Hello,

I tried the jsonix PO example, it works fine with marshalling and unmarshalling.

When I try to implement it in my use case I am getting the following error Error: Element [{http://www.w3.org/2001/XMLSchema}xsd:schema] could not be unmarshalled as is not known in this context and the property does not allow DOM content.

Steps:

  1. created INVOICE.js in mappings folder using below command java -jar \lib\jsonix-schema-compiler-full-2.3.9.jar -d mappings -p INVOICE https://docs.oasis-open.org/ubl/os-UBL-2.1/xsd/maindoc/UBL-Invoice-2.1.xsd

  2. stored the same xsd (https://docs.oasis-open.org/ubl/os-UBL-2.1/xsd/maindoc/UBL-Invoice-2.1.xsd) as an example in invoice.xml

    
    const Jsonix = require('jsonix').Jsonix,
    INVOICE = require('../mappings/INVOICE'),
    context = new Jsonix.Context([INVOICE]),
    unmarshaller = context.createUnmarshaller();

unmarshaller.unmarshalFile('../mappings/invoice.xml', function (unmarshalled) { console.log(unmarshalled.value.cac:InvoicePeriod.cbc:StartDate); });



Any help will be highly appreciated. Thanks

PS: code [jsonixInvoice](https://github.com/dishantindept/jsonixInvoice) for reference