In implementing cdl:types, I have run into a few questions:

 

To define types, you need to do what the full-example-1.cdl document taken from the CDL spec does.

<cdl:types>

    <xsd:schema>

       ......

    </xsd:schema>

  </cdl:types>

 

But, if we allow any random XML from any namespace in there as the CDL schema does, then I have to go sorting around dumping what is uninteresting, and finding if there is really any schema to be had.  I know it is valid, it is just a lot of extra work.

 

There is also a problem with defining multiple schemas within the cdl:types element.  In order to support multiple schemas, the cdl:cdl/@targetNamespace attribute has to be multivalued or multiply defined.  Is this the expectation?

 

It is really easy to change

 

<cdl:types>?

     <cdl:documentation …/>?

     <-- schema definition -->*

     <-- extensibility element -->*

  </cdl:types>

 

to

 

<cdl:types>?

     <-- schema definition -->

</cdl:types>

 

In this way, there is one local schema and one targetNamespace attribute.

 

Also, what is the “extensibility element”?

 

 

Stuart