OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-bp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [ebxml-bp] Regarding the alleged Bad V2 Schema Woes


Title: Message
Martin,
 
I was about to reply to Dale - then saw your note. If you have a new
improved XSD - please send me a copy to try!
 
When I tried Xerces-J and the W3C validator - I got a flood of error
messages - hence my reaction - (so OK it was 1am and I was
feeling a little programmer angst!!).
 
Then when I realized this - I went back into Spy to see what was
*really* going on.  The big problem I had was that the visualization
Spy draws is missing key aspects of the structure!  Specifically
the ReceiptAcknowledgement stuff - so by looking at the raw
XSD I could see the ReceiptAcknolwedgement elements - but
since Spy did not display them I was puzzled - are they needed,
are they attributes or elements, was it a cut and paste error
in editing the schema?
 
I then tried to open the XSD in Stylus Studio - and again - I got
a bunch of errors for my pains.
 
So - once I have an XSD that is sanctioned as "AOK" - then I
get return to my tasking of generating a conforming XML instance.
 
Now Dale has raised some other issues.  Just because the XML
passes the schema - does not mean it conforms to what the
spec' says!  One bridge at a time here!  Anyway - Dale correctly
diagnosed that I'd started with a BPSS V1.05 instance - and
tweaking that to be V2.0 conformant.  An XSLT is nice - but
actually I'll take examples sooner (easier)!   I.e. once I have
an XML instance that passes the schema checks - then
easy for Dale or you to simply annotate that with notes / changes
to say - yeah - but this should really go here - and you're missing
this bit there.... then once we have a good example - the model
will automagically build to that for me anyway.... and we can
work on the XSLT validator as needed without having to rush
on that.
 
Cheers, DW.
----- Original Message -----
Sent: Friday, May 21, 2004 11:58 AM
Subject: RE: [ebxml-bp] Regarding the alleged Bad V2 Schema Woes

Dear all,
    I have run this through several parsers and get different results.  In the end I have decided that XERCES-J is the one that I llike best.  Does it pick up every thing? no but it get more that XML SPY does.  The XERCES C++ is the hotest when it comes to checkig for various nuances around substitution groups.
 
  I also feel that Dave's comments about the schema being a train wreck are a bit strong.  The ofrmat of the current schema has come about through the use of the 'overlays' that we decided to run with.  This does not follow with most peoples understanding of things like OO but it is very neat for document engineering.
 
  As Dale points out.  There is a need for a different kind of checker tool for the schema.  This would run through and check things like references to documents etc work and also that the various ID are correct.  I would think that a simple online XSLT sheet could be used to check peoples BPSS.  Also various tools to auto place the diagrams would be good.
 
 

Martin Roberts
xml designer,
BT Exact
e-mail: martin.me.roberts@bt.com
tel: +44(0) 1473 609785 
clickdial
fax: +44(0) 1473 609834
Intranet Site :http://twiki.btlabs.bt.co.uk/twiki

-----Original Message-----
From: Dale Moberg [mailto:dmoberg@cyclonecommerce.com]
Sent: 21 May 2004 16:47
To: David RR Webber; BPSS ebXML
Subject: [ebxml-bp] Regarding the alleged Bad V2 Schema Woes

I have had a little time to look over David's concerns.
Here is what I have found so far (noted in-line).
Bad news vis our schema (latest one Dale posted) - frankly its train wreck!
 
XMLSpy reads it in without complaints - but lies to you!!
 
The structure it displays in its graphical view is not a true
picture of the actual structure in the schema syntax. 
 
 
Dale> Not certain I understand this remark  The schemas I have validate as schemas. That doesn't say much about whether they have other kinds of things wrong with them.
 
Everything is OK in Spy until you go look at RequestingBusinessActivity / DocumentEnvelope   and then you realize - when you look at the raw schema - that this is the structure (see below),and that Spy gives up around ReceiptAcknowledgement:
 
At this point I have been able to create a fairly decent V2 BPSS - amended from the
V1.05+ BPSS - but now I'm at a loss here.
 
