<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.2+Addr//EN" "xmlspec.dtd">
<!--
/*
 * Copyright © 2007 World Wide Web Consortium,
 *
 * (Massachusetts Institute of Technology, European Research Consortium for
 * Informatics and Mathematics, Keio University). All Rights Reserved. This
 * work is distributed under the W3C® Document License [1] in the hope that
 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
 */
    -->
<?xml-stylesheet type='text/xsl' href='xmlspec-policy.xsl'?><spec w3c-doctype="wgnote" role="public"><header><title>WSDL 1.1 Element Identifiers</title><w3c-designation>http://www.w3.org/TR/2007/NOTE-wsdl11elementidentifiers-20070720</w3c-designation><w3c-doctype>W3C Working Group Note</w3c-doctype><pubdate><day>20</day><month>July</month><year>2007</year></pubdate><publoc>
			<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2007/NOTE-wsdl11elementidentifiers-20070720" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/2007/NOTE-wsdl11elementidentifiers-20070720</loc>
		</publoc><altlocs><loc xmlns:xlink="http://www.w3.org/1999/xlink" role="pdf" href="wsdl11elementidentifiers.pdf" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PDF</loc><loc xmlns:xlink="http://www.w3.org/1999/xlink" role="postscript" href="wsdl11elementidentifiers.ps" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PostScript</loc><loc xmlns:xlink="http://www.w3.org/1999/xlink" role="xml" href="wsdl11elementidentifiers.xml" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">XML</loc><loc xmlns:xlink="http://www.w3.org/1999/xlink" role="plain" href="wsdl11elementidentifiers.xml" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">plain text</loc></altlocs><prevlocs>
            <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2007/WD-wsdl11elementidentifiers-20070330" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/2007/WD-wsdl11elementidentifiers-20070330</loc>
        </prevlocs><latestloc><loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/wsdl11elementidentifiers" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/wsdl11elementidentifiers</loc></latestloc><authlist><author><name>David Orchard</name><affiliation>BEA Systems</affiliation></author><author role="editor"><name>Asir S Vedamuthu</name><affiliation>Microsoft Corporation</affiliation></author><author role="editor"><name>Frederick Hirsch</name><affiliation>Nokia</affiliation></author><author role="editor"><name>Maryann Hondo</name><affiliation>IBM Corporation</affiliation></author><author role="editor"><name>Prasad Yendluri</name><affiliation>webMethods, Inc.</affiliation></author><author role="editor"><name>Toufic Boubez</name><affiliation>Layer 7 Technologies</affiliation></author><author role="editor"><name>Ümit Yalçinalp</name><affiliation>SAP AG.</affiliation></author></authlist><abstract><p>WSDL 1.1 Element Identifiers defines a syntax to identify individual elements in a WSDL 1.1 document.</p></abstract><status><p><emph>This section describes the status of this document at the
time of its publication. Other documents may supersede this
document. A list of current W3C publications and the latest
revision of this technical report can be found in the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C technical reports index</loc> at http://www.w3.org/TR/.</emph></p><p>This is a <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/10/Process-20051014/tr.html#WGNote" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C Working Group Note</loc> of the WSDL 1.1 Element Identifiers specification. It was produced by the members of the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2002/ws/policy/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Web Services Policy Working Group</loc>, which is part of the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2002/ws/Activity" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C Web Services Activity</loc>.</p><p>A list of <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="#changelog" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">changes in this version
  of the document</loc> and a <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl11elementidentifiers-diff20070330.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">diff-marked version against the previous version of this document</loc> are available. There are no major editorial changes in this version of the document.</p><p>As of the publication of this document as a Working Group Note, the Web Services Policy Working Group has completed work on this document. Discussion of this document took place on the public <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:public-ws-policy@w3.org" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public-ws-policy@w3.org</loc> mailing list (<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Public/public-ws-policy/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public archive</loc>) and within <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=WS-Policy&amp;component=WSDL1.1-Element-Identifiers" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Bugzilla</loc>. Further comments on this specification should be made following the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2002/ws/policy/#issues" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Description for Issues</loc> of the Working Group.</p><p>Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p><p>This document was produced by a group operating under the
