I think though we should raise an error in this case as we have
specified a binding (that we expect to be processed by Tuscany using a
binding processor) rather than some arbitrary extension element (that
we don't expect Tuscany to process). IIUC a better extensions example
would be.

       <component name="Catalog">
               <implementation.java class="services.FruitsCatalogImpl"/>
               <property name="currencyCode">USD</property>
               <service name="Catalog">
                       <tuscany:binding.jsonrpc/>
                       <extensions>
                             <xyz:someExtensionElement/>
                      </extensions>
               </service>
       </component>

So we would expect <xyz:someExtensionElement/> to end up in the
extensible element list and we expect <tuscany:binding.jsonrpc/> to be
processed by a processor.

       <component name="Catalog">
               <implementation.java class="services.FruitsCatalogImpl"/>
               <property name="currencyCode">USD</property>
               <service name="Catalog">
                       <tuscany:binding.jsonrpc/>
                        <xyz:someExtensionElement/>
               </service>
       </component>

Would raise a schema validation error.

So, in the contract,  I think the only thing we treat as an extensible
element is the content within the <extensions/> element.. Are we able
to make that specific distinction in this case?

Regards

Simon

Reply via email to