On 2/14/2023 9:56 AM, Roger L Costello wrote:
> Hi Folks,
>
> An engineer mapped this XML form:
>
> <Document>
> <Pencil_Manufacturer>______</Pencil_Manufacturer>
> </Document>
>
> to this XML form:
>
> <Document>
> <Umbrella_Manufacturer>______</Umbrella_Manufacturer>
> </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
> Faber --> Pogessi
> Camlin --> Dynateck
>
> 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>
> <Pencil_Manufacturer>______</Pencil_Manufacturer>
> </Document>
>
> and this form:
>
> <Document>
> <Umbrella_Manufacturer>______</Umbrella_Manufacturer>
> </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?
You keep mixing up names, strings, and semantics. Usually what matters
is the relationship between names and their values. You seem to assume
that your names carry a lot of meaning, but you don't say what that
meaning is, nor the relationship between the names and string values.
If I have an element in an XML document whose value is "north", and
another - maybe in another document - whose value is "nord", do you
imagine you can feed those strings into a flight controller as is? No,
there must be some means to connect those values with a direction in a
form that the controller can make use of. Who cares if they are called
a "pencil" or an "umbrella" or a "direction"? It's the mapping to their
meaning, the semantics, that matters.
For that matter, from your examples we can't tell if e.g., "north" means
"fly at 0 deg true direction", "fly at 0 deg magnetic direction", "fly
to some destination that is currently to our north", "you are currently
flying without turning at 0 deg true", or something else.
So yes, if the relationships between the elements and values of two
documents are the same, and if you have a mapping for each to the
desired semantics of the consuming system, then fine, the two can be
considered to be equivalent, *for that purpose*.
Things aren't usually specified that completely, though.