<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">5
February 2004 W3C Patent Policy</loc>. W3C maintains a <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2004/01/pp-impl/39293/status" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public list of any patent disclosures</loc> made in connection with the deliverables of
the group; that page also includes instructions for disclosing a
patent. An individual who has actual knowledge of a patent which
the individual believes contains <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
Essential Claim(s)</loc> must disclose the information in accordance
with <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
section 6 of the W3C Patent Policy</loc>.</p></status><langusage><language id="en">English</language></langusage><revisiondesc><p>Last Modified: $Date: 2007/07/17 13:22:33 $ CET</p></revisiondesc></header><body><div1 id="intro"><head>Introduction</head><p>This document defines an element identifier syntax for WSDL 1.1 elements.
			</p><div2 id="notcon"><head>Notational Conventions</head><p>The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL",
	  "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
	  and "OPTIONAL" in this document are to be interpreted as
	  described in RFC 2119 [<bibref ref="RFC2119"/>].</p><p>With the exception of examples and sections explicitly marked
    	as "Non-Normative", all parts of this specification are
    	normative.</p></div2></div1><div1 id="frag-ids"><head>Fragment Identifiers</head><p>
	This section defines a fragment identifier syntax for identifying elements of a WSDL 1.1 document.
	This fragment identifier syntax is compliant with the
	[<bibref ref="XPTR"/>].  This document is primarily based upon [<bibref ref="WSDL-PART1"/>].  There is a substantial difference between the WSDL 1.1 and WSDL 2.0 fragment identifiers.WSDL 2.0 defines fragment identifiers with respect to the WSDL 2.0 component model, whereas WSDL 1.1 defines XML element and attribute syntax only.  Because there is no WSDL 1.1 component model, the WSDL 1.1 fragment identifiers identify WSDL 1.1 elements.  Note: the fragment identifers identify the WSDL 1.1 elements prior to any processing of the WSDL document, such as validation, inclusion, imports, schema type validation, etc.  Note further: WSDL 1.1 fragment identifiers require a targetNamespace so WSDL 1.1 documents without a targetNamespace will not have fragment identifiers. 
	</p><p>
	A WSDL 1.1 fragment identifier is an XPointer [<bibref ref="XPTR"/>], 
 augmented with WSDL 1.1 pointer parts as defined below. Note that many 
 of these parts require the pre-appearance of one or more <code>xmlns</code> pointer 
 parts (see 3.4 Namespace Binding Context in [<bibref ref="XPTR"/>]).
	The pointer parts have a scheme name that corresponds to one
	of the standard WSDL 1.1 element names, and scheme data that is a path composed
	of names that identify the elements. 
	The scheme names all begin with the prefix "wsdl11." to avoid
	name conflicts with other schemes.
	The names in the path are of type either QName, NCName,
	IRI, URI, or Pointer Part depending on the context.
	The scheme data for WSDL 1.1 extension elements is defined by the 
	corresponding extension specification.
	</p><p>
	For QNames, any prefix
	MUST be defined by a preceding xmlns pointer part.
	If a QName does not have a prefix then its namespace
	name is the target namespace of the WSDL 1.1 document.
	</p><p>
		The fragment identifier is typically constructed from the <code>name</code>
		property of the element and the <code>name</code> properties of its
		ancestors as a path according to
		<specref ref="frag-ids-table"/>.
	    The first column of this table gives the name of the WSDL 1.1
		element. Columns labeled 1 through 3 specify the identifiers that
		uniquely identify the element within its context. Identifiers
		are typically formed from the <code>name</code> property, although in
		several cases references to other elements are used. These
		identifiers are then used to construct the pointer part in
		the last column.
		The fragment identifier in a WSDL 1.1 element IRI-reference
		MUST resolve to some element as defined by the construction rules
		in <specref ref="frag-ids-table"/>.
	</p><table id="frag-ids-table" border="1"><caption>Rules for determining pointer parts for WSDL 1.1 elements</caption><col width="19%" span="1"/><col width="12%" span="1"/><col width="12%" span="1"/><col width="12%" span="1"/><col width="45%" span="1"/><tbody><tr><th rowspan="1" colspan="1">element</th><th rowspan="1" colspan="1">1</th><th rowspan="1" colspan="1">2</th><th rowspan="1" colspan="1">3</th><th rowspan="1" colspan="1">Pointer Part</th></tr><tr><td rowspan="1" colspan="1">Definitions</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.definitions()</code></td></tr><tr><td rowspan="1" colspan="1">Message</td><td rowspan="1" colspan="1"><code>message</code> NCName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.message(</code><code role="code-emph">message</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">Message Part</td><td rowspan="1" colspan="1"><code>message</code> NCName</td><td rowspan="1" colspan="1"><code>part</code> NCName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.messagePart(</code><code role="code-emph">message/part</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">portType</td><td rowspan="1" colspan="1"><code>portType</code> NCName </td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.portType(</code><code role="code-emph">portType</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">portType Operation</td><td rowspan="1" colspan="1"><code>portType</code> NCName</td><td rowspan="1" colspan="1"><code>operation</code> NCName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.portTypeOperation(</code><code role="code-emph">portType/operation</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">portType Operation Input</td><td rowspan="1" colspan="1"><code>portType</code> NCName</td><td rowspan="1" colspan="1"><code>operation</code> NCName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.portTypeOperation.input(</code><code role="code-emph">portType/operation</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">portType Operation Output</td><td rowspan="1" colspan="1"><code>portType</code> NCName</td><td rowspan="1" colspan="1"><code>operation</code> NCName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.portTypeOperation.output(</code><code role="code-emph">portType/operation</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">portType Operation Fault</td><td rowspan="1" colspan="1"><code>portType</code> NCName</td><td rowspan="1" colspan="1"><code>operation</code> NCName</td><td rowspan="1" colspan="1"><code>fault</code> NCName</td><td rowspan="1" colspan="1"><code>wsdl11.portTypeOperation.fault(</code><code role="code-emph">portType/operation/fault</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">Binding</td><td rowspan="1" colspan="1"><code>binding</code> NCName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.binding(</code><code role="code-emph">binding</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">Binding Operation</td><td rowspan="1" colspan="1"><code>binding</code> NCName</td><td rowspan="1" colspan="1"><code>operation</code> QName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.bindingOperation(</code><code role="code-emph">binding/operation</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">Binding Operation Input</td><td rowspan="1" colspan="1"><code>binding</code> NCName</td><td rowspan="1" colspan="1"><code>operation</code> QName</td><td rowspan="1" colspan="1">na/</td><td rowspan="1" colspan="1"><code>wsdl11.bindingOperation.input(</code><code role="code-emph">binding/operation</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">Binding Operation Output</td><td rowspan="1" colspan="1"><code>binding</code> NCName</td><td rowspan="1" colspan="1"><code>operation</code> QName</td><td rowspan="1" colspan="1">na/</td><td rowspan="1" colspan="1"><code>wsdl11.bindingOperation.output(</code><code role="code-emph">binding/operation</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">Binding Operation Fault</td><td rowspan="1" colspan="1"><code>binding</code> NCName</td><td rowspan="1" colspan="1"><code>operation</code> QName</td><td rowspan="1" colspan="1"><code>fault</code> NCName</td><td rowspan="1" colspan="1"><code>wsdl11.bindingOperation.fault(</code><code role="code-emph">binding/operation/fault</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">Service</td><td rowspan="1" colspan="1"><code>service</code> NCName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.service(</code><code role="code-emph">service</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">port</td><td rowspan="1" colspan="1"><code>service</code> NCName</td><td rowspan="1" colspan="1"><code>port</code> NCName</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.port(</code><code role="code-emph">service/port</code><code>)</code></td></tr><tr><td rowspan="1" colspan="1">Extensions</td><td rowspan="1" colspan="1"><code>namespace</code> URI</td><td rowspan="1" colspan="1"><code>identifier</code> extension-specific-syntax</td><td rowspan="1" colspan="1">n/a</td><td rowspan="1" colspan="1"><code>wsdl11.extension(</code><code role="code-emph">namespace,identifier</code><code>)</code></td></tr></tbody></table></div1><div1 id="wsdl-iri-references"><head>IRI-References for WSDL 1.1 Elements</head><p>
		This section provides a syntax for IRI-references for all
		elements found in a [<bibref ref="WSDL11"/>] document. The IRI-references are easy
		to understand and compare, while imposing no burden on the WSDL 1.1
		author.
	</p><div2 id="wsdl-iris"><head>WSDL 1.1 IRIs</head><p>There are two main cases for WSDL 1.1 IRIs:</p><ulist><item><p>the IRI of a WSDL 1.1 document</p></item><item><p>the IRI of a WSDL 1.1 namespace</p></item></ulist><p>
		The IRI of a WSDL 1.1 document can be dereferenced to give a
		resource representation that contributes elements
		to a single WSDL 1.1 namespace. If the media type is set to the WSDL 1.1
		media type i.e. application/xml, then the fragment identifiers can be used to
		identify the main elements that are defined in the document.
	</p><p>
		In keeping with WSDL 1.1, which has a recommendation that 
		that the namespace URI be dereferencible to a WSDL 1.1 document,
		this section specifies the use of the namespace IRI with the
		WSDL 1.1 fragment identifiers to form an IRI-reference.
	</p><p>
		The IRI in an IRI-reference for a WSDL 1.1 element is the
		namespace name of the
		<code>name</code>
		property of either the element itself, in the case of
		<code>portType</code>
		,
		<code>Binding</code>
		, and
		<code>Service</code>
		elements, or the
		<code>name</code>
		property of the ancestor top-level element. The IRI provided
		by the namespace name of the
		<code>name</code>
		property is combined with a zero or more
		<code>xmlns</code>
		pointer parts (see
		3.4 Namespace Binding Context
		in
		[<bibref ref="XPTR"/>]
		) followed by a single WSDL 1.1 pointer part, following the same rules as defined for WSDL 1.1 fragment ids
		<specref ref="frag-ids"/>
		.
	</p></div2><div2 id="soap-binding-decl-fragid"><head>IRI Identification Of SOAP Binding elements</head><p><code>SOAP Binding</code> elements (binding, operation, body, header, fault, headerfault, and address) can be identified using the
	  <emph>wsdl11.extension</emph>
	  XPointer Framework scheme according to the following rules:</p><p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
	  w11soap.binding(</code><code role="code-emph">parent</code><code>)</code>), where: </p><ulist><item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <code>SOAP Binding's parent</code> element
	    </p></item></ulist><p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
	  w11soap.operation(</code><code role="code-emph">parent</code><code>)</code>)</p><ulist><item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <code>SOAP Operation's parent</code> element
	    </p></item></ulist><p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
	  w11soap.body(</code><code role="code-emph">parent</code><code>)</code>)</p><ulist><item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <code>SOAP Body's parent</code> element
	    </p></item></ulist><p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
	  w11soap.header(</code><code role="code-emph">parent</code><code>)</code>)</p><ulist><item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <code>SOAP Header's parent</code> element
	    </p></item></ulist><p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
	  w11soap.headerfault(</code><code role="code-emph">parent</code><code>)</code>)</p><ulist><item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <code>SOAP HeaderFault's parent</code> element
	    </p></item></ulist><p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
	  w11soap.fault(</code><code role="code-emph">parent</code><code>)</code>)</p><ulist><item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <code>SOAP Fault's parent</code> element
	    </p></item></ulist><p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
	  w11soap.address(</code><code role="code-emph">parent</code><code>)</code>)</p><ulist><item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <code>SOAP Address's parent</code> element
	    </p></item></ulist></div2><div2 id="element-designator-canonical-form"><head>Canonical Form for WSDL 1.1 element identifiers</head><p>
			The IRI-references described above MAY be used as WSDL 1.1
			element identifiers. For ease of comparison, the fragment
			identifier of WSDL 1.1 element identifiers SHOULD conform
			to the following canonicalization rules:
		</p><ulist><item><p>
						The fragment identifier consists of a sequence
						zero or more
						<code>xmlns()</code>
						pointer parts followed by exactly one
						<code>wsd11.*()</code>
						pointer part.
				</p></item><item><p>
						Each
						<code>xmlns()</code>
						pointer part that appears in the fragment
						identifier defines a namespace that is
						referenced by the
						<code>wsd11.*()</code>
						pointer part.
				</p></item><item><p>
						Each
						<code>xmlns()</code>
						pointer part defines a unique namespace.
				</p></item><item><p>
						The
						<code>xmlns()</code>
						pointer parts define namespaces in the same
						order as they are referenced in the
						<code>wsd11.*()</code>
						pointer part.
				</p></item><item><p>
						The namespace prefixes defined by the
						<code>xmlns()</code>
						pointer parts are named
						<code>ns1</code>
						,
						<code>ns2</code>
						, etc., in the order of their appearance.
				</p></item><item><p>
						The fragment identifier contains no optional
						whitespace.
				</p></item></ulist></div2><div2 id="Iri-ref-ex"><head>Example</head><p>Consider WSDL 1.1 document located at
	http://example.org/TicketAgent.wsdl.  Each WSDL 1.1 Element Identifier is shown in comments above the WSDL 1.1 element
	</p><example id="iri-ref-example-wsdl"><head>IRI-References - Example WSDL 1.1 Document</head><eg xml:space="preserve">&lt;?xml version="1.0" encoding="UTF-8"?&gt; 

