- From: Thomas Passin <list1@t...>
- To: "xml-dev@l..." <xml-dev@l...>
- Date: Fri, 26 Feb 2016 09:13:53 -0500
I actually had this situation many years ago, but with hardware that my
company was building for the US Navy. The spec wasn't easy to
understand but I concluded that it meant Y, though a reading of X would
work best for the customer. This was about how to pack and package (not
the same) the equipment. Upon inquiry to our customer, it was agreed
that X was desired. We were told that this is what the author of the
spec said.
But after an official review, we were told that X was wrong and that the
alternative reading Y was what the spec really did say. Apparently the
author had been careless in his use of the exact words and ended up with
an unintended meaning.
So we had to do Y in order to meet the spec, as we were told to do, and
later after delivery we got complaints (since it didn't make sense to do
Y instead of X). Finally we were able to get them to change or waive (I
forget which) the requirement so we could do X after all.
On 2/26/2016 7:08 AM, Costello, Roger L. wrote:
Hi Folks,
We have an interesting situation: one development team followed the XML Schema specification strictly, the other team recognized a flaw in the specification and instead followed its intent. Who's right? Where should we go? I am interested to hear your thoughts on this issue.
Let's summarize:
1. Xerces reports an error with the below schema.
2. Saxon reports that the below schema is fine.
3. Xerces strictly follows the algorithm specified in the XML Schema specification.
4. Saxon does not strictly follow the algorithm because the Saxon team recognized that the algorithm is flawed.
5. We have an interoperability problem: when validating the exact same schema, system 1 using Xerces gets a different result than system 2 using Saxon.
So, where do we go from here? As I see it, there are three choices:
(a) The Xerces team modifies their code to be consistent with Saxon.
(b) The Saxon team modifies their code to be consistent with Xerces.
(c) Both the Xerces team and the Saxon team do nothing and the world remains in the current state of non-interoperability.
Thoughts?
/Roger
----------------------------------------------------------------------------------
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="A" type="xs:double" />
<xs:element name="B" substitutionGroup="A" type="xs:double" />
<xs:complexType name="base">
<xs:sequence>
<xs:element ref="A" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="derived">
<xs:complexContent>
<xs:restriction base="base">
<xs:sequence>
<xs:element ref="B" minOccurs="0" />
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
|