I tried three other schema parsers - and they all threw many many errors on the schema. 
 
Dale> Schema parsers unable to handle substitution groups will have problem with Martin's initial 2.x draft and the 2 variants I did to illustrate possible refactorings. Tools are ramping up generally to handle substitution groups, and often the latest version will have an ability to parse and validate correctly. The biggest difference I see now in this area pertains to how the tools verify the subtype relationship constraint on the types of substitution group elements.
 
 
My personal prognosis is that we need to redo our schema to stop using all these
clever overlay and redefine features and keep it simple stupid! 
 
Dale> There are no redefines. By "overlay" do you mean to cover the extension/restriction subtyping or the use of substitution groups? Either of these techniques is common enough for xsd schemas. Subtype is often how we capture the "specialization/generalization" relations of the UML component models. I am not sure we want to jettison that idea without polling the TC. The substitution group technique usually is complained about the most. I think the technique is a good modularity technique however; it embodies a central idea of modularity-- to add something new, you don't change what is already there, you simply add new "code". [And you also use a new name! ] 
 
Anyway - I've built what I believe is an excellent BPSS V2.0 XML instance - that appears
to do what it needs to from the business perspective - until the schema validation crashes
and burns!  Manually the XML instance looks fine.
 
 
Dale> David, you have  a very unique take on what to say about a schema when an instance fails to validate! I looked at your instance. It is way out of kilter from the details of the 2.x branches of schema. There are substantive changes in these schemas and they are not backwards compatible with 1.x instances. The group has at one time considered writing XSLTs to covert from 1.x instances to 2.x structures, but that is not complete yet. I am not certain that you will always get people to agree to change the schema based on the fact that your instance does not validate!!
 
 
This is not good.  I suggest we engage a Schema expert to run our schema thru all the
main schema tools and fix it until it works OK. 
 
Dale> I agree that we  can use schema experts to review and run through tools. However, making your instance validate will not necessarily define what it means for the schema to be "OK". There are a lot of other requirements to satisfy. 
 
Why are ReceiptAcknowledgement and ReceiptAcknowledgementException showing up
as Elements anyway?!?  
 
Dale> Agreed to by consensus at the first f2f. These allow explicit reference to signals and also permits other signal definitions to be used in a BPSS. I guess you missed that part.
 
 Seems daft - they should just be attributes - and we seem to have
deprecated  the attribute - timeToAcknowledgeAcceptance - but why? 
 
Dale> This was done at the 2nd f2f so that Anders/Lars/Monica approach to a content model for this component could be accepted.  
 
Maybe there is a simple answer to this - like XMLSpy corrupted the original schema and
tossed attributes into elements and therefore there's a really simple fix.  Right now however
there's so many error messages coming out from the other schema parsers its impossible
to know where to start! 
 
Dale> I have not checked other parsers. I would guess that one problem might have to do with using substitution groups. Check the latest version of the tool.  If the problem is just that your instance doesn't conform, that is the "right" result. Making signals explicit has been agreed to since the first f2f.
 
 
 
Thanks, DW

<xsd:complexContent>

<xsd:restriction base="RequestingBusinessActivity">

<xsd:sequence>

<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>

<xsd:element ref="DocumentEnvelope"/>

<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>

<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>

<xsd:element name="AcceptanceAcknowledgement" type="AcceptanceAcknowledgementType"/>

<xsd:element name="AcceptanceAcknowledgementException" type="AcceptanceAcknowledgementExceptionType"/>

</xsd:sequence>

<xsd:attribute name="retryCount" use="optional"/>

<xsd:attribute name="timeToAcknowledgeAcceptance" default="P6H"/>

<xsd:attribute name="timeToAcknowledgeReceipt" default="P2H"/>

<xsd:attribute name="isNonRepudiationReceiptRequired" default="true"/>

<xsd:attribute name="isNonRepudiationRequired" default="true"/>

<xsd:attribute name="isAuthorizationRequired" default="true"/>

<xsd:attribute name="isIntelligibleCheckRequired" default="true"/>

</xsd:restriction>

</xsd:complexContent>



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]