Your scenario is ambiguous only because the contract between the creators of AbstractRadioType and its consumers (aircraft schema) is incomplete. The XML by itself is inadequate to fully specify the contract. If the Radio creators don't provide a "terms of use" statement (or the equivalent) , the acceptance of which is a least implied, then the consumers should demand one. If consumers don't demand a "terms of use" statement, or don't agree to one, then they have created a significant risk for their project.
Bruce B Cox
Director, Usability & Design Division, OCIO, USPTO
571-272-9004
-----Original Message-----
From: Costello, Roger L. [mailto:costello@mitre.org]
Sent: 2011 October 23, Sunday 08:59
To: xml-dev@lists.xml.org
Subject: Who's in charge: the markup library or the user of the markup library?
Hi Folks,
Let Lib = a library of markup.
Let App = markup that uses L.
Who's in charge: Lib or App?
EXAMPLE
Suppose Lib = an XML Schema for radios. It defines a complexType that provides a framework for radio data:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema&quot;
targetNamespace="http://www.radio.org&quot;
xmlns:radio="http://www.radio.org&quot;
elementFormDefault="qualified">
<complexType name="AbstractRadioType" abstract="true">
<sequence>
<element name="name" type="string" minOccurs="0"/>
<element name="description" type="string" minOccurs="0"/>
</sequence>
<attribute ref="radio:id"/>
</complexType>
<attribute name="id" type="ID"/>
</schema>
The creators of this schema advertise it heavily and talk about how you too can become a "radio application" (when you create a schema that uses the radio schema your schema is a radio application). The creators develop a "radio parser" that parses any XML instance document using the http://www.radio.org namespace. The creators talk about their vision of creating a worldwide web of radio applications -- a radio web.
Clearly the radio schema wants to be in control.
Now, suppose App = an XML Schema for aircrafts. One part of an aircraft is a radio, so the aircraft schema imports the radio schema and uses the AbstractRadioType complexType.
The creators of the radio schema considers the aircraft schema to be a radio application and another member of the radio web.
Who's in charge, the aircraft schema or the radio schema?
It seems to me that it is the epitome of arrogance for the radio schema to think it is in charge. That said, perhaps I am not seeing things clearly. What do you think; is the radio schema really in charge?
/Roger
P.S. My radio example is fictitious and purely to illustrate the question.