> Sandy wrote...
>
> Consider this:
> 
> <attribute name="att" type="string"/>
> 
> <attributeGroup name="ag1">
>   <attribute ref="ns:att" use="required"/>
> </attributeGroup>
> 
> <attributeGroup name="ag2">
>   <attribute ref="ns:att" use="prohibited"/>
> </attributeGroup>
> 
> Then where do you store the "type" information for "att", and where do you
> store "use" information for the references to "att"?
> 
> One choice could be that whenever you see a reference to "att", you create
> a new attribute declaration, copy all information from the global one, and
> set "use" and "value constraint" on the new decl. Apparently, you are
> wasting a lot of space. And this is what we've done in Xerces1.
> 
> In the new schema design, we want to avoid "information cloning" as much as
> possible. So we store attribute decl and attribute use in separate places.
> In attribute use, it only contains "use" "value constraint" and a pointer
> to the attribute decl.

You have a point here. I agree with you.
+1 for XSAttributeUseDecl.

> 
> If you agree with me on the above point, then
> XSDAttributeTraverser.traverseLocal should return a XSAtributeUse index.

You are right!.
Sorry Sandy for overlooking this point of attribute use.

> 
> I didn't have much time to work on the attribute/attributeGroup stuff these
> two days. I'll try to do something this week.
> 
> I just put in some other changes. I'll write another message explaining
> them.

Today I will re-submit the AttributeGroupTraverser class.

Cheers,
Rahul.

Sun Microsystems Inc.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to