THanks, I'll look at this tonight.

On Wed, Feb 4, 2009 at 1:20 PM, Fady Moussallam <[email protected]> wrote:

> I have opened WSCOMMONS-436 and attached simple tests.
>
> I was incorrect in the second issue mentioned. Once the source attribute is
> added, the markup is complete.
>
> Thanks for your help.
>
> Fady
>
> -----Message d'origine-----
> De : Benson Margulies [mailto:[email protected]]
> Envoyé : mercredi 4 février 2009 16:56
> À : [email protected]
> Objet : Re: Markup from annotations not returned with XmlSchema 1.4.3
>
> Looks like you found a bug. I don't suppose you could contribute a unit
> test
> that fails as a result of this? Please open a JIRA in any case, and I'll
> look to make a fix.
>
> On Wed, Feb 4, 2009 at 10:53 AM, Andreas Veithen
> <[email protected]>wrote:
>
> > Can you open a JIRA issue for this problem?
> >
> > Andreas
> >
> > On Wed, Feb 4, 2009 at 09:21, Fady Moussallam <[email protected]> wrote:
> > > Hello,
> > >
> > > I am seeing a regression between the previous version of XmlSchema I
> was
> > using (1.4) and the latest (1.4.3).
> > >
> > > I have an XML schema where the schema element has these annotations:
> > >
> > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
> > > targetNamespace="http://legstar.com/test/coxb/lsfileae";
> > > xmlns="http://legstar.com/test/coxb/lsfileae";
> > > xmlns:xsns="http://legstar.com/test/coxb/lsfileae";
> > > xmlns:cb="http://www.legsem.com/xml/ns/coxb";
> > > xmlns:jaxb="http://java.sun.com/xml/ns/jaxb";
> > > jaxb:version="2.0"
> > > jaxb:extensionBindingPrefixes="cb"
> > > elementFormDefault="qualified">
> > >  <xs:annotation><xs:appinfo>
> > >  <jaxb:schemaBindings>
> > >  <jaxb:package  name="com.legstar.test.coxb.lsfileae"/>
> > >  </jaxb:schemaBindings>
> > >  </xs:appinfo></xs:annotation>
> > >
> > > On return from reading the file, the XmlSchema has an
> XmlSchemaAnnotation
> > but with no content.
> > >
> > > This is due to this code in SchemaBuilder#handleAppInfo(Element
> content):
> > >
> > >                if (!content.hasAttribute("source")) {
> > >                        return null;
> > >                }
> > >
> > > This pretty much forces the appinfo element to hold a source attribute.
> > But I don't believe the source attribute is mandatory. In 1.4, the code
> was
> > like this:
> > >
> > >                if (!content.hasAttribute("source")
> > >                                && (markup == null || markup.getLength()
> > <= 0)) {
> > >                        return null;
> > >                }
> > >
> > > This is not the only issue. Even if I set a source attribute, I still
> > don't get the markup completely. This is due to the fact that you
> replaced
> > this code from 1.4:
> > >
> > >            NodeList markup = getChildren(content);
> > >
> > > With this code (1.4.3):
> > >
> > >            NodeList markup = new DocumentFragmentNodeList(content);
> > >
> > > The issue is that DocumentFragmentNodeList doesn't process the appinfo
> > children recursively, it just processes direct children of appinfo. In my
> > case, the markup would contain jaxb:schemaBindings but not jaxb:package.
> > >
> > > Any ideas or advice would be greatly appreciated.
> > >
> > > Fady
> > >
> > >
> > >
> > >
> > >
> > >
> >
>
>

Reply via email to