[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] bug 362989
- From: "Yong Chen (yongche)" <chen cisco com>
- To: <veillard redhat com>
- Cc: xml gnome org
- Subject: Re: [xml] bug 362989
- Date: Wed, 1 Nov 2006 12:12:11 -0800
Hi Daniel,
Thanks a lot, I do appreciate your effort, time, and kindness.
Also wanted to let you know, it's not that I didn't want to spend my
time on it, you know I'm using libxml2 seriously. Actually I've been
debugging this issue for a long time, including reading libxml source
code, trimming down the xsd file for all kinds of testings. Trust me, I
did spend lots of time on it.
As for my xsd file, I knew it had "non-deterministic" problem (that is,
name uniqueness violation), I used a Java xsd validator and it showed me
the problem. But libxml2 should show me the same error (instead, it went
into infinite loop), that's something I want to fix.
Yes the xsd file is auto-generated, your comments remind me to make it
more readable (or user-friendly). I'll see if I can do something about
it.
Again, thanks a lot. I'll fix my xsd issue. And where can I see the bug
fix and optimization code? (in the bugzilla)?
Best,
Yong Chen
> -----Original Message-----
> From: Daniel Veillard [mailto:veillard redhat com]
> Sent: Wednesday, November 01, 2006 7:07 AM
> To: Yong Chen (yongche)
> Cc: xml gnome org
> Subject: Re: [xml] bug 362989
>
> On Tue, Oct 31, 2006 at 08:00:59PM -0500, Daniel Veillard wrote:
> > On Tue, Oct 31, 2006 at 02:25:49PM -0800, Yong Chen (yongche) wrote:
> > This is the epsilon transition elimination in the graph of
> transition.
> > Each time someone tried to point out that the
> implementation of this
> > function was broken it was something else, it's just where
> the problem
> > usually show up, the error being the construction of the graph
> > automata. Of course the construct in the automata are a bit
> more complex than in the book.
> > It is not trivial, it takes serious concentration and
> time to really
> > understand where the problem comes from. The bigger the
> example, the
> > bigger the automatas, the more time it takes. You may start to
> > understand why I insist on getting a reduced problem.
>
> I spent 3 hours on the problem, a large part of it trying
> to understand your schemas. And I found a bug, really not
> obvious, and a couple of optimizations.
>
> > I would also like to raise the point of the 'niceness' of
> that schemas.
> > It seems to me trying to understand the semantic of that is
> near impossible,
> > <xs:group ref="optional_group_4" minOccurs="0"
> maxOccurs="1"/> looks
> > like automatically generated schemas with names without semantic
> > constant references to labels, making even harder to get
> the full picture.
> > It's a bit like asking to debug code which was
> automatically generated
> > i.e. even more painful than when you can extract the
> semantic of the
> > code.
>
> I guess you will appreciate the fact that I think I fixed the bug:
>
> paphio:~/XML -> xmllint --timing --noout --schema 362989.xsd test.xml
> 362989.xsd:23: element complexType: Schemas parser error :
> complex type 'access-list_type': The content model is not determinist.
> WXS schema 362989.xsd failed to compile
> Compiling the schemas took 1195 ms
> Parsing took 0 ms
> Freeing took 0 ms
> paphio:~/XML ->
>
> I guess you now need to fix your schemas, it it not
> deterministic, and hence should be rejected by any correct
> XSD implementation. Let's say I really did *not* enjoy
> debugging in your schemas, still I'm kind and will give you
> the reason leading to my believing it's broken:
> - see the content model for access-list_type
> - notice how all groups direct or derived use minOccurs="0"
> - notice how all elements in the content model also have
> minOccurs="0"
> - notice that element "src_addr" is defined by both
> block_group_18 and block_group_3
> - block_group_18 is referenced by block_group_17
> - block_group_3 is referenced by block_group_2
> - block_group_2 is referenced by access-list_type
> - block_group_17 is referenced by access-list_type
>
> so this can't be determinist, your schemas is broken
>
> Daniel
>
> --
> Red Hat Virtualization group http://redhat.com/virtualization/
> Daniel Veillard | virtualization library http://libvirt.org/
> veillard redhat com | libxml GNOME XML XSLT toolkit
> http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search
> engine http://rpmfind.net/
>
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]