Actually, am I making a mistake?  I thought those were SCD's but apparently
they're just simple XPath?  I can't tell the difference.

SCD's are just an extension[1][2] of the JAXB RI, *not* part of the JAXB
specification--where you're supposed to be using XPath instead.  However, if
you're using SCDs, you're supposed to use the "scd" attribute and not the
"schemaLocation" and "node" attributes.  So we would have a bug (using SCD's
when we're supposed to be using XPath) if we're using SCD's for the
schemaLocation value.

On the CXF side, it would appear good to limit schemaLocation/node to just
XPath (if the below are actually SCD's) and scd attribute if you're using
SCD's.  Ideally, at least one of (schemaLocation/node) and/or (scd) would
end up having the same values for the same item between Metro and CXF.

Mega-confused,
Glen

[1] https://jaxb.dev.java.net/guide/Using_SCD_for_customizations.html
[2]
https://jaxb.dev.java.net/nonav/2.2-ea/docs/vendorCustomizations.html#scd


Daniel  Kulp wrote:
> 
> 
>> Granted, the CXF dev list might not be the most unbiased of forums, but
>> any
>> idea which team is "wrong"?
> 
> Technically, neither.    Nothing in the jax-ws spec that dictates how this
> is 
> supposed to be handled.
> 
> Not sure what else to say.   :-(
> 
> 
> Maybe something more like:
> 
> <jaxb:bindings schemaLocation="ShoppingService.wsdl#types"
>    node="/xs:schema[0]">
> 
> :-(
> 
> Dan
> 
> 
> 
> On Wednesday 14 July 2010 1:56:55 pm Glen Mazza wrote:
>> Team, I recently noticed a problem perhaps related to Tom's[1] regarding
>> the schemaLocation value in a JAXB binding file[2].  CXF enumerates
>> schemas using Schema Component Descriptors (SCD's) within a WSDL
>> differently from Metro, resulting in JAXB binding files being
>> incompatible
>> between the two:
>> 
>> mybindingfile.xjb:
>>    <!--CXF -->
>>    <jaxb:bindings schemaLocation="ShoppingService.wsdl#types1"
>> node="/xs:schema">
>>    <!--Metro -->
>>    <jaxb:bindings schemaLocation="ShoppingService.wsdl#types?schema1"
>> node="/xs:schema">
>> 
>> Where 1,2,3 in both cases refers to the 1-based count of the xsd:schema
>> within the single wsdl:type.    The XJC compiler during the wsdl2java
>> generation process will reject the former for Metro and the latter for
>> CXF.
>> 
>> I'd like this to be standardized so the binding files would be portable
>> between the two frameworks but I'm not sure which framework is correct.
>> The
>> CXF method of incrementing the number next to the types seems inaccurate
>> because there can be only one wsdl:types.  On the other hand, Metro's
>> usage
>> of the ? as a delimiter does not appear to be defined in the SCD
>> candidate
>> recommendation (http://www.w3.org/TR/xmlschema-ref/#section-scd-syntax).
>> 
>> Granted, the CXF dev list might not be the most unbiased of forums, but
>> any
>> idea which team is "wrong"?
>> 
>> Thanks,
>> Glen
>> 
>> [1]
>> http://cxf.547215.n5.nabble.com/Invalid-WSDL-with-a-Jax-ws-schemaLocation-X
>> SD-specified-td1046395.html#a1046395 [2]
>> http://www.jroller.com/gmazza/entry/customizing_jaxb_artifacts#BindingFile
>> [3] http://www.w3.org/TR/xmlschema-ref/#section-scd-syntax
> 
> -- 
> Daniel Kulp
> dk...@apache.org
> http://dankulp.com/blog
> 
> 

-- 
View this message in context: 
http://cxf.547215.n5.nabble.com/Metro-vs-CXF-difference-in-enumerating-schemas-within-a-WSDL-tp1092957p1126549.html
Sent from the cxf-dev mailing list archive at Nabble.com.

Reply via email to