title: maven-cxf-codegen-plugin using Jaxb binding to add inheritance for all generated classes
body: <p>I am using Apache CXF's cxf-codegen-plugin to turn a wsdl into java objects. I specified a binding file to add additional jaxb processing. I want all of these files to inherit from an interface (or extend an abstract class).</p>
  
  <p>My problem is that while I can get this to work with one generated file using</p>
  
  <pre><code>&lt;jaxb:bindings node="xsd:complexType[@name='sampleObj'] "&gt;
          &lt;inheritance:implements&gt;example.Dao&lt;/inheritance:implements&gt;
      &lt;/jaxb:bindings&gt;
  </code></pre>
  
  <p>which will make sampleObj implement example.Dao. 
  I do not know how to get this to process for all of my complex types (generated classes). Without repeating the above binding for <em>every</em> class (>100)</p>
  
  <p>I tried, </p>
  
  <pre><code> &lt;jaxb:bindings  multiple="true" node="//xsd:compexType[@name='*'] "&gt;
  </code></pre>
  
  <p>but it does not work.</p>
  
  <p>Here is my maven plugin, if it helps:</p>
  
  <pre><code> &lt;plugin&gt;
              &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
              &lt;artifactId&gt;cxf-codegen-plugin&lt;/artifactId&gt;
              &lt;version&gt;${cxf.version}&lt;/version&gt;
              &lt;executions&gt;
                  &lt;execution&gt;
                      &lt;id&gt;generate-resources&lt;/id&gt;
                      &lt;phase&gt;process-resources&lt;/phase&gt;
                      &lt;configuration&gt;
                          &lt;sourceRoot&gt;${project.build.directory}/generated/&lt;/sourceRoot&gt;
                                                 &lt;wsdlOptions&gt;
                              &lt;wsdlOption&gt;
  
                                  &lt;wsdl&gt;${wsdl_location}&lt;/wsdl&gt;
                                  &lt;wsdlLocation&gt;classpath:wsdl.wsdl&lt;/wsdlLocation&gt;
  
                                  &lt;!--&lt;wsdlLocation&gt;classpath:wsdl.wsdl&lt;/wsdlLocation&gt;--&gt;
                                  &lt;extraargs&gt;
                                      &lt;extraarg&gt;-autoNameResolution&lt;/extraarg&gt;
                                      &lt;extraarg&gt;-xjc-Xfluent-api&lt;/extraarg&gt;
                                      &lt;extraarg&gt;-xjc-Xbg&lt;/extraarg&gt;
                                      &lt;extraarg&gt;-verbose&lt;/extraarg&gt;
                                      &lt;extraargs&gt;-validate&lt;/extraargs&gt;
                                      &lt;extraargs&gt;-mark-generated&lt;/extraargs&gt;
                                            &lt;extraargs&gt;-xjc-Xinheritance&lt;/extraargs&gt;
                                      &lt;extraarg&gt;-p&lt;/extraarg&gt;
                                      &lt;extraarg&gt;com.example&lt;/extraarg&gt;
                                  &lt;/extraargs&gt;
  
                                  &lt;bindingFiles&gt;
                                        &lt;bindingFile&gt;${project.build.directory}\classes\jax-ws_binding.xjb&lt;/bindingFile&gt;
  
                                  &lt;/bindingFiles&gt;
                              &lt;/wsdlOption&gt;
                          &lt;/wsdlOptions&gt;
  
                      &lt;/configuration&gt;
                      &lt;goals&gt;
                          &lt;goal&gt;wsdl2java&lt;/goal&gt;
                      &lt;/goals&gt;
                  &lt;/execution&gt;
              &lt;/executions&gt;
              &lt;dependencies&gt;
                  &lt;dependency&gt;
                      &lt;groupId&gt;org.jvnet.jaxb2_commons&lt;/groupId&gt;
                      &lt;artifactId&gt;jaxb2-fluent-api&lt;/artifactId&gt;
                      &lt;version&gt;3.0&lt;/version&gt;
                  &lt;/dependency&gt;
                  &lt;dependency&gt;
                      &lt;groupId&gt;org.jvnet.jaxb2_commons&lt;/groupId&gt;
                      &lt;artifactId&gt;jaxb2-basics&lt;/artifactId&gt;
                      &lt;version&gt;0.6.5&lt;/version&gt;
                  &lt;/dependency&gt;
                  &lt;dependency&gt;
                      &lt;groupId&gt;org.jvnet.jaxb2_commons&lt;/groupId&gt;
                      &lt;artifactId&gt;jaxb2-basics-annotate&lt;/artifactId&gt;
                      &lt;version&gt;0.6.5&lt;/version&gt;
                  &lt;/dependency&gt;
                   &lt;dependency&gt;
                      &lt;groupId&gt;org.jvnet.jaxb2_commons&lt;/groupId&gt;
                      &lt;artifactId&gt;jaxb2-basics-runtime&lt;/artifactId&gt;
                      &lt;version&gt;0.6.5&lt;/version&gt;
                  &lt;/dependency&gt;
  
                  &lt;dependency&gt;
                      &lt;groupId&gt;org.apache.cxf.xjcplugins&lt;/groupId&gt;
                      &lt;artifactId&gt;cxf-xjc-boolean&lt;/artifactId&gt;
                      &lt;version&gt;2.7.0&lt;/version&gt;
                  &lt;/dependency&gt;
                  &lt;dependency&gt;
                      &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
                      &lt;artifactId&gt;cxf-api&lt;/artifactId&gt;
                      &lt;version&gt;${cxf.version}&lt;/version&gt;
                  &lt;/dependency&gt;
              &lt;/dependencies&gt;
          &lt;/plugin&gt;
  
      &lt;/plugins&gt;
  </code></pre>