On 06/26/2016 09:03 AM, Costello, Roger L. wrote:
Let’s recap the difference between modeling the data using UML versus using XSD:
- UML specifies a class (AircraftRelationship) that restricts the allowable relationships to subclasses of AircraftStuff.
- XSD specifies an element (Relation) that says nothing about what things may be related. The Relation element is a generic mechanism for relating any two things.
Therefore …. A UML model will yield different results than an XSD model. In fact, the above UML model doesn’t map to the XSD model.
Therefore …. If the objective is to validate data against an XML Schema it would be better to use XSD to model the data, not UML. Similarly, if the objective is to validate data against a JSON Schema it would be better to use JSON Schema to model the data. General principle: to model data, use the data modeling language of your data format (XSD for XML, JSON Schema for JSON, etc.).
Do you agree?
I disagree with the way you're thinking about this. Normally, the concerns of communications (data interchange) differ from those of processing the data for some purpose.
Project success requires that:
(1) Those with conflicting concerns endeavor to stay out of each other's way.
(2) Some adaptable person, one not encumbered by exclusive devotion to some doctrine or formalism, has both responsibility and authority for the maintenance of some unifying, encompassing vision.
With all that in mind, it's hard for me to imagine a project whose "objective is to validate data against an XML Schema". It's a case of "one hand clapping."