Re: [xml] Query regarding IDcs in schema validation
- From: Daniel Veillard <veillard redhat com>
- To: nagesh <nageshs huawei com>
- Cc: xml gnome org
- Subject: Re: [xml] Query regarding IDcs in schema validation
- Date: Wed, 26 Mar 2008 09:27:09 -0400
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]