"XML Schema specifies just syntax" versus "XML Schema specifies semantics"

Hi Folks,

Sally says, "XML Schema specifies just syntax."

John says, "XML Schema specifies semantics."

Who is correct?

First, we need to be clear on what is meant by "semantics."

I will define it as such: 

    The semantics of a thing is its relationships to other things
    and its properties. 

In this discussion I focus exclusively on "relationships." 

Here are examples of expressing relationships:

    - Book is an Object.
    - Person is an Object.
    - author is a property.
    - title is a property.
    - name is a property.

The examples show a "kind-of" relationship between Book/Person to Object, and author/title/name to property.

"kind-of" is only one type of relationship. There are many others, such as "same-as."

So the question resolves, at least in part, to this:

      Does XML Schema allow relationships to be expressed?

With XML Schema you have the ability to create a complexType and then do derive-by-restriction or derive-by-extension on it.  For example, you may create a Book complexType that extends a Publishing complexType. Isn't that an example of XML Schemas expressing a relationship? If yes, then isn't it demonstrating that "XML Schema specifies semantics"?

No, not really.

The derive-by-extension and derive-by-restriction capability specifies a complexType by reusing another complexType. That is quite a different thing from expressing a relationship for the purpose of informing.

Here's what Michael Kay said regarding the use of derive-by-restriction and derive-by-extension to specify semantics:

    I think it's probably a mistake to try and use the concept 
    of 'type' to represent an ontological distinction ...

Even if we grant that derive-by-restriction and derive-by-extension specifies a legitimate ontological relationship, it can only specify one type of relationship (namely, subclass). Typically, a much more varied set of relationships is needed to fully inform.

Here's what Eliot Kimber said:

    There is no sense in which they [XML Schemas] can be 
     anything more than a very weak reflection of some deeper 
    ontology.

Conclusion: XML Schemas specifies syntax only.

What do you think?

/Roger

Received on Wednesday, 9 November 2011 19:10:52 UTC