Hi Folks, An engineer mapped this XML form: <Document> to this XML form: <Document> That’s a bizarre mapping, right? Let’s not be so quick to judge. The allowable values of Pencil_Manufacturer are: Staedtler, Faber, and Camlin. The allowable values of Umbrella_Manufacturer are: Totes, Pogessi, and Dynateck. The engineer mapped the values as follows: Staedtler --> Totes Question: Is that a correct mapping? Are the two forms equivalent? It seems preposterous to even consider the two forms as equivalent. After all, how can a document containing data about pencil manufacturers be equivalent to a document containing data about umbrella manufacturers?
Possibly it’s not so preposterous. What does it mean for two forms to be equivalent? Certainly they are not equivalent with regard to string comparison:
“pencil-manufacterer” != “umbrella-manufacturer” How about semantic equivalence? Intuitively we all know that pencils are not the same as umbrellas. And yet, the applications that process the two forms produce the same output. In my example I said that both applications output 1, 2, 3, but the output could be something far more complex, such as outputs that control the flight of an
aircraft. If this form: <Document> and this form: <Document> are input into an aircraft’s Flight Management System (FMS) and both result in the aircraft flying the same way, are the two forms equivalent? From the perspective of how they influence the application (aircraft FMS) they are the same. From the perspective of semantics they are different. From the perspective of syntax they are different. Conclusion: it doesn’t matter how you map one XML to another. If they both elicit the same response in applications, then the mapping is correct/equivalent. By definition. Do you agree? /Roger |