ArrayList from XSD
authorGustavo Martin Morcuende <gu.martinm@gmail.com>
Sun, 27 Sep 2015 23:24:03 +0000 (01:24 +0200)
committerGustavo Martin Morcuende <gu.martinm@gmail.com>
Sun, 27 Sep 2015 23:24:03 +0000 (01:24 +0200)
web-services-spring-client/src/main/build-resources/wsdl/example.wsdl
web-services-spring-client/src/main/resources/examples.xsd
web-services-spring-server/src/main/resources/examples.xsd

index 32d94de..02b2256 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch="http://gumartinm.name/spring-ws/example" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://gumartinm.name/resource/wsdl/schemas" targetNamespace="http://gumartinm.name/resource/wsdl/schemas">
   <wsdl:types>
-    <xs:schema xmlns:annox="http://annox.dev.java.net" xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:parent="http://gumartinm.name/spring-ws/parent" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" jaxb:extensionBindingPrefixes="inheritance annox" jaxb:version="2.1" targetNamespace="http://gumartinm.name/spring-ws/example">
+    <xs:schema xmlns:annox="http://annox.dev.java.net" xmlns:example="http://gumartinm.name/spring-ws/example" xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:parent="http://gumartinm.name/spring-ws/parent" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" jaxb:extensionBindingPrefixes="inheritance annox" jaxb:version="2.1" targetNamespace="http://gumartinm.name/spring-ws/example">
 
     <!--
         We are going to use catalog.cat in order to avoid downloading parent.xsd from remote server
         </xs:complexType>
     </xs:element>
 
+       <!-- Example of creating array list by means of XSD -->
+    <xs:complexType name="car">
+       <xs:sequence>
+               <xs:element name="data" type="xs:string"/>
+               <xs:element maxOccurs="100" minOccurs="0" name="parentEnum" type="parent:parentEnumType"/>
+       </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="truck">
+       <xs:all>
+               <xs:element name="data" type="xs:string"/>
+               <xs:element maxOccurs="1" minOccurs="0" name="parentEnum" type="parent:parentEnumType"/>
+       </xs:all>
+    </xs:complexType>
+    <xs:element name="vehicles">
+        <xs:complexType>
+               <xs:sequence>
+                               <xs:element maxOccurs="unbounded" name="cars" type="example:car"/>
+                               <xs:element maxOccurs="100" minOccurs="0" name="trucks" type="example:truck"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
 </xs:schema>
   </wsdl:types>
index ae7a793..96c3737 100644 (file)
@@ -4,6 +4,7 @@
     xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
     xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
     xmlns:annox="http://annox.dev.java.net"
+    xmlns:example="http://gumartinm.name/spring-ws/example"
     jaxb:version="2.1"
     jaxb:extensionBindingPrefixes="inheritance annox"
     elementFormDefault="qualified"
         </xs:complexType>
     </xs:element>
 
+       <!-- Example of creating array list by means of XSD -->
+    <xs:complexType name="car">
+       <xs:sequence>
+               <xs:element name="data" type="xs:string" />
+               <xs:element name="parentEnum" type="parent:parentEnumType" minOccurs="0" maxOccurs="100" />
+       </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="truck">
+       <xs:all>
+               <xs:element name="data" type="xs:string" />
+               <xs:element name="parentEnum" type="parent:parentEnumType" minOccurs="0" maxOccurs="1" />
+       </xs:all>
+    </xs:complexType>
+    <xs:element name="vehicles">
+        <xs:complexType>
+               <xs:sequence>
+                               <xs:element name="cars" type="example:car" maxOccurs="unbounded" />
+                               <xs:element name="trucks" type="example:truck" minOccurs="0" maxOccurs="100" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
 </xs:schema>
index ae7a793..96c3737 100644 (file)
@@ -4,6 +4,7 @@
     xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
     xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
     xmlns:annox="http://annox.dev.java.net"
+    xmlns:example="http://gumartinm.name/spring-ws/example"
     jaxb:version="2.1"
     jaxb:extensionBindingPrefixes="inheritance annox"
     elementFormDefault="qualified"
         </xs:complexType>
     </xs:element>
 
+       <!-- Example of creating array list by means of XSD -->
+    <xs:complexType name="car">
+       <xs:sequence>
+               <xs:element name="data" type="xs:string" />
+               <xs:element name="parentEnum" type="parent:parentEnumType" minOccurs="0" maxOccurs="100" />
+       </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="truck">
+       <xs:all>
+               <xs:element name="data" type="xs:string" />
+               <xs:element name="parentEnum" type="parent:parentEnumType" minOccurs="0" maxOccurs="1" />
+       </xs:all>
+    </xs:complexType>
+    <xs:element name="vehicles">
+        <xs:complexType>
+               <xs:sequence>
+                               <xs:element name="cars" type="example:car" maxOccurs="unbounded" />
+                               <xs:element name="trucks" type="example:truck" minOccurs="0" maxOccurs="100" />
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
 </xs:schema>