[xml] xmlParseFile fails on xCBL 4.0 document



Here is the error I get:
C14N error : Relative namespace UR is invalid here : rrn
C14N error : Internal error : checking for relative namespaces
C14N error : Internal error : processing docs children list

xCBL 4.0 uses a default namespace defined as rrn:org.xcbl:schemas/...

For example:

<Invoice xmlns="rrn:org.xcbl:schemas/xcbl/v4_0/financial/v1_0/financial.xsd" xmlns:core="rrn:org.xcbl:schemas/xcbl/v4_0/core/core.xsd" xmlns:dgs="http://www.w3.org/2000/09/xmldsig#"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; />

I don't think xCBL is going to change "rrn" to "urn", is there a way to avoid this problem except by changing
static int xmlC14NCheckForRelativeNamespaces:
if ((xmlStrcasecmp((const xmlChar *) uri->scheme, BAD_CAST "urn") != 0)
  && (xmlStrcasecmp((const xmlChar *) uri->scheme, BAD_CAST "dav") !=0)
// new thing begin
  && (xmlStrcasecmp((const xmlChar *) uri->scheme, BAD_CAST "rrn") !=0)
// end thing end
  && (xmlStrlen((const xmlChar *) uri->server) == 0)) {
        xmlC14NErrRelativeNamespace(uri->scheme);
        xmlFreeURI(uri);
        return (-1);
}

 in c14n.c?

Thank you,
Alex.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]