&lt;wsdl:definitions targetNamespace="http://example.org/TicketAgent.wsdl11"
    xmlns:tns="http://example.org/TicketAgent.wsdl11" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsTicketAgent="http://example.org/TicketAgent.xsd" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://www.w3.org/TR/2001/NOTE-wsdl-20010315/wsdl11.xsd"&gt;

    &lt;!-- http://example.org/TicketAgent.wsdl11#wsd11.definitions() --&gt;

    &lt;wsdl:types&gt;
        &lt;xs:schema xmlns:xsTicketAgent="http://example.org/TicketAgent.xsd"
            targetNamespace="http://example.org/TicketAgent.xsd"&gt;
            &lt;xs:element name="listFlightsRequest" type="xsTicketAgent:tListFlights"/&gt;
            &lt;xs:complexType name="tListFlights"&gt;
                &lt;xs:sequence&gt;
                    &lt;xs:element name="travelDate" type="xs:date"/&gt;
                    &lt;xs:element name="startCity" type="xs:string"/&gt;
                    &lt;xs:element name="endCity" type="xs:string"/&gt;
                &lt;/xs:sequence&gt;
            &lt;/xs:complexType&gt;
            &lt;xs:element name="listFlightsResponse" type="xsTicketAgent:tFlightsResponse"/&gt;
            &lt;xs:complexType name="tFlightsResponse"&gt;
                &lt;xs:sequence&gt;
                    &lt;xs:element name="flightNumber" type="xs:integer" minOccurs="0"
                        maxOccurs="unbounded"/&gt;
                &lt;/xs:sequence&gt;
            &lt;/xs:complexType&gt;
        &lt;/xs:schema&gt;
    &lt;/wsdl:types&gt;

    &lt;wsdl:message name="listFlightsRequest"&gt;
        &lt;!-- Starting from here, http://example.org/TicketAgent.wsdl11 will be shortened to http://... --&gt;
        &lt;!-- http://...#wsdl11.message(listFlightsRequest) --&gt;
        &lt;wsdl:part name="body" element="xsTicketAgent:listFlightsRequest"/&gt;
        &lt;!-- http://...#wsdl11.messagePart(listFlightsRequest/body) --&gt;
    &lt;/wsdl:message&gt;

    &lt;wsdl:message name="listFlightsResponse"&gt;
        &lt;!-- http://...#wsdl11.message(listFlightsResponse) --&gt;
        &lt;wsdl:part name="body" element="xsTicketAgent:listFlightsResponse"/&gt;
        &lt;!-- http://...#wsdl11.messagePart(listFlightsResponse/body) --&gt;
    &lt;/wsdl:message&gt;

    &lt;wsdl:portType name="TicketAgent"&gt;
        &lt;!-- http://...#wsdl11.portType(TicketAgent) --&gt;
        &lt;wsdl:operation name="listFlights"&gt;
            &lt;!-- http://...#wsdl11.portTypeOperation(TicketAgent/listFlights) --&gt;
            &lt;wsdl:input message="tns:listFlightsRequest"/&gt;
            &lt;!-- http://...#wsdl11.portTypeOperation.input(TicketAgent/listFlights) --&gt;
            &lt;wsdl:output message="tns:listFlightsResponse"/&gt;
            &lt;!-- http://...#wsdl11.portTypeOperation.output(TicketAgent/listFlights) --&gt;
        &lt;/wsdl:operation&gt;
    &lt;/wsdl:portType&gt;

    &lt;wsdl:binding name="TicketAgentSoap" type="tns:TicketAgent"&gt;
        &lt;!-- http://...#wsdl11.binding(TicketAgentSoap) --&gt;
        &lt;soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/&gt;
        &lt;!-- http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/, 
             w11soap.binding( wsdl11.binding(TicketAgentSoap)) --&gt;
        &lt;wsdl:operation name="listFlights"&gt;
            &lt;!-- http://...#wsdl11.bindingOperation(TicketAgentSoap/listFlights) --&gt;
            &lt;wsdl:input&gt;
                &lt;!-- http://...#wsdl11.bindingOperation.input(TicketAgentSoap/listFlights) --&gt;
                &lt;soap:body parts="body" use="literal"/&gt;
                &lt;!-- http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/, 
                               w11soap.body(wsdl11.bindingOperation.input
                                           (TicketAgentSoap/listFlights)) --&gt;
            &lt;/wsdl:input&gt;
            &lt;wsdl:output&gt;
                &lt;!-- http://...#wsdl11.bindingOperation.output(TicketAgentSoap/listFlights) --&gt;
                &lt;soap:body parts="body" use="literal"/&gt;
                &lt;!-- http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/, 
                               w11soap.body(wsdl11.bindingOperation.output
                                           (TicketAgentSoap/listFlights)) --&gt;
            &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
    &lt;/wsdl:binding&gt;

