On 10/31/07, Glen Daniels <[EMAIL PROTECTED]> wrote:
>
> Hi Amila:
>
> Amila Suriarachchi wrote:
> > On 10/30/07, Glen Daniels <[EMAIL PROTECTED]> wrote:
> >> So, what I'd like to do is:
> >>
> >> * (best solution) Fix the problem with the API, and don't bother
> >> providing an option for "local" searches... why would you want/need
> such
> >> a thing? (if someone can provide a solid use-case I'm flexible on this)
> >>   Fix ADB to use the new code.
> >
> > I am agree with your argument about the method signature. And also if I
> am
> > extending it
> > ByName part can also omited since there is nothing other than the name
> which
> > can uniquely identify the Element or type.
>
> +1, you are totally right, and if I was building from scratch now I'd
> just call the methods getElement()/getType().  But since we already have
> the API, I'm not sure we should change the name just for that. :)
>
> > Lets take this senario to explain why ADB needs the parent schema.
> > Lets say we have three elements
> > E1(S1) refers to E2(S2) (in different schema)
> > E2(S2) refers to E3(S3) (in different schema)
> >
> > What currently ADB does is it
> > first find the schema of the E2 (i.e. S2) starting with the
> > S1. (since it should be possible to find it serching through imports and
> > includes starting from S1)
>
> Well, hang on a sec.  Can you explain to me exactly what it's doing here
> (or point me at the code in question)?  I would think you'd read in the
> schema and then end up walking the elements inside an
> XmlSchemaComplexType - which typically means using getItems() on the
> contained sequence.  To be clear, I'm imagining this:
>
> <schema targetNamespace="ns1">
>   <element name="E1">
>    <complexType>
>     <sequence>
>      <element ref="ns2:E2"/>
>     </sequence>
>    </complexType>
>   </element>
> </schema>
>
> So my question here is why do you need the actual XmlSchema object at
> all for S2?  Don't you just end up with an XmlSchemaElement for E2 when
> you're walking the structure of E1?
>
> What I'm really asking is why do you need to look anything (from a
> foreign namespace) up by name, when the object model lets you just walk
> the objects directly?


here the problem is it does not allow. if you go and see the
XmlSchemaElement class only method
getRefName() is available. it does not have a method to get the referenced
Element.


The above senario (which I mentioned in earlier mail) is appliced when
getting
1. Elements
2, Named types
3. Attributes
4  Attribute Groups
5. Goups

Thanks.
Amila.


> > So you can argue that why E3 can not be found starting with S1 as well?
> yes
> > this is correct, the only thing it is inefficient since we always have
> to
> > start search from the bottom.
> > therefore I think it is nice to have getElementByName(String) method as
> > well.
>
> +1, seems reasonable.
>
> Thanks,
> --Glen
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Amila Suriarachchi,
WSO2 Inc.

Reply via email to