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

[xml] 答复: Query regarding IDCs handling during schema parsing.



Hi Frank,
	Thanks for the reply. With the fix number 455953, It is working fine
for me now.

Thanks and Regards,
Nagesh.

-----邮件原件-----
发件人: Frank Gross [mailto:fg 4js com] 
发送时间: 2007年11月12日 18:12
收件人: nagesh
抄送: xml gnome org
主题: Re: [xml] Query regarding IDCs handling during schema parsing.

Hi,

   Have you tried with version 2.6.30 ? Maybe that bug fix number 455953 
can solve your problem.

Frank.

nagesh a écrit :
> 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.
> 
> Regards,
> 
> Nagesh.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> xml mailing list, project page  http://xmlsoft.org/
> xml gnome org
> http://mail.gnome.org/mailman/listinfo/xml




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