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] | [Elist Home]


Subject: RE: BP XSD syntax errors


Michael,

Thank you for your feedback, its nice to know someone else is looking at the
details. I hope you are not the only one. I apologize for the flurry of
versions for BPSS and the confusion it created. It was a very hectic pace
near the end. 

Just so you know, the XSD version was built with the help of XML Spy,
however, at the time XML Spy did not support the official PR version of
Schema. Therefore I had to make hand modifications to the BPSS xsd. The
changes were for the new data types xsd:anyURI and xsd:duration which are
the correct data types (see comments inline). When I received the version of
XML Spy that supported the PR version of Schema, (6/18/01 beta 1) I loaded
the previous version of the BPSS xsd. Spy reported that the file was built
using an older version and automatically "fixed" the new one. Upon
inspection I noticed differences in the attributes with values. I assumed
these differences where stylistic, but I realize now that was MY big
mistake. They were syntactical due to changes in the Schema spec (see
comments inline). Finally your catch on the multiple ID attributes is
correct. I dont understand how Spy did not and still does not flag this as
an error. They should be IDREFs. I will send a bug report to XML Spy.

I assume you are using Tibco's XML Authority tool. I have version 2.0 of
this tool which I assume is not the latest version. I have been using XML
Spy, mostly because of its XSLT support and personal preference. Using 2
different tools is a good test of standards and I would like to make sure
the "official" BPSS Schema version is correct. I'll be sure to bring this up
at the BP call on Monday. I have attached the version that XML Spy 4.0 beta
1 thinks is correct plus the differences from my original ebBPSS-v1.01.xsd.
The only differences are the specification of default values (Item 3 below).
I want to work with you to make sure we get this right.

Again see additional comments inline.
Kind Regards,

P.S. This will teach me not to look at email on Friday night.

________________________________________________________________
Kurt Kanaskie
Lucent Technologies
IT Architecture Strategy
kkanaskie@lucent.com
(610) 778-1069


-----Original Message-----
From: Michael Wang [mailto:mwang@tibco.com]
Sent: Friday, June 29, 2001 8:32 PM
To: ebxml-bp@lists.ebxml.org
Cc: ebxml-dev@lists.ebxml.org
Subject: Re: BP XSD syntax errors


It looks like I made a big mistake.  I do not know where I got hold
of my original "ebBPSS.xsd".  I just double checked against the copy
in ebBPSS-v1.01.zip which is ebBPSS-v1.01.xsd and these are the fixes
that I made.  Note that these are just syntatical fixes.

New XSD file attached and with diffed output.

Changes:
1. xsd:anyURI changed to xsd:uriReference
<Kurt>
The correct data type is xsd:anyURI,
see http://www.w3.org/TR/xmlschema-2/#anyURI
</Kurt>

2. xsd:duration changed to xsd:timeDuration
<Kurt>
The correct data type is xsd:duration,
see http://www.w3.org/TR/xmlschema-2/#duration
</Kurt>

3. Attributes with values specified in the schema must be declared as
   either default or fixed.  I changed them to use="default".
<Kurt>
This is not correct.
Originally this is what Spy generated from the DTD:
	<xsd:attribute name="isAuthenticated" type="xsd:boolean"
value="false"/>
and automatically fixed to be, which is correct:
	<xsd:attribute name="isAuthenticated" type="xsd:boolean"
default="false"/>
Your expression use="default" is not correct, use is defined as "(optional |
prohibited | required) : optional" which means if not specified it is
optional.
see http://www.w3.org/TR/xmlschema-1/#Attribute_Declaration_details
</Kurt>

4. According to the XML spec an element can only have one ID attribute
   (see http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-TokenizedType).
   The following declaraion contans two ID attributes.  This is not valid.
   <xsd:element name="DocumentSubstitution">
     <xsd:complexType>
        <xsd:element ref="Documentation" minOccurs="0"
                                         maxOccurs="unbounded"/>
        <xsd:attribute name="originalBusinessDocument" type="xsd:string"/>
        <xsd:attribute name="originalBusinessDocumentID" type="xsd:ID"/>
        <xsd:attribute name="substituteBusinessDocument" type="xsd:string"/>
        <xsd:attribute name="substituteBusinessDocumentId" type="xsd:ID"/>
     </xsd:complexType>
   </xsd:element>

   I have changed them to be IDREF.
<Kurt>Agreed</Kurt>

-mw


