Hi,

I had a doubt regarding the chameleon include mechanism in libxml. In the
code for a chameleon include, the check is as follows in the function
xmlSchemaAddSchemaDoc:-

} else {

       /* <include> and <redefine> */

       if (bkt != NULL) {

 

           if ((bkt->origTargetNamespace == NULL) &&

              (bkt->targetNamespace != sourceTargetNamespace)) {

              xmlSchemaBucketPtr chamel;

 

My query is when will this part of the code be hit. The checks make it
impossible to hit this piece of code.

Say for instance we have a schema file A with targetnamespace which includes
another Schema file B with targetnamespace NULL, in this case
bkt->origTargetNamespace will be NULL, and bkt->targetNamespace ==
sourceTargetNamespace always since after including a schema, included items

will get the namespace of the source. 

 

In other instance if targetnamespaces of A & B are different then libxml
raises an error. So I am not sure in what scenario this will be hit. I would
be grateful if someone could tell me whether such a case exists.

 

Thanks!!

 

Regards

Ashwin

 

_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to