RIght. I guess i was wondering if we should add a similar restriction to the tuscany namespace as the sca one has, so if there isn't a schema contributed to the tuscany namespace for the extension it fails instead of carrying on ok.
...ant On Tue, Aug 11, 2009 at 6:17 PM, Raymond Feng<[email protected]> wrote: > Did you add <tuscany:binding.foo> under the <composite> element? If so, the > SCA schema allows that: > > <complexType name="Composite"> > <complexContent> > <extension base="sca:CommonExtensionBase"> > <sequence> > <element ref="sca:include" minOccurs="0" > maxOccurs="unbounded"/> > <choice minOccurs="0" maxOccurs="unbounded"> > <element name="service" type="sca:Service"/> > <element name="property" type="sca:Property"/> > <element name="component" type="sca:Component"/> > <element name="reference" type="sca:Reference"/> > <element name="wire" type="sca:Wire"/> > </choice> > <any namespace="##other" processContents="lax" minOccurs="0" > maxOccurs="unbounded"/> > </sequence> > ... > > Any namespace other than the "sca" one is allowed. > > Thanks, > Raymond > -------------------------------------------------- > From: "ant elder" <[email protected]> > Sent: Tuesday, August 11, 2009 1:35 AM > To: <[email protected]> > Subject: Re: Adding xsd's for scheme validation of extensions > >> Thanks, I've tried that with the jsonp binding and its all working well. >> >> There is still the issue of unknown elements in the tuscany namespace, >> so adding <tuscany:binding.foo /> to a composite still does not cause >> any schema validation errors, which it probably should. >> >> ...ant >> >> On Mon, Aug 10, 2009 at 10:50 PM, Raymond Feng<[email protected]> wrote: >>> >>> I'm adding the support to aggregate the XSDs by TNS and resolve >>> xsd:import >>> without schemaLocation too. It will enable the schema extensions. I'll >>> check >>> in the fix when the build is successful. >>> >>> Thanks, >>> Raymond >>> >>> -------------------------------------------------- >>> From: "ant elder" <[email protected]> >>> Sent: Sunday, August 09, 2009 11:17 AM >>> To: <[email protected]> >>> Subject: Re: Adding xsd's for scheme validation of extensions >>> >>>> Ok cool that sounds good. But there's still something else going on >>>> with the tuscany schema's that i've not tracked down as there's no >>>> validation errors even without any jsonp schema at all, and also if i >>>> add <tuscany:binding.foo /> to a testcase composite the testcase still >>>> runs fine its only when using the sca namespace like <sca:binding.foo >>>> /> that the testcase fails. >>>> >>>> ...ant >>>> >>>> On Sun, Aug 9, 2009 at 6:46 PM, Raymond Feng<[email protected]> wrote: >>>>> >>>>> The xsd is picked up by Tuscany and it is passed to the >>>>> SchemaFactory.newSchema() method. Now we have two XSDs, one from >>>>> assembly-xsd (tuscany-sca-1.1.xsd which includes other xsds) and the >>>>> other >>>>> is binding-jsonp.xsd. >>>>> >>>>> SchemaFactory.newSchema is keeping a cache based on target namespaces. >>>>> When >>>>> the binding-jsonp.xsd is loaded, there is already entries from >>>>> tuscany-sca-1.1.xsd that has the same namespace (tuscany namespace) and >>>>> binding-jsonp.xsd is ignored. >>>>> >>>>> We can fix the problem as follows: >>>>> >>>>> For all the Source passed to newSchema(), we read the targetNamespace >>>>> first >>>>> and group the XSDs by tns. If we see multiple files have the same >>>>> namespace, >>>>> then we generate a façade XSD that includes the original XSDs. >>>>> >>>>> Thanks, >>>>> Raymond >>>>> -------------------------------------------------- >>>>> From: "ant elder" <[email protected]> >>>>> Sent: Sunday, August 09, 2009 3:59 AM >>>>> To: <[email protected]> >>>>> Subject: Re: Adding xsd's for scheme validation of extensions >>>>> >>>>>> On Sat, Aug 8, 2009 at 5:33 PM, Raymond Feng<[email protected]> >>>>>> wrote: >>>>>>> >>>>>>> You can plug it in using >>>>>>> >>>>>>> >>>>>>> >>>>>>> META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema. >>>>>>> Each text line in the file can point to an XSD using its resource >>>>>>> name. >>>>>>> We >>>>>>> might need to tweak the following method so that >>>>>>> xsd:import/xsd:include >>>>>>> across modules can work. I can help to fix it if you see problems. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> org.apache.tuscany.sca.contribution.processor.DefaultValidatingXMLInputFactory.resolveResource(String, >>>>>>> String, String, String, String) >>>>>>> >>>>>> >>>>>> Ok i've started trying this using the JSONP binding to try it out in >>>>>> r802514. There must be something else going on as it doesn't seem to >>>>>> have made much difference, the testcase in binding-jsonp-runtime runs >>>>>> without producing any scheme validation error message both before and >>>>>> after that change when the .composite is as is or changed to have >>>>>> extra unused attributes added to the binding.jsonp element. >>>>>> >>>>>> ...ant >>>>> >>>>> >>> >
