- From: Dare Obasanjo <dareo@microsoft.com>
- Date: Fri, 15 Mar 2002 18:44:53 -0800
- To: "Dare Obasanjo" <dareo@microsoft.com>, "Mark Feblowitz" <mfeblowitz@frictionless.com>
- Cc: "Xmlschema-Dev (E-mail)" <xmlschema-dev@w3.org>
MSXML SP1 is now available http://www.microsoft.com/downloads/release.asp?ReleaseID=37176 -- THINGS TO DO IF I BECOME AN EVIL OVERLORD #27 I will never build only one of anything important. All important systems will have redundant control panels and power supplies. For the same reason I will always carry at least two fully loaded weapons at all times. > -----Original Message----- > From: Dare Obasanjo [mailto:dareo@microsoft.com] > Sent: Wednesday, March 13, 2002 6:59 PM > To: Mark Feblowitz > Cc: Xmlschema-Dev (E-mail) > Subject: RE: MSXML application of substitution groups to > locally defined elements > > > Yeah, you're right. This is a bug in MSXML which should be > fixed in the next service pack. > > I'll keep you posted as to its availability. > > > -- > THINGS TO DO IF I BECOME AN EVIL OVERLORD #5 > The artifact which is the source of my power will not be kept > on the Mountain of Despair beyond the River of Fire guarded > by the Dragons of Eternity. It > will be in my safe-deposit box. The same applies to the > object which is my > one weakness. > > > > -----Original Message----- > > From: Mark Feblowitz [mailto:mfeblowitz@frictionless.com] > > Sent: Wednesday, March 13, 2002 7:01 AM > > To: Dare Obasanjo > > Cc: 'Xmlschema-Dev (E-mail)' > > Subject: MSXML application of substitution groups to locally > > defined elements > > > > > > (Re-sending with a corrected Subject line and inlined xsd and > > xml files). > > > > As I understand it, substitution groups don't apply in the > > case of locally bound elements. > > > > So the complex type > > > > <xs:complexType name="OL"> > > <xs:sequence> > > <xs:element name="Note" type="Note" minOccurs="0" > > maxOccurs="unbounded" /> > > <xs:element name="ShipNote" type="Note" minOccurs="0" > > maxOccurs="unbounded" /> > > </xs:sequence> > > </xs:complexType> > > > > Wouldn't even be subject to the conversion to an equivalent > > choice group. > > > > If, on the other hand, the complex type were defined as > > > > <xs:complexType name="OL"> > > <xs:sequence> > > <xs:element ref="Note" minOccurs="0" maxOccurs="unbounded" /> > > <xs:element ref="ShipNote" minOccurs="0" > > maxOccurs="unbounded" /> > > </xs:sequence> > > </xs:complexType> > > > > then there would indeed be a problem - the first Note > > occurrence would expand to the equivalent choice group, > > > > <xs:complexType name="OL"> > > <xs:sequence> > > <xs:choice> > > <xs:element ref="Note" minOccurs="0" maxOccurs="unbounded" /> > > <xs:element ref="ShipNote" minOccurs="0" > > maxOccurs="unbounded" /> > > </xs:choice> > > <xs:element ref="ShipNote" minOccurs="0" > > maxOccurs="unbounded" /> > > </xs:sequence> > > </xs:complexType> > > > > Thus leading to the nondeterminism. > > > > But the case I'm dealing with should suffer from no such > > problem, since the elements are locally bound. > > > > I've CC'ed the Schema Dev list for confirmation of this. > > > > Mark > > > > -------------------------------------------------------------- > > -------------- > > ---- > > > > Mark Feblowitz [t] 617.715.7231 > > Frictionless Commerce Incorporated [f] 617.495.0188 > > XML Architect [e] > > mfeblowitz@frictionless.com > > 400 Technology Square, 9th Floor > > Cambridge, MA 02139 > > www.frictionless.com > > > > > > -----Original Message----- > > From: Dare Obasanjo [mailto:dareo@microsoft.com] > > Sent: Wednesday, March 13, 2002 1:33 AM > > To: Mark Feblowitz > > Subject: RE: Is anySimpleType a real type? > > > > Slight correction... > > > > > > > -----Original Message----- > > > From: Dare Obasanjo > > > Sent: Tuesday, March 12, 2002 10:24 PM > > > To: 'Mark Feblowitz' > > > Subject: RE: Is anySimpleType a real type? > > > > > > > > > On investigation, I believe that MSXML is not in error. > > > > > > Your complexType in question is defined as > > > > > > <xs:complexType name="OL"> > > > <xs:sequence> > > > <xs:element name="Note" type="Note" minOccurs="0" > > > maxOccurs="unbounded" /> > > > <xs:element name="ShipNote" type="Note" minOccurs="0" > > > maxOccurs="unbounded" /> > > > </xs:sequence> > > > </xs:complexType> > > > > > > which after the substitionGroups are applied becomes > > > > > > <xs:complexType name="OL"> > > > <xs:sequence> > > > > > <xs:choice> > > > <xs:element name="Note" type="Note" minOccurs="0" > > > maxOccurs="unbounded" /> > > > <xs:element name="ShipNote" type="ShipNote" > > > minOccurs="0" maxOccurs="unbounded" /> > > > </xs:choice> > > > > The above should be > > > > <xs:choice minOccurs="0" maxOccurs="unbounded"> > > <xs:element name="Note" type="Note" /> > > <xs:element name="ShipNote" type="ShipNote" /> > > </xs:choice> > > > > > <xs:element name="ShipNote" type="Note" minOccurs="0" > > > maxOccurs="unbounded" /> > > > </xs:sequence> > > > </xs:complexType> > > > > > > Which to me is ambiguous once the user because upon seeing a > > > <ShipNote> the parser cannot tell if it is the <ShipNote> that is > > > part of the <xs:choice> content model or the <ShipNote> > that comes > > > immediately after the <xs:choice>. > > > > > > -----Original Message----- > > > > From: Mark Feblowitz [mailto:mfeblowitz@frictionless.com] > > > > Sent: Tuesday, March 12, 2002 5:20 PM > > > > To: Dare Obasanjo > > > > Subject: RE: Is anySimpleType a real type? > > > > > > > > > > > > Dare - > > > > > > > > I've attached an xsd and an xml file demonstrating the > > > > nondeterminism problem. > > > > > > > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > > elementFormDefault="qualified" attributeFormDefault="unqualified"> > > <xs:element name="OL" type="OL"/> > > <xs:complexType name="OL"> > > <xs:sequence> > > <xs:element name="Note" type="Note" > > minOccurs="0" maxOccurs="unbounded"/> > > <xs:element name="ShipNote" type="Note" > > minOccurs="0" maxOccurs="unbounded"/> > > </xs:sequence> > > </xs:complexType> > > <xs:element name="ShipNote" type="ShipNote" > > substitutionGroup="Note"/> > > <xs:complexType name="ShipNote"> > > <xs:simpleContent> > > <xs:extension base="Note"/> > > </xs:simpleContent> > > </xs:complexType> > > <xs:element name="Note" type="Note"/> > > <xs:complexType name="Note"> > > <xs:simpleContent> > > <xs:extension base="LingualString"> > > <xs:attribute name="author" > > type="xs:string"/> > > <xs:attribute name="entryDateTime" > > type="DateTime"/> > > </xs:extension> > > </xs:simpleContent> > > </xs:complexType> > > <xs:simpleType name="DateTime"> > > <xs:restriction base="xs:dateTime"> > > <xs:pattern > > value="\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d(Z|(\+|-)\d\d:\d\d)"/> > > </xs:restriction> > > </xs:simpleType> > > <xs:complexType name="LingualString"> > > <xs:simpleContent> > > <xs:extension base="xs:string"> > > <xs:attribute name="lang" > > type="xs:language"/> > > </xs:extension> > > </xs:simpleContent> > > </xs:complexType> > > </xs:schema> > > > > <?xml version="1.0" encoding="UTF-8"?> > > <OL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:noNamespaceSchemaLocation="MSXMLBug.xsd"> > > <Note lang="en-us" author="String" > > entryDateTime="2001-12-17T09:30:47-05:00">String</Note> > > <ShipNote lang="en-us" author="String" > > entryDateTime="2001-12-17T09:30:47-05:00">String</ShipNote> > > </OL> > > > > > > > > > > Validating the file MSXMLBug.xml as-is results in a > message about > > > > the schema being nondeterministic. > > > > > > > > When I remove the substitutionGroup="Note" from the ShipNote > > > > element, the validates completes without errors. > > > > > > > > My best guess here is that the validator is treating the local > > > > elements Note and ShipNote as global elements. With this > > being the > > > > case, the Note substitution group head could contain > > either a Note > > > > or a ShipNote element, leading to the nondeterminism. > > > > > > > > My understanding of the Schema Rec is that local elements cannot > > > > participate in substitution groups. > > > > > > > > Is this a known MSXML bug? > > > > > > > > Thanks for your help, > > > > > > > > Mark > > > > > > > > > >
Received on Friday, 15 March 2002 21:44:55 UTC