Re: odrl-ISSUE-6: XML Schema Extensibility

On 21 Mar 2012, at 02:45, Stuart wrote:

> For example, why not make permission and prohibition “gloabal” elements, rather than local? At present, the ODRL XSD follows the “Russian Doll Pattern” http://www.xfront.com/GlobalVersusLocal.html#FirstDesign where the schema structure mirrors the instance document structure, i.e. permissions and restrictions can only appear within a policy element. On the other hand, making the elements global lets people make use of the ODRL elements in other ways, but still lets you control what is a valid ODRL documenthttp://www.xfront.com/GlobalVersusLocal.html#SecondDesign.


Actually the current ODRL XML Schema follows the Venetian Blind design pattern.
All the *datatypes* are Global - thus enabling them to be reused and extended by others.
If we make all the *elements* global, that means we have can have schema valid documents like:
 <policy>
    <asset..>
    <…>
 </policy>
 <permission>
  … 
 </permission>
 <asset>
 …
 </asset>

We can add <xs:any> to all the datatypes to make then "easily" extensible.

Also, If a community just wanted to use a Permission in their schema, then that can add something like (to their schema)

  <xs:element name="permission" type="o:permCT"/>

If they wanted to add more:

 <xs:element name="permission">
   </xs:complexType>
      <xs:complexContent>
            <xs:extension base="o:permCT">
                <xs:element name="jurisdiction" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
   </xs:element>

Cheers...
Renato Iannella
Semantic Identity
http://semanticidentity.com
Mobile: +61 4 1313 2206

Received on Thursday, 22 March 2012 01:04:37 UTC