<?xml version="1.0" encoding="UTF-8"?>
<!--
	Licensed to the Apache Software Foundation (ASF) under one
	or more contributor license agreements. See the NOTICE file
	distributed with this work for additional information
	regarding copyright ownership. The ASF licenses this file
	to you under the Apache License, Version 2.0 (the
	"License"); you may not use this file except in compliance
	with the License. You may obtain a copy of the License at
	
	http://www.apache.org/licenses/LICENSE-2.0
	
	Unless required by applicable law or agreed to in writing,
	software distributed under the License is distributed on an
	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
	KIND, either express or implied. See the License for the
	specific language governing permissions and limitations
	under the License.
-->

<!-- The xhtml namespace is for usage documentation -->
<toolspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xhtml="http://www.w3.org/TR/xhtml1/strict"
	xsi:schemaLocation="http://cxf.apache.org/Xutil/ToolSpecification http://cxf.apache.org/schema/xutil/tool-specification.xsd"
	xmlns="http://cxf.apache.org/Xutil/ToolSpecification"
	xmlns:ts="http://cxf.apache.org/Xutil/ToolSpecification">

	<annotation>
		Examples :

		java2ws org.apache.hello_world_soap_http.Greeter java2ws -cp
		./tmp org.apache.hello_world_soap_http.Greeter java2ws -o
		hello.wsdl org.apache.hello_world_soap_http.Greeter java2ws -o
		hello.wsdl -t http://cxf.apache.org
		org.apache.hello_world_soap_http.Greeter
	</annotation>
	<usage>

		<optionGroup id="options">
			<option id="frontend" maxOccurs="1">
				<annotation>specify which frontend should be use, support jaxws and simple frontend.</annotation>
				<switch>frontend</switch>
				<associatedArgument placement="afterSpace">
					<annotation>jaxws-or-simple</annotation>
				</associatedArgument>
			</option>
			
			<option id="wrapperbean" maxOccurs="1">
				<annotation>Specify to genearte wrapper and fault bean</annotation>
				<switch>wrapperbean</switch>
			</option>
			
			<option id="client" maxOccurs="1">
				<annotation>Specify to genearte client side code</annotation>
				<switch>client</switch>
			</option>
				
			<option id="server" maxOccurs="1">
				<annotation>Specify to genearte server side code</annotation>
				<switch>server</switch>
			</option>
			
			<option id="impl" maxOccurs="1">
				<annotation>Specify to generate impl class when "-server" flag is specified</annotation>
				<switch>impl</switch>
			</option>			
						
			<option id="wsdl" maxOccurs="1">
				<annotation>Specify generating wsdl</annotation>
				<switch>wsdl</switch>
			</option>

			<option id="outputfile" maxOccurs="1">
				<annotation>
					Specify the output wsdl file name
				</annotation>
				<switch>o</switch>
				<associatedArgument placement="afterSpace">
					<annotation>output-file</annotation>
				</associatedArgument>
			</option>

			<option id="outputdir" maxOccurs="1">
				<annotation>
					The directory in which the output files are placed
				</annotation>
				<switch>d</switch>
				<associatedArgument placement="afterSpace">
					<annotation>output-directory</annotation>
				</associatedArgument>
			</option>

			<option id="sourcedir" maxOccurs="1">
				<annotation>
					The directory in which the generated source files
					are placed
				</annotation>
				<switch>s</switch>
				<associatedArgument placement="afterSpace">
					<annotation>source-directory</annotation>
				</associatedArgument>
			</option>
			<option id="classdir" maxOccurs="1">
				<annotation>
					The directory in which the generated sources are
					compiled into. If not specified, the files are not
					compiled.
				</annotation>
				<switch>classdir</switch>
				<associatedArgument placement="afterSpace">
					<annotation>compile-classes-directory</annotation>
				</associatedArgument>
			</option>

			<option id="classpath" maxOccurs="1">
				<annotation>
					Specify the SEI and types class search path of
					directories and zip/jar files
				</annotation>
				<switch>cp</switch>
				<associatedArgument placement="afterSpace">
					<annotation>class-path</annotation>
				</associatedArgument>
			</option>

			<option id="soap12" maxOccurs="1">
				<annotation>
					Specify to generate SOAP 1.2 binding
				</annotation>
				<switch>soap12</switch>
			</option>

			<option id="tns" maxOccurs="1">
				<annotation>
					Specify the target namespace to use in the wsdl
				</annotation>
				<switch>t</switch>
				<associatedArgument placement="afterSpace">
					<annotation>target-namespace</annotation>
				</associatedArgument>
			</option>

			<option id="servicename" maxOccurs="1">
				<annotation>
					Specify the service name to use in the generated
					wsdl
				</annotation>
				<switch>servicename</switch>
				<associatedArgument placement="afterSpace">
					<annotation>service-name</annotation>
				</associatedArgument>
			</option>

			<option id="port" maxOccurs="1">
				<annotation>
					Specify the port name to use in the generated wsdl
				</annotation>
				<switch>portname</switch>
				<associatedArgument placement="afterSpace">
					<annotation>port-name</annotation>
				</associatedArgument>
			</option>
			
			<option id="address" maxOccurs="1">
				<annotation>
					Specify the port address 
				</annotation>
				<switch>address</switch>
				<associatedArgument placement="afterSpace">
					<annotation>address</annotation>
				</associatedArgument>
			</option>			
			

			<option id="createxsdimports" maxOccurs="1">
				<annotation>
					Output schemas to separate files and use imports to
					load them instead of inlining them into the wsdl.
				</annotation>
				<switch>createxsdimports</switch>
			</option>

		</optionGroup>

		<optionGroup id="common_options">
			<option id="help" maxOccurs="1">
				<annotation>
					Display detailed information for options.
				</annotation>
				<switch>h</switch>
				<switch>?</switch>
				<switch>help</switch>
			</option>

			<option id="version">
				<annotation>
					Display the version of the tool.
				</annotation>
				<switch>v</switch>
			</option>

			<option id="verbose">
				<annotation>Verbose mode</annotation>
				<switch>verbose</switch>
				<switch>V</switch>
			</option>

			<option id="quiet">
				<annotation>Quiet mode</annotation>
				<switch>quiet</switch>
				<switch>q</switch>
			</option>


		</optionGroup>

		<argument id="classname" minOccurs="1" maxOccurs="1">
			<annotation>SEI class name</annotation>
		</argument>
	</usage>
</toolspec>
