0.0.2 • Published 5 years ago

xmllint-extra v0.0.2

Weekly downloads
1
License
ISC
Repository
github
Last release
5 years ago

xmllint-extra

Decorate xmllint error messages with extra information (tag name and offset).

This wrapper also adds some heuristics to fix imports between the passed schemas, by recognizing their defined namespace.

example

When parsing with direct xmllint you could get:

{ errors:
  [
    "file_0.xml:2: element FatturaElettronica: Schemas validity error : Element '{http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2}FatturaElettronica', attribute 'versione': [facet 'enumeration'] The value '1.1' is not an element of the set {'FPA12', 'FPR12'}.",
    "file_0.xml:10: element FormatoTrasmissione: Schemas validity error : Element 'FormatoTrasmissione': [facet 'enumeration'] The value 'SDI11' is not an element of the set {'FPA12', 'FPR12'}.",
    "file_0.xml:10: element FormatoTrasmissione: Schemas validity error : Element 'FormatoTrasmissione': 'SDI11' is not a valid value of the atomic type '{http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2}FormatoTrasmissioneType'.",
    "file_0.xml:101: element PrezzoUnitario: Schemas validity error : Element 'PrezzoUnitario': '2459.020a' is not a valid value of the atomic type '{http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2}Amount8DecimalType'."
  ]
}

using this package that will be converted to:

{ errors:
  [
    { message: "Element '{http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2}FatturaElettronica', attribute 'versione': [facet enumeration'] The value '1.1' is not an element of the set {'FPA12', 'FPR12'}.",
      offset: 39,
      element: 'FatturaElettronica',
      context: '<ns3:FatturaElettronica xmlns:ns3="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" mlns:ns2="http://www.w3.org/2000/09/xmldsig#" versione="1.1">' },
    { message: "Element 'FormatoTrasmissione': [facet 'enumeration'] The value 'SDI11' is not an element of the set {'FPA12', 'FPR12'}.",
      offset: 425,
      element: 'FormatoTrasmissione',
      context: '<FormatoTrasmissione>SDI11</FormatoTrasmissione>' },
    { message: "Element 'FormatoTrasmissione': 'SDI11' is not a valid value of the atomic type 'http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2}FormatoTrasmissioneType'.",
      offset: 425,
      element: 'FormatoTrasmissione',
      context: '<FormatoTrasmissione>SDI11</FormatoTrasmissione>' },
    { message: "Element 'PrezzoUnitario': '2459.020a' is not a valid value of the atomic type 'http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2}Amount8DecimalType'.",
      offset: 3760,
      element: 'PrezzoUnitario',
      context: '<PrezzoUnitario>2459.020a</PrezzoUnitario>' }
  ]
}