3 Nov 2004 15:22
Re: [drools-dev] Schema
Roger F. Gay <rogerfgay <at> yahoo.com>
2004-11-03 14:22:48 GMT
2004-11-03 14:22:48 GMT
Mark, I tried not to say so directly because I'm a nice guy who knows it's important to get along with people in working groups. You're telling me that you're aware of(critical of) my work and not aware of it at the same time. You also voted on the JIRA issue that you are dealing with right now -- the JIRA issue that I submitted (DROOLS-65) regarding modification of the Schema -- long before this. The schema you created did not work at all .. could not even be read by a schema processor ... let alone properly check a DRL. I tried with three different schema processors -- all three rejected it. My schema set has been distributed and I'm sure that those who tried it have already discovered that your critism of it is untrue. For the sake of the project, I'd like to suggest that you NOT make modifications to other software to accomodate your schema work. I also feel bad that you've forced me to deal with things in this way -- but I don't see it as beneficial to participate through a dishonest filter. --- Mark Proctor <mproctor <at> codehaus.org> wrote: > Roger, > > As I have repeated many times before I was not aware > of your xsd > contributions. Once I became aware of your xsd > contributions I reviewed > them to see if they were applicable to be > re-submitted to the tree as > you were insistent on how much better they were; as > detailed previously > (see email below) they would result in innapropriate > warnings to the > user due to missing drools modules so I am not > willing to apply them - > however I will be more than willing to place a > prominent link from the > docs site to your website as alternitve schema set. > > With regards to you resolving the de-coupling issue, > again you reported > this AFTER Andy Barnett and myself commited working > patches and as of > yet have not given us anything to review. In the > mean time I'm trying to > get a beta out with something that works this week, > I'm currently > refactoring drools.io.RuleSetReader to make it > easier for me to make the > drl changes that I need to - imports, application > data and functions > (although the later two will not be in this beta) - > I'm spending far to > much time in this ongoing xsd dialogue. > > I have always welcomed your contributions and asked > they be submitted as > patches, is that such a bad thing? Patches are the > normal way of > contributing work to an opensource project as the > impact from the patch > is easier to digest than from whole file(s). I > would love to see what > you have with schematron, I know that the drools > schemas can be improved > and restrained further and I dont have the time to > spend on this so your > contributions would be very helpfull. So please work > with us do a cvs > checkout and submit a patch/jira/justification and > lets get your work > back in the tree. > > If you can please do try and come on irc, if you > have a web browser - ie > or mozilla - then you can get on irc. just point > your browser at > http://irc.codehaus.org and make sure you change > #codehaus to #drools > > Regards > > Mark > Roger F. Gay wrote: > > >You're evading the questions. A complete schema set > >has already been created and contributed. A second > >effort, almost complete has been reported that > >separates the base schema completely from semantic > >support schema. > > > >This isn't at all about out of date schemas. This > is > >the situation now. Why are you driving forward as > >though none of that work has been done? > > > > > >--- Mark Proctor <mproctor <at> codehaus.org> wrote: > > > > > > > >>Roger, > >> > >>As stated before I started work on the xsds as I > >>didn't know about any > >>existing xsds. The original ones had become out of > >>date and > >>unmaintained, they still had jelly refences in > them, > >>so another > >>developer, not me, removed them. I checked the > >>mailing list you last > >>showed interest in drools back in March, we've had > a > >>complete developer > >>turnover (minus bob ofcourse) since then, thats a > >>long long time in the > >>opensource world and drools has gone through > several > >>code maintenance > >>and tidy ups since then in the transition from > >>drools 1.0 to drools 2.0 > >>- if no active developer seems to be maintaining > an > >>area of code and its > >>out of date with no one coming forward to maintain > >>it, then its going to > >>be deleted. If you want to work in the opensource > >>world, learn to love > >>and live with its fluid dynamic nature - like King > >>Canute, you cannot > >>hold back the tide. > >> > >>The way I see it there are three options: > >>1) Use the xs:any tag and declare a target > >>namespace. This was used in > >>your original schemas and is not desirable as the > >>user can literally use > >>"any" tag from that namespace, so he/she could add > a > >>condition where a > >>consequence is required and worse still it couples > >>rule.drl to the > >>semantic drls - as you must specify the java, > groovy > >>and python as > >>available target namespaces. From your original > base > >>rule file: > >><xs:group name="OptionalRuleChildren"> > >><xs:choice> > >><xs:element name="declaration" > type="drl-parameter" > >>/> > >><xs:element name="extraction" > type="drl-extraction" > >>/> > >><xs:element name="condition" type="drl-condition" > /> > >></xs:choice> > >></xs:group> > >> > >><xs:complexType name="drl-condition"> > >><xs:sequence> > >><xs:any > namespace="http://drools.org/semantics/java > >>http://drools.org/semantics/python" /> > >></xs:sequence> > >></xs:complexType> > >> > >>2) Couple base rule.xsd with semantic xsds and > then > >>use xs:choice. Which > >>I noticed you updated your original schemas to, > >>currently on your > >>website use, after viewing mine and calling it > >>"knock-off" code. This is > >>not idea, as while it gives better restriction > than > >>1), it causes errors > >>messages to appear during rule load time - because > >>not all semantic > >>modules will necessarily be in the classpath; > hence > >>why my reluctance to > >>cart blanche replace what I have now. From your > >>current base rule file: > >><xs:group name="Conditions"> > >><xs:choice> > >><xs:element ref="java:condition" /> > >><xs:element ref="groovy:condition" /> > >><xs:element ref="python:condition" /> > >></xs:choice> > >></xs:group> > >> > >>3) Use abstract types and substitiongroup. This > >>gives us a complete > >>decoupling. rule.xsd enforces the drl structure > and > >>some validation, > >>like unique keys and extractor targets. Because > the > >>element types are > >>abstract the user could never use them. The > Semantic > >>xsd them implement > >>these abstract elements, via substitutiongroup, > and > >>enforces type and > >>attributes. I belive this to be the correct way to > >>do this and have > >>initially documented this at > >>http://drools.org/Schema+Validation. > >>Ofcourse there is always room for improvement, and > I > >>honesty want > >>constructive criticism and good patches, otherwise > >>how else can I > >>improve? From rule.xsd: > >><xs:element ref="rules:abstractCondition" > >>maxOccurs="unbounded" /> > >><xs:element name="abstractCondition" > === message truncated === ===== Correlation does not prove causality. __________________________________ Do you Yahoo!? Check out the new Yahoo! Front Page. www.yahoo.com
RSS Feed