can you please try: <jaxb:bindings node="//xsd:complexType" multiple="true" required="false"> ? (remove jaxb prefix from attributes).
Pavel
On 4/20/11 11:36 AM, Roger Parkinson wrote:What version of jaxb? I tried 2.2.3 and it told me
Attribute 'jaxb:required' is not allowed to appear in element 'jaxb:bindings'.
This is what I tried:
<jaxb:bindings node="//xsd:complexType" jaxb:multiple="true" jaxb:required="false">
<annox:annotate>
<annox:annotate
annox:class="org.hibernate.search.annotations.Field" annox:name="item" />
</annox:annotate>
</jaxb:bindings>
and I got:
[xjc] [ERROR] XPath evaluation of "//xsd:complexType" results in too many (105) target nodes
[xjc] line 23 of file:/home/roger/workspace/madura-objects.google/new.xsd
[xjc] [ERROR] cvc-complex-type.3.2.2: Attribute 'jaxb:required' is not allowed to appear in element 'jaxb:bindings'.
[xjc] line 23 of file:/home/roger/workspace/madura-objects.google/new.xsd
[xjc] [ERROR] cvc-complex-type.3.2.2: Attribute 'jaxb:multiple' is not allowed to appear in element 'jaxb:bindings'.
[xjc] line 23 of file:/home/roger/workspace/madura-objects.google/new.xsd
But it would be good to get this working
Regards
Roger
On 20/04/11 19:32, Pavel Bucek wrote:hello,
btw, you can try something like this:
<jxb:bindings node="..." multiple="true" required="false">
...
</jxb:bindings>
multiple allows you to select more than one target and required disables the need to match at least one element.
fyi these properties are non-documented (and experimental), but it could work for you :)
Pavel
On 4/19/11 10:55 AM, Roger Parkinson wrote:Thanks, Lexi.
I'll go for the plugin approach. I'm going to need a plugin for this thing anyway so it's just a bit more to add to it.
I've done a couple of them before (http://code.google.com/p/madura-objects/) and they're a nice combination of powerful and easy.
Roger
On 19/04/11 19:20, Aleksei Valikov wrote:Hi,I was trying to do this: <schema .... <xsd:annotation> <xsd:appinfo> ��� ..... ��� <jaxb:bindings node="//xsd:complexType"> ��� ��� <annox:annotate> ��� ��� ��� <annox:annotate annox:class="org.hibernate.search.annotations.Field" annox:name="item" /> ��� ��� </annox:annotate> ��� </jaxb:bindings> ... The intention was to add an annotation onto every generated class. It looks promising but I get this: ����� [xjc] [ERROR] XPath evaluation of "//xsd:complexType" results in too many (105) target nodes ����� [xjc]�� line 26 of file:/home/roger/workspace/madura-objects.google/new.xsd I gather this is a problem with XPath (well there's the error message). Is there a way around it? Eg specify the syntax differently etc? Probably a long shot but I figure you guys would have worked around it if anyone has.XJC does not allow you to customize several nodes at once. So it's not the XPath problem, it's XJC problem. XJC simply disallows this. Options: * File an RFE for JAXB RI, so that this feature is added to XJC. * Write a JAXB plugin which allows adding customization elements to several items at once. The first one is the "official" way. With the second one you can achieve much more flexibility. I find it quite cumbersome defining customizations in schema or binding files. I always wanted something like extra XML files which are just named accordingly. I'm reposting to the users@jaxb.java.net ML. Bye, /lexi
(image/png attachment: 01-part)
(image/png attachment: 02-part)
(image/png attachment: Roger_Parkinson.png)