Re: [xml] Query regarding IDcs in schema validation



On Fri, Oct 26, 2007 at 09:41:04AM +0800, nagesh wrote:
Hi,
      I have a query about schema validation, when the schema document is
having IDC. My schema document is such that, the main schema will import the
child schema which has an IDC definition (key) for an element. So when the
schema parsing is completed successfully, the IDC definition for that
element will be stored in the child schema data structure created for this
child schema.
      However when the validation of the input document starts, In the
function xmlSchemaPreRun( ), it checks for the presence of IDC definition
only in the main schema,
27899 if (vctxt->schema->idcDef != NULL) {
27900         xmlHashScan(vctxt->schema->idcDef,
27901     (xmlHashScanner) xmlSchemaAugmentIDC, vctxt);
27902    }
      Because of this check, in the validation context, "vctxt->aidcs"
will be set only if the main schema has IDC definition. So when the
validation of the element declaration starts against it's definition present
in the schema file, the check for the IDC fails, since it is not able to
find the IDC definition for the same.

Function: xmlSchemaIDCRegisterMatchers

23109 aidc = vctxt->aidcs;
23110 while (aidc != NULL) {
23111     if (aidc->def == idc)
23112         break;
23113     aidc = aidc->next;
23114 }
23115 if (aidc == NULL) {
23116     VERROR_INT("xmlSchemaIDCRegisterMatchers",
23117         "Could not find an augmented IDC item for an IDC
definition");
23118     return (-1);
23119 }
      
      So in the function, xmlSchemaPreRun( ), should it check for all the
schema pointers for the presence of Augmented IDC definitions in all the
main and child schema pointers?
Thanks in advance for the reply.

  I don't know the fine details (sic.) of XML Schemas but your report sounds
right. Can you build a patch for this issue ?

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/



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