Michael Wang wrote:
> 
> I recently discovered some syntical errors in the 1.0.1 released
> version of BP XSD.  I have fixed them up.  Attached is a fixed
> version of the XSD and a diff output which contains the difference
> between the attached the 1.0.1 version.
> 
> Please see if the corrections can be incoporated in the future releases.
> I hvae summarised the changes below.
> 
> Thanks.
> -mw
> 
> Changes:
> 
> 1. 3rd line that says "Updated 2001-05-10" did not close off the comment
>    with -->
> 
> 2. Attributes with values specified in the schema must be declared as
>    either default or fixed.  I changed them to use="default".
> 
> 3. According to the XML spec an element can only have one ID attribute
>    (see http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-TokenizedType).
>    The following declaraion contans two ID attributes.  This is not valid.
> 
>   <xsd:element name="DocumentSubstitution">
>     <xsd:complexType>
>         <xsd:element ref="Documentation" minOccurs="0"
>                                          maxOccurs="unbounded"/>
>         <xsd:attribute name="originalBusinessDocument" type="xsd:string"/>
>         <xsd:attribute name="originalBusinessDocumentID" type="xsd:ID"/>
>         <xsd:attribute name="substituteBusinessDocument"
type="xsd:string"/>
>         <xsd:attribute name="substituteBusinessDocumentId" type="xsd:ID"/>
>      </xsd:complexType>
>   </xsd:element>
> 
>    I have changed them to be IDREF.
> 
> 4. Line 109 of <xsd:element name="BusinessDocument"> and
>    Line 247 of <xsd:element name="Failure"> and
>    Line 393 of <xsd:element name="Success"> and
>    Line 413 of <xsd:element name="Transition">  had "<xsd:sequence >".
>    Updated to <xsd:sequence>.  i.e removed space.
> 
> 5. Line 128 of <xsd:element name="SubstitutionSet"> had
>         <xsd:attribute name=" applyToScope" type="xsd:string"/>
>    Changed to
>         <xsd:attribute name="applyToScope" type="xsd:string"/>
>    i.e removed the space in name.
>

ebBPSS-v1.02_TR.xsd

1a2
> <!-- edited with XML Spy v4.0 NT beta 1 build Jun 13 2001 (http://www.xmlspy.com) by Kurt Kanaskie (Lucent Technologies) -->
37c38
< <xsd:schema targetNamespace="http://www.ebxml.org/BusinessProcess" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns="http://www.ebxml.org/BusinessProcess" elementFormDefault="qualified">
---
> <xsd:schema targetNamespace="http://www.ebxml.org/BusinessProcess" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ebxml.org/BusinessProcess" elementFormDefault="qualified">
50,52c51,53
< 			<xsd:attribute name="isAuthenticated" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isConfidential" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isTamperProof" type="xsd:boolean" value="false"/>
---
> 			<xsd:attribute name="isAuthenticated" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isConfidential" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isTamperProof" type="xsd:boolean" default="false"/>
105c106
< 				<xsd:element ref="ConditionExpression" minOccurs="0" maxOccurs="1"/>
---
> 				<xsd:element ref="ConditionExpression" minOccurs="0"/>
131c132
< 			<xsd:attribute name="originalBusinessDocumentID" type="xsd:ID"/>
---
> 			<xsd:attribute name="originalBusinessDocumentID" type="xsd:IDREF"/>
133c134
< 			<xsd:attribute name="substituteBusinessDocumentId" type="xsd:ID"/>
---
> 			<xsd:attribute name="substituteBusinessDocumentId" type="xsd:IDREF"/>
177c178
< 			<xsd:attribute name="isGuaranteedDeliveryRequired" type="xsd:boolean" value="false"/>
---
> 			<xsd:attribute name="isGuaranteedDeliveryRequired" type="xsd:boolean" default="false"/>
195,196c196,197
< 			<xsd:attribute name="isConcurrent" type="xsd:boolean" value="true"/>
< 			<xsd:attribute name="isLegallyBinding" type="xsd:boolean" value="true"/>
---
> 			<xsd:attribute name="isConcurrent" type="xsd:boolean" default="true"/>
> 			<xsd:attribute name="isLegallyBinding" type="xsd:boolean" default="true"/>
224,226c225,227
< 			<xsd:attribute name="isAuthenticated" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isConfidential" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isTamperProof" type="xsd:boolean" value="false"/>
---
> 			<xsd:attribute name="isAuthenticated" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isConfidential" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isTamperProof" type="xsd:boolean" default="false"/>
242c243
< 				<xsd:element ref="ConditionExpression" minOccurs="0" maxOccurs="1"/>
---
> 				<xsd:element ref="ConditionExpression" minOccurs="0"/>
285c286
< 			<xsd:attribute name="waitForAll" type="xsd:boolean" value="true"/>
---
> 			<xsd:attribute name="waitForAll" type="xsd:boolean" default="true"/>
350c351
< 			<xsd:attribute name="name" type="xsd:string" use="required"/>
---
> 			<xsd:attribute name="name" type="xsd:string"/>
352,355c353,356
< 			<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" value="false"/>
---
> 			<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
366c367
< 			<xsd:attribute name="name" type="xsd:string" use="required"/>
---
> 			<xsd:attribute name="name" type="xsd:string"/>
368,371c369,372
< 			<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" value="false"/>
< 			<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" value="false"/>
---
> 			<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="false"/>
> 			<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
388c389
< 				<xsd:element ref="ConditionExpression" minOccurs="0" maxOccurs="1"/>
---
> 				<xsd:element ref="ConditionExpression" minOccurs="0"/>
408c409
< 				<xsd:element ref="ConditionExpression" minOccurs="0" maxOccurs="1"/>
---
> 				<xsd:element ref="ConditionExpression" minOccurs="0"/>
410c411
< 			<xsd:attribute name="onInitiation" type="xsd:boolean" value="false"/>
---
> 			<xsd:attribute name="onInitiation" type="xsd:boolean" default="false"/>


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

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC