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