[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] RE: XML Turing test
- From: Thomas Passin <list1@tompassin.net>
- To: xml-dev@lists.xml.org
- Date: Tue, 14 Feb 2023 14:41:38 -0500
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.
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]