&lt;/wsdl:definitions&gt;</eg></example></div2></div1><div1 id="refs"><head>References</head><div2 id="refs-norm"><head>Normative References</head><blist><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="RFC 3023" href="http://www.ietf.org/rfc/rfc3023.txt" id="RFC3023" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">IETF
	  "RFC 3023: XML Media Types", M. Murata, S. St. Laurent, D. Kohn, July
	  1998.</bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="WSDL 2.0 Core" href="http://www.w3.org/TR/2007/REC-wsdl20-20070626" id="WSDL-PART1" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">
		 Web Services definitions Language (WSDL) Version 2.0 Part 1: Core Language
	  	</titleref>, R. Chinnici, J-J.
	  	Moreau, A. Ryman, S. Weerawarana, Editors. W3C Recommendation 26 June 2007. The current version of <loc href="http://www.w3.org/TR/2007/REC-wsdl20-20070626" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Web Services definitions Language (WSDL) Version 2.0 Part 1: Core Language</loc> is available at
	  	http://www.w3.org/TR/2007/REC-wsdl20-20070626 . The
	  	<loc href="http://www.w3.org/TR/wsdl20" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  		latest version of "Web Services definitions Language (WSDL) Version 2.0 Part 1: Core Language"
	  	</loc>
	  	is available at
	  	http://www.w3.org/TR/wsdl20.
	  </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="WSDL 1.1" href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315" id="WSDL11" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Web Services definitions Language (WSDL)
	  1.1</titleref>, E. Christensen, F. Curbera, G. Meredith, and
	  S. Weerawarana, Authors. W3C Note 15 March
	  2002. The current version of <loc href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Web Services Description Language (WSDL) 1.1</loc> is available at http://www.w3.org/TR/2001/NOTE-wsdl-20010315 . The <loc href="http://www.w3.org/TR/wsdl" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of Web
	  Services definitions Language 1.1</loc> is available at
	  http://www.w3.org/TR/wsdl11.
	</bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="XPointer Framework" href="http://www.w3.org/TR/2003/REC-xptr-framework-20030325/" id="XPTR" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XPointer Framework</titleref>,Paul Grosso, Eve
	    Maler, Jonathan Marsh, Norman Walsh, Editors. W3C Recommendation 25 March 2003.  The current version of <loc href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">XPointer Framework</loc> is available at 
	    http://www.w3.org/TR/2003/REC-xptr-framework-20030325/ . The
	    <loc href="http://www.w3.org/TR/xptr-framework/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
	    version of XPointer Framework</loc> is available at
	    http://www.w3.org/TR/xptr-framework/.
	  </bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="RFC 2119" id="RFC2119" href="http://www.ietf.org/rfc/rfc2119.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">IETF "RFC 2119:
	  Key words for use in RFCs to Indicate Requirement Levels",
	  S. Bradner, March 1997.</bibl><bibl xmlns:xlink="http://www.w3.org/1999/xlink" key="RFC 3986" id="RFC3986" href="http://www.ietf.org/rfc/rfc3986.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">IETF "RFC 3986:
	  Uniform Resource Identifiers (URI): Generic Syntax",
	  T. Berners-Lee, R. Fielding, L. Masinter, January 2005. </bibl></blist></div2><!--<div2 id="refs-inform">
				<head>Informative References</head>

			</div2> --></div1></body><back><inform-div1 id="changelog"><head>Change Log</head><table border="1"><caption>Changes</caption><thead><tr><th rowspan="1" colspan="1">Who</th><th rowspan="1" colspan="1">When</th><th rowspan="1" colspan="1">What</th></tr></thead><tbody><tr><td rowspan="1" colspan="1">DBO</td><td rowspan="1" colspan="1">20061108</td><td rowspan="1" colspan="1">Initial Revision</td></tr><tr><td rowspan="1" colspan="1">DBO</td><td rowspan="1" colspan="1">20061212</td><td rowspan="1" colspan="1">Uncommented canonical section, fixed editorial items</td></tr><tr><td rowspan="1" colspan="1">DBO</td><td rowspan="1" colspan="1">20070122</td><td rowspan="1" colspan="1">Resolution of bug <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4208" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">4208</loc>, AI is <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/145" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">145</loc>
</td></tr><tr><td rowspan="1" colspan="1">FS</td><td rowspan="1" colspan="1">20070127</td><td rowspan="1" colspan="1">Editorial fixes for publication preparation</td></tr><tr><td rowspan="1" colspan="1">DBO</td><td rowspan="1" colspan="1">20070219</td><td rowspan="1" colspan="1">Changed MessageReference to .input and .output, resolution of bug <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4251" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">4251</loc>, AI is <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/150" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">150</loc>
</td></tr><tr><td rowspan="1" colspan="1">DBO</td><td rowspan="1" colspan="1">20070308</td><td rowspan="1" colspan="1">Added note about targetnamespace being required. <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4331" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">4331</loc>, AI is <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/177" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">177</loc>
</td></tr><tr><td rowspan="1" colspan="1">DBO</td><td rowspan="1" colspan="1">20070308</td><td rowspan="1" colspan="1">Removed Schema element and type defs. <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=4332" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">4332</loc>, AI is <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/178" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">178</loc>
</td></tr><tr><td rowspan="1" colspan="1">FS</td><td rowspan="1" colspan="1">20070717</td><td rowspan="1" colspan="1">Updated Reference to WSDL20</td></tr></tbody></table></inform-div1></back></spec>
