2002/ws/desc/wsdl20 xmlspec2latex.xsl,NONE,1.1 html2latex.xsl,NONE,1.1 elements.xsl,NONE,1.1 wsdl20.toc,NONE,1.1 build.xml,1.9,1.10 wsdl20-ie.html,1.1,1.2 zml2latex.xsl,1.1,1.2 wsdl20-i.html,1.3,1.4 wsdl20.tex,1.3,1.4 wsdl20.html,1.131,1.132 wsdl20.xml,1.149,1.150 xmlspec-wsdl.xsl,1.3,1.4

Update of /sources/public/2002/ws/desc/wsdl20
In directory hutz:/tmp/cvs-serv15712

Modified Files:
	build.xml wsdl20-ie.html zml2latex.xsl wsdl20-i.html 
	wsdl20.tex wsdl20.html wsdl20.xml xmlspec-wsdl.xsl 
Added Files:
	xmlspec2latex.xsl html2latex.xsl elements.xsl wsdl20.toc 
Log Message:
Edited Notational Conventions and References sections. Improved PDF version.

--- NEW FILE: html2latex.xsl ---
<?xml version="1.0" encoding="UTF-8"?>

<!-- Version: $Id: html2latex.xsl,v 1.1 2005/01/18 00:23:53 aryman Exp $ -->

<!-- Stylesheet for Transforming HTML to LaTeX -->
<!-- Author: Arthur Ryman  <ryman@ca.ibm.com> -->
<!-- Date Created: 2005-01-02 -->

<!-- 
	This stylesheet is copyright (c) 2004 by its authors.  Free
	distribution and modification is permitted, including adding to
	the list of authors and copyright holders, as long as this
	copyright notice is maintained. 
-->

<!-- 
	This stylesheet transforms HTML to LaTeX.
	The HTML document may also contain Z Notation
	marked up as ZML.
-->

<!-- 
	ChangeLog:
	
	2005-01-02: Arthur Ryman <ryman@ca.ibm.com>
	- created from zml2latex.xsl
	
-->

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:z="http://www.w3.org/2004/zml">

	<xsl:import href="zml2latex.xsl" />

	<xsl:output method="text" encoding="UTF-8" indent="no" />

	<xsl:preserve-space elements="*" />

	<xsl:variable name="nl">
		<xsl:text>&#x0A;</xsl:text>
	</xsl:variable>

	<xsl:variable name="title">
		<xsl:choose>
			<xsl:when test="/html/head/title">
				<xsl:value-of select="/html/head/title" />
			</xsl:when>
			<xsl:otherwise>
				<xsl:text>Untitled</xsl:text>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:variable>

	<xsl:variable name="author">
		<xsl:choose>
			<xsl:when test="/html/head/meta[@name='author']/@content">
				<xsl:value-of select="/html/head/meta[@name='author']/@content" />
			</xsl:when>
			<xsl:otherwise>
				<xsl:text>Anonymous</xsl:text>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:variable>

	<xsl:variable name="date">
		<xsl:choose>
			<xsl:when test="/html/head/meta[@name='date']/@content">
				<xsl:value-of select="/html/head/meta[@name='date']/@content" />
			</xsl:when>
			<xsl:otherwise>
				<xsl:text>\today</xsl:text>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:variable>

	<xsl:template match="/">

		<xsl:text>\documentclass{article}</xsl:text>
		<xsl:value-of select="$nl" />

		<xsl:text>\usepackage{fuzz}</xsl:text>
		<xsl:value-of select="$nl" />

		<xsl:text>\usepackage[pdftitle={</xsl:text>
		<xsl:value-of select="$title" />
		<xsl:text>}, pdfauthor={</xsl:text>
		<xsl:value-of select="$author" />
		<xsl:text>}, pdfstartview=FitBH]{hyperref}</xsl:text>
		<xsl:value-of select="$nl" />

		<xsl:text>\begin{document}</xsl:text>
		<xsl:value-of select="$nl" />

		<xsl:apply-templates select="//z:notation"/>

		<xsl:text>\end{document}</xsl:text>
		<xsl:value-of select="$nl" />
		
	</xsl:template>
	
	<xsl:template match="text()">
		<xsl:call-template name="escape-lbrace">
			<xsl:with-param name="text" select="." />
		</xsl:call-template>
	</xsl:template>

	<xsl:template name="escape-lbrace">
		<xsl:param name="text" />
		<xsl:choose>
			<xsl:when test="contains($text,'{')">
				<xsl:call-template name="escape-rbrace">
					<xsl:with-param name="text" select="substring-before($text,'{')" />
				</xsl:call-template>
				<xsl:text>\{</xsl:text>
				<xsl:call-template name="escape-lbrace">
					<xsl:with-param name="text" select="substring-after($text,'{')" />
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:call-template name="escape-rbrace">
					<xsl:with-param name="text" select="$text" />
				</xsl:call-template>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<xsl:template name="escape-rbrace">
		<xsl:param name="text" />
		<xsl:choose>
			<xsl:when test="contains($text,'}')">
				<xsl:call-template name="escape-hash">
					<xsl:with-param name="text" select="substring-before($text,'}')" />
				</xsl:call-template>
				<xsl:text>\}</xsl:text>
				<xsl:call-template name="escape-rbrace">
					<xsl:with-param name="text" select="substring-after($text,'}')" />
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:call-template name="escape-hash">
					<xsl:with-param name="text" select="$text" />
				</xsl:call-template>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<xsl:template name="escape-hash">
		<xsl:param name="text" />
		<xsl:choose>
			<xsl:when test="contains($text,'#')">
				<xsl:value-of select="substring-before($text,'#')" />
				<xsl:text>\#</xsl:text>
				<xsl:call-template name="escape-hash">
					<xsl:with-param name="text" select="substring-after($text,'#')" />
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$text"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<xsl:template match="html">
		<xsl:apply-templates />
	</xsl:template>

	<xsl:template match="head">

		<xsl:text>\title{</xsl:text>
		<xsl:value-of select="$title" />
		<xsl:text>}</xsl:text>
		<xsl:value-of select="$nl" />

		<xsl:text>\author{</xsl:text>
		<xsl:value-of select="$author" />
		<xsl:text>}</xsl:text>
		<xsl:value-of select="$nl" />

		<xsl:text>\date{</xsl:text>
		<xsl:value-of select="$date" />
		<xsl:text>}</xsl:text>

	</xsl:template>

	<xsl:template match="body">

		<xsl:text>\begin{document}</xsl:text>
		<xsl:value-of select="$nl" />
		<xsl:value-of select="$nl" />

		<xsl:text>\maketitle</xsl:text>
		<xsl:value-of select="$nl" />
		<xsl:value-of select="$nl" />

		<xsl:text>\section*{Abstract}</xsl:text>
		<xsl:value-of select="$nl" />
		<xsl:apply-templates select="/html/head/div[@id='Abstract']" />
		<xsl:value-of select="$nl" />

		<xsl:text>\clearpage</xsl:text>

		<xsl:apply-templates />

		<xsl:text>\end{document}</xsl:text>
		<xsl:value-of select="$nl" />

	</xsl:template>

	<xsl:template match="a">
		<xsl:if test="@href">
			<xsl:text>\href{</xsl:text>
			<xsl:value-of select="@href" />
			<xsl:text>}{</xsl:text>
			<xsl:apply-templates />
			<xsl:text>}</xsl:text>
		</xsl:if>
	</xsl:template>

	<xsl:template match="h2">
		<xsl:text>\section{</xsl:text>
		<xsl:value-of select="." />
		<xsl:text>}</xsl:text>
	</xsl:template>

	<xsl:template match="h3">
		<xsl:text>\subsection{</xsl:text>
		<xsl:value-of select="." />
		<xsl:text>}</xsl:text>
	</xsl:template>

	<xsl:template match="h4">
		<xsl:text>\subsubsection{</xsl:text>
		<xsl:value-of select="." />
		<xsl:text>}</xsl:text>
	</xsl:template>

	<xsl:template match="ul">
		<xsl:text>\begin{itemize}</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{itemize}</xsl:text>
	</xsl:template>

	<xsl:template match="ol">
		<xsl:text>\begin{enumerate}</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{enumerate}</xsl:text>
	</xsl:template>

	<xsl:template match="li">
		<xsl:value-of select="'\item '" />
		<xsl:apply-templates />
	</xsl:template>


	<xsl:template match="dl">
		<xsl:text>\begin{description}</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{description}</xsl:text>
	</xsl:template>

	<xsl:template match="dt">
		<xsl:text>\item[</xsl:text>
		<xsl:apply-templates />
		<xsl:text>]</xsl:text>
	</xsl:template>

	<xsl:template match="dd">
		<xsl:apply-templates />
	</xsl:template>

	<xsl:template match="table">
		<xsl:text>\begin{table}</xsl:text>
		<xsl:value-of select="$nl" />
		<xsl:text>\begin{tabular}{</xsl:text>
		<!-- |l|l|l|l -->
		<xsl:for-each select="col">
			<xsl:text>|</xsl:text>
			<xsl:choose>
				<xsl:when test="@align='right'">
					<xsl:text>r</xsl:text>
				</xsl:when>
				<xsl:when test="@align='center'">
					<xsl:text>c</xsl:text>
				</xsl:when>
				<xsl:otherwise>
					<xsl:text>l</xsl:text>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:for-each>
		<xsl:text>|}</xsl:text>
		<xsl:value-of select="$nl" />
		<xsl:text>\hline</xsl:text>
		<xsl:value-of select="$nl" />
		<xsl:apply-templates select="thead | tfoot | tbody | tr" />
		<xsl:text>\end{tabular}</xsl:text>
		<xsl:apply-templates select="caption | z:label" />
		<xsl:text>\end{table}</xsl:text>
	</xsl:template>

	<xsl:template match="caption">
		<xsl:text>\caption{</xsl:text>
		<xsl:apply-templates />
		<xsl:text>}</xsl:text>
	</xsl:template>

	<xsl:template match="tr">
		<xsl:apply-templates />
		<xsl:value-of select="'\\ \hline '" />
	</xsl:template>

	<xsl:template match="th">
		<xsl:choose>
			<xsl:when test="following-sibling::th">
				<xsl:value-of select="'\multicolumn{1}{|c}{\bf '" />
				<xsl:apply-templates />
				<xsl:value-of select="'}&amp;'" />
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="'\multicolumn{1}{|c|}{\bf '" />
				<xsl:apply-templates />
				<xsl:value-of select="'}'" />

			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<xsl:template match="td">
		<xsl:apply-templates />
		<xsl:if test="local-name(following-sibling::*[1])='td'">
			<xsl:text>&amp;</xsl:text>
		</xsl:if>
	</xsl:template>

</xsl:stylesheet>

--- NEW FILE: elements.xsl ---
<?xml version="1.0" encoding="UTF-8"?>

<!-- Version: $Id: elements.xsl,v 1.1 2005/01/18 00:23:53 aryman Exp $ -->

<!-- Stylesheet for Listing the Elements in a Document -->
<!-- Author: Arthur Ryman  <ryman@ca.ibm.com> -->
<!-- Date Created: 2005-01-16 -->

<!-- 
	This stylesheet is copyright (c) 2005 by its authors.  Free
	distribution and modification is permitted, including adding to
	the list of authors and copyright holders, as long as this
	copyright notice is maintained. 

	This stylesheet lists all the elements in a document.
	It is based on the example "How Do I List All the
	Elements in an XML Document?" in Appendix D: XSLT Guide
	of the book "XSLT" by Doug Tidwell, published by
	O'Reilly.
-->

<!-- 
	ChangeLog:
	
	2005-01-16: Arthur Ryman <ryman@ca.ibm.com>
	- created from example in Doug Tidwell's book
	
-->

<!DOCTYPE xsl:stylesheet [
<!ENTITY nl		"&#x0A;"> <!-- newline -->
<!ENTITY nbsp   "&#160;"> <!-- non-breaking space -->
]>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

	<xsl:output method="text"/>
	
	<xsl:key name="elements" match="*" use="name()"/>
	
	<xsl:template match="/">
		<xsl:text>Summary of Elements that have an id Attribute&nl;&nl;</xsl:text>
		
		<xsl:for-each select="//*[@id][generate-id(.)=generate-id(key('elements',name())[1])][namespace-uri()='']">
			<xsl:sort select="local-name()"/>
			<xsl:value-of select="local-name()"/>			
			<xsl:text> (</xsl:text>
			<xsl:value-of select="count(//*[@id][name()=name(current())])"/>
			<xsl:text>)&nl;</xsl:text>
		</xsl:for-each>
		
		<xsl:text>&nl;There are </xsl:text>
		<xsl:value-of select="count(//*[@id])"/>
		<xsl:text> elements in all.</xsl:text>
		
	</xsl:template>
	
</xsl:stylesheet>

Index: wsdl20.tex
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.tex,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** wsdl20.tex	31 Dec 2004 22:03:03 -0000	1.3
--- wsdl20.tex	18 Jan 2005 00:23:53 -0000	1.4
***************
*** 1,16 ****
! \documentclass{article}
  \usepackage{fuzz}
! \usepackage[pdftitle={Untitled}, pdfauthor={Anonymous}, pdfstartview=FitBH]{hyperref}
  \begin{document}
! \section{ZNotation}
  
  
! This specification uses Z Notation (see )
! to formalize the WSDL component model.
  The Z Notation in this specification has been verified using the
[...9517 lines suppressed...]
!        20020624&
!        JJM&
!        Removed Jeffrey from authors :-(  Added Gudge :-)
!     \\ \hline 
!     
!        20020620&
!        SW&
!        Started adding abstract model
!     \\ \hline 
!     
!        20020406&
!        SW&
!        Created document from WSDL 1.1
!     \\ \hline 
!   \end{tabular}\end{table}
! 
!       
!     
! 
!   \end{document}

Index: wsdl20-ie.html
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-ie.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** wsdl20-ie.html	31 Dec 2004 22:03:02 -0000	1.1
--- wsdl20-ie.html	18 Jan 2005 00:23:53 -0000	1.2
***************
*** 146,150 ****
  <h2><a name="shortcontents">Short Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>2. <a href="#component_model">Component Model</a><br>3. <a href="#eii-types">Types</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br>8. <a href="#conformance">Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="#References">References</a><br>A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br>B. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br>C. <a href="#wsdl-uri-references">URI References for WSDL Components</a> (Non-Normative)<br>D. <a href="#migration">Migrating from WSDL 1.1 to WSDL 2.0</a> (Non-Normative)<br>E. <a href="#other-schemalang">Examples of Specifications of Extension Elements for Alternative Schem
  Language Support.</a> (Non-Normative)<br>F. <a href="#changelog">Part 1 Change Log</a> (Non-Normative)<br></p></div><hr><div class="toc">
! <h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="#intro_ws">Web Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="#notation">Notational Conventions</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="#terminology">WSDL Terminology</a><br>2. <a href="#component_model">Component Model</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.1 <a href="#Description">Description</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1 <a href="#Description_details">The Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2 <a href="#Description_XMLRep">XML Representation of Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2.1 <a href="#Description_targetnamespace_attribute">targetNamespace attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3 <a href="#Description_Mapping">Mapping Description's XML Representation to Component
        Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 <a href="#Interface">Interface</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1 <a href="#Interface_details">The Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1.1 <a href="#Interface_OperationName">Operation Name Mapping Requirement</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2 <a href="#Interface_XMLRep">XML Representation of Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.1 <a href="#Interface_name_attribute">name attribute information item with interface [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.2 <a href="#Interface_extends_attribute">extends attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.3 <a href="#Interface_styleDefault_attribute">styleDefault attribute information item</a><br>&nbsp;&nbsp;&nbsp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.3 <a href="#Interface_Mapping">Mapping Interface's XML Representation to Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 <a href="#InterfaceFault">Interface Fault</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.1 <a href="#InterfaceFault_details">The Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2 <a href="#InterfaceFault_XMLRep">XML Representation of Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.1 <a href="#Interfacefault_name_attribute">name attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.2 <a href="#Interface_element_attribute">element attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.3 <a href="#InterfaceFault_Mapping">Mapping Interface Fault's XML Representation to
  	  Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 <a href="#InterfaceOperation">Interface Operation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1 <a href="#InterfaceOperation_details">The Interface Operation Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1.1 <a href="#InterfaceOperationStyle">Operation Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2 <a href="#RPCStyle">RPC Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.1 <a href="#InterfaceOperation_RPC_Signature_Definition">wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.2 <a href="#InterfaceOperation_RPC_Signature_XMLRep">XML Representation of the wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.3 <a href="#InterfaceOperation_RPC_Signature_Mapping">wrpc:signature Extension Mapping To Properties of an
--- 146,150 ----
  <h2><a name="shortcontents">Short Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>2. <a href="#component_model">Component Model</a><br>3. <a href="#eii-types">Types</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br>8. <a href="#conformance">Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="#References">References</a><br>A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br>B. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br>C. <a href="#wsdl-uri-references">URI References for WSDL Components</a> (Non-Normative)<br>D. <a href="#migration">Migrating from WSDL 1.1 to WSDL 2.0</a> (Non-Normative)<br>E. <a href="#other-schemalang">Examples of Specifications of Extension Elements for Alternative Schem
  Language Support.</a> (Non-Normative)<br>F. <a href="#changelog">Part 1 Change Log</a> (Non-Normative)<br></p></div><hr><div class="toc">
! <h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="#intro_ws">Web Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="#notation">Notational Conventions</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.1 <a href="#rfc2119keywords">RFC 2119 Keywords</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.2 <a href="#rfc2396namespaces">RFC 2396 Namespaces</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.3 <a href="#nsprefixes">Prefixes and Namespaces Used in This Specification</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.4 <a href="#xmlinfosetproperties">XML Infomation Set Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.5 <a href="#wsdlcomponentmodelproperties">WSDL Component Model Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.6 <a href="#znotation">Z Notation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.7 <a href="#bnfpseudschemas">BNF Pseudo-Schemas</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="#terminology">WSDL Terminology</a><br>2. <a href="#component_model">Component Model</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.1 <a href="#Description">Description</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1 <a href="#Description_details">The Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2 <a href="#Description_XMLRep">XML Representation of Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2.1 <a href="#Description_targetnamespace_attribute">targetNamespace attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3 <a href="#Description_Mapping">Mapping Description's XML Representation to Component
        Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 <a href="#Interface">Interface</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1 <a href="#Interface_details">The Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1.1 <a href="#Interface_OperationName">Operation Name Mapping Requirement</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2 <a href="#Interface_XMLRep">XML Representation of Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.1 <a href="#Interface_name_attribute">name attribute information item with interface [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.2 <a href="#Interface_extends_attribute">extends attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.3 <a href="#Interface_styleDefault_attribute">styleDefault attribute information item</a><br>&nbsp;&nbsp;&nbsp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.3 <a href="#Interface_Mapping">Mapping Interface's XML Representation to Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 <a href="#InterfaceFault">Interface Fault</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.1 <a href="#InterfaceFault_details">The Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2 <a href="#InterfaceFault_XMLRep">XML Representation of Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.1 <a href="#Interfacefault_name_attribute">name attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.2 <a href="#Interface_element_attribute">element attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.3 <a href="#InterfaceFault_Mapping">Mapping Interface Fault's XML Representation to
  	  Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 <a href="#InterfaceOperation">Interface Operation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1 <a href="#InterfaceOperation_details">The Interface Operation Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1.1 <a href="#InterfaceOperationStyle">Operation Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2 <a href="#RPCStyle">RPC Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.1 <a href="#InterfaceOperation_RPC_Signature_Definition">wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.2 <a href="#InterfaceOperation_RPC_Signature_XMLRep">XML Representation of the wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.3 <a href="#InterfaceOperation_RPC_Signature_Mapping">wrpc:signature Extension Mapping To Properties of an
***************
*** 170,175 ****
  XML format for describing Web services. WSDL enables one to separate
  the description of the abstract functionality offered by a service
! from concrete details of a service description such as "how" and
! "where" that functionality is offered.</p>
  
  <p>This specification defines a language for describing the abstract
--- 170,175 ----
  XML format for describing Web services. WSDL enables one to separate
  the description of the abstract functionality offered by a service
! from concrete details of a service description such as &ldquo;how&rdquo; and
! &ldquo;where&rdquo; that functionality is offered.</p>
  
  <p>This specification defines a language for describing the abstract
***************
*** 226,323 ****
  <h3><a name="notation"></a>1.2 Notational Conventions</h3>
  
! <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
     [<cite><a href="#RFC2119">IETF RFC 2119</a></cite>].</p>
  
! <p>This specification uses properties from the XML Information Set
! [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]. Such properties are denoted by square
! brackets, e.g. [namespace name].</p>
  
! <p>This specification uses curly brackets (e.g., {property}) to  
!    indicate a property in the WSDL component model, as defined in 
!    <a href="#component_model"><b>2. Component Model</b></a>.
! </p>        
  
! <p>This specification uses namespace prefixes throughout; they are
!    listed in <a href="#tabnsprefixes">Table 1-1</a>. Note that the choice of
!    any namespace prefix is arbitrary and not semantically significant
!    (see [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]).</p>
  
! <a name="tabnsprefixes"></a><br><table border="1" summary="Mapping of prefixes used in this document to their   associated namespace name">
!   <caption>Table 1-1. Prefixes and Namespaces used in this specification</caption>
!   <tbody>
!     <tr>
!       <th rowspan="1" colspan="1">Prefix</th> 
!       <th rowspan="1" colspan="1">Namespace</th>
!       <th rowspan="1" colspan="1">Notes</th>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdl</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl">http://www.w3.org/2004/12/wsdl</a>.  WSDL documents that do NOT
          conform to this schema are not valid WSDL documents. WSDL
          documents that DO conform to this schema and also conform to
          the other constraints defined in this specification are valid
!         WSDL documents.</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdli</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl-instance"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
!         "http://www.w3.org/2004/12/wsdl-instance" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl-instance">http://www.w3.org/2004/12/wsdl-instance</a>. </td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdls</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl-simple-types"</td>
!       <td rowspan="1" colspan="1">This prefix and namespace name are used to refer to the
!       simple types defined by this specification for use in the
!       component model, see <a href="#simpletypes"><b>2.15 Definition of the Simple Types Used in the Component Model</b></a>.</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wrpc</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/rpc"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl/rpc" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl/rpc">http://www.w3.org/2004/12/wsdl/rpc</a>.  WSDL documents that
          do NOT conform to this schema are not valid WSDL
          documents. WSDL documents that DO conform to this schema and
          also conform to the other constraints defined in this
!         specification are valid WSDL documents.  </td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsoap</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/soap12"</td>
!       <td rowspan="2" colspan="1">Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">whttp</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/http"</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">xs</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2001/XMLSchema"</td>
!             <td rowspan="2" colspan="1">Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">xsi</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2001/XMLSchema-instance"</td>
!     </tr>
!   </tbody>
! </table><br>
  
! <p>Namespace names of the general form
!    "http://example.org/..." and
!    "http://example.com/..." represent application or
!    context-dependent URIs [<cite><a href="#RFC2396">IETF RFC 2396</a></cite>].</p>
  
- <a name="zed-ZNotation"></a><div id="twisty-head-zed-ZNotation" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-ZNotation')">ZNotation</a>...</div><div id="twisty-body-zed-ZNotation" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-ZNotation')">ZNotation</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-ZNotation">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-ZNotation">hide all</a>&nbsp;]<br>
  <p>
! This specification uses Z Notation (see [<cite><a href="#ZNotationReferenceManual">Z Notation Reference Manual</a></cite>])
! to formalize the WSDL component model.
  The Z Notation in this specification has been verified using the
! Fuzz 2000 type-checker (see [<cite><a href="#Fuzz2000">Fuzz 2000</a></cite>]).
  </p>
  <p>
  The non-normative <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-i.html">DHTML</a> version of this specification allows the reader to interactively
--- 226,396 ----
  <h3><a name="notation"></a>1.2 Notational Conventions</h3>
  
! <p>All parts of this specification are normative, with the EXCEPTION
!    of notes, pseudo-schemas, examples, and sections explicitly marked as &ldquo;Non-Normative&rdquo;.</p>
! 
! <div class="div3">
! 
! <h4><a name="rfc2119keywords"></a>1.2.1 RFC 2119 Keywords</h4>
! 
! <p>The keywords &ldquo;MUST&rdquo;, &ldquo;MUST NOT&rdquo;,  &ldquo;EQUIRED&rdquo;, &ldquo;SHALL&rdquo;, &ldquo;SHALL NOT&rdquo;,
!    &ldquo;SHOULD&rdquo;, &ldquo;SHOULD NOT&rdquo;, &ldquo;RECOMMENDED&rdquo;, &ldquo;MAY&rdquo;, and &ldquo;OPTIONAL&rdquo; in
     this document are to be interpreted as described in RFC 2119
     [<cite><a href="#RFC2119">IETF RFC 2119</a></cite>].</p>
  
! </div>
  
! <div class="div3">
  
! <h4><a name="rfc2396namespaces"></a>1.2.2 RFC 2396 Namespaces</h4>
  
! <p>Namespace names of the general form:
! <ul>
!    <li>"http://example.org/..." and</li>
!    <li>"http://example.com/..."</li>
! </ul>
!    represent application or
!    context-dependent URIs [<cite><a href="#RFC2396">IETF RFC 2396</a></cite>].</p>
!    
! </div>
! 
! <div class="div3">
! 
! <h4><a name="nsprefixes"></a>1.2.3 Prefixes and Namespaces Used in This Specification</h4>
!         
! <p>This specification uses predefined namespace prefixes throughout; they are
!    given in the following list. Note that the choice of
!    any namespace prefix is arbitrary and not semantically significant
!    (see [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]).
! </p>
!    
!    <dl>
!       <dt>wsdl</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl">http://www.w3.org/2004/12/wsdl</a>.  WSDL documents that do NOT
          conform to this schema are not valid WSDL documents. WSDL
          documents that DO conform to this schema and also conform to
          the other constraints defined in this specification are valid
!         WSDL documents.
!         </p>
!       </dd>
! 
!       <dt>wsdli</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl-instance"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
!         "http://www.w3.org/2004/12/wsdl-instance" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl-instance">http://www.w3.org/2004/12/wsdl-instance</a>. 
!         </p>
!       </dd>
!       
!       <dt>wsdls</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl-simple-types"
!       	<p>
!       	This prefix and namespace name are used to refer to the
!       	simple types defined by this specification for use in the
!       	component model, see <a href="#simpletypes"><b>2.15 Definition of the Simple Types Used in the Component Model</b></a>.
!       	</p>
!       </dd>
! 
!       <dt>wrpc</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/rpc"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl/rpc" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl/rpc">http://www.w3.org/2004/12/wsdl/rpc</a>.  WSDL documents that
          do NOT conform to this schema are not valid WSDL
          documents. WSDL documents that DO conform to this schema and
          also conform to the other constraints defined in this
!         specification are valid WSDL documents.
!         </p>
!       </dd>
  
!       <dt>wsoap</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/soap12"
!       	<p>
!       	Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].
!         </p>
!       </dd>
! 
!       <dt>whttp</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/http"
!       	<p>
!       	Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].
!         </p>
!       </dd>
! 
!       <dt>xs</dt>
!       <dd>
!       	"http://www.w3.org/2001/XMLSchema"
!       	<p>
!       		Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].
!          </p>
!        </dd>
! 
!       <dt>xsi</dt>
!       <dd>
!       	"http://www.w3.org/2001/XMLSchema-instance"
!       	<p>
!       		Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].
!          </p>
!       </dd>
! 
!     </dl>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="xmlinfosetproperties"></a>1.2.4 XML Infomation Set Properties</h4>
  
  <p>
! This specification refers to properties in the XML Information Set [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]. 
! Such properties are denoted by square brackets, e.g. [children], [attributes].
! </p>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="wsdlcomponentmodelproperties"></a>1.2.5 WSDL Component Model Properties</h4>
! 
! <p>This specification defines and refers to properties in the WSDL Component Model <a href="#component_model"><b>2. Component Model</b></a>.
! Such properties are denoted by curly brackets, e.g. {name}, {interfaces}.
! </p>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="znotation"></a>1.2.6 Z Notation</h4>
! 
! <p>
! This specification uses Z Notation [<cite><a href="#ZNotationReferenceManual">Z Notation Reference Manual</a></cite>]
! to formalize the WSDL Component Model.
! Z Notation is a formal specification language that is based on standard mathematical notation. 
  The Z Notation in this specification has been verified using the
! Fuzz 2000 type-checker [<cite><a href="#Fuzz2000">Fuzz 2000</a></cite>].
! </p>
! 
! <p>
! There are two elements of Z Notation syntax that conflict with the notational conventions described in the preceeding sections.
! In Z Notation, square brackets are used to introduce basic sets, e.g. [<span class="zi">ID</span>],
! which conflicts with their use to denote XML Information Set properties
! <a href="#xmlinfosetproperties"><b>1.2.4 XML Infomation Set Properties</b></a>.
! Also, in Z Notation, curly brackets are used to denote set display and set comprehension, e.g. {1<span class="zprefix">,</span> 2<span class="zprefix">,</span> 3},
! which conflicts with their use to denote
! WSDL Component Model properties <a href="#wsdlcomponentmodelproperties"><b>1.2.5 WSDL Component Model Properties</b></a>.
! However, the intended meaning of square and curly brackets should be clear from their context and 
! this minor notational conflict should not cause any confusion.
  </p>
+ 
  <p>
  The non-normative <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-i.html">DHTML</a> version of this specification allows the reader to interactively
***************
*** 326,346 ****
  preferable.
  </p>
  <p>
! The normative version of this specification is compliant with the W3C Character Model (see [<cite><a href="#W3CCharacterModel">Character Model</a></cite>])
! which uses Unicode characters to encode mathematical symbols.
! If these symbols are not rendered correctly by your browser, try viewing the alternate, non-normative 
  <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-ie.html">IE</a> version of this specification.
  </p>
  </div>
  
! <p>All parts of this specification are normative, with the EXCEPTION
!    of notes, pseudo-schemas, examples, and sections explicitly marked as "Non-Normative".</p>
  
  <p>Pseudo-schemas are provided for each component, before the description
     of the component. They use BNF-style conventions for attributes and elements:
!    <em>`?'</em> denotes optionality (i.e. zero or one occurrences), <em>`*'</em>
!    denotes zero or more occurrences, <em>`+'</em> one or more occurrences,
!    <em>`['</em> and <em>`]'</em> are used to form groups, <em>`|'</em>
!    represents choice. Attributes are conventionally assigned a value which corresponds
     to their type, as defined in the normative schema.</p>
  
--- 399,426 ----
  preferable.
  </p>
+ 
  <p>
! The normative version of this specification is compliant with the W3C Character Model [<cite><a href="#W3CCharacterModel">Character Model</a></cite>]
! which uses Unicode characters to encode the mathematical symbols that appear in Z Notation.
! Mozilla Firefox correctly displays Unicode characters, provided that the required fonts are installed.
! Mathematical fonts for Mozilla Firefox can be downloaded from the <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.mozilla.org">Mozilla Web site</a>.
! To display the mathematical symbols correctly in Internet Explorer, use the alternate, non-normative 
  <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-ie.html">IE</a> version of this specification.
  </p>
+ 
  </div>
  
! <div class="div3">
! 
! <h4><a name="bnfpseudoschemas"></a>1.2.7 BNF Pseudo-Schemas</h4>
  
  <p>Pseudo-schemas are provided for each component, before the description
     of the component. They use BNF-style conventions for attributes and elements:
!    "?" denotes optionality (i.e. zero or one occurrences), 
!    "*" denotes zero or more occurrences, 
!    "+" one or more occurrences,
!    "[" and "]" are used to form groups, and
!    "|" represents choice. 
!    Attributes are conventionally assigned a value which corresponds
     to their type, as defined in the normative schema.</p>
  
***************
*** 359,362 ****
--- 439,444 ----
  </div>
  
+ </div>
+ 
  <div class="div2">
    
***************
*** 429,445 ****
    </div>
    
!   <a name="zed-ComponentId"></a><div id="twisty-head-zed-ComponentId" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-ComponentId')">ComponentId</a>...</div><div id="twisty-body-zed-ComponentId" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-ComponentId')">ComponentId</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-ComponentId">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-ComponentId">hide all</a>&nbsp;]<br>
!   
    
    A component is an identified, typed collection of properties.
    
!   
!   
    Let <span class="zi">Identifier</span> denote the set of component identifiers:
    
!   
!   
!    Let <span class="zi">id</span> be the identifier of the component.
!   
    
    <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Identifier</span></span></td><td></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">id</span> <span class="zinfix">:</span> <span class="zi">ID</span></span></td></tr><tr><td class="bl"></td><td class="b"></td><td></td></tr></tbody></table>
--- 511,527 ----
    </div>
    
!   <a name="zed-Identifier"></a><div id="twisty-head-zed-Identifier" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-Identifier')">Identifier</a>...</div><div id="twisty-body-zed-Identifier" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-Identifier')">Identifier</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-Identifier">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-Identifier">hide all</a>&nbsp;]<br>
    
+   <p>
    A component is an identified, typed collection of properties.
+   </p>
    
!   <p>
    Let <span class="zi">Identifier</span> denote the set of component identifiers:
+   </p>
    
!   <ul>
!    <li><p>Let <span class="zi">id</span> be the identifier of the component.</p></li>
!   </ul>
    
    <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Identifier</span></span></td><td></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">id</span> <span class="zinfix">:</span> <span class="zi">ID</span></span></td></tr><tr><td class="bl"></td><td class="b"></td><td></td></tr></tbody></table>
***************
*** 447,450 ****
--- 529,536 ----
    <div class="zsee"><span class="zsmall">See<span class="zi"> <a href="#zed-ID">ID</a>.</span></span></div>
    
+   </div>
+   
+   <a name="zed-Id"></a><div id="twisty-head-zed-Id" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-Id')">Id</a>...</div><div id="twisty-body-zed-Id" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-Id')">Id</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-Id">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-Id">hide all</a>&nbsp;]<br>
+   
    <table class="zaxdef"><col class="zaxdef1"><col class="zaxdef2"><tbody><tr><td class="zaxdefabovewheretext" colspan="2"><span class="zi">Id</span> <span class="zinfix">:</span> <span class="zi">Component</span><span class="zinfix"><span class="mathc">t</span></span><span class="zi">ID</span></td></tr><tr><td class="bl"></td><td></td></tr><tr><td class="zaxdefbelowwheretext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Description</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">description</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">ElementDeclaration</span> <span class="zinfix"><span class="smbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">elementDecl</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">TypeDefinition</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">typeDef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Interface</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">interface</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <spn class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceFault</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">interfaceFault</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceOperation</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">interfaceOp</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">MessageReference</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">messageRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">FaultReference</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">faultRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Feature</span> <span class="zinfix"><span class="symol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">feature</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Property</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">property</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Binding</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">binding</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x/span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingFault</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">bindingFault</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingOperation</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">bindingOp</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><spn class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingMessageReference</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">bindingMessageRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Service</span> <span class="zinfix"><span class="symbol">&middot;</span></span> <span class="zi">Id</span>(<span class="zi">service</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix"><span class="symbol">"</span></span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Endpoint</span> <span class="zinfix"><span class="symbol">&middot;</san></span> <span class="zi">Id</span>(<span class="zi">endpoint</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr></tbody></table>
    
***************
*** 478,481 ****
--- 564,571 ----
    <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Components</span></span></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">ComponentModel</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">descriptionComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">Description</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">elementDeclComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">ElementDeclaration</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">typeDefComps</span> <span class="zinfix">:</span><span class="zprefix"><span clas="doublestruck">P</span></span><span class="zi">TypeDefinition</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">Interface</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceFaultComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">InterfaceFault</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceOpComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">InterfaceOperation</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">messageRefComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="dublestruck">P</span></span><span class="zi">MessageReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">faultRefComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">FaultReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">featureComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">Feature</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">propertyComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">Property</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span>span class="zi">Binding</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingFaultComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">BindingFault</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingOpComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">BindingOperation</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingMessageRefComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">BindingMessageReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">serviceComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span>span class="zi">Service</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">endpointComps</span> <span class="zinfix">:</span><span class="zprefix"><span class="doublestruck">P</span></span><span class="zi">Endpoint</span></span></td></tr><tr><td class="bl"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">descriptionComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Description</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">description</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematxt"><span class="zi">elementDeclComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">ElementDeclaration</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">elementDecl</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">typeDefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">TypeDefinition</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">typeDef</span>(<span class="zi">x</span>)<span class="zifix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Interface</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interface</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceFaultComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceFault</span> <span class="zinfi">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interfaceFault</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceOpComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceOperation</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interfaceOp</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspn="3"><span class="zschematext"><span class="zi">messageRefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">MessageReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">messageRef</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">faultRefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">FaultReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">faultRef</span>(<span class="zi>x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">featureComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Feature</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">feature</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">propertyComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Property</span> <span clas="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">property</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Binding</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">binding</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span clas="zschematext"><span class="zi">bindingFaultComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingFault</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingFault</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingOpComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingOperation</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingOp</span>(<span class="zi">x</span>)<san class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingMessageRefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingMessageReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingMessageRef</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">serviceComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Servce</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">service</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">endpointComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Endpoint</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">endpoint</span>(<span class="zi">x</span>)<span class="zinfix"><span class="symbol">&Icirc;</span></span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="bl"></td><td class="b"></td><td></td></tr></tbody></table>    
+   </div>
+   
+   <a name="zed-ComponentIds"></a><div id="twisty-head-zed-ComponentIds" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-ComponentIds')">ComponentIds</a>...</div><div id="twisty-body-zed-ComponentIds" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-ComponentIds')">ComponentIds</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-ComponentIds">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-ComponentIds">hide all</a>&nbsp;]<br>
+   
     <p>
    The component model has additional constraints which are described in the following sections.
***************
*** 504,508 ****
    representation of a component to the component itself, an optional
    property that is absent in the component in question is described as
!   being "empty". Unless otherwise specified, when a property is identified
    as being a collection (a set or a list), its value may be a 0-element
    (empty) collection. In order to simplify the presentation of the rules
--- 594,598 ----
    representation of a component to the component itself, an optional
    property that is absent in the component in question is described as
!   being &ldquo;empty&rdquo;. Unless otherwise specified, when a property is identified
    as being a collection (a set or a list), its value may be a 0-element
    (empty) collection. In order to simplify the presentation of the rules
***************
*** 549,558 ****
    <em>wsdls:string</em> (but the opposite is not true). Hence, for
    brevity, in the sections describing the mapping from the XML Infoset
!   representation of a WSDL document to its component model we use "actual
!   values" as defined by the XML Schema specification [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>]
    as if they were members of the value space of the corresponding
!   WSDL-defined simple types. So, for instance, we talk of "assigning the
    actual value of the "name" <em>attribute information item</em> (a <em>xs:string</em>)
!   "to the {name} property (of type <em>wsdls:string</em>)" of
    a certain component.
    </p>
--- 639,648 ----
    <em>wsdls:string</em> (but the opposite is not true). Hence, for
    brevity, in the sections describing the mapping from the XML Infoset
!   representation of a WSDL document to its component model we use &ldquo;actual
!   values&rdquo; as defined by the XML Schema specification [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>]
    as if they were members of the value space of the corresponding
!   WSDL-defined simple types. So, for instance, we talk of &ldquo;assigning the
    actual value of the "name" <em>attribute information item</em> (a <em>xs:string</em>)
!   to the {name} property (of type <em>wsdls:string</em>)&rdquo; of
    a certain component.
    </p>
***************
*** 941,944 ****
--- 1031,1036 ----
  	  <a name="tab_Description_Mapping"></a><br><table border="1">
  	    <caption>Table 2-1. Mapping between Description Component Properties and XML Representation</caption>
+ 		<col width="75" span="1">
+   		<col width="300" span="1">
  	    <tbody>
  		  <tr>
***************
*** 1132,1137 ****
  	  or the token <em>out</em>).  If the {message content model}
  	  property of any of these Message Reference components has a value
! 	  of "#any", or if more than one of these Message Reference components
! 	  has a value of "#none", or if the qualified names of the global
  	  element declarations specified by the values of the {element}
  	  properties of these Message Reference components are not unique
--- 1224,1229 ----
  	  or the token <em>out</em>).  If the {message content model}
  	  property of any of these Message Reference components has a value
! 	  of &ldquo;#any&rdquo;, or if more than one of these Message Reference components
! 	  has a value of &ldquo;#none&rdquo;, or if the qualified names of the global
  	  element declarations specified by the values of the {element}
  	  properties of these Message Reference components are not unique
***************
*** 1344,1347 ****
--- 1436,1441 ----
  	  <a name="tab_Interface_Mapping"></a><br><table border="1">
  	    <caption>Table 2-2. Mapping between Interface Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 1478,1482 ****
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or "payload" of the fault.  </p>
              </li>
  
--- 1572,1576 ----
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or &ldquo;payload&rdquo; of the fault.  </p>
              </li>
  
***************
*** 1680,1683 ****
--- 1774,1779 ----
  	  <a name="tab_InterfaceFault_Mapping"></a><br><table border="1">
  	    <caption>Table 2-3. Mapping between Interface Fault Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 1941,1945 ****
  	   <li><p> The LocalPart of the output element's QName is
  	   obtained by concatenating the name of the operation and
! 	   the string value "Response".</p></li>
  	
  	   <li><p>Input and output elements MUST both be in the
--- 2037,2041 ----
  	   <li><p> The LocalPart of the output element's QName is
  	   obtained by concatenating the name of the operation and
! 	   the string value &ldquo;Response&rdquo;.</p></li>
  	
  	   <li><p>Input and output elements MUST both be in the
***************
*** 2106,2109 ****
--- 2202,2207 ----
  	  <a name="tab_InterfaceOperation_RPC_Signature_Mapping"></a><br><table border="1">
  	    <caption>Table 2-4. Mapping of a <code>wrpc:signature</code>  Extension to Interface Operation Component Properties</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2333,2336 ****
--- 2431,2436 ----
  	  <a name="tab_InterfaceOperation_Mapping"></a><br><table border="1">
  	    <caption>Table 2-5. Mapping between Interface Operation Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2469,2473 ****
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or "payload" of the message. When
              the {message content model} property has the value
              <em>#any</em> or <em>#none</em> the {element}
--- 2569,2573 ----
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or &ldquo;payload&rdquo; of the message. When
              the {message content model} property has the value
              <em>#any</em> or <em>#none</em> the {element}
***************
*** 2670,2673 ****
--- 2770,2775 ----
  	  <a name="tab_MessageReference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-6. Mapping between Message Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2988,2991 ****
--- 3090,3095 ----
  	  <a name="tab_FaultReference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-7. Mapping between Fault Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 3062,3067 ****
        between communicating parties.  Although WSDL poses no
        constraints on the potential scope of such features, examples
!       might include "reliability", "security", "correlation", and
!       "routing".  The presence of a feature component in a WSDL description 
        indicates that the service supports the feature and may require a
        requester agent that interacts with the service to use that feature.
--- 3166,3171 ----
        between communicating parties.  Although WSDL poses no
        constraints on the potential scope of such features, examples
!       might include &ldquo;reliability&rdquo;, &ldquo;security&rdquo;, &ldquo;correlation&rdquo;, and
!       &ldquo;routing&rdquo;.  The presence of a feature component in a WSDL description 
        indicates that the service supports the feature and may require a
        requester agent that interacts with the service to use that feature.
***************
*** 3337,3340 ****
--- 3441,3446 ----
  	  <a name="tab_Feature_Mapping"></a><br><table border="1">
  	    <caption>Table 2-8. Mapping between Feature Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 3368,3372 ****
  <h4><a name="Property_details"></a>2.8.1 The Property Component</h4>
  	  
!           <p>A "property" in the Features and Properties architecture
            represents a named runtime value which affects the behaviour
            of some aspect of a Web service interaction, much like an
--- 3474,3478 ----
  <h4><a name="Property_details"></a>2.8.1 The Property Component</h4>
  	  
!           <p>A &ldquo;property&rdquo; in the Features and Properties architecture
            represents a named runtime value which affects the behaviour
            of some aspect of a Web service interaction, much like an
***************
*** 3462,3467 ****
  	    <p>At runtime, the behavior of features, (SOAP) modules
  	    and bindings may be affected by the values of in-scope
! 	    properties. Properties combine into a virtual "execution
! 	    context" which maps property names (URIs) to
  	    constraints. Each property URI MAY therefore be associated
  	    with AT MOST one property constraint for a given
--- 3568,3573 ----
  	    <p>At runtime, the behavior of features, (SOAP) modules
  	    and bindings may be affected by the values of in-scope
! 	    properties. Properties combine into a virtual &ldquo;execution
! 	    context&rdquo; which maps property names (URIs) to
  	    constraints. Each property URI MAY therefore be associated
  	    with AT MOST one property constraint for a given
***************
*** 3531,3536 ****
  	    </ul>
  	    
! 	    <p>Note that, in the text above, "property constraint"
! 	    (or, simply, "constraint") is used to mean EITHER a
  	    <code>constraint</code>  inside a property component OR a
  	    <code>value</code> , since <code>value</code>  may be considered a
--- 3637,3642 ----
  	    </ul>
  	    
! 	    <p>Note that, in the text above, &ldquo;property constraint&rdquo;
! 	    (or, simply, &ldquo;constraint&rdquo;) is used to mean EITHER a
  	    <code>constraint</code>  inside a property component OR a
  	    <code>value</code> , since <code>value</code>  may be considered a
***************
*** 3719,3722 ****
--- 3825,3830 ----
  	  <a name="tab_Property_Mapping"></a><br><table border="1">
  	    <caption>Table 2-9. Mapping between Property Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4029,4032 ****
--- 4137,4142 ----
  	  <a name="tab_Binding_Mapping"></a><br><table border="1">
  	    <caption>Table 2-10. Mapping between Binding Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4252,4256 ****
      <caption>Table 2-11. Mapping between Binding Fault Component Properties
      and XML Representation</caption>
! 
      <tbody>
  		  <tr>
--- 4362,4367 ----
      <caption>Table 2-11. Mapping between Binding Fault Component Properties
      and XML Representation</caption>
! 	<col span="1">
! 	<col span="1">
      <tbody>
  		  <tr>
***************
*** 4457,4460 ****
--- 4568,4573 ----
  	  <a name="tab_Binding_Operation_Mapping"></a><br><table border="1">
  	    <caption>Table 2-12. Mapping between Binding Operation Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4673,4676 ****
--- 4786,4791 ----
  	  <a name="tab_Binding_Message_Reference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-13. Mapping between Binding Message Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4910,4913 ****
--- 5025,5030 ----
  	  <a name="tab_Service_Mapping"></a><br><table border="1">
  	    <caption>Table 2-14. Mapping between Service Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 5186,5189 ****
--- 5303,5308 ----
  	  <a name="tab_Endpoint_Mapping"></a><br><table border="1">
  	    <caption>Table 2-15. Mapping between Endpoint Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 5243,5247 ****
      such as XML 1.1 [<cite><a href="#XML11">XML 1.1</a></cite>].
      </p>
!     <p>All types defined in this section are formally assigned to the "http://www.w3.org/2004/12/wsdl-simple-types"
      namespace. All references to them in this specification are made via qualified
      names that use the <em>wsdls</em> prefix. It should be noted though
--- 5362,5366 ----
      such as XML 1.1 [<cite><a href="#XML11">XML 1.1</a></cite>].
      </p>
!     <p>All types defined in this section are formally assigned to the &ldquo;http://www.w3.org/2004/12/wsdl-simple-types&rdquo;
      namespace. All references to them in this specification are made via qualified
      names that use the <em>wsdls</em> prefix. It should be noted though
***************
*** 5792,5796 ****
  for an alternative schema language MUST include the declaration of an <em>element information item</em>,
  intended to appear as a child of the <code>wsdl:types</code>  <em>element information item</em>, which
! references, names, and locates the schema instance (an "import"
  <em>element information item</em>). The extension specification SHOULD, if necessary, define
  additional properties of <a href="#Description_details"><b>2.1.1 The Description Component</b></a> (and
--- 5911,5915 ----
  for an alternative schema language MUST include the declaration of an <em>element information item</em>,
  intended to appear as a child of the <code>wsdl:types</code>  <em>element information item</em>, which
! references, names, and locates the schema instance (an &ldquo;import&rdquo;
  <em>element information item</em>). The extension specification SHOULD, if necessary, define
  additional properties of <a href="#Description_details"><b>2.1.1 The Description Component</b></a> (and
***************
*** 5861,5865 ****
  document.  The included components can be referenced by QName. Note
  that because all WSDL descriptions have a target namespace,
! no-namespace includes (sometimes known as "chameleon includes") never
  occur in WSDL.</p>
  
--- 5980,5984 ----
  document.  The included components can be referenced by QName. Note
  that because all WSDL descriptions have a target namespace,
! no-namespace includes (sometimes known as &ldquo;chameleon includes&rdquo;) never
  occur in WSDL.</p>
  
***************
*** 6781,6784 ****
--- 6900,6904 ----
  	    http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The <a href="http://www.w3.org/TR/xmlschema-2/">latest version of
  	    XML Schema Part 2</a> is available at
+ 
  	    http://www.w3.org/TR/xmlschema-2.
  	  </dd>
***************
*** 6845,6857 ****
  
  	  <dt class="label"><a name="ISO10646"></a>[ISO/IEC 10646] </dt><dd>
! 	  <cite>ISO/IEC 10646-1:2000. Information technology --
  	  Universal Multiple-Octet Coded Character Set (UCS) --
! 	  Part 1: Architecture and Basic Multilingual Plane</cite>
  	  (See http://www.iso.ch for the latest version.)
  	  </dd>
  
  	  <dt class="label"><a name="unicode"></a>[Unicode] </dt><dd>
! 	  <cite><a href="http://www.unicode.org/versions/Unicode4.0.1/">The Unicode Consortium, The Unicode Standard, Version 4</a></cite>
! 	  , ISBN 0-321-18578-1, as updated from time to time by the publication of new
  	  versions. (See http://www.unicode.org/unicode/standard/versions  for the
  	  latest version and additional information on versions of the standard and
--- 6965,6977 ----
  
  	  <dt class="label"><a name="ISO10646"></a>[ISO/IEC 10646] </dt><dd>
! 	  <cite><a href="http://www.iso.ch">ISO/IEC 10646-1:2000. Information technology --
  	  Universal Multiple-Octet Coded Character Set (UCS) --
! 	  Part 1: Architecture and Basic Multilingual Plane</a></cite>
  	  (See http://www.iso.ch for the latest version.)
  	  </dd>
  
  	  <dt class="label"><a name="unicode"></a>[Unicode] </dt><dd>
! 	  <cite><a href="http://www.unicode.org/versions/Unicode4.0.1/">The Unicode Consortium, The Unicode Standard, Version 4</a></cite>, 
! 	  ISBN 0-321-18578-1, as updated from time to time by the publication of new
  	  versions. (See http://www.unicode.org/unicode/standard/versions  for the
  	  latest version and additional information on versions of the standard and
***************
*** 7263,7267 ****
          identifier, where the fragment identifier is typically constructed from
          the {name} property of the component and the {name} properties
!         of its ancestors as a path according to <a href="#uri-ref-frag-table">Table C-1</a>. In that table the first column
          gives the name of the WSDL component. 
  		Columns two through five specify the identifiers that
--- 7383,7387 ----
          identifier, where the fragment identifier is typically constructed from
          the {name} property of the component and the {name} properties
!         of its ancestors as a path according to <a href="#uriRefFragTable">Table C-1</a>. In that table the first column
          gives the name of the WSDL component. 
  		Columns two through five specify the identifiers that
***************
*** 7272,7277 ****
          pointer part in column six.</p>
  
! 	<a name="uri-ref-frag-table"></a><br><table border="1">
  	  <caption>Table C-1. Rules for determining pointer parts for WSDL components</caption>
  	<tbody>
  	<tr>
--- 7392,7403 ----
          pointer part in column six.</p>
  
! 	<a name="uriRefFragTable"></a><br><table border="1">
  	  <caption>Table C-1. Rules for determining pointer parts for WSDL components</caption>
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
  	<tbody>
  	<tr>
***************
*** 7721,7724 ****
--- 7847,7853 ----
  
  <a name="wsdl-changelog-table"></a><br><table border="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
    <tbody>
  
***************
*** 7728,7731 ****
--- 7857,7872 ----
        <th rowspan="1" colspan="1">Description</th>
      </tr>
+     
+     <tr>
+     	<td rowspan="1" colspan="1">20050118</td>
+     	<td rowspan="1" colspan="1">AGR</td>
+     	<td rowspan="1" colspan="1">Edited Notational Conventions and References sections.</td>
+     </tr>
+     
+     <tr>
+     	<td rowspan="1" colspan="1">20050117</td>
+     	<td rowspan="1" colspan="1">AGR</td>
+     	<td rowspan="1" colspan="1">Edited table markup to simplify PDF generation.</td>
+     </tr>
  
      <tr>
***************
*** 8473,8498 ****
  	  <td rowspan="1" colspan="1">Skeleton Feature and Property components</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030305</td>
  	  <td rowspan="1" colspan="1">MJG</td>
  	  <td rowspan="1" colspan="1">Merged ComponentModelForMEPs branch (1.46.2.5) into main
! 	  branch (1.54). Below is change log from the branch:
  
! 	  <a name="ComponentModelForMEPs_branch"></a><br><table border="1">
! 	  <tbody>
!     <tr>
!       <th rowspan="1" colspan="1">Date</th>
!       <th rowspan="1" colspan="1">Author</th>
!       <th rowspan="1" colspan="1">Description</th>
!     </tr>
! 	  	<tr>
  	  <td rowspan="1" colspan="1">20030220</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Minor wording change at suggestion of JJM</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030212</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Updated component model to include Fault Reference
  	  component. Associated changes to Port Type Operation component</td>
  	</tr>
--- 8614,8634 ----
  	  <td rowspan="1" colspan="1">Skeleton Feature and Property components</td>
  	</tr>
+ 	
  	<tr>
  	  <td rowspan="1" colspan="1">20030305</td>
  	  <td rowspan="1" colspan="1">MJG</td>
  	  <td rowspan="1" colspan="1">Merged ComponentModelForMEPs branch (1.46.2.5) into main
! 	  branch (1.54). Below is change log from the branch:</td>
! 	</tr>
  
!   	<tr>
  	  <td rowspan="1" colspan="1">20030220</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Minor wording change at suggestion of JJM</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030212</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Updated component model to include Fault Reference
  	  component. Associated changes to Port Type Operation component</td>
  	</tr>
***************
*** 8500,8510 ****
  	  <td rowspan="1" colspan="1">20030211</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Changes to component model to support MEPs</td>
  	</tr>
- 	  </tbody>
- 	  </table><br>
  
- 	  </td>
- 	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030228</td>
--- 8636,8642 ----
  	  <td rowspan="1" colspan="1">20030211</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Changes to component model to support MEPs</td>
  	</tr>
  
  	<tr>
  	  <td rowspan="1" colspan="1">20030228</td>
***************
*** 8548,8564 ****
  	  <td rowspan="1" colspan="1">Merged operationnames branch (1.37.2.3) into main
  	  branch (1.46). Below is the change log
! 	  from the branch.
  
- 	  <a name="operationnames_branch"></a><br><table border="1">
- 	  <tbody>
-     <tr>
-       <th rowspan="1" colspan="1">Date</th>
-       <th rowspan="1" colspan="1">Author</th>
-       <th rowspan="1" colspan="1">Description</th>
-     </tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Updated binding section to match changes to port type
  	  section WRT operation names</td>
  	</tr>
--- 8680,8690 ----
  	  <td rowspan="1" colspan="1">Merged operationnames branch (1.37.2.3) into main
  	  branch (1.46). Below is the change log
! 	  from the branch.</td>
! 	</tr>
  
  	<tr>
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Updated binding section to match changes to port type
  	  section WRT operation names</td>
  	</tr>
***************
*** 8566,8570 ****
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Added best practice note on operation names and target
  	  namespaces to <a href="#InterfaceOperation_details"><b>2.4.1 The Interface Operation Component</b></a></td>
  	</tr>
--- 8692,8696 ----
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Added best practice note on operation names and target
  	  namespaces to <a href="#InterfaceOperation_details"><b>2.4.1 The Interface Operation Component</b></a></td>
  	</tr>
***************
*** 8572,8581 ****
  	  <td rowspan="1" colspan="1">20030122</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Started work on making operations have unique names</td>
! 	</tr>
! 	</tbody>
! 	</table><br>
! 	  </td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030213</td>
--- 8698,8704 ----
  	  <td rowspan="1" colspan="1">20030122</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Started work on making operations have unique names</td>
  	</tr>
+ 
  	<tr>
  	  <td rowspan="1" colspan="1">20030213</td>

--- NEW FILE: xmlspec2latex.xsl ---
<?xml version="1.0" encoding="UTF-8"?>

<!-- Version: $Id: xmlspec2latex.xsl,v 1.1 2005/01/18 00:23:53 aryman Exp $ -->

<!-- Stylesheet for Transforming XML Spec to LaTeX -->
<!-- Author: Arthur Ryman  <ryman@ca.ibm.com> -->
<!-- Date Created: 2005-01-03 -->

<!-- 
	This stylesheet is copyright (c) 2005 by its authors.  Free
	distribution and modification is permitted, including adding to
	the list of authors and copyright holders, as long as this
	copyright notice is maintained. 
-->

<!-- 
	This stylesheet transforms documents marked up
	using the XML Spec tags, including the modifications
	for the WSDL spec, and ZML to LaTeX. The LaTeX document
	can be typechecked using Fuzz 2000 and formatted as
	PDF using pdflatex.
-->

<!-- 
	ChangeLog:
	
	2005-01-03: Arthur Ryman <ryman@ca.ibm.com>
	- created from xmlspec.xsl and xmlspec-wsdl.xsl
	
-->

<!DOCTYPE xsl:stylesheet [
<!ENTITY nl		"&#x0A;"> 		<!-- newline -->
<!ENTITY nbsp   "&#160;"> 		<!-- non-breaking space -->
<!ENTITY ldquo  "&#38;#x201C;">	<!-- left double quote -->
<!ENTITY rdquo  "&#38;#x201D;">	<!-- right double quote -->
]>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:z="http://www.w3.org/2004/zml" version="1.0">

  <xsl:import href="zml2latex.xsl"/>

  <xsl:key name="ids" match="*[@id]" use="@id"/>
  <xsl:key name="specrefs" match="specref" use="@ref"/>

	<xsl:output method="text" encoding="UTF-8" indent="no" />

	<xsl:preserve-space elements="*" />

	<xsl:variable name="nl">
		<xsl:text>&nl;</xsl:text>
	</xsl:variable>

	<xsl:variable name="title">
		<xsl:choose>
			<xsl:when test="/spec/header/title">
          		<xsl:apply-templates select="/spec/header/title"/>
          		<xsl:if test="/spec/header/version">
            		<xsl:text> </xsl:text>
            		<xsl:apply-templates select="/spec/header/version"/>
          		</xsl:if>
			</xsl:when>
			<xsl:otherwise>
				<xsl:text>Untitled</xsl:text>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:variable>

	<xsl:variable name="author">
		<xsl:choose>
			<xsl:when test="/html/head/meta[@name='author']/@content">
				<xsl:value-of select="/html/head/meta[@name='author']/@content" />
			</xsl:when>
			<xsl:otherwise>
				<xsl:text>Anonymous</xsl:text>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:variable>

	<xsl:variable name="date">
        <xsl:if test="/spec/header/pubdate/day">
          <xsl:apply-templates select="/spec/header/pubdate/day"/>
          <xsl:text> </xsl:text>
        </xsl:if>
        <xsl:apply-templates select="/spec/header/pubdate/month"/>
        <xsl:text> </xsl:text>
        <xsl:apply-templates select="/spec/header/pubdate/year"/>
	</xsl:variable>

	<xsl:template match="/spec">

		<xsl:text>\documentclass{report}&nl;</xsl:text>

		<xsl:text>\usepackage{fuzz}&nl;</xsl:text>
		<xsl:text>\usepackage{graphicx}&nl;</xsl:text>
		<xsl:text>\usepackage[pdftitle={</xsl:text>
		<xsl:value-of select="$title" />
		<xsl:text>}, pdfauthor={</xsl:text>
		<xsl:value-of select="$author" />
		<xsl:text>}, pdfstartview=Fit]{hyperref}&nl;</xsl:text>
		
		<xsl:text>\begin{document}&nl;</xsl:text>
		
		<xsl:call-template name="titlepage" />
		
		<xsl:apply-templates select="header/abstract" />
		
		<xsl:apply-templates select="header/status" />

		<xsl:text>\clearpage&nl;</xsl:text>
		
		<xsl:text>\tableofcontents&nl;</xsl:text>
		
		<xsl:apply-templates select="body" />
		
		<xsl:text>\appendix&nl;</xsl:text>
		
		<xsl:apply-templates select="back" />

		<xsl:text>\end{document}&nl;</xsl:text>
		
	</xsl:template>
	
	<xsl:template name="titlepage">
	
		<xsl:text>\begin{titlepage}&nl;</xsl:text>
		
		<xsl:text>\begin{flushleft}&nl;</xsl:text>
		
		<xsl:text>\includegraphics[width=72pt,height=48pt]{images/w3c_home.png}&nl;&nl;</xsl:text>
		
		<xsl:text>\vspace{36pt}&nl;</xsl:text>
		
		<xsl:text>\LARGE{</xsl:text>
		<xsl:value-of select="$title" />
		<xsl:text>}&nl;&nl;</xsl:text>
		
		<xsl:text>\vspace{36pt}&nl;</xsl:text>
		
		<xsl:text>\Large{</xsl:text>
        <xsl:apply-templates select="/spec/header/w3c-doctype"/>
        <xsl:text> </xsl:text>
        <xsl:value-of select="$date" />
        <xsl:text>}&nl;&nl;</xsl:text>
        
 		<xsl:text>\vspace{36pt}&nl;</xsl:text>
 
 		<xsl:text>\normalsize{&nl;</xsl:text>
 		
        <xsl:text>\begin{description}&nl;</xsl:text>
        	<xsl:apply-templates select="/spec/header/publoc"/>
        	<xsl:apply-templates select="/spec/header/latestloc"/>
        	<xsl:apply-templates select="/spec/header/prevlocs"/>
        	<xsl:apply-templates select="/spec/header/authlist"/>
        <xsl:text>\end{description}&nl;&nl;</xsl:text>

      	<xsl:apply-templates select="/spec/header/altlocs"/>
        
        <xsl:text>}&nl;&nl;</xsl:text>
        
  		<xsl:text>\vspace{12pt}&nl;</xsl:text>
  		
        <xsl:text>\small{&nl;</xsl:text>
      <xsl:choose>
        <xsl:when test="/spec/header/copyright">
          <xsl:apply-templates select="/spec/header/copyright"/>
        </xsl:when>
        <xsl:otherwise>
        	<xsl:text>\href{http://www.w3.org/Consortium/Legal/ipr-notice#Copyright}{Copyright}\ \copyright\ </xsl:text>
            <xsl:apply-templates select="/spec/header/pubdate/year"/>
            <xsl:text>\ \href{http://www.w3.org/}{W3C}\ \textregistered\ 
            (\href{http://www.csail.mit.edu/}{MIT},
            \href{http://www.ercim.org/}{ERCIM}, 
            \href{http://www.keio.ac.jp/}{Keio}), All Rights Reserved. 
            W3C 
            \href{http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer}{liability}, 
            \href{http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks}{trademark} and 
            \href{http://www.w3.org/Consortium/Legal/copyright-documents}{document use}
            rules apply.
            </xsl:text>
        </xsl:otherwise>
      </xsl:choose>
      	<xsl:text>}&nl;&nl;</xsl:text>

		<xsl:text>\end{flushleft}&nl;</xsl:text>

		<xsl:text>\end{titlepage}&nl;</xsl:text>
		
	</xsl:template>
	
	<!-- publoc: location of current version of spec -->
 	<xsl:template match="publoc">
    	<xsl:text>\item[This version:] \ &nl;</xsl:text>
      	<xsl:apply-templates/>
  	</xsl:template>

 	<!-- latestloc: latest location for this spec -->
	<xsl:template match="latestloc">
    	<xsl:text>\item[Latest version:] \ &nl;</xsl:text>
		<xsl:apply-templates/>
	</xsl:template>

  	<!-- prevlocs: previous locations for this spec -->
  	<xsl:template match="prevlocs">
    	<xsl:text>\item[Previous versions:] \ &nl;</xsl:text>
      	<xsl:apply-templates/>
  	</xsl:template>

  <!-- loc: a Web location -->
  <!-- outside the header, it's a normal cross-reference -->
  <xsl:template match="loc">
  	<xsl:text>\href{</xsl:text>
  	<xsl:value-of select="@href" />
  	<xsl:text>}{</xsl:text>
  	<xsl:value-of select="." />
  	<xsl:text>}</xsl:text>
  </xsl:template>
  
  <!-- authlist: list of authors (editors, really) -->
  <!-- called in enforced order from header's template, in <dl>
       context -->
  <xsl:template match="authlist">
      <xsl:text>\item[Editor</xsl:text>
      <xsl:if test="count(author) > 1">
        <xsl:text>s</xsl:text>
      </xsl:if>
      <xsl:text>:] \ &nl;</xsl:text>
    <xsl:apply-templates/>
  </xsl:template>

  <!-- author: an editor of a spec -->
  <!-- only appears in authlist -->
  <xsl:template match="author">
      <xsl:apply-templates select="name" />
      <xsl:text>, </xsl:text>
      <xsl:apply-templates select="affiliation" />
      <xsl:if test="@role = '2e'">
		<xsl:text> - Second Edition</xsl:text>
      </xsl:if>
      <xsl:text>\\&nl;</xsl:text>
  </xsl:template>

  <xsl:template match="altlocs">
      <xsl:text>This document is also available </xsl:text>
      <xsl:text>in these non-normative formats: </xsl:text>
      <xsl:for-each select="loc">
        <xsl:if test="position() &gt; 1">
          <xsl:if test="last() &gt; 2">
            <xsl:text>, </xsl:text>
          </xsl:if>
          <xsl:if test="last() = 2">
            <xsl:text> </xsl:text>
          </xsl:if>
        </xsl:if>
        <xsl:if test="position() = last() and position() &gt; 1">
        	<xsl:text>and </xsl:text>
        </xsl:if>
        <xsl:text>\href{</xsl:text>
        <xsl:value-of select="@href" />
        <xsl:text>}{</xsl:text>
        <xsl:value-of select="." />
        <xsl:text>}</xsl:text>
      </xsl:for-each>
      <xsl:text>.&nl;&nl;</xsl:text>
  </xsl:template>

	<xsl:template match="abstract">
		<xsl:text>\begin{abstract}&nl;</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{abstract}&nl;</xsl:text>
	</xsl:template>
	
  <!-- status: the status of the spec -->
  <xsl:template match="status">
  	<xsl:text>\hypertarget{status}{}&nl;
  	\section*{Status of this Document}&nl;</xsl:text>
      <xsl:if test="/spec/@role='editors-copy'">
        <xsl:text>{\bf This document is an editors' copy that has
        no official standing.}&nl;&nl;</xsl:text>
      </xsl:if>
      <xsl:apply-templates/>
  </xsl:template>

	<!-- the 3 special LaTeX characters must be escaped in Z Notation-->
	<xsl:template match="z:math//text() | z:schema//text() | z:gendef//text() | z:axdef//text() | z:zed//text()">
		<xsl:call-template name="escape-text">
			<xsl:with-param name="text" select="." />
			<xsl:with-param name="ttext" select="translate(.,'#{}','###')" />
		</xsl:call-template>
	</xsl:template>

	<!-- the 10 special LaTeX characters and character entities must be escaped in normal text -->
	<xsl:template match="text()">
		<xsl:call-template name="escape-text">
			<xsl:with-param name="text" select="." />
			<xsl:with-param name="ttext" select="translate(.,'#$%&amp;~_^\{}&ldquo;&rdquo;','############')" />
		</xsl:call-template>
	</xsl:template>
	
	<!-- escape special LaTeX characters 
		text - the text to be escaped
		ttext - the text with each special character translated to '#'
	-->
	<xsl:template name="escape-text">
		<xsl:param name="text" />
		<xsl:param name="ttext" />
		<xsl:choose>
			<xsl:when test="contains($ttext,'#')">
				<xsl:variable name="prefix" select="string-length(substring-before($ttext,'#'))" />
				<xsl:value-of select="substring($text,1,$prefix)" />
				<xsl:variable name="char" select="substring($text,$prefix+1,1)" />
				<xsl:choose>
					<xsl:when test="contains('^~\',$char)">
						<xsl:value-of select="concat('\verb-',$char,'-')" />
					</xsl:when>
					<xsl:when test="'&ldquo;'=$char">
						<xsl:text>``</xsl:text>
					</xsl:when>
					<xsl:when test="'&rdquo;'=$char">
						<xsl:text>''</xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:value-of select="concat('\',$char)" />
					</xsl:otherwise>
				</xsl:choose>
				<xsl:call-template name="escape-text">
					<xsl:with-param name="text" select="substring($text,$prefix+2)" />
					<xsl:with-param name="ttext" select="substring($ttext,$prefix+2)" />
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$text" />
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	
	<xsl:template match="head" mode="section-title">
		<xsl:apply-templates />
	</xsl:template>
	
	<xsl:template match="head" mode="text">
		<xsl:apply-templates />
	</xsl:template>
	
	<xsl:template match="head" />

	<xsl:template match="div1 | inform-div1 | div2 | div3 | div4">
		<xsl:text>\hypertarget{</xsl:text>
		<xsl:value-of select="@id" />
		<xsl:text>}{}&nl;</xsl:text>
		
		<xsl:choose>
			<xsl:when test="local-name()='div4'">
				<xsl:text>\subsubsection{</xsl:text>
			</xsl:when>
			<xsl:when test="local-name()='div3'">
				<xsl:text>\subsection{</xsl:text>
			</xsl:when>
			<xsl:when test="local-name()='div2'">
				<xsl:text>\section{</xsl:text>
			</xsl:when>
			<xsl:otherwise>
				<xsl:text>\chapter{</xsl:text>
			</xsl:otherwise>
		</xsl:choose>
		<xsl:apply-templates select="head" mode="section-title" />
		<xsl:if test="local-name()='inform-div1'">
			<xsl:text> (Non-Normative)</xsl:text>
		</xsl:if>
		<xsl:text>}\label{</xsl:text>
		<xsl:value-of select="@id" />
		<xsl:text>}&nl;</xsl:text>
		
		<xsl:apply-templates />
		
	</xsl:template>
	
	<!-- display <emph> as italic -->
	<xsl:template match="emph">
		<xsl:text>\textit{</xsl:text>
		<xsl:apply-templates/>
		<xsl:text>}</xsl:text>
	</xsl:template>

	<!-- display <b> as bold -->
	<xsl:template match="b">
		<xsl:text>\textbf{</xsl:text>
		<xsl:apply-templates/>
		<xsl:text>}</xsl:text>
	</xsl:template>
	
	<!-- display <ulist> as bulleted list -->
	<xsl:template match="ulist">
		<xsl:text>\begin{itemize}</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{itemize}</xsl:text>
	</xsl:template>

	<!-- display <olist> as enumerated list -->
	<xsl:template match="olist">
		<xsl:text>\begin{enumerate}</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{enumerate}</xsl:text>
	</xsl:template>

	<!-- display <item> as list item -->
	<xsl:template match="item">
		<xsl:value-of select="'\item '" />
		<xsl:apply-templates />
	</xsl:template>

 	<!-- transform <specref ref="id"/> to \hyperlink{id}{...} -->
 	<xsl:template match="specref">
		<xsl:variable name="target" select="id(@ref)[1]" />
		<xsl:text>\hyperlink{</xsl:text>
		<xsl:value-of select="@ref" />
		<xsl:text>}{</xsl:text>
		<xsl:choose>
		
			<xsl:when test="contains(local-name($target),'div')">
				<xsl:text>\textbf{\ref*{</xsl:text>
				<xsl:value-of select="@ref" />
				<xsl:text>} </xsl:text>
            	<xsl:apply-templates select="id(@ref)/head" mode="text" />
            	<xsl:text>}</xsl:text>
      		</xsl:when>
      		
		    <xsl:when test="local-name($target)='table'">
 	  			<xsl:text>Table \ref*{</xsl:text>
				<xsl:value-of select="@ref" />
				<xsl:text>} </xsl:text>
      		</xsl:when>
      		
      		<xsl:when test="local-name($target)='example'">
 	  			<xsl:text>Example \ref*{</xsl:text>
				<xsl:value-of select="@ref" />
				<xsl:text>} </xsl:text>
      		</xsl:when>
      
      		<xsl:otherwise>
				<xsl:text>\textbf{\ref*{</xsl:text>
				<xsl:value-of select="@ref" />
				<xsl:text>} ???}</xsl:text>
			</xsl:otherwise>
      		
    	</xsl:choose>
    	<xsl:text>}</xsl:text>
	</xsl:template>
  
	<xsl:template match="table">
		<xsl:text>\begin{table}</xsl:text>
		<xsl:text>&nl;\begin{tabular}{</xsl:text>
		<!-- |l|l|l|l -->
		<xsl:for-each select="col">
			<xsl:text>|</xsl:text>
			<xsl:choose>
				<xsl:when test="@width">
					<xsl:text>p{</xsl:text>
					<xsl:value-of select="@width" />
					<xsl:text>pt}</xsl:text>
				</xsl:when>
				<xsl:when test="@align='right'">
					<xsl:text>r</xsl:text>
				</xsl:when>
				<xsl:when test="@align='center'">
					<xsl:text>c</xsl:text>
				</xsl:when>
				<xsl:otherwise>
					<xsl:text>l</xsl:text>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:for-each>
		<xsl:text>|}&nl;</xsl:text>
		<xsl:text>\hline&nl;</xsl:text>
		<xsl:apply-templates select="thead | tfoot | tbody | tr" />
		<xsl:text>\end{tabular}</xsl:text>
		<xsl:apply-templates select="caption" />
		<xsl:text>\end{table}</xsl:text>
	</xsl:template>

	<xsl:template match="table/caption">
		<xsl:text>\caption{</xsl:text>
		<xsl:apply-templates />
		<xsl:text>}</xsl:text>
		<xsl:if test="../@id">
			<xsl:text>\label{</xsl:text>
			<xsl:value-of select="../@id" />
			<xsl:text>}</xsl:text>
		</xsl:if>
	</xsl:template>

	<xsl:template match="tr">
		<xsl:apply-templates />
		<xsl:value-of select="'\\ \hline '" />
	</xsl:template>

	<xsl:template match="th">
		<xsl:choose>
			<xsl:when test="following-sibling::th">
				<xsl:value-of select="'\multicolumn{1}{|c}{\bf '" />
				<xsl:apply-templates />
				<xsl:value-of select="'}&amp;'" />
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="'\multicolumn{1}{|c|}{\bf '" />
				<xsl:apply-templates />
				<xsl:value-of select="'}'" />

			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<xsl:template match="td">
		<xsl:apply-templates />
		<xsl:if test="local-name(following-sibling::*[1])='td'">
			<xsl:text>&amp;</xsl:text>
		</xsl:if>
	</xsl:template>
	
  	<xsl:template match="dl">
		<xsl:text>\begin{description}</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{description}</xsl:text>
  	</xsl:template>
  
  	<xsl:template match="dt">
	  	<xsl:text>\item[</xsl:text>
  		<xsl:apply-templates />
	  	<xsl:text>] </xsl:text>
  	</xsl:template>
  
  	<xsl:template match="dd">
  		<xsl:apply-templates />
  	</xsl:template>
  
	<!-- transform <blist> ... </blist> to \begin{description} ... \end{description} -->
	<xsl:template match="blist">
		<xsl:text>\begin{description}</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{description}</xsl:text>
	</xsl:template>
	
	<!-- transform <bibl id="..." key="..." href="..."> to \hypertarget{@id}{}\item[@key] ... -->
	<xsl:template match="bibl">
		<xsl:text>\hypertarget{</xsl:text>
		<xsl:value-of select="@id" />
		<xsl:text>}{}\item[{[</xsl:text>
		<xsl:value-of select="@key" />
		<xsl:text>]}] \ &nl;</xsl:text>
		<xsl:apply-templates />
	</xsl:template>
	
	<!-- transform <bibl href="..."> <titleref>...</titleref> </bibl> to \href{@href}{...} -->
	<xsl:template match="bibl/titleref">
		<xsl:text>\href{</xsl:text>
		<xsl:value-of select="../@href" />
		<xsl:text>}{</xsl:text>
		<xsl:apply-templates />
		<xsl:text>}</xsl:text>
	</xsl:template>
	
	<!-- transform <bibref ref="..." /> to \hyperlink{@ref}{[\textit{id(@ref)/@key}]} -->
	<xsl:template match="bibref">
		<xsl:text>\hyperlink{</xsl:text>
		<xsl:value-of select="@ref" />
		<xsl:text>}{[\textit{</xsl:text>
		<xsl:value-of select="id(@ref)/@key" />
		<xsl:text>}]}</xsl:text>
	</xsl:template>
	
	<!-- transform <attval>...</attval> to {\tt "..."} -->
  	<xsl:template match="attval">
    	<xsl:text>{\tt "</xsl:text>
    	<xsl:apply-templates/>
    	<xsl:text>"}</xsl:text>
  	</xsl:template>
  	
  	<!-- transform <eg>...</eg> to \begin{verbatim}...\end{verbatim} -->
  	<xsl:template match="eg">
  		<xsl:text>\begin{verbatim}</xsl:text>
  		<xsl:apply-templates mode="eg" />
  		<xsl:text>\end{verbatim}</xsl:text>
  	</xsl:template>
  	
  	<!-- transform <glist>...</glist> to \begin{description} ... \end{description} -->
	<xsl:template match="glist">
		<xsl:text>\begin{description}</xsl:text>
		<xsl:apply-templates />
		<xsl:text>\end{description}</xsl:text>
	</xsl:template>
	
  	<!-- transform <gitem>...</gitem> to ... -->
	<xsl:template match="gitem">
		<xsl:apply-templates />
	</xsl:template>
	
  	<!-- transform <gitem><label>...</label></gitem> to \item[...] -->
	<xsl:template match="gitem/label">
	  	<xsl:text>\item[</xsl:text>
  		<xsl:apply-templates />
	  	<xsl:text>] </xsl:text>
	</xsl:template>
	
  	<!-- transform <gitem><def>...</def></gitem> to ... -->
	<xsl:template match="gitem/def">
  		<xsl:apply-templates />
	</xsl:template>
	
	<!-- transform <el>...</el> or <att>...</att> to \texttt{...} -->
	<xsl:template match="el | att">
		<xsl:text>\texttt{</xsl:text>
		<xsl:apply-templates />
		<xsl:text>}</xsl:text>
	</xsl:template>
	
</xsl:stylesheet>

Index: wsdl20.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.xml,v
retrieving revision 1.149
retrieving revision 1.150
diff -C2 -d -r1.149 -r1.150
*** wsdl20.xml	17 Jan 2005 02:55:06 -0000	1.149
--- wsdl20.xml	18 Jan 2005 00:23:53 -0000	1.150
***************
*** 91,96 ****
  XML format for describing Web services. WSDL enables one to separate
  the description of the abstract functionality offered by a service
! from concrete details of a service description such as "how" and
! "where" that functionality is offered.</p>
  
  <p>This specification defines a language for describing the abstract
--- 91,96 ----
  XML format for describing Web services. WSDL enables one to separate
  the description of the abstract functionality offered by a service
! from concrete details of a service description such as &ldquo;how&rdquo; and
! &ldquo;where&rdquo; that functionality is offered.</p>
  
  <p>This specification defines a language for describing the abstract
***************
*** 147,185 ****
  <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>This specification uses properties from the XML Information Set
! <bibref ref='XMLInfoSet' />. Such properties are denoted by square
! brackets, e.g. [namespace name].</p>
  
! <p>This specification uses curly brackets (e.g., {property}) to  
!    indicate a property in the WSDL component model, as defined in 
!    <specref ref="component_model"/>.
! </p>        
  
! <p>This specification uses namespace prefixes throughout; they are
!    listed in <specref ref="tabnsprefixes"/>. Note that the choice of
!    any namespace prefix is arbitrary and not semantically significant
!    (see <bibref ref="XMLInfoSet"/>).</p>
  
! <table border="1" summary="Mapping of prefixes used in this document to their
!   associated namespace name" id="tabnsprefixes">
!   <caption>Prefixes and Namespaces used in this specification</caption>
!   <col />
!   <col />
!   <col />
!   <tbody>
!     <tr>
!       <th>Prefix</th> 
!       <th>Namespace</th>
!       <th>Notes</th>
!     </tr>
!     <tr>
!       <td>wsdl</td>
!       <td><attval>&wsdl-ns;</attval></td>
!       <td>A normative XML Schema <bibref ref="XMLSchemaP1"/>, <bibref
          ref="XMLSchemaP2"/> document for the
          <attval>&wsdl-ns;</attval> namespace can be found at <loc
--- 147,191 ----
  <head>Notational Conventions</head>
  
! <p>All parts of this specification are normative, with the EXCEPTION
!    of notes, pseudo-schemas, examples, and sections explicitly marked as &ldquo;Non-Normative&rdquo;.</p>
! 
! <div3 id="rfc2119keywords">
! <head>RFC 2119 Keywords</head>
! 
! <p>The keywords &ldquo;MUST&rdquo;, &ldquo;MUST NOT&rdquo;,  &ldquo;EQUIRED&rdquo;, &ldquo;SHALL&rdquo;, &ldquo;SHALL NOT&rdquo;,
!    &ldquo;SHOULD&rdquo;, &ldquo;SHOULD NOT&rdquo;, &ldquo;RECOMMENDED&rdquo;, &ldquo;MAY&rdquo;, and &ldquo;OPTIONAL&rdquo; in
     this document are to be interpreted as described in RFC 2119
     <bibref ref="RFC2119"/>.</p>
  
! </div3>
  
! <div3 id="rfc2396namespaces">
! <head>RFC 2396 Namespaces</head>
  
! <p>Namespace names of the general form:
! <ulist>
!    <item><attval>http://example.org/...</attval> and</item>
!    <item><attval>http://example.com/...</attval></item>
! </ulist>
!    represent application or
!    context-dependent URIs <bibref ref="RFC2396"/>.</p>
!    
! </div3>
  
! <div3 id="nsprefixes">
! <head>Prefixes and Namespaces Used in This Specification</head>
!         
! <p>This specification uses predefined namespace prefixes throughout; they are
!    given in the following list. Note that the choice of
!    any namespace prefix is arbitrary and not semantically significant
!    (see <bibref ref="XMLInfoSet"/>).
! </p>
!    
!    <dl>
!       <dt>wsdl</dt>
!       <dd>
!       	<attval>&wsdl-ns;</attval>
!       	<p>
!       	A normative XML Schema <bibref ref="XMLSchemaP1"/>, <bibref
          ref="XMLSchemaP2"/> document for the
          <attval>&wsdl-ns;</attval> namespace can be found at <loc
***************
*** 188,212 ****
          documents that DO conform to this schema and also conform to
          the other constraints defined in this specification are valid
!         WSDL documents.</td>
!     </tr>
!     <tr>
!       <td>wsdli</td>
!       <td><attval>&wsdl-i-ns;</attval></td>
!       <td>A normative XML Schema <bibref ref="XMLSchemaP1"/>, <bibref
          ref="XMLSchemaP2"/> document for the
          <attval>&wsdl-i-ns;</attval> namespace can be found at <loc
!         href="&wsdl-i-ns;">&wsdl-i-ns;</loc>. </td>
!     </tr>
!     <tr>
!       <td>wsdls</td>
!       <td><attval>&wsdl-s-ns;</attval></td>
!       <td>This prefix and namespace name are used to refer to the
!       simple types defined by this specification for use in the
!       component model, see <specref ref="simpletypes"/>.</td>
!     </tr>
!     <tr>
!       <td>wrpc</td>
!       <td><attval>&wsdl-rpc-ns;</attval></td>
!       <td>A normative XML Schema <bibref ref="XMLSchemaP1"/>, <bibref
          ref="XMLSchemaP2"/> document for the
          <attval>&wsdl-rpc-ns;</attval> namespace can be found at <loc
--- 194,227 ----
          documents that DO conform to this schema and also conform to
          the other constraints defined in this specification are valid
!         WSDL documents.
!         </p>
!       </dd>
! 
!       <dt>wsdli</dt>
!       <dd>
!       	<attval>&wsdl-i-ns;</attval>
!       	<p>
!       	A normative XML Schema <bibref ref="XMLSchemaP1"/>, <bibref
          ref="XMLSchemaP2"/> document for the
          <attval>&wsdl-i-ns;</attval> namespace can be found at <loc
!         href="&wsdl-i-ns;">&wsdl-i-ns;</loc>. 
!         </p>
!       </dd>
!       
!       <dt>wsdls</dt>
!       <dd>
!       	<attval>&wsdl-s-ns;</attval>
!       	<p>
!       	This prefix and namespace name are used to refer to the
!       	simple types defined by this specification for use in the
!       	component model, see <specref ref="simpletypes"/>.
!       	</p>
!       </dd>
! 
!       <dt>wrpc</dt>
!       <dd>
!       	<attval>&wsdl-rpc-ns;</attval>
!       	<p>
!       	A normative XML Schema <bibref ref="XMLSchemaP1"/>, <bibref
          ref="XMLSchemaP2"/> document for the
          <attval>&wsdl-rpc-ns;</attval> namespace can be found at <loc
***************
*** 215,256 ****
          documents. WSDL documents that DO conform to this schema and
          also conform to the other constraints defined in this
!         specification are valid WSDL documents.  </td>
!     </tr>
!     <tr>
!       <td>wsoap</td>
!       <td><attval>&wsdl-soap12-ns;</attval></td>
!       <td rowspan='2'>Defined by WSDL 2.0: Bindings <bibref
!         ref="WSDL-PART3"/>.</td>
!     </tr>
!     <tr>
!       <td>whttp</td>
!       <td><attval>&wsdl-http-ns;</attval></td>
!     </tr>
!     <tr>
!       <td>xs</td>
!       <td><attval>http://www.w3.org/2001/XMLSchema</attval></td>
!             <td rowspan='2'>Defined in the W3C XML Schema
            specification <bibref ref="XMLSchemaP1"/>, <bibref
!           ref="XMLSchemaP2"/>.</td>
!     </tr>
!     <tr>
!       <td>xsi</td>
!       <td><attval>http://www.w3.org/2001/XMLSchema-instance</attval></td>
!     </tr>
!   </tbody>
! </table>
  
! <p>Namespace names of the general form
!    <attval>http://example.org/...</attval> and
!    <attval>http://example.com/...</attval> represent application or
!    context-dependent URIs <bibref ref="RFC2396"/>.</p>
  
- <z:notation name="ZNotation">
  <p>
! This specification uses Z Notation (see <bibref ref="ZNotationReferenceManual"/>)
! to formalize the WSDL component model.
  The Z Notation in this specification has been verified using the
! Fuzz 2000 type-checker (see <bibref ref="Fuzz2000"/>).
  </p>
  <p>
  The non-normative <a href="wsdl20-i.html">DHTML</a> version of this specification allows the reader to interactively
--- 230,321 ----
          documents. WSDL documents that DO conform to this schema and
          also conform to the other constraints defined in this
!         specification are valid WSDL documents.
!         </p>
!       </dd>
! 
!       <dt>wsoap</dt>
!       <dd>
!       	<attval>&wsdl-soap12-ns;</attval>
!       	<p>
!       	Defined by WSDL 2.0: Bindings <bibref
!         ref="WSDL-PART3"/>.
!         </p>
!       </dd>
! 
!       <dt>whttp</dt>
!       <dd>
!       	<attval>&wsdl-http-ns;</attval>
!       	<p>
!       	Defined by WSDL 2.0: Bindings <bibref
!         ref="WSDL-PART3"/>.
!         </p>
!       </dd>
! 
!       <dt>xs</dt>
!       <dd>
!       	<attval>http://www.w3.org/2001/XMLSchema</attval>
!       	<p>
!       		Defined in the W3C XML Schema
            specification <bibref ref="XMLSchemaP1"/>, <bibref
!           ref="XMLSchemaP2"/>.
!          </p>
!        </dd>
  
!       <dt>xsi</dt>
!       <dd>
!       	<attval>http://www.w3.org/2001/XMLSchema-instance</attval>
!       	<p>
!       		Defined in the W3C XML Schema
!           specification <bibref ref="XMLSchemaP1"/>, <bibref
!           ref="XMLSchemaP2"/>.
!          </p>
!       </dd>
! 
!     </dl>
! 
! </div3>
! 
! <div3 id="xmlinfosetproperties">
! <head>XML Infomation Set Properties</head>
  
  <p>
! This specification refers to properties in the XML Information Set <bibref ref='XMLInfoSet' />. 
! Such properties are denoted by square brackets, e.g. [children], [attributes].
! </p>
! 
! </div3>
! 
! <div3 id="wsdlcomponentmodelproperties">
! <head>WSDL Component Model Properties</head>
! 
! <p>This specification defines and refers to properties in the WSDL Component Model <specref ref="component_model"/>.
! Such properties are denoted by curly brackets, e.g. {name}, {interfaces}.
! </p>
! 
! </div3>
! 
! <div3 id="znotation">
! <head>Z Notation</head>
! 
! <p>
! This specification uses Z Notation <bibref ref="ZNotationReferenceManual"/>
! to formalize the WSDL Component Model.
! Z Notation is a formal specification language that is based on standard mathematical notation. 
  The Z Notation in this specification has been verified using the
! Fuzz 2000 type-checker <bibref ref="Fuzz2000"/>.
  </p>
+ 
+ <p>
+ There are two elements of Z Notation syntax that conflict with the notational conventions described in the preceeding sections.
+ In Z Notation, square brackets are used to introduce basic sets, e.g. <z:math>[ID]</z:math>,
+ which conflicts with their use to denote XML Information Set properties
+ <specref ref="xmlinfosetproperties" />.
+ Also, in Z Notation, curly brackets are used to denote set display and set comprehension, e.g. <z:math>{1, 2, 3}</z:math>,
+ which conflicts with their use to denote
+ WSDL Component Model properties <specref ref="wsdlcomponentmodelproperties" />.
+ However, the intended meaning of square and curly brackets should be clear from their context and 
+ this minor notational conflict should not cause any confusion.
+ </p>
+ 
  <p>
  The non-normative <a href="wsdl20-i.html">DHTML</a> version of this specification allows the reader to interactively
***************
*** 259,279 ****
  preferable.
  </p>
  <p>
! The normative version of this specification is compliant with the W3C Character Model (see <bibref ref="W3CCharacterModel"/>)
! which uses Unicode characters to encode mathematical symbols.
! If these symbols are not rendered correctly by your browser, try viewing the alternate, non-normative 
  <a href="wsdl20-ie.html">IE</a> version of this specification.
  </p>
- </z:notation>
  
! <p>All parts of this specification are normative, with the EXCEPTION
!    of notes, pseudo-schemas, examples, and sections explicitly marked as "Non-Normative".</p>
  
  <p>Pseudo-schemas are provided for each component, before the description
     of the component. They use BNF-style conventions for attributes and elements:
!    <emph>`?'</emph> denotes optionality (i.e. zero or one occurrences), <emph>`*'</emph>
!    denotes zero or more occurrences, <emph>`+'</emph> one or more occurrences,
!    <emph>`['</emph> and <emph>`]'</emph> are used to form groups, <emph>`|'</emph>
!    represents choice. Attributes are conventionally assigned a value which corresponds
     to their type, as defined in the normative schema.</p>
  
--- 324,350 ----
  preferable.
  </p>
+ 
  <p>
! The normative version of this specification is compliant with the W3C Character Model <bibref ref="W3CCharacterModel"/>
! which uses Unicode characters to encode the mathematical symbols that appear in Z Notation.
! Mozilla Firefox correctly displays Unicode characters, provided that the required fonts are installed.
! Mathematical fonts for Mozilla Firefox can be downloaded from the <a href="http://www.mozilla.org">Mozilla Web site</a>.
! To display the mathematical symbols correctly in Internet Explorer, use the alternate, non-normative 
  <a href="wsdl20-ie.html">IE</a> version of this specification.
  </p>
  
! </div3>
! 
! <div3 id="bnfpseudoschemas">
! <head>BNF Pseudo-Schemas</head>
  
  <p>Pseudo-schemas are provided for each component, before the description
     of the component. They use BNF-style conventions for attributes and elements:
!    <attval>?</attval> denotes optionality (i.e. zero or one occurrences), 
!    <attval>*</attval> denotes zero or more occurrences, 
!    <attval>+</attval> one or more occurrences,
!    <attval>[</attval> and <attval>]</attval> are used to form groups, and
!    <attval>|</attval> represents choice. 
!    Attributes are conventionally assigned a value which corresponds
     to their type, as defined in the normative schema.</p>
  
***************
*** 290,293 ****
--- 361,366 ----
  </eg>
  
+ </div3>
+ 
  </div2>
  
***************
*** 382,386 ****
    </z:notation>
    
!   <z:notation xmlns="http://www.w3.org/2004/zml" name="ComponentId">
    
    <p>
--- 455,459 ----
    </z:notation>
    
!   <z:notation name="Identifier">
    
    <p>
***************
*** 402,405 ****
--- 475,482 ----
    <z:see names="ID"/>
    
+   </z:notation>
+   
+   <z:notation name="Id">
+   
    <axdef  xmlns="http://www.w3.org/2004/zml">
    	Id : Component <fun/> ID
***************
*** 525,528 ****
--- 602,609 ----
    </schema>
    
+   </z:notation>
+   
+   <z:notation name="ComponentIds">
+   
     <p>
    The component model has additional constraints which are described in the following sections.
***************
*** 578,582 ****
    representation of a component to the component itself, an optional
    property that is absent in the component in question is described as
!   being "empty". Unless otherwise specified, when a property is identified
    as being a collection (a set or a list), its value may be a 0-element
    (empty) collection. In order to simplify the presentation of the rules
--- 659,663 ----
    representation of a component to the component itself, an optional
    property that is absent in the component in question is described as
!   being &ldquo;empty&rdquo;. Unless otherwise specified, when a property is identified
    as being a collection (a set or a list), its value may be a 0-element
    (empty) collection. In order to simplify the presentation of the rules
***************
*** 627,636 ****
    <emph>wsdls:string</emph> (but the opposite is not true). Hence, for
    brevity, in the sections describing the mapping from the XML Infoset
!   representation of a WSDL document to its component model we use "actual
!   values" as defined by the XML Schema specification <bibref ref="XMLSchemaP2"/>
    as if they were members of the value space of the corresponding
!   WSDL-defined simple types. So, for instance, we talk of "assigning the
    actual value of the <attval>name</attval> &AII; (a <emph>xs:string</emph>)
!   "to the {name} property (of type <emph>wsdls:string</emph>)" of
    a certain component.
    </p>
--- 708,717 ----
    <emph>wsdls:string</emph> (but the opposite is not true). Hence, for
    brevity, in the sections describing the mapping from the XML Infoset
!   representation of a WSDL document to its component model we use &ldquo;actual
!   values&rdquo; as defined by the XML Schema specification <bibref ref="XMLSchemaP2"/>
    as if they were members of the value space of the corresponding
!   WSDL-defined simple types. So, for instance, we talk of &ldquo;assigning the
    actual value of the <attval>name</attval> &AII; (a <emph>xs:string</emph>)
!   to the {name} property (of type <emph>wsdls:string</emph>)&rdquo; of
    a certain component.
    </p>
***************
*** 1070,1075 ****
  	  <table border="1" id="tab_Description_Mapping">
  	    <caption>Mapping between Description Component Properties and XML Representation</caption>
! 		<col />
!   		<col />
  	    <tbody>
  		  <tr>
--- 1151,1156 ----
  	  <table border="1" id="tab_Description_Mapping">
  	    <caption>Mapping between Description Component Properties and XML Representation</caption>
! 		<col width="75" />
!   		<col width="300" />
  	    <tbody>
  		  <tr>
***************
*** 1292,1297 ****
  	  or the token <emph>out</emph>).  If the {message content model}
  	  property of any of these Message Reference components has a value
! 	  of "#any", or if more than one of these Message Reference components
! 	  has a value of "#none", or if the qualified names of the global
  	  element declarations specified by the values of the {element}
  	  properties of these Message Reference components are not unique
--- 1373,1378 ----
  	  or the token <emph>out</emph>).  If the {message content model}
  	  property of any of these Message Reference components has a value
! 	  of &ldquo;#any&rdquo;, or if more than one of these Message Reference components
! 	  has a value of &ldquo;#none&rdquo;, or if the qualified names of the global
  	  element declarations specified by the values of the {element}
  	  properties of these Message Reference components are not unique
***************
*** 1640,1644 ****
              declaration in the {element declarations} property of
              <specref ref='Description_details' />. This element
!             represents the content or "payload" of the fault.  </p>
              </item>
  
--- 1721,1725 ----
              declaration in the {element declarations} property of
              <specref ref='Description_details' />. This element
!             represents the content or &ldquo;payload&rdquo; of the fault.  </p>
              </item>
  
***************
*** 2125,2129 ****
  	   <item><p> The LocalPart of the output element's QName is
  	   obtained by concatenating the name of the operation and
! 	   the string value "Response".</p></item>
  	
  	   <item><p>Input and output elements MUST both be in the
--- 2206,2210 ----
  	   <item><p> The LocalPart of the output element's QName is
  	   obtained by concatenating the name of the operation and
! 	   the string value &ldquo;Response&rdquo;.</p></item>
  	
  	   <item><p>Input and output elements MUST both be in the
***************
*** 2664,2668 ****
              declaration in the {element declarations} property of
              <specref ref='Description_details' />. This element
!             represents the content or "payload" of the message. When
              the {message content model} property has the value
              <emph>#any</emph> or <emph>#none</emph> the {element}
--- 2745,2749 ----
              declaration in the {element declarations} property of
              <specref ref='Description_details' />. This element
!             represents the content or &ldquo;payload&rdquo; of the message. When
              the {message content model} property has the value
              <emph>#any</emph> or <emph>#none</emph> the {element}
***************
*** 3274,3279 ****
        between communicating parties.  Although WSDL poses no
        constraints on the potential scope of such features, examples
!       might include "reliability", "security", "correlation", and
!       "routing".  The presence of a feature component in a WSDL description 
        indicates that the service supports the feature and may require a
        requester agent that interacts with the service to use that feature.
--- 3355,3360 ----
        between communicating parties.  Although WSDL poses no
        constraints on the potential scope of such features, examples
!       might include &ldquo;reliability&rdquo;, &ldquo;security&rdquo;, &ldquo;correlation&rdquo;, and
!       &ldquo;routing&rdquo;.  The presence of a feature component in a WSDL description 
        indicates that the service supports the feature and may require a
        requester agent that interacts with the service to use that feature.
***************
*** 3580,3584 ****
        <head>The Property Component</head>
  	  
!           <p>A "property" in the Features and Properties architecture
            represents a named runtime value which affects the behaviour
            of some aspect of a Web service interaction, much like an
--- 3661,3665 ----
        <head>The Property Component</head>
  	  
!           <p>A &ldquo;property&rdquo; in the Features and Properties architecture
            represents a named runtime value which affects the behaviour
            of some aspect of a Web service interaction, much like an
***************
*** 3685,3690 ****
  	    <p>At runtime, the behavior of features, (SOAP) modules
  	    and bindings may be affected by the values of in-scope
! 	    properties. Properties combine into a virtual "execution
! 	    context" which maps property names (URIs) to
  	    constraints. Each property URI MAY therefore be associated
  	    with AT MOST one property constraint for a given
--- 3766,3771 ----
  	    <p>At runtime, the behavior of features, (SOAP) modules
  	    and bindings may be affected by the values of in-scope
! 	    properties. Properties combine into a virtual &ldquo;execution
! 	    context&rdquo; which maps property names (URIs) to
  	    constraints. Each property URI MAY therefore be associated
  	    with AT MOST one property constraint for a given
***************
*** 3754,3759 ****
  	    </ulist>
  	    
! 	    <p>Note that, in the text above, "property constraint"
! 	    (or, simply, "constraint") is used to mean EITHER a
  	    <el>constraint</el> inside a property component OR a
  	    <el>value</el>, since <el>value</el> may be considered a
--- 3835,3840 ----
  	    </ulist>
  	    
! 	    <p>Note that, in the text above, &ldquo;property constraint&rdquo;
! 	    (or, simply, &ldquo;constraint&rdquo;) is used to mean EITHER a
  	    <el>constraint</el> inside a property component OR a
  	    <el>value</el>, since <el>value</el> may be considered a
***************
*** 5525,5529 ****
      such as XML 1.1 <bibref ref="XML11"/>.
      </p>
!     <p>All types defined in this section are formally assigned to the "&wsdl-s-ns;"
      namespace. All references to them in this specification are made via qualified
      names that use the <emph>wsdls</emph> prefix. It should be noted though
--- 5606,5610 ----
      such as XML 1.1 <bibref ref="XML11"/>.
      </p>
!     <p>All types defined in this section are formally assigned to the &ldquo;&wsdl-s-ns;&rdquo;
      namespace. All references to them in this specification are made via qualified
      names that use the <emph>wsdls</emph> prefix. It should be noted though
***************
*** 6069,6073 ****
  for an alternative schema language MUST include the declaration of an &EII;,
  intended to appear as a child of the <el>wsdl:types</el> &EII;, which
! references, names, and locates the schema instance (an "import"
  &EII;). The extension specification SHOULD, if necessary, define
  additional properties of <specref ref='Description_details' /> (and
--- 6150,6154 ----
  for an alternative schema language MUST include the declaration of an &EII;,
  intended to appear as a child of the <el>wsdl:types</el> &EII;, which
! references, names, and locates the schema instance (an &ldquo;import&rdquo;
  &EII;). The extension specification SHOULD, if necessary, define
  additional properties of <specref ref='Description_details' /> (and
***************
*** 6135,6139 ****
  document.  The included components can be referenced by QName. Note
  that because all WSDL descriptions have a target namespace,
! no-namespace includes (sometimes known as "chameleon includes") never
  occur in WSDL.</p>
  
--- 6216,6220 ----
  document.  The included components can be referenced by QName. Note
  that because all WSDL descriptions have a target namespace,
! no-namespace includes (sometimes known as &ldquo;chameleon includes&rdquo;) never
  occur in WSDL.</p>
  
***************
*** 7141,7145 ****
  	  </bibl>
  
! 	  <bibl id="ISO10646" key="ISO/IEC 10646">
  	  <titleref>ISO/IEC 10646-1:2000. Information technology --
  	  Universal Multiple-Octet Coded Character Set (UCS) --
--- 7222,7226 ----
  	  </bibl>
  
! 	  <bibl id="ISO10646" key="ISO/IEC 10646" href="http://www.iso.ch">
  	  <titleref>ISO/IEC 10646-1:2000. Information technology --
  	  Universal Multiple-Octet Coded Character Set (UCS) --
***************
*** 7150,7155 ****
  	  <bibl id="unicode" key="Unicode"
  	   href="http://www.unicode.org/versions/Unicode4.0.1/">
! 	  <titleref>The Unicode Consortium, The Unicode Standard, Version 4</titleref>
! 	  , ISBN 0-321-18578-1, as updated from time to time by the publication of new
  	  versions. (See http://www.unicode.org/unicode/standard/versions  for the
  	  latest version and additional information on versions of the standard and
--- 7231,7236 ----
  	  <bibl id="unicode" key="Unicode"
  	   href="http://www.unicode.org/versions/Unicode4.0.1/">
! 	  <titleref>The Unicode Consortium, The Unicode Standard, Version 4</titleref>, 
! 	  ISBN 0-321-18578-1, as updated from time to time by the publication of new
  	  versions. (See http://www.unicode.org/unicode/standard/versions  for the
  	  latest version and additional information on versions of the standard and
***************
*** 7560,7564 ****
          the {name} property of the component and the {name} properties
          of its ancestors as a path according to <specref
!         ref="uri-ref-frag-table"/>. In that table the first column
          gives the name of the WSDL component. 
  		Columns two through five specify the identifiers that
--- 7641,7645 ----
          the {name} property of the component and the {name} properties
          of its ancestors as a path according to <specref
!         ref="uriRefFragTable"/>. In that table the first column
          gives the name of the WSDL component. 
  		Columns two through five specify the identifiers that
***************
*** 7569,7573 ****
          pointer part in column six.</p>
  
! 	<table id="uri-ref-frag-table" border="1">
  	  <caption>Rules for determining pointer parts for WSDL components</caption>
  	    <col />
--- 7650,7654 ----
          pointer part in column six.</p>
  
! 	<table id="uriRefFragTable" border="1">
  	  <caption>Rules for determining pointer parts for WSDL components</caption>
  	    <col />
***************
*** 8017,8020 ****
--- 8098,8107 ----
      
      <tr>
+     	<td>20050118</td>
+     	<td>AGR</td>
+     	<td>Edited Notational Conventions and References sections.</td>
+     </tr>
+     
+     <tr>
      	<td>20050117</td>
      	<td>AGR</td>

Index: xmlspec-wsdl.xsl
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/xmlspec-wsdl.xsl,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** xmlspec-wsdl.xsl	13 Oct 2004 17:46:53 -0000	1.3
--- xmlspec-wsdl.xsl	18 Jan 2005 00:23:53 -0000	1.4
***************
*** 13,16 ****
--- 13,34 ----
         indent="no"/>
    
+   <xsl:template match="dl">
+   	<dl>
+   		<xsl:apply-templates />
+   	</dl>
+   </xsl:template>
+   
+   <xsl:template match="dt">
+   	<dt>
+   		<xsl:apply-templates />
+   	</dt>
+   </xsl:template>
+   
+   <xsl:template match="dd">
+   	<dd>
+   		<xsl:apply-templates />
+   	</dd>
+   </xsl:template>
+   
    <!-- bibref: reference to a bibliographic entry -->
    <!-- make a link to the bibl -->

--- NEW FILE: wsdl20.toc ---
\contentsline {chapter}{\numberline {1}Introduction}{6}{chapter.1}
\contentsline {section}{\numberline {1.1}Web Service}{6}{section.1.1}
\contentsline {section}{\numberline {1.2}Notational Conventions}{7}{section.1.2}
\contentsline {subsection}{\numberline {1.2.1}RFC 2119 Keywords}{7}{subsection.1.2.1}
\contentsline {subsection}{\numberline {1.2.2}RFC 2396 Namespaces}{7}{subsection.1.2.2}
\contentsline {subsection}{\numberline {1.2.3}Prefixes and Namespaces Used in This Specification}{7}{subsection.1.2.3}
\contentsline {subsection}{\numberline {1.2.4}XML Infomation Set Properties}{8}{subsection.1.2.4}
\contentsline {subsection}{\numberline {1.2.5}WSDL Component Model Properties}{8}{subsection.1.2.5}
\contentsline {subsection}{\numberline {1.2.6}Z Notation}{8}{subsection.1.2.6}
\contentsline {subsection}{\numberline {1.2.7}BNF Pseudo-Schemas}{9}{subsection.1.2.7}
\contentsline {section}{\numberline {1.3}WSDL Terminology}{9}{section.1.3}
\contentsline {chapter}{\numberline {2}Component Model}{10}{chapter.2}
\contentsline {section}{\numberline {2.1}Description}{16}{section.2.1}
\contentsline {subsection}{\numberline {2.1.1}The Description Component}{16}{subsection.2.1.1}
\contentsline {subsection}{\numberline {2.1.2}XML Representation of Description Component}{20}{subsection.2.1.2}
\contentsline {subsubsection}{\texttt {targetNamespace} \textit {attribute information item}}{21}{section*.3}
\contentsline {subsection}{\numberline {2.1.3}Mapping Description's XML Representation to Component Properties}{21}{subsection.2.1.3}
\contentsline {section}{\numberline {2.2}Interface}{23}{section.2.2}
\contentsline {subsection}{\numberline {2.2.1}The Interface Component}{23}{subsection.2.2.1}
\contentsline {subsubsection}{Operation Name Mapping Requirement}{25}{section*.4}
\contentsline {subsection}{\numberline {2.2.2}XML Representation of Interface Component}{26}{subsection.2.2.2}
\contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {interface} [owner]}{27}{section*.5}
\contentsline {subsubsection}{\texttt {extends} \textit {attribute information item}}{27}{section*.6}
\contentsline {subsubsection}{\texttt {styleDefault} \textit {attribute information item}}{27}{section*.7}
\contentsline {subsection}{\numberline {2.2.3}Mapping Interface's XML Representation to Component Properties}{28}{subsection.2.2.3}
\contentsline {section}{\numberline {2.3}Interface Fault}{28}{section.2.3}
\contentsline {subsection}{\numberline {2.3.1}The Interface Fault Component}{28}{subsection.2.3.1}
\contentsline {subsection}{\numberline {2.3.2}XML Representation of Interface Fault Component}{30}{subsection.2.3.2}
\contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {fault} [owner]}{31}{section*.8}
\contentsline {subsubsection}{\texttt {element} \textit {attribute information item} with \texttt {fault} [owner]}{31}{section*.9}
\contentsline {subsection}{\numberline {2.3.3}Mapping Interface Fault's XML Representation to Component Properties}{32}{subsection.2.3.3}
\contentsline {section}{\numberline {2.4}Interface Operation}{32}{section.2.4}
\contentsline {subsection}{\numberline {2.4.1}The Interface Operation Component}{32}{subsection.2.4.1}
\contentsline {subsubsection}{Operation Style}{34}{section*.10}
\contentsline {subsection}{\numberline {2.4.2}RPC Style}{35}{subsection.2.4.2}
\contentsline {subsubsection}{\texttt {wrpc:signature} Extension}{36}{section*.11}
\contentsline {subsubsection}{XML Representation of the \texttt {wrpc:signature} Extension}{37}{section*.12}
\contentsline {subsubsection}{\texttt {wrpc:signature }Extension Mapping To Properties of an Interface Operation Component}{38}{section*.13}
\contentsline {subsection}{\numberline {2.4.3}XML Representation of Interface Operation Component}{38}{subsection.2.4.3}
\contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {operation} [owner]}{40}{section*.14}
\contentsline {subsubsection}{\texttt {pattern} \textit {attribute information item} with \texttt {operation} [owner]}{40}{section*.15}
\contentsline {subsubsection}{\texttt {style} \textit {attribute information item} with \texttt {operation} [owner]}{40}{section*.16}
\contentsline {subsubsection}{\texttt {safe} \textit {attribute information item} with \texttt {operation} [owner]}{40}{section*.17}
\contentsline {subsection}{\numberline {2.4.4}Mapping Interface Operation's XML Representation to Component Properties}{41}{subsection.2.4.4}
\contentsline {section}{\numberline {2.5}Message Reference}{41}{section.2.5}
\contentsline {subsection}{\numberline {2.5.1}The Message Reference Component}{41}{subsection.2.5.1}
\contentsline {subsection}{\numberline {2.5.2}XML Representation of Message Reference Component}{43}{subsection.2.5.2}
\contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {input}, or \texttt {output} [owner]}{44}{section*.18}
\contentsline {subsubsection}{\texttt {element} \textit {attribute information item} with \texttt {input}, or \texttt {output} [owner]}{44}{section*.19}
\contentsline {subsection}{\numberline {2.5.3}Mapping Message Reference's XML Representation to Component Properties}{45}{subsection.2.5.3}
\contentsline {section}{\numberline {2.6}Fault Reference}{45}{section.2.6}
\contentsline {subsection}{\numberline {2.6.1}The Fault Reference Component}{45}{subsection.2.6.1}
\contentsline {subsection}{\numberline {2.6.2}XML Representation of Fault Reference Id}{46}{subsection.2.6.2}
\contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {infault}, or \texttt {outfault} [owner]}{48}{section*.20}
\contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {infault}, or \texttt {outfault} [owner]}{48}{section*.21}
\contentsline {subsection}{\numberline {2.6.3}Mapping Fault Reference's XML Representation to Component Properties}{48}{subsection.2.6.3}
\contentsline {section}{\numberline {2.7}Feature}{49}{section.2.7}
\contentsline {subsection}{\numberline {2.7.1}The Feature Component}{49}{subsection.2.7.1}
\contentsline {subsubsection}{Feature Composition Model}{50}{section*.22}
\contentsline {subsection}{\numberline {2.7.2}XML Representation of Feature Component}{51}{subsection.2.7.2}
\contentsline {subsubsection}{\texttt {uri} \textit {attribute information item} with \texttt {feature} [owner]}{52}{section*.23}
\contentsline {subsubsection}{\texttt {required} \textit {attribute information item} with \texttt {feature} [owner]}{52}{section*.24}
\contentsline {subsection}{\numberline {2.7.3}Mapping Feature's XML Representation to Component Properties}{53}{subsection.2.7.3}
\contentsline {section}{\numberline {2.8}Property}{53}{section.2.8}
\contentsline {subsection}{\numberline {2.8.1}The Property Component}{53}{subsection.2.8.1}
\contentsline {subsubsection}{Property Composition Model}{54}{section*.25}
\contentsline {subsection}{\numberline {2.8.2}XML Representation of Property Component}{56}{subsection.2.8.2}
\contentsline {subsubsection}{\texttt {uri} \textit {attribute information item} with \texttt {property} [owner]}{57}{section*.26}
\contentsline {subsubsection}{\texttt {required} \textit {attribute information item} with \texttt {property} [owner]}{57}{section*.27}
\contentsline {subsubsection}{\texttt {value} \textit {element information item} with \texttt {property} [parent]}{57}{section*.28}
\contentsline {subsubsection}{\texttt {constraint} \textit {element information item} with \texttt {property} [parent]}{57}{section*.29}
\contentsline {subsection}{\numberline {2.8.3}Mapping Property's XML Representation to Component Properties}{58}{subsection.2.8.3}
\contentsline {section}{\numberline {2.9}Binding}{58}{section.2.9}
\contentsline {subsection}{\numberline {2.9.1}The Binding Component}{58}{subsection.2.9.1}
\contentsline {subsection}{\numberline {2.9.2}XML Representation of Binding Component}{60}{subsection.2.9.2}
\contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {binding} [owner]}{61}{section*.30}
\contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {binding} [owner]}{61}{section*.31}
\contentsline {subsubsection}{\texttt {type} \textit {attribute information item} with \texttt {binding} [owner]}{62}{section*.32}
\contentsline {subsubsection}{Binding extension elements}{62}{section*.33}
\contentsline {subsection}{\numberline {2.9.3}Mapping Binding's XML Representation to Component Properties}{62}{subsection.2.9.3}
\contentsline {section}{\numberline {2.10}Binding Fault}{62}{section.2.10}
\contentsline {subsection}{\numberline {2.10.1}The Binding Fault Component}{62}{subsection.2.10.1}
\contentsline {subsection}{\numberline {2.10.2}XML Representation of Binding Fault Component}{63}{subsection.2.10.2}
\contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {fault} [owner]}{64}{section*.34}
\contentsline {subsubsection}{Binding Fault extension elements}{64}{section*.35}
\contentsline {subsection}{\numberline {2.10.3}Mapping Binding Fault's XML Representation to Component Properties}{65}{subsection.2.10.3}
\contentsline {section}{\numberline {2.11}Binding Operation}{65}{section.2.11}
\contentsline {subsection}{\numberline {2.11.1}The Binding Operation Component}{65}{subsection.2.11.1}
\contentsline {subsection}{\numberline {2.11.2}XML Representation of Binding Operation Component}{66}{subsection.2.11.2}
\contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {operation} [owner]}{67}{section*.36}
\contentsline {subsubsection}{Binding Operation extension elements}{67}{section*.37}
\contentsline {subsection}{\numberline {2.11.3}Mapping Binding Operation's XML Representation to Component Properties}{67}{subsection.2.11.3}
\contentsline {section}{\numberline {2.12}Binding Message Reference}{68}{section.2.12}
\contentsline {subsection}{\numberline {2.12.1}The Binding Message Reference Component}{68}{subsection.2.12.1}
\contentsline {subsection}{\numberline {2.12.2}XML Representation of Binding Message Reference Component}{68}{subsection.2.12.2}
\contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {input} or \texttt {output} [owner]}{70}{section*.38}
\contentsline {subsubsection}{Binding Message Reference extension elements}{70}{section*.39}
\contentsline {subsection}{\numberline {2.12.3}Mapping Binding Message Reference's XML Representation to Component Properties}{70}{subsection.2.12.3}
\contentsline {section}{\numberline {2.13}Service}{71}{section.2.13}
\contentsline {subsection}{\numberline {2.13.1}The Service Component}{71}{subsection.2.13.1}
\contentsline {subsection}{\numberline {2.13.2}XML Representation of Service Component}{71}{subsection.2.13.2}
\contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {service} [owner]}{73}{section*.40}
\contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {service} [owner]}{73}{section*.41}
\contentsline {subsection}{\numberline {2.13.3}Mapping Service's XML Representation to Component Properties}{73}{subsection.2.13.3}
\contentsline {section}{\numberline {2.14}Endpoint}{74}{section.2.14}
\contentsline {subsection}{\numberline {2.14.1}The Endpoint Component}{74}{subsection.2.14.1}
\contentsline {subsection}{\numberline {2.14.2}XML Representation of Endpoint Component}{75}{subsection.2.14.2}
\contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {endpoint} [owner]}{76}{section*.42}
\contentsline {subsubsection}{\texttt {binding} \textit {attribute information item} with \texttt {endpoint} [owner]}{76}{section*.43}
\contentsline {subsubsection}{\texttt {address} \textit {attribute information item} with \texttt {endpoint} [owner]}{76}{section*.44}
\contentsline {subsubsection}{Endpoint extension elements}{77}{section*.45}
\contentsline {subsection}{\numberline {2.14.3}Mapping Endpoint's XML Representation to Component Properties}{77}{subsection.2.14.3}
\contentsline {section}{\numberline {2.15}Definition of the Simple Types Used in the Component Model}{77}{section.2.15}
\contentsline {subsection}{\numberline {2.15.1}\textit {string} Type}{78}{subsection.2.15.1}
\contentsline {subsection}{\numberline {2.15.2}\textit {Token} Type}{78}{subsection.2.15.2}
\contentsline {subsection}{\numberline {2.15.3}\textit {NCName} Type}{78}{subsection.2.15.3}
\contentsline {subsection}{\numberline {2.15.4}\textit {anyURI} Type}{78}{subsection.2.15.4}
\contentsline {subsection}{\numberline {2.15.5}\textit {QName} Type}{79}{subsection.2.15.5}
\contentsline {subsection}{\numberline {2.15.6}\textit {boolean} Type}{79}{subsection.2.15.6}
\contentsline {subsection}{\numberline {2.15.7}\textit {int} Type}{79}{subsection.2.15.7}
\contentsline {section}{\numberline {2.16}Equivalence of Components}{79}{section.2.16}
\contentsline {section}{\numberline {2.17}Symbol Spaces}{80}{section.2.17}
\contentsline {section}{\numberline {2.18}QName resolution}{80}{section.2.18}
\contentsline {section}{\numberline {2.19}Comparing URIs}{81}{section.2.19}
\contentsline {chapter}{\numberline {3}Types}{82}{chapter.3}
\contentsline {section}{\numberline {3.1}Using W3C XML Schema Description Language}{83}{section.3.1}
\contentsline {subsection}{\numberline {3.1.1}Importing XML Schema}{84}{subsection.3.1.1}
\contentsline {subsubsection}{\texttt {namespace} \textit {attribute information item}}{84}{section*.46}
\contentsline {subsubsection}{\texttt {schemaLocation} \textit {attribute information item}}{84}{section*.47}
\contentsline {subsection}{\numberline {3.1.2}Embedding XML Schema}{85}{subsection.3.1.2}
\contentsline {subsubsection}{\texttt {targetNamespace} \textit {attribute information item}}{85}{section*.48}
\contentsline {subsection}{\numberline {3.1.3}References to Element Declarations and Type Definitions}{86}{subsection.3.1.3}
\contentsline {section}{\numberline {3.2}Using Other Schema Languages}{86}{section.3.2}
\contentsline {chapter}{\numberline {4}Modularizing WSDL descriptions}{88}{chapter.4}
\contentsline {section}{\numberline {4.1}Including Descriptions}{88}{section.4.1}
\contentsline {subsection}{\numberline {4.1.1}\texttt {location} \textit {attribute information item} with \texttt {include} [owner]}{89}{subsection.4.1.1}
\contentsline {section}{\numberline {4.2}Importing Descriptions}{90}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}\texttt {namespace} \textit {attribute information item}}{92}{subsection.4.2.1}
\contentsline {subsection}{\numberline {4.2.2}\texttt {location} \textit {attribute information item} with \texttt {import} [owner]}{92}{subsection.4.2.2}
\contentsline {chapter}{\numberline {5}Documentation}{93}{chapter.5}
\contentsline {chapter}{\numberline {6}Language Extensibility}{94}{chapter.6}
\contentsline {section}{\numberline {6.1}Element based Extensibility}{94}{section.6.1}
\contentsline {subsection}{\numberline {6.1.1}Mandatory extensions}{95}{subsection.6.1.1}
\contentsline {subsection}{\numberline {6.1.2}\texttt {required} \textit {attribute information item}}{96}{subsection.6.1.2}
\contentsline {section}{\numberline {6.2}Attribute-based Extensibility}{96}{section.6.2}
\contentsline {section}{\numberline {6.3}Extensibility Semantics}{96}{section.6.3}
\contentsline {chapter}{\numberline {7}Locating WSDL Documents}{97}{chapter.7}
\contentsline {section}{\numberline {7.1}\texttt {wsdli:wsdlLocation} \textit {attribute information item}}{97}{section.7.1}
\contentsline {chapter}{\numberline {8}Conformance}{98}{chapter.8}
\contentsline {section}{\numberline {8.1}Document Conformance}{98}{section.8.1}
\contentsline {section}{\numberline {8.2}XML Information Set Conformance}{98}{section.8.2}
\contentsline {section}{\numberline {8.3}Processor Conformance}{99}{section.8.3}
\contentsline {chapter}{\numberline {9}XML Syntax Summary (Non-Normative)}{101}{chapter.9}
\contentsline {chapter}{\numberline {10}References}{105}{chapter.10}
\contentsline {section}{\numberline {10.1}Normative References}{105}{section.10.1}
\contentsline {section}{\numberline {10.2}Informative References}{108}{section.10.2}
\contentsline {chapter}{\numberline {A}The {\tt "application/wsdl+xml"} Media Type}{110}{appendix.A}
\contentsline {section}{\numberline {A.1}Registration}{110}{section.A.1}
\contentsline {section}{\numberline {A.2}Security considerations}{111}{section.A.2}
\contentsline {chapter}{\numberline {B}Acknowledgements (Non-Normative)}{112}{appendix.B}
\contentsline {chapter}{\numberline {C}URI References for WSDL Components (Non-Normative)}{114}{appendix.C}
\contentsline {section}{\numberline {C.1}WSDL URIs}{114}{section.C.1}
\contentsline {section}{\numberline {C.2}Fragment Identifiers}{115}{section.C.2}
\contentsline {section}{\numberline {C.3}Extension Elements}{116}{section.C.3}
\contentsline {section}{\numberline {C.4}Example}{116}{section.C.4}
\contentsline {chapter}{\numberline {D}Migrating from WSDL 1.1 to WSDL 2.0 (Non-Normative)}{118}{appendix.D}
\contentsline {section}{\numberline {D.1}Operation Overloading}{118}{section.D.1}
\contentsline {section}{\numberline {D.2}PortTypes}{118}{section.D.2}
\contentsline {section}{\numberline {D.3}Ports}{118}{section.D.3}
\contentsline {chapter}{\numberline {E}Examples of Specifications of Extension Elements for Alternative Schema Language Support. (Non-Normative)}{119}{appendix.E}
\contentsline {section}{\numberline {E.1}DTD}{119}{section.E.1}
\contentsline {subsection}{\numberline {E.1.1}\texttt {namespace} \textit {attribute information item}}{120}{subsection.E.1.1}
\contentsline {subsection}{\numberline {E.1.2}\texttt {location} \textit {attribute information item}}{120}{subsection.E.1.2}
\contentsline {subsection}{\numberline {E.1.3}References to Element Definitions}{120}{subsection.E.1.3}
\contentsline {section}{\numberline {E.2}RELAX NG}{120}{section.E.2}
\contentsline {subsection}{\numberline {E.2.1}Importing RELAX NG}{121}{subsection.E.2.1}
\contentsline {subsubsection}{\texttt {ns} \textit {attribute information item}}{121}{section*.49}
\contentsline {subsubsection}{\texttt {href} \textit {attribute information item}}{121}{section*.50}
\contentsline {subsection}{\numberline {E.2.2}Embedding RELAX NG}{122}{subsection.E.2.2}
\contentsline {subsubsection}{\texttt {ns} \textit {attribute information item}}{122}{section*.51}
\contentsline {subsection}{\numberline {E.2.3}References to Element Declarations}{122}{subsection.E.2.3}
\contentsline {chapter}{\numberline {F}Part 1 Change Log (Non-Normative)}{123}{appendix.F}
\contentsline {section}{\numberline {F.1}WSDL Specification Changes}{123}{section.F.1}

Index: wsdl20-i.html
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-i.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** wsdl20-i.html	31 Dec 2004 22:03:03 -0000	1.3
--- wsdl20-i.html	18 Jan 2005 00:23:53 -0000	1.4
***************
*** 146,150 ****
  <h2><a name="shortcontents">Short Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>2. <a href="#component_model">Component Model</a><br>3. <a href="#eii-types">Types</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br>8. <a href="#conformance">Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="#References">References</a><br>A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br>B. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br>C. <a href="#wsdl-uri-references">URI References for WSDL Components</a> (Non-Normative)<br>D. <a href="#migration">Migrating from WSDL 1.1 to WSDL 2.0</a> (Non-Normative)<br>E. <a href="#other-schemalang">Examples of Specifications of Extension Elements for Alternative Schem
  Language Support.</a> (Non-Normative)<br>F. <a href="#changelog">Part 1 Change Log</a> (Non-Normative)<br></p></div><hr><div class="toc">
! <h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="#intro_ws">Web Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="#notation">Notational Conventions</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="#terminology">WSDL Terminology</a><br>2. <a href="#component_model">Component Model</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.1 <a href="#Description">Description</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1 <a href="#Description_details">The Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2 <a href="#Description_XMLRep">XML Representation of Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2.1 <a href="#Description_targetnamespace_attribute">targetNamespace attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3 <a href="#Description_Mapping">Mapping Description's XML Representation to Component
        Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 <a href="#Interface">Interface</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1 <a href="#Interface_details">The Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1.1 <a href="#Interface_OperationName">Operation Name Mapping Requirement</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2 <a href="#Interface_XMLRep">XML Representation of Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.1 <a href="#Interface_name_attribute">name attribute information item with interface [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.2 <a href="#Interface_extends_attribute">extends attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.3 <a href="#Interface_styleDefault_attribute">styleDefault attribute information item</a><br>&nbsp;&nbsp;&nbsp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.3 <a href="#Interface_Mapping">Mapping Interface's XML Representation to Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 <a href="#InterfaceFault">Interface Fault</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.1 <a href="#InterfaceFault_details">The Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2 <a href="#InterfaceFault_XMLRep">XML Representation of Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.1 <a href="#Interfacefault_name_attribute">name attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.2 <a href="#Interface_element_attribute">element attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.3 <a href="#InterfaceFault_Mapping">Mapping Interface Fault's XML Representation to
  	  Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 <a href="#InterfaceOperation">Interface Operation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1 <a href="#InterfaceOperation_details">The Interface Operation Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1.1 <a href="#InterfaceOperationStyle">Operation Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2 <a href="#RPCStyle">RPC Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.1 <a href="#InterfaceOperation_RPC_Signature_Definition">wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.2 <a href="#InterfaceOperation_RPC_Signature_XMLRep">XML Representation of the wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.3 <a href="#InterfaceOperation_RPC_Signature_Mapping">wrpc:signature Extension Mapping To Properties of an
--- 146,150 ----
  <h2><a name="shortcontents">Short Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>2. <a href="#component_model">Component Model</a><br>3. <a href="#eii-types">Types</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br>8. <a href="#conformance">Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="#References">References</a><br>A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br>B. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br>C. <a href="#wsdl-uri-references">URI References for WSDL Components</a> (Non-Normative)<br>D. <a href="#migration">Migrating from WSDL 1.1 to WSDL 2.0</a> (Non-Normative)<br>E. <a href="#other-schemalang">Examples of Specifications of Extension Elements for Alternative Schem
  Language Support.</a> (Non-Normative)<br>F. <a href="#changelog">Part 1 Change Log</a> (Non-Normative)<br></p></div><hr><div class="toc">
! <h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="#intro_ws">Web Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="#notation">Notational Conventions</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.1 <a href="#rfc2119keywords">RFC 2119 Keywords</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.2 <a href="#rfc2396namespaces">RFC 2396 Namespaces</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.3 <a href="#nsprefixes">Prefixes and Namespaces Used in This Specification</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.4 <a href="#xmlinfosetproperties">XML Infomation Set Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.5 <a href="#wsdlcomponentmodelproperties">WSDL Component Model Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.6 <a href="#znotation">Z Notation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.7 <a href="#bnfpseudschemas">BNF Pseudo-Schemas</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="#terminology">WSDL Terminology</a><br>2. <a href="#component_model">Component Model</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.1 <a href="#Description">Description</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1 <a href="#Description_details">The Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2 <a href="#Description_XMLRep">XML Representation of Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2.1 <a href="#Description_targetnamespace_attribute">targetNamespace attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3 <a href="#Description_Mapping">Mapping Description's XML Representation to Component
        Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 <a href="#Interface">Interface</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1 <a href="#Interface_details">The Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1.1 <a href="#Interface_OperationName">Operation Name Mapping Requirement</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2 <a href="#Interface_XMLRep">XML Representation of Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.1 <a href="#Interface_name_attribute">name attribute information item with interface [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.2 <a href="#Interface_extends_attribute">extends attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.3 <a href="#Interface_styleDefault_attribute">styleDefault attribute information item</a><br>&nbsp;&nbsp;&nbsp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.3 <a href="#Interface_Mapping">Mapping Interface's XML Representation to Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 <a href="#InterfaceFault">Interface Fault</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.1 <a href="#InterfaceFault_details">The Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2 <a href="#InterfaceFault_XMLRep">XML Representation of Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.1 <a href="#Interfacefault_name_attribute">name attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.2 <a href="#Interface_element_attribute">element attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.3 <a href="#InterfaceFault_Mapping">Mapping Interface Fault's XML Representation to
  	  Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 <a href="#InterfaceOperation">Interface Operation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1 <a href="#InterfaceOperation_details">The Interface Operation Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1.1 <a href="#InterfaceOperationStyle">Operation Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2 <a href="#RPCStyle">RPC Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.1 <a href="#InterfaceOperation_RPC_Signature_Definition">wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.2 <a href="#InterfaceOperation_RPC_Signature_XMLRep">XML Representation of the wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.3 <a href="#InterfaceOperation_RPC_Signature_Mapping">wrpc:signature Extension Mapping To Properties of an
***************
*** 170,175 ****
  XML format for describing Web services. WSDL enables one to separate
  the description of the abstract functionality offered by a service
! from concrete details of a service description such as "how" and
! "where" that functionality is offered.</p>
  
  <p>This specification defines a language for describing the abstract
--- 170,175 ----
  XML format for describing Web services. WSDL enables one to separate
  the description of the abstract functionality offered by a service
! from concrete details of a service description such as &ldquo;how&rdquo; and
! &ldquo;where&rdquo; that functionality is offered.</p>
  
  <p>This specification defines a language for describing the abstract
***************
*** 226,323 ****
  <h3><a name="notation"></a>1.2 Notational Conventions</h3>
  
! <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
     [<cite><a href="#RFC2119">IETF RFC 2119</a></cite>].</p>
  
! <p>This specification uses properties from the XML Information Set
! [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]. Such properties are denoted by square
! brackets, e.g. [namespace name].</p>
  
! <p>This specification uses curly brackets (e.g., {property}) to  
!    indicate a property in the WSDL component model, as defined in 
!    <a href="#component_model"><b>2. Component Model</b></a>.
! </p>        
  
! <p>This specification uses namespace prefixes throughout; they are
!    listed in <a href="#tabnsprefixes">Table 1-1</a>. Note that the choice of
!    any namespace prefix is arbitrary and not semantically significant
!    (see [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]).</p>
  
! <a name="tabnsprefixes"></a><br><table border="1" summary="Mapping of prefixes used in this document to their   associated namespace name">
!   <caption>Table 1-1. Prefixes and Namespaces used in this specification</caption>
!   <tbody>
!     <tr>
!       <th rowspan="1" colspan="1">Prefix</th> 
!       <th rowspan="1" colspan="1">Namespace</th>
!       <th rowspan="1" colspan="1">Notes</th>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdl</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl">http://www.w3.org/2004/12/wsdl</a>.  WSDL documents that do NOT
          conform to this schema are not valid WSDL documents. WSDL
          documents that DO conform to this schema and also conform to
          the other constraints defined in this specification are valid
!         WSDL documents.</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdli</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl-instance"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
!         "http://www.w3.org/2004/12/wsdl-instance" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl-instance">http://www.w3.org/2004/12/wsdl-instance</a>. </td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdls</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl-simple-types"</td>
!       <td rowspan="1" colspan="1">This prefix and namespace name are used to refer to the
!       simple types defined by this specification for use in the
!       component model, see <a href="#simpletypes"><b>2.15 Definition of the Simple Types Used in the Component Model</b></a>.</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wrpc</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/rpc"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl/rpc" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl/rpc">http://www.w3.org/2004/12/wsdl/rpc</a>.  WSDL documents that
          do NOT conform to this schema are not valid WSDL
          documents. WSDL documents that DO conform to this schema and
          also conform to the other constraints defined in this
!         specification are valid WSDL documents.  </td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsoap</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/soap12"</td>
!       <td rowspan="2" colspan="1">Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">whttp</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/http"</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">xs</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2001/XMLSchema"</td>
!             <td rowspan="2" colspan="1">Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">xsi</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2001/XMLSchema-instance"</td>
!     </tr>
!   </tbody>
! </table><br>
  
! <p>Namespace names of the general form
!    "http://example.org/..." and
!    "http://example.com/..." represent application or
!    context-dependent URIs [<cite><a href="#RFC2396">IETF RFC 2396</a></cite>].</p>
  
- <a name="zed-ZNotation"></a><div id="twisty-head-zed-ZNotation" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-ZNotation')">ZNotation</a>...</div><div id="twisty-body-zed-ZNotation" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-ZNotation')">ZNotation</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-ZNotation">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-ZNotation">hide all</a>&nbsp;]<br>
  <p>
! This specification uses Z Notation (see [<cite><a href="#ZNotationReferenceManual">Z Notation Reference Manual</a></cite>])
! to formalize the WSDL component model.
  The Z Notation in this specification has been verified using the
! Fuzz 2000 type-checker (see [<cite><a href="#Fuzz2000">Fuzz 2000</a></cite>]).
  </p>
  <p>
  The non-normative <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-i.html">DHTML</a> version of this specification allows the reader to interactively
--- 226,396 ----
  <h3><a name="notation"></a>1.2 Notational Conventions</h3>
  
! <p>All parts of this specification are normative, with the EXCEPTION
!    of notes, pseudo-schemas, examples, and sections explicitly marked as &ldquo;Non-Normative&rdquo;.</p>
! 
! <div class="div3">
! 
! <h4><a name="rfc2119keywords"></a>1.2.1 RFC 2119 Keywords</h4>
! 
! <p>The keywords &ldquo;MUST&rdquo;, &ldquo;MUST NOT&rdquo;,  &ldquo;EQUIRED&rdquo;, &ldquo;SHALL&rdquo;, &ldquo;SHALL NOT&rdquo;,
!    &ldquo;SHOULD&rdquo;, &ldquo;SHOULD NOT&rdquo;, &ldquo;RECOMMENDED&rdquo;, &ldquo;MAY&rdquo;, and &ldquo;OPTIONAL&rdquo; in
     this document are to be interpreted as described in RFC 2119
     [<cite><a href="#RFC2119">IETF RFC 2119</a></cite>].</p>
  
! </div>
  
! <div class="div3">
  
! <h4><a name="rfc2396namespaces"></a>1.2.2 RFC 2396 Namespaces</h4>
  
! <p>Namespace names of the general form:
! <ul>
!    <li>"http://example.org/..." and</li>
!    <li>"http://example.com/..."</li>
! </ul>
!    represent application or
!    context-dependent URIs [<cite><a href="#RFC2396">IETF RFC 2396</a></cite>].</p>
!    
! </div>
! 
! <div class="div3">
! 
! <h4><a name="nsprefixes"></a>1.2.3 Prefixes and Namespaces Used in This Specification</h4>
!         
! <p>This specification uses predefined namespace prefixes throughout; they are
!    given in the following list. Note that the choice of
!    any namespace prefix is arbitrary and not semantically significant
!    (see [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]).
! </p>
!    
!    <dl>
!       <dt>wsdl</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl">http://www.w3.org/2004/12/wsdl</a>.  WSDL documents that do NOT
          conform to this schema are not valid WSDL documents. WSDL
          documents that DO conform to this schema and also conform to
          the other constraints defined in this specification are valid
!         WSDL documents.
!         </p>
!       </dd>
! 
!       <dt>wsdli</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl-instance"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
!         "http://www.w3.org/2004/12/wsdl-instance" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl-instance">http://www.w3.org/2004/12/wsdl-instance</a>. 
!         </p>
!       </dd>
!       
!       <dt>wsdls</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl-simple-types"
!       	<p>
!       	This prefix and namespace name are used to refer to the
!       	simple types defined by this specification for use in the
!       	component model, see <a href="#simpletypes"><b>2.15 Definition of the Simple Types Used in the Component Model</b></a>.
!       	</p>
!       </dd>
! 
!       <dt>wrpc</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/rpc"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl/rpc" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl/rpc">http://www.w3.org/2004/12/wsdl/rpc</a>.  WSDL documents that
          do NOT conform to this schema are not valid WSDL
          documents. WSDL documents that DO conform to this schema and
          also conform to the other constraints defined in this
!         specification are valid WSDL documents.
!         </p>
!       </dd>
  
!       <dt>wsoap</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/soap12"
!       	<p>
!       	Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].
!         </p>
!       </dd>
! 
!       <dt>whttp</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/http"
!       	<p>
!       	Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].
!         </p>
!       </dd>
! 
!       <dt>xs</dt>
!       <dd>
!       	"http://www.w3.org/2001/XMLSchema"
!       	<p>
!       		Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].
!          </p>
!        </dd>
! 
!       <dt>xsi</dt>
!       <dd>
!       	"http://www.w3.org/2001/XMLSchema-instance"
!       	<p>
!       		Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].
!          </p>
!       </dd>
! 
!     </dl>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="xmlinfosetproperties"></a>1.2.4 XML Infomation Set Properties</h4>
  
  <p>
! This specification refers to properties in the XML Information Set [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]. 
! Such properties are denoted by square brackets, e.g. [children], [attributes].
! </p>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="wsdlcomponentmodelproperties"></a>1.2.5 WSDL Component Model Properties</h4>
! 
! <p>This specification defines and refers to properties in the WSDL Component Model <a href="#component_model"><b>2. Component Model</b></a>.
! Such properties are denoted by curly brackets, e.g. {name}, {interfaces}.
! </p>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="znotation"></a>1.2.6 Z Notation</h4>
! 
! <p>
! This specification uses Z Notation [<cite><a href="#ZNotationReferenceManual">Z Notation Reference Manual</a></cite>]
! to formalize the WSDL Component Model.
! Z Notation is a formal specification language that is based on standard mathematical notation. 
  The Z Notation in this specification has been verified using the
! Fuzz 2000 type-checker [<cite><a href="#Fuzz2000">Fuzz 2000</a></cite>].
! </p>
! 
! <p>
! There are two elements of Z Notation syntax that conflict with the notational conventions described in the preceeding sections.
! In Z Notation, square brackets are used to introduce basic sets, e.g. [<span class="zi">ID</span>],
! which conflicts with their use to denote XML Information Set properties
! <a href="#xmlinfosetproperties"><b>1.2.4 XML Infomation Set Properties</b></a>.
! Also, in Z Notation, curly brackets are used to denote set display and set comprehension, e.g. {1<span class="zprefix">,</span> 2<span class="zprefix">,</span> 3},
! which conflicts with their use to denote
! WSDL Component Model properties <a href="#wsdlcomponentmodelproperties"><b>1.2.5 WSDL Component Model Properties</b></a>.
! However, the intended meaning of square and curly brackets should be clear from their context and 
! this minor notational conflict should not cause any confusion.
  </p>
+ 
  <p>
  The non-normative <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-i.html">DHTML</a> version of this specification allows the reader to interactively
***************
*** 326,346 ****
  preferable.
  </p>
  <p>
! The normative version of this specification is compliant with the W3C Character Model (see [<cite><a href="#W3CCharacterModel">Character Model</a></cite>])
! which uses Unicode characters to encode mathematical symbols.
! If these symbols are not rendered correctly by your browser, try viewing the alternate, non-normative 
  <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-ie.html">IE</a> version of this specification.
  </p>
  </div>
  
! <p>All parts of this specification are normative, with the EXCEPTION
!    of notes, pseudo-schemas, examples, and sections explicitly marked as "Non-Normative".</p>
  
  <p>Pseudo-schemas are provided for each component, before the description
     of the component. They use BNF-style conventions for attributes and elements:
!    <em>`?'</em> denotes optionality (i.e. zero or one occurrences), <em>`*'</em>
!    denotes zero or more occurrences, <em>`+'</em> one or more occurrences,
!    <em>`['</em> and <em>`]'</em> are used to form groups, <em>`|'</em>
!    represents choice. Attributes are conventionally assigned a value which corresponds
     to their type, as defined in the normative schema.</p>
  
--- 399,426 ----
  preferable.
  </p>
+ 
  <p>
! The normative version of this specification is compliant with the W3C Character Model [<cite><a href="#W3CCharacterModel">Character Model</a></cite>]
! which uses Unicode characters to encode the mathematical symbols that appear in Z Notation.
! Mozilla Firefox correctly displays Unicode characters, provided that the required fonts are installed.
! Mathematical fonts for Mozilla Firefox can be downloaded from the <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.mozilla.org">Mozilla Web site</a>.
! To display the mathematical symbols correctly in Internet Explorer, use the alternate, non-normative 
  <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-ie.html">IE</a> version of this specification.
  </p>
+ 
  </div>
  
! <div class="div3">
! 
! <h4><a name="bnfpseudoschemas"></a>1.2.7 BNF Pseudo-Schemas</h4>
  
  <p>Pseudo-schemas are provided for each component, before the description
     of the component. They use BNF-style conventions for attributes and elements:
!    "?" denotes optionality (i.e. zero or one occurrences), 
!    "*" denotes zero or more occurrences, 
!    "+" one or more occurrences,
!    "[" and "]" are used to form groups, and
!    "|" represents choice. 
!    Attributes are conventionally assigned a value which corresponds
     to their type, as defined in the normative schema.</p>
  
***************
*** 359,362 ****
--- 439,444 ----
  </div>
  
+ </div>
+ 
  <div class="div2">
    
***************
*** 429,445 ****
    </div>
    
!   <a name="zed-ComponentId"></a><div id="twisty-head-zed-ComponentId" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-ComponentId')">ComponentId</a>...</div><div id="twisty-body-zed-ComponentId" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-ComponentId')">ComponentId</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-ComponentId">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-ComponentId">hide all</a>&nbsp;]<br>
!   
    
    A component is an identified, typed collection of properties.
    
!   
!   
    Let <span class="zi">Identifier</span> denote the set of component identifiers:
    
!   
!   
!    Let <span class="zi">id</span> be the identifier of the component.
!   
    
    <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Identifier</span></span></td><td></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">id</span> <span class="zinfix">:</span> <span class="zi">ID</span></span></td></tr><tr><td class="bl"></td><td class="b"></td><td></td></tr></tbody></table>
--- 511,527 ----
    </div>
    
!   <a name="zed-Identifier"></a><div id="twisty-head-zed-Identifier" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-Identifier')">Identifier</a>...</div><div id="twisty-body-zed-Identifier" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-Identifier')">Identifier</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-Identifier">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-Identifier">hide all</a>&nbsp;]<br>
    
+   <p>
    A component is an identified, typed collection of properties.
+   </p>
    
!   <p>
    Let <span class="zi">Identifier</span> denote the set of component identifiers:
+   </p>
    
!   <ul>
!    <li><p>Let <span class="zi">id</span> be the identifier of the component.</p></li>
!   </ul>
    
    <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Identifier</span></span></td><td></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">id</span> <span class="zinfix">:</span> <span class="zi">ID</span></span></td></tr><tr><td class="bl"></td><td class="b"></td><td></td></tr></tbody></table>
***************
*** 447,450 ****
--- 529,536 ----
    <div class="zsee"><span class="zsmall">See<span class="zi"> <a href="#zed-ID">ID</a>.</span></span></div>
    
+   </div>
+   
+   <a name="zed-Id"></a><div id="twisty-head-zed-Id" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-Id')">Id</a>...</div><div id="twisty-body-zed-Id" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-Id')">Id</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-Id">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-Id">hide all</a>&nbsp;]<br>
+   
    <table class="zaxdef"><col class="zaxdef1"><col class="zaxdef2"><tbody><tr><td class="zaxdefabovewheretext" colspan="2"><span class="zi">Id</span> <span class="zinfix">:</span> <span class="zi">Component</span><span class="zinfix">&rarr;</span><span class="zi">ID</span></td></tr><tr><td class="bl"></td><td></td></tr><tr><td class="zaxdefbelowwheretext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Description</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">description</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">ElementDeclaration</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">elementDecl</span>(<span class="zi">x</span>)) <spn class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">TypeDefinition</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">typeDef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Interface</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interface</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceFault</spn> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interfaceFault</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceOperation</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interfaceOp</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">MessageReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">messageRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="axdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">FaultReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">faultRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Feature</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">feature</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Property</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">property</span>(<span class="z">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Binding</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">binding</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingFault</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingFault</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BidingOperation</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingOp</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingMessageReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingMessageRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Service</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">service</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr<td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Endpoint</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">endpoint</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr></tbody></table>
    
***************
*** 478,481 ****
--- 564,571 ----
    <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Components</span></span></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">ComponentModel</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">descriptionComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Description</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">elementDeclComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">ElementDeclaration</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">typeDefComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">TypeDefinition</span></span></td></tr><tr><td cass="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Interface</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceFaultComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">InterfaceFault</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceOpComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">InterfaceOperation</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">messageRefComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">MessageReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">faultRefComps</span> <span class="zinfix">:</span><span lass="zprefix">ℙ</span><span class="zi">FaultReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">featureComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Feature</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">propertyComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Property</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Binding</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingFaultComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">BindingFault</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi"bindingOpComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">BindingOperation</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingMessageRefComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">BindingMessageReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">serviceComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Service</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">endpointComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Endpoint</span></span></td></tr><tr><td class="bl"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">descriptionComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</spa> <span class="zinfix">:</span> <span class="zi">Description</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">description</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">elementDeclComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">ElementDeclaration</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">elementDecl</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><tdclass="zschematext" colspan="3"><span class="zschematext"><span class="zi">typeDefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">TypeDefinition</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">typeDef</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Interface</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interface</span>(<span class="zi">x</span>)<spn class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceFaultComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceFault</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interfaceFault</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceOpComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceOperation</span> <span class="zinfix">|</span></span></td></tr><t><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interfaceOp</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">messageRefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">MessageReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">messageRef</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">faultRefComps</span> <span class="zinfix">=</pan> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">FaultReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">faultRef</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">featureComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Feature</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">feature</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td>/td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">propertyComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Property</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">property</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Binding</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">binding</span>(<span class="zi">x</spn>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingFaultComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingFault</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingFault</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingOpComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingOperation</span> <span class="zinfix">|</span></span></td></tr><tr><d class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingOp</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingMessageRefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingMessageReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingMessageRef</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">serviceComps</span> <span clas="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Service</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">service</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">endpointComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Endpoint</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">endpoint</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="bl"></td><t class="b"></td><td></td></tr></tbody></table>
    
+   </div>
+   
+   <a name="zed-ComponentIds"></a><div id="twisty-head-zed-ComponentIds" class="twisty-head"><img src="images/left-twisty-13.png" class="twisty-icon"><a href="javascript:show('zed-ComponentIds')">ComponentIds</a>...</div><div id="twisty-body-zed-ComponentIds" class="twisty-body"><img src="images/down-twisty-13.png" class="twisty-icon"><a href="javascript:hide('zed-ComponentIds')">ComponentIds</a>&nbsp;&nbsp;[&nbsp;<a onClick="showAll()" href="#zed-ComponentIds">show all</a>&nbsp;]&nbsp;&nbsp;[&nbsp;<a onClick="hideAll()" href="#zed-ComponentIds">hide all</a>&nbsp;]<br>
+   
     <p>
    The component model has additional constraints which are described in the following sections.
***************
*** 504,508 ****
    representation of a component to the component itself, an optional
    property that is absent in the component in question is described as
!   being "empty". Unless otherwise specified, when a property is identified
    as being a collection (a set or a list), its value may be a 0-element
    (empty) collection. In order to simplify the presentation of the rules
--- 594,598 ----
    representation of a component to the component itself, an optional
    property that is absent in the component in question is described as
!   being &ldquo;empty&rdquo;. Unless otherwise specified, when a property is identified
    as being a collection (a set or a list), its value may be a 0-element
    (empty) collection. In order to simplify the presentation of the rules
***************
*** 549,558 ****
    <em>wsdls:string</em> (but the opposite is not true). Hence, for
    brevity, in the sections describing the mapping from the XML Infoset
!   representation of a WSDL document to its component model we use "actual
!   values" as defined by the XML Schema specification [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>]
    as if they were members of the value space of the corresponding
!   WSDL-defined simple types. So, for instance, we talk of "assigning the
    actual value of the "name" <em>attribute information item</em> (a <em>xs:string</em>)
!   "to the {name} property (of type <em>wsdls:string</em>)" of
    a certain component.
    </p>
--- 639,648 ----
    <em>wsdls:string</em> (but the opposite is not true). Hence, for
    brevity, in the sections describing the mapping from the XML Infoset
!   representation of a WSDL document to its component model we use &ldquo;actual
!   values&rdquo; as defined by the XML Schema specification [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>]
    as if they were members of the value space of the corresponding
!   WSDL-defined simple types. So, for instance, we talk of &ldquo;assigning the
    actual value of the "name" <em>attribute information item</em> (a <em>xs:string</em>)
!   to the {name} property (of type <em>wsdls:string</em>)&rdquo; of
    a certain component.
    </p>
***************
*** 941,944 ****
--- 1031,1036 ----
  	  <a name="tab_Description_Mapping"></a><br><table border="1">
  	    <caption>Table 2-1. Mapping between Description Component Properties and XML Representation</caption>
+ 		<col width="75" span="1">
+   		<col width="300" span="1">
  	    <tbody>
  		  <tr>
***************
*** 1132,1137 ****
  	  or the token <em>out</em>).  If the {message content model}
  	  property of any of these Message Reference components has a value
! 	  of "#any", or if more than one of these Message Reference components
! 	  has a value of "#none", or if the qualified names of the global
  	  element declarations specified by the values of the {element}
  	  properties of these Message Reference components are not unique
--- 1224,1229 ----
  	  or the token <em>out</em>).  If the {message content model}
  	  property of any of these Message Reference components has a value
! 	  of &ldquo;#any&rdquo;, or if more than one of these Message Reference components
! 	  has a value of &ldquo;#none&rdquo;, or if the qualified names of the global
  	  element declarations specified by the values of the {element}
  	  properties of these Message Reference components are not unique
***************
*** 1344,1347 ****
--- 1436,1441 ----
  	  <a name="tab_Interface_Mapping"></a><br><table border="1">
  	    <caption>Table 2-2. Mapping between Interface Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 1478,1482 ****
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or "payload" of the fault.  </p>
              </li>
  
--- 1572,1576 ----
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or &ldquo;payload&rdquo; of the fault.  </p>
              </li>
  
***************
*** 1680,1683 ****
--- 1774,1779 ----
  	  <a name="tab_InterfaceFault_Mapping"></a><br><table border="1">
  	    <caption>Table 2-3. Mapping between Interface Fault Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 1941,1945 ****
  	   <li><p> The LocalPart of the output element's QName is
  	   obtained by concatenating the name of the operation and
! 	   the string value "Response".</p></li>
  	
  	   <li><p>Input and output elements MUST both be in the
--- 2037,2041 ----
  	   <li><p> The LocalPart of the output element's QName is
  	   obtained by concatenating the name of the operation and
! 	   the string value &ldquo;Response&rdquo;.</p></li>
  	
  	   <li><p>Input and output elements MUST both be in the
***************
*** 2106,2109 ****
--- 2202,2207 ----
  	  <a name="tab_InterfaceOperation_RPC_Signature_Mapping"></a><br><table border="1">
  	    <caption>Table 2-4. Mapping of a <code>wrpc:signature</code>  Extension to Interface Operation Component Properties</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2333,2336 ****
--- 2431,2436 ----
  	  <a name="tab_InterfaceOperation_Mapping"></a><br><table border="1">
  	    <caption>Table 2-5. Mapping between Interface Operation Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2469,2473 ****
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or "payload" of the message. When
              the {message content model} property has the value
              <em>#any</em> or <em>#none</em> the {element}
--- 2569,2573 ----
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or &ldquo;payload&rdquo; of the message. When
              the {message content model} property has the value
              <em>#any</em> or <em>#none</em> the {element}
***************
*** 2670,2673 ****
--- 2770,2775 ----
  	  <a name="tab_MessageReference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-6. Mapping between Message Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2988,2991 ****
--- 3090,3095 ----
  	  <a name="tab_FaultReference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-7. Mapping between Fault Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 3062,3067 ****
        between communicating parties.  Although WSDL poses no
        constraints on the potential scope of such features, examples
!       might include "reliability", "security", "correlation", and
!       "routing".  The presence of a feature component in a WSDL description 
        indicates that the service supports the feature and may require a
        requester agent that interacts with the service to use that feature.
--- 3166,3171 ----
        between communicating parties.  Although WSDL poses no
        constraints on the potential scope of such features, examples
!       might include &ldquo;reliability&rdquo;, &ldquo;security&rdquo;, &ldquo;correlation&rdquo;, and
!       &ldquo;routing&rdquo;.  The presence of a feature component in a WSDL description 
        indicates that the service supports the feature and may require a
        requester agent that interacts with the service to use that feature.
***************
*** 3337,3340 ****
--- 3441,3446 ----
  	  <a name="tab_Feature_Mapping"></a><br><table border="1">
  	    <caption>Table 2-8. Mapping between Feature Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 3368,3372 ****
  <h4><a name="Property_details"></a>2.8.1 The Property Component</h4>
  	  
!           <p>A "property" in the Features and Properties architecture
            represents a named runtime value which affects the behaviour
            of some aspect of a Web service interaction, much like an
--- 3474,3478 ----
  <h4><a name="Property_details"></a>2.8.1 The Property Component</h4>
  	  
!           <p>A &ldquo;property&rdquo; in the Features and Properties architecture
            represents a named runtime value which affects the behaviour
            of some aspect of a Web service interaction, much like an
***************
*** 3462,3467 ****
  	    <p>At runtime, the behavior of features, (SOAP) modules
  	    and bindings may be affected by the values of in-scope
! 	    properties. Properties combine into a virtual "execution
! 	    context" which maps property names (URIs) to
  	    constraints. Each property URI MAY therefore be associated
  	    with AT MOST one property constraint for a given
--- 3568,3573 ----
  	    <p>At runtime, the behavior of features, (SOAP) modules
  	    and bindings may be affected by the values of in-scope
! 	    properties. Properties combine into a virtual &ldquo;execution
! 	    context&rdquo; which maps property names (URIs) to
  	    constraints. Each property URI MAY therefore be associated
  	    with AT MOST one property constraint for a given
***************
*** 3531,3536 ****
  	    </ul>
  	    
! 	    <p>Note that, in the text above, "property constraint"
! 	    (or, simply, "constraint") is used to mean EITHER a
  	    <code>constraint</code>  inside a property component OR a
  	    <code>value</code> , since <code>value</code>  may be considered a
--- 3637,3642 ----
  	    </ul>
  	    
! 	    <p>Note that, in the text above, &ldquo;property constraint&rdquo;
! 	    (or, simply, &ldquo;constraint&rdquo;) is used to mean EITHER a
  	    <code>constraint</code>  inside a property component OR a
  	    <code>value</code> , since <code>value</code>  may be considered a
***************
*** 3719,3722 ****
--- 3825,3830 ----
  	  <a name="tab_Property_Mapping"></a><br><table border="1">
  	    <caption>Table 2-9. Mapping between Property Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4029,4032 ****
--- 4137,4142 ----
  	  <a name="tab_Binding_Mapping"></a><br><table border="1">
  	    <caption>Table 2-10. Mapping between Binding Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4252,4256 ****
      <caption>Table 2-11. Mapping between Binding Fault Component Properties
      and XML Representation</caption>
! 
      <tbody>
  		  <tr>
--- 4362,4367 ----
      <caption>Table 2-11. Mapping between Binding Fault Component Properties
      and XML Representation</caption>
! 	<col span="1">
! 	<col span="1">
      <tbody>
  		  <tr>
***************
*** 4457,4460 ****
--- 4568,4573 ----
  	  <a name="tab_Binding_Operation_Mapping"></a><br><table border="1">
  	    <caption>Table 2-12. Mapping between Binding Operation Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4673,4676 ****
--- 4786,4791 ----
  	  <a name="tab_Binding_Message_Reference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-13. Mapping between Binding Message Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4910,4913 ****
--- 5025,5030 ----
  	  <a name="tab_Service_Mapping"></a><br><table border="1">
  	    <caption>Table 2-14. Mapping between Service Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 5186,5189 ****
--- 5303,5308 ----
  	  <a name="tab_Endpoint_Mapping"></a><br><table border="1">
  	    <caption>Table 2-15. Mapping between Endpoint Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 5243,5247 ****
      such as XML 1.1 [<cite><a href="#XML11">XML 1.1</a></cite>].
      </p>
!     <p>All types defined in this section are formally assigned to the "http://www.w3.org/2004/12/wsdl-simple-types"
      namespace. All references to them in this specification are made via qualified
      names that use the <em>wsdls</em> prefix. It should be noted though
--- 5362,5366 ----
      such as XML 1.1 [<cite><a href="#XML11">XML 1.1</a></cite>].
      </p>
!     <p>All types defined in this section are formally assigned to the &ldquo;http://www.w3.org/2004/12/wsdl-simple-types&rdquo;
      namespace. All references to them in this specification are made via qualified
      names that use the <em>wsdls</em> prefix. It should be noted though
***************
*** 5792,5796 ****
  for an alternative schema language MUST include the declaration of an <em>element information item</em>,
  intended to appear as a child of the <code>wsdl:types</code>  <em>element information item</em>, which
! references, names, and locates the schema instance (an "import"
  <em>element information item</em>). The extension specification SHOULD, if necessary, define
  additional properties of <a href="#Description_details"><b>2.1.1 The Description Component</b></a> (and
--- 5911,5915 ----
  for an alternative schema language MUST include the declaration of an <em>element information item</em>,
  intended to appear as a child of the <code>wsdl:types</code>  <em>element information item</em>, which
! references, names, and locates the schema instance (an &ldquo;import&rdquo;
  <em>element information item</em>). The extension specification SHOULD, if necessary, define
  additional properties of <a href="#Description_details"><b>2.1.1 The Description Component</b></a> (and
***************
*** 5861,5865 ****
  document.  The included components can be referenced by QName. Note
  that because all WSDL descriptions have a target namespace,
! no-namespace includes (sometimes known as "chameleon includes") never
  occur in WSDL.</p>
  
--- 5980,5984 ----
  document.  The included components can be referenced by QName. Note
  that because all WSDL descriptions have a target namespace,
! no-namespace includes (sometimes known as &ldquo;chameleon includes&rdquo;) never
  occur in WSDL.</p>
  
***************
*** 6781,6784 ****
--- 6900,6904 ----
  	    http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The <a href="http://www.w3.org/TR/xmlschema-2/">latest version of
  	    XML Schema Part 2</a> is available at
+ 
  	    http://www.w3.org/TR/xmlschema-2.
  	  </dd>
***************
*** 6845,6857 ****
  
  	  <dt class="label"><a name="ISO10646"></a>[ISO/IEC 10646] </dt><dd>
! 	  <cite>ISO/IEC 10646-1:2000. Information technology --
  	  Universal Multiple-Octet Coded Character Set (UCS) --
! 	  Part 1: Architecture and Basic Multilingual Plane</cite>
  	  (See http://www.iso.ch for the latest version.)
  	  </dd>
  
  	  <dt class="label"><a name="unicode"></a>[Unicode] </dt><dd>
! 	  <cite><a href="http://www.unicode.org/versions/Unicode4.0.1/">The Unicode Consortium, The Unicode Standard, Version 4</a></cite>
! 	  , ISBN 0-321-18578-1, as updated from time to time by the publication of new
  	  versions. (See http://www.unicode.org/unicode/standard/versions  for the
  	  latest version and additional information on versions of the standard and
--- 6965,6977 ----
  
  	  <dt class="label"><a name="ISO10646"></a>[ISO/IEC 10646] </dt><dd>
! 	  <cite><a href="http://www.iso.ch">ISO/IEC 10646-1:2000. Information technology --
  	  Universal Multiple-Octet Coded Character Set (UCS) --
! 	  Part 1: Architecture and Basic Multilingual Plane</a></cite>
  	  (See http://www.iso.ch for the latest version.)
  	  </dd>
  
  	  <dt class="label"><a name="unicode"></a>[Unicode] </dt><dd>
! 	  <cite><a href="http://www.unicode.org/versions/Unicode4.0.1/">The Unicode Consortium, The Unicode Standard, Version 4</a></cite>, 
! 	  ISBN 0-321-18578-1, as updated from time to time by the publication of new
  	  versions. (See http://www.unicode.org/unicode/standard/versions  for the
  	  latest version and additional information on versions of the standard and
***************
*** 7263,7267 ****
          identifier, where the fragment identifier is typically constructed from
          the {name} property of the component and the {name} properties
!         of its ancestors as a path according to <a href="#uri-ref-frag-table">Table C-1</a>. In that table the first column
          gives the name of the WSDL component. 
  		Columns two through five specify the identifiers that
--- 7383,7387 ----
          identifier, where the fragment identifier is typically constructed from
          the {name} property of the component and the {name} properties
!         of its ancestors as a path according to <a href="#uriRefFragTable">Table C-1</a>. In that table the first column
          gives the name of the WSDL component. 
  		Columns two through five specify the identifiers that
***************
*** 7272,7277 ****
          pointer part in column six.</p>
  
! 	<a name="uri-ref-frag-table"></a><br><table border="1">
  	  <caption>Table C-1. Rules for determining pointer parts for WSDL components</caption>
  	<tbody>
  	<tr>
--- 7392,7403 ----
          pointer part in column six.</p>
  
! 	<a name="uriRefFragTable"></a><br><table border="1">
  	  <caption>Table C-1. Rules for determining pointer parts for WSDL components</caption>
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
  	<tbody>
  	<tr>
***************
*** 7721,7724 ****
--- 7847,7853 ----
  
  <a name="wsdl-changelog-table"></a><br><table border="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
    <tbody>
  
***************
*** 7728,7731 ****
--- 7857,7872 ----
        <th rowspan="1" colspan="1">Description</th>
      </tr>
+     
+     <tr>
+     	<td rowspan="1" colspan="1">20050118</td>
+     	<td rowspan="1" colspan="1">AGR</td>
+     	<td rowspan="1" colspan="1">Edited Notational Conventions and References sections.</td>
+     </tr>
+     
+     <tr>
+     	<td rowspan="1" colspan="1">20050117</td>
+     	<td rowspan="1" colspan="1">AGR</td>
+     	<td rowspan="1" colspan="1">Edited table markup to simplify PDF generation.</td>
+     </tr>
  
      <tr>
***************
*** 8473,8498 ****
  	  <td rowspan="1" colspan="1">Skeleton Feature and Property components</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030305</td>
  	  <td rowspan="1" colspan="1">MJG</td>
  	  <td rowspan="1" colspan="1">Merged ComponentModelForMEPs branch (1.46.2.5) into main
! 	  branch (1.54). Below is change log from the branch:
  
! 	  <a name="ComponentModelForMEPs_branch"></a><br><table border="1">
! 	  <tbody>
!     <tr>
!       <th rowspan="1" colspan="1">Date</th>
!       <th rowspan="1" colspan="1">Author</th>
!       <th rowspan="1" colspan="1">Description</th>
!     </tr>
! 	  	<tr>
  	  <td rowspan="1" colspan="1">20030220</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Minor wording change at suggestion of JJM</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030212</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Updated component model to include Fault Reference
  	  component. Associated changes to Port Type Operation component</td>
  	</tr>
--- 8614,8634 ----
  	  <td rowspan="1" colspan="1">Skeleton Feature and Property components</td>
  	</tr>
+ 	
  	<tr>
  	  <td rowspan="1" colspan="1">20030305</td>
  	  <td rowspan="1" colspan="1">MJG</td>
  	  <td rowspan="1" colspan="1">Merged ComponentModelForMEPs branch (1.46.2.5) into main
! 	  branch (1.54). Below is change log from the branch:</td>
! 	</tr>
  
!   	<tr>
  	  <td rowspan="1" colspan="1">20030220</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Minor wording change at suggestion of JJM</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030212</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Updated component model to include Fault Reference
  	  component. Associated changes to Port Type Operation component</td>
  	</tr>
***************
*** 8500,8510 ****
  	  <td rowspan="1" colspan="1">20030211</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Changes to component model to support MEPs</td>
  	</tr>
- 	  </tbody>
- 	  </table><br>
  
- 	  </td>
- 	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030228</td>
--- 8636,8642 ----
  	  <td rowspan="1" colspan="1">20030211</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Changes to component model to support MEPs</td>
  	</tr>
  
  	<tr>
  	  <td rowspan="1" colspan="1">20030228</td>
***************
*** 8548,8564 ****
  	  <td rowspan="1" colspan="1">Merged operationnames branch (1.37.2.3) into main
  	  branch (1.46). Below is the change log
! 	  from the branch.
  
- 	  <a name="operationnames_branch"></a><br><table border="1">
- 	  <tbody>
-     <tr>
-       <th rowspan="1" colspan="1">Date</th>
-       <th rowspan="1" colspan="1">Author</th>
-       <th rowspan="1" colspan="1">Description</th>
-     </tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Updated binding section to match changes to port type
  	  section WRT operation names</td>
  	</tr>
--- 8680,8690 ----
  	  <td rowspan="1" colspan="1">Merged operationnames branch (1.37.2.3) into main
  	  branch (1.46). Below is the change log
! 	  from the branch.</td>
! 	</tr>
  
  	<tr>
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Updated binding section to match changes to port type
  	  section WRT operation names</td>
  	</tr>
***************
*** 8566,8570 ****
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Added best practice note on operation names and target
  	  namespaces to <a href="#InterfaceOperation_details"><b>2.4.1 The Interface Operation Component</b></a></td>
  	</tr>
--- 8692,8696 ----
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Added best practice note on operation names and target
  	  namespaces to <a href="#InterfaceOperation_details"><b>2.4.1 The Interface Operation Component</b></a></td>
  	</tr>
***************
*** 8572,8581 ****
  	  <td rowspan="1" colspan="1">20030122</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Started work on making operations have unique names</td>
! 	</tr>
! 	</tbody>
! 	</table><br>
! 	  </td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030213</td>
--- 8698,8704 ----
  	  <td rowspan="1" colspan="1">20030122</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Started work on making operations have unique names</td>
  	</tr>
+ 
  	<tr>
  	  <td rowspan="1" colspan="1">20030213</td>

Index: build.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/build.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** build.xml	31 Dec 2004 22:03:02 -0000	1.9
--- build.xml	18 Jan 2005 00:23:53 -0000	1.10
***************
*** 25,29 ****
  
  <!-- 
! 	Change Log:
  
  	2004-12-31: Arthur Ryman <ryman@ca.ibm.com>
--- 25,35 ----
  
  <!-- 
! 	ChangeLog:
! 
! 	2005-01-16: Arthur Ryman <ryman@ca.ibm.com>
! 	- added target to list all elements in spec
! 
! 	2005-01-03: Arthur Ryman <ryman@ca.ibm.com>
! 	- use xmlspec2latex.xsl to generate LaTeX
  
  	2004-12-31: Arthur Ryman <ryman@ca.ibm.com>
***************
*** 57,60 ****
--- 63,67 ----
  
  	<target name="clean" description="Deletes generated files.">
+ 		<delete file="wsdl20.pdf" />
  		<delete file="wsdl20.tex" />
  		<delete file="wsdl20.html" />
***************
*** 78,89 ****
  
  	<target name="latex" description="Transforms wsdl20.xml into wsdl20.tex">
! 		<xslt in="wsdl20.xml" out="wsdl20.tex" style="zml2latex.xsl" />
  	</target>
  	
! 	<target name="pdf" depends="latex" description="Formats tex into pdf using pdflatex.">
  		<exec executable="pdflatex">
  			<arg line="wsdl20"/>
  		</exec>
  	</target>
  
  	<target name="html" description="Transforms xml into html.">
--- 85,110 ----
  
  	<target name="latex" description="Transforms wsdl20.xml into wsdl20.tex">
! 		<xmlvalidate lenient="true">
! 			<fileset dir="." includes="wsdl20.xml, *latex.xsl"/>
! 		</xmlvalidate>
! 		<delete file="wsdl20.tex" />
! 		<xslt in="wsdl20.xml" out="wsdl20.tex" style="xmlspec2latex.xsl" />
  	</target>
  	
! 	<target name="pdf" depends="latex, typecheck" description="Formats tex into pdf using pdflatex.">
! 		<delete file="wsdl20.pdf" />
  		<exec executable="pdflatex">
  			<arg line="wsdl20"/>
  		</exec>
  	</target>
+ 	
+ 	<target name="deploy" depends="pdf" description="Deploys the PDF file to a Web server.">
+ 		<copy file="wsdl20.pdf" todir="E:\jakarta-tomcat-5.0.25\webapps\ROOT" />
+ 	</target>
+ 
+ 	<target name="elements" description="Lists all elements.">
+ 		<delete file="wsdl20-elements.txt" />
+ 		<xslt in="wsdl20.xml" out="wsdl20-elements.txt" style="elements.xsl" />
+ 	</target>
  
  	<target name="html" description="Transforms xml into html.">

Index: zml2latex.xsl
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/zml2latex.xsl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** zml2latex.xsl	12 Nov 2004 01:30:48 -0000	1.1
--- zml2latex.xsl	18 Jan 2005 00:23:53 -0000	1.2
***************
*** 27,340 ****
  	ChangeLog:
  	
  	2004-10-16: Arthur Ryman <ryman@ca.ibm.com>
  	- modified to support W3C XML specification format
  	
  -->
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:z="http://www.w3.org/2004/zml">
- 
- 	<xsl:output method="text" encoding="UTF-8" indent="no" />
- 
- 	<xsl:preserve-space elements="*" />
- 
- 	<xsl:variable name="nl">
- 		<xsl:text>&#x0A;</xsl:text>
- 	</xsl:variable>
- 
- 	<xsl:variable name="title">
- 		<xsl:choose>
- 			<xsl:when test="/html/head/title">
- 				<xsl:value-of select="/html/head/title" />
- 			</xsl:when>
- 			<xsl:otherwise>
- 				<xsl:text>Untitled</xsl:text>
- 			</xsl:otherwise>
- 		</xsl:choose>
- 	</xsl:variable>
- 
- 	<xsl:variable name="author">
- 		<xsl:choose>
- 			<xsl:when test="/html/head/meta[@name='author']/@content">
- 				<xsl:value-of select="/html/head/meta[@name='author']/@content" />
- 			</xsl:when>
- 			<xsl:otherwise>
- 				<xsl:text>Anonymous</xsl:text>
- 			</xsl:otherwise>
- 		</xsl:choose>
- 	</xsl:variable>
- 
- 	<xsl:variable name="date">
- 		<xsl:choose>
- 			<xsl:when test="/html/head/meta[@name='date']/@content">
- 				<xsl:value-of select="/html/head/meta[@name='date']/@content" />
- 			</xsl:when>
- 			<xsl:otherwise>
- 				<xsl:text>\today</xsl:text>
- 			</xsl:otherwise>
- 		</xsl:choose>
- 	</xsl:variable>
- 
- 	<xsl:template match="/">
- 
- 		<xsl:text>\documentclass{article}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:text>\usepackage{fuzz}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:text>\usepackage[pdftitle={</xsl:text>
- 		<xsl:value-of select="$title" />
- 		<xsl:text>}, pdfauthor={</xsl:text>
- 		<xsl:value-of select="$author" />
- 		<xsl:text>}, pdfstartview=FitBH]{hyperref}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:text>\begin{document}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:apply-templates select="//z:notation"/>
- 
- 		<xsl:text>\end{document}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 		
- 	</xsl:template>
- 	
- 	<xsl:template match="z:notation">
- 		<xsl:text>\section{</xsl:text><xsl:value-of select="@name"/><xsl:text>}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 		<xsl:apply-templates/>
- 	</xsl:template>
- 
- 	<xsl:template match="text()">
- 		<xsl:call-template name="escape-lbrace">
- 			<xsl:with-param name="text" select="." />
- 		</xsl:call-template>
- 	</xsl:template>
- 
- 	<xsl:template name="escape-lbrace">
- 		<xsl:param name="text" />
- 		<xsl:choose>
- 			<xsl:when test="contains($text,'{')">
- 				<xsl:call-template name="escape-rbrace">
- 					<xsl:with-param name="text" select="substring-before($text,'{')" />
- 				</xsl:call-template>
- 				<xsl:text>\{</xsl:text>
- 				<xsl:call-template name="escape-lbrace">
- 					<xsl:with-param name="text" select="substring-after($text,'{')" />
- 				</xsl:call-template>
- 			</xsl:when>
- 			<xsl:otherwise>
- 				<xsl:call-template name="escape-rbrace">
- 					<xsl:with-param name="text" select="$text" />
- 				</xsl:call-template>
- 			</xsl:otherwise>
- 		</xsl:choose>
- 	</xsl:template>
- 
- 	<xsl:template name="escape-rbrace">
- 		<xsl:param name="text" />
- 		<xsl:choose>
- 			<xsl:when test="contains($text,'}')">
- 				<xsl:call-template name="escape-hash">
- 					<xsl:with-param name="text" select="substring-before($text,'}')" />
- 				</xsl:call-template>
- 				<xsl:text>\}</xsl:text>
- 				<xsl:call-template name="escape-rbrace">
- 					<xsl:with-param name="text" select="substring-after($text,'}')" />
- 				</xsl:call-template>
- 			</xsl:when>
- 			<xsl:otherwise>
- 				<xsl:call-template name="escape-hash">
- 					<xsl:with-param name="text" select="$text" />
- 				</xsl:call-template>
- 			</xsl:otherwise>
- 		</xsl:choose>
- 	</xsl:template>
- 
- 	<xsl:template name="escape-hash">
- 		<xsl:param name="text" />
- 		<xsl:choose>
- 			<xsl:when test="contains($text,'#')">
- 				<xsl:value-of select="substring-before($text,'#')" />
- 				<xsl:text>\#</xsl:text>
- 				<xsl:call-template name="escape-hash">
- 					<xsl:with-param name="text" select="substring-after($text,'#')" />
- 				</xsl:call-template>
- 			</xsl:when>
- 			<xsl:otherwise>
- 				<xsl:value-of select="$text"/>
- 			</xsl:otherwise>
- 		</xsl:choose>
- 	</xsl:template>
- 
- 	<xsl:template match="html">
- 		<xsl:apply-templates />
- 	</xsl:template>
- 
- 	<xsl:template match="head">
- 
- 		<xsl:text>\title{</xsl:text>
- 		<xsl:value-of select="$title" />
- 		<xsl:text>}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:text>\author{</xsl:text>
- 		<xsl:value-of select="$author" />
- 		<xsl:text>}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:text>\date{</xsl:text>
- 		<xsl:value-of select="$date" />
- 		<xsl:text>}</xsl:text>
- 
- 	</xsl:template>
- 
- 	<xsl:template match="body">
- 
- 		<xsl:text>\begin{document}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:text>\maketitle</xsl:text>
- 		<xsl:value-of select="$nl" />
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:text>\section*{Abstract}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 		<xsl:apply-templates select="/html/head/div[@id='Abstract']" />
- 		<xsl:value-of select="$nl" />
- 
- 		<xsl:text>\clearpage</xsl:text>
- 
- 		<xsl:apply-templates />
- 
- 		<xsl:text>\end{document}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 
- 	</xsl:template>
- 
- 	<xsl:template match="a">
- 		<xsl:if test="@href">
- 			<xsl:text>\href{</xsl:text>
- 			<xsl:value-of select="@href" />
- 			<xsl:text>}{</xsl:text>
- 			<xsl:apply-templates />
- 			<xsl:text>}</xsl:text>
- 		</xsl:if>
- 	</xsl:template>
- 
- 	<xsl:template match="h2">
- 		<xsl:text>\section{</xsl:text>
- 		<xsl:value-of select="." />
- 		<xsl:text>}</xsl:text>
- 	</xsl:template>
- 
- 	<xsl:template match="h3">
- 		<xsl:text>\subsection{</xsl:text>
- 		<xsl:value-of select="." />
- 		<xsl:text>}</xsl:text>
- 	</xsl:template>
- 
- 	<xsl:template match="h4">
- 		<xsl:text>\subsubsection{</xsl:text>
- 		<xsl:value-of select="." />
- 		<xsl:text>}</xsl:text>
- 	</xsl:template>
- 
- 	<xsl:template match="ul">
- 		<xsl:text>\begin{itemize}</xsl:text>
- 		<xsl:apply-templates />
- 		<xsl:text>\end{itemize}</xsl:text>
- 	</xsl:template>
- 
- 	<xsl:template match="ol">
- 		<xsl:text>\begin{enumerate}</xsl:text>
- 		<xsl:apply-templates />
- 		<xsl:text>\end{enumerate}</xsl:text>
- 	</xsl:template>
- 
- 	<xsl:template match="li">
- 		<xsl:value-of select="'\item '" />
- 		<xsl:apply-templates />
- 	</xsl:template>
- 
- 
- 	<xsl:template match="dl">
- 		<xsl:text>\begin{description}</xsl:text>
- 		<xsl:apply-templates />
- 		<xsl:text>\end{description}</xsl:text>
- 	</xsl:template>
- 
- 	<xsl:template match="dt">
- 		<xsl:text>\item[</xsl:text>
- 		<xsl:apply-templates />
- 		<xsl:text>]</xsl:text>
- 	</xsl:template>
- 
- 	<xsl:template match="dd">
- 		<xsl:apply-templates />
- 	</xsl:template>
- 
- 	<xsl:template match="table">
- 		<xsl:text>\begin{table}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 		<xsl:text>\begin{tabular}{</xsl:text>
- 		<!-- |l|l|l|l -->
- 		<xsl:for-each select="col">
- 			<xsl:text>|</xsl:text>
- 			<xsl:choose>
- 				<xsl:when test="@align='right'">
- 					<xsl:text>r</xsl:text>
- 				</xsl:when>
- 				<xsl:when test="@align='center'">
- 					<xsl:text>c</xsl:text>
- 				</xsl:when>
- 				<xsl:otherwise>
- 					<xsl:text>l</xsl:text>
- 				</xsl:otherwise>
- 			</xsl:choose>
- 		</xsl:for-each>
- 		<xsl:text>|}</xsl:text>
- 		<xsl:value-of select="$nl" />
- 		<xsl:text>\hline</xsl:text>
- 		<xsl:value-of select="$nl" />
- 		<xsl:apply-templates select="thead | tfoot | tbody | tr" />
- 		<xsl:text>\end{tabular}</xsl:text>
- 		<xsl:apply-templates select="caption | z:label" />
- 		<xsl:text>\end{table}</xsl:text>
- 	</xsl:template>
  
! 	<xsl:template match="caption">
! 		<xsl:text>\caption{</xsl:text>
! 		<xsl:apply-templates />
! 		<xsl:text>}</xsl:text>
! 	</xsl:template>
! 
! 	<xsl:template match="tr">
! 		<xsl:apply-templates />
! 		<xsl:value-of select="'\\ \hline '" />
! 	</xsl:template>
! 
! 	<xsl:template match="th">
! 		<xsl:choose>
! 			<xsl:when test="following-sibling::th">
! 				<xsl:value-of select="'\multicolumn{1}{|c}{\bf '" />
! 				<xsl:apply-templates />
! 				<xsl:value-of select="'}&amp;'" />
! 			</xsl:when>
! 			<xsl:otherwise>
! 				<xsl:value-of select="'\multicolumn{1}{|c|}{\bf '" />
! 				<xsl:apply-templates />
! 				<xsl:value-of select="'}'" />
! 
! 			</xsl:otherwise>
! 		</xsl:choose>
! 	</xsl:template>
! 
! 	<xsl:template match="td">
! 		<xsl:apply-templates />
! 		<xsl:if test="local-name(following-sibling::*[1])='td'">
! 			<xsl:text>&amp;</xsl:text>
! 		</xsl:if>
! 	</xsl:template>
  
  	<!-- `` and '' -->
--- 27,39 ----
  	ChangeLog:
  	
+ 	2005-01-02: Arthur Ryman <ryman@ca.ibm.com>
+ 	- split up into modules for reuse in W3C specs
+ 
  	2004-10-16: Arthur Ryman <ryman@ca.ibm.com>
  	- modified to support W3C XML specification format
  	
  -->
  
! <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:z="http://www.w3.org/2004/zml">
  
  	<!-- `` and '' -->
***************
*** 388,391 ****
--- 87,137 ----
  		</xsl:choose>
  	</xsl:template>
+ 	
+ 	<!-- Z Notation div
+ 	
+ 		\hypertarget{name}{}
+ 		div
+ 	-->
+ 
+ 	<xsl:template match="z:notation">
+ 		<xsl:text>\hypertarget{zed-</xsl:text><xsl:value-of select="@name"/><xsl:text>}{}</xsl:text>
+ 		<xsl:value-of select="$nl" />
+ 		<xsl:apply-templates/>
+ 	</xsl:template>
+ 
+ 	<xsl:template match="z:see">
+ 		<xsl:text>\begin{quote}\begin{small}See\begin{itshape}</xsl:text>
+ 		<xsl:call-template name="write-names">
+ 			<xsl:with-param name="names" select="normalize-space(@names)" />
+ 		</xsl:call-template>
+ 		<xsl:text>\end{itshape}\end{small}\end{quote}</xsl:text>
+ 	</xsl:template>
+ 
+ 	<xsl:template name="write-names">
+ 		<xsl:param name="names" />
+ 		<xsl:value-of select="' '" />
+ 		<xsl:choose>
+ 			<xsl:when test="contains($names,' ')">
+ 				<xsl:variable name="name1"
+ 					select="substring-before($names,' ')" />
+ 				<xsl:text>\hyperlink{zed-</xsl:text>
+ 				<xsl:value-of select="$name1" />
+ 				<xsl:text>}{</xsl:text>
+ 				<xsl:value-of select="$name1" />
+ 				<xsl:text>},</xsl:text>
+ 				<xsl:call-template name="write-names">
+ 					<xsl:with-param name="names"
+ 						select="substring-after($names,' ')" />
+ 				</xsl:call-template>
+ 			</xsl:when>
+ 			<xsl:otherwise>
+ 				<xsl:text>\hyperlink{zed-</xsl:text>
+ 				<xsl:value-of select="$names" />
+ 				<xsl:text>}{</xsl:text>
+ 				<xsl:value-of select="$names" />
+ 				<xsl:text>}.</xsl:text>
+ 			</xsl:otherwise>
+ 		</xsl:choose>
+ 	</xsl:template>
  
  	<!-- Specifications -->

Index: wsdl20.html
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.html,v
retrieving revision 1.131
retrieving revision 1.132
diff -C2 -d -r1.131 -r1.132
*** wsdl20.html	31 Dec 2004 22:03:03 -0000	1.131
--- wsdl20.html	18 Jan 2005 00:23:53 -0000	1.132
***************
*** 146,150 ****
  <h2><a name="shortcontents">Short Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>2. <a href="#component_model">Component Model</a><br>3. <a href="#eii-types">Types</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br>8. <a href="#conformance">Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="#References">References</a><br>A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br>B. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br>C. <a href="#wsdl-uri-references">URI References for WSDL Components</a> (Non-Normative)<br>D. <a href="#migration">Migrating from WSDL 1.1 to WSDL 2.0</a> (Non-Normative)<br>E. <a href="#other-schemalang">Examples of Specifications of Extension Elements for Alternative Schem
  Language Support.</a> (Non-Normative)<br>F. <a href="#changelog">Part 1 Change Log</a> (Non-Normative)<br></p></div><hr><div class="toc">
! <h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="#intro_ws">Web Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="#notation">Notational Conventions</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="#terminology">WSDL Terminology</a><br>2. <a href="#component_model">Component Model</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.1 <a href="#Description">Description</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1 <a href="#Description_details">The Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2 <a href="#Description_XMLRep">XML Representation of Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2.1 <a href="#Description_targetnamespace_attribute">targetNamespace attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3 <a href="#Description_Mapping">Mapping Description's XML Representation to Component
        Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 <a href="#Interface">Interface</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1 <a href="#Interface_details">The Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1.1 <a href="#Interface_OperationName">Operation Name Mapping Requirement</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2 <a href="#Interface_XMLRep">XML Representation of Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.1 <a href="#Interface_name_attribute">name attribute information item with interface [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.2 <a href="#Interface_extends_attribute">extends attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.3 <a href="#Interface_styleDefault_attribute">styleDefault attribute information item</a><br>&nbsp;&nbsp;&nbsp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.3 <a href="#Interface_Mapping">Mapping Interface's XML Representation to Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 <a href="#InterfaceFault">Interface Fault</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.1 <a href="#InterfaceFault_details">The Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2 <a href="#InterfaceFault_XMLRep">XML Representation of Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.1 <a href="#Interfacefault_name_attribute">name attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.2 <a href="#Interface_element_attribute">element attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.3 <a href="#InterfaceFault_Mapping">Mapping Interface Fault's XML Representation to
  	  Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 <a href="#InterfaceOperation">Interface Operation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1 <a href="#InterfaceOperation_details">The Interface Operation Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1.1 <a href="#InterfaceOperationStyle">Operation Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2 <a href="#RPCStyle">RPC Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.1 <a href="#InterfaceOperation_RPC_Signature_Definition">wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.2 <a href="#InterfaceOperation_RPC_Signature_XMLRep">XML Representation of the wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.3 <a href="#InterfaceOperation_RPC_Signature_Mapping">wrpc:signature Extension Mapping To Properties of an
--- 146,150 ----
  <h2><a name="shortcontents">Short Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>2. <a href="#component_model">Component Model</a><br>3. <a href="#eii-types">Types</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br>8. <a href="#conformance">Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="#References">References</a><br>A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br>B. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br>C. <a href="#wsdl-uri-references">URI References for WSDL Components</a> (Non-Normative)<br>D. <a href="#migration">Migrating from WSDL 1.1 to WSDL 2.0</a> (Non-Normative)<br>E. <a href="#other-schemalang">Examples of Specifications of Extension Elements for Alternative Schem
  Language Support.</a> (Non-Normative)<br>F. <a href="#changelog">Part 1 Change Log</a> (Non-Normative)<br></p></div><hr><div class="toc">
! <h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#intro">Introduction</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="#intro_ws">Web Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="#notation">Notational Conventions</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.1 <a href="#rfc2119keywords">RFC 2119 Keywords</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.2 <a href="#rfc2396namespaces">RFC 2396 Namespaces</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.3 <a href="#nsprefixes">Prefixes and Namespaces Used in This Specification</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.4 <a href="#xmlinfosetproperties">XML Infomation Set Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.5 <a href="#wsdlcomponentmodelproperties">WSDL Component Model Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.6 <a href="#znotation">Z Notation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.7 <a href="#bnfpseudschemas">BNF Pseudo-Schemas</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="#terminology">WSDL Terminology</a><br>2. <a href="#component_model">Component Model</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.1 <a href="#Description">Description</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1 <a href="#Description_details">The Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2 <a href="#Description_XMLRep">XML Representation of Description Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2.1 <a href="#Description_targetnamespace_attribute">targetNamespace attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3 <a href="#Description_Mapping">Mapping Description's XML Representation to Component
        Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 <a href="#Interface">Interface</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1 <a href="#Interface_details">The Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1.1 <a href="#Interface_OperationName">Operation Name Mapping Requirement</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2 <a href="#Interface_XMLRep">XML Representation of Interface Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.1 <a href="#Interface_name_attribute">name attribute information item with interface [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.2 <a href="#Interface_extends_attribute">extends attribute information item</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.2.3 <a href="#Interface_styleDefault_attribute">styleDefault attribute information item</a><br>&nbsp;&nbsp;&nbsp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.3 <a href="#Interface_Mapping">Mapping Interface's XML Representation to Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 <a href="#InterfaceFault">Interface Fault</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.1 <a href="#InterfaceFault_details">The Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2 <a href="#InterfaceFault_XMLRep">XML Representation of Interface Fault Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.1 <a href="#Interfacefault_name_attribute">name attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.2.2 <a href="#Interface_element_attribute">element attribute information item with fault [owner]</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.3 <a href="#InterfaceFault_Mapping">Mapping Interface Fault's XML Representation to
  	  Component Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 <a href="#InterfaceOperation">Interface Operation</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1 <a href="#InterfaceOperation_details">The Interface Operation Component</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1.1 <a href="#InterfaceOperationStyle">Operation Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2 <a href="#RPCStyle">RPC Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.1 <a href="#InterfaceOperation_RPC_Signature_Definition">wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.2 <a href="#InterfaceOperation_RPC_Signature_XMLRep">XML Representation of the wrpc:signature Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.2.3 <a href="#InterfaceOperation_RPC_Signature_Mapping">wrpc:signature Extension Mapping To Properties of an
***************
*** 170,175 ****
  XML format for describing Web services. WSDL enables one to separate
  the description of the abstract functionality offered by a service
! from concrete details of a service description such as "how" and
! "where" that functionality is offered.</p>
  
  <p>This specification defines a language for describing the abstract
--- 170,175 ----
  XML format for describing Web services. WSDL enables one to separate
  the description of the abstract functionality offered by a service
! from concrete details of a service description such as &ldquo;how&rdquo; and
! &ldquo;where&rdquo; that functionality is offered.</p>
  
  <p>This specification defines a language for describing the abstract
***************
*** 226,323 ****
  <h3><a name="notation"></a>1.2 Notational Conventions</h3>
  
! <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
     [<cite><a href="#RFC2119">IETF RFC 2119</a></cite>].</p>
  
! <p>This specification uses properties from the XML Information Set
! [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]. Such properties are denoted by square
! brackets, e.g. [namespace name].</p>
  
! <p>This specification uses curly brackets (e.g., {property}) to  
!    indicate a property in the WSDL component model, as defined in 
!    <a href="#component_model"><b>2. Component Model</b></a>.
! </p>        
  
! <p>This specification uses namespace prefixes throughout; they are
!    listed in <a href="#tabnsprefixes">Table 1-1</a>. Note that the choice of
!    any namespace prefix is arbitrary and not semantically significant
!    (see [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]).</p>
  
! <a name="tabnsprefixes"></a><br><table border="1" summary="Mapping of prefixes used in this document to their   associated namespace name">
!   <caption>Table 1-1. Prefixes and Namespaces used in this specification</caption>
!   <tbody>
!     <tr>
!       <th rowspan="1" colspan="1">Prefix</th> 
!       <th rowspan="1" colspan="1">Namespace</th>
!       <th rowspan="1" colspan="1">Notes</th>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdl</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl">http://www.w3.org/2004/12/wsdl</a>.  WSDL documents that do NOT
          conform to this schema are not valid WSDL documents. WSDL
          documents that DO conform to this schema and also conform to
          the other constraints defined in this specification are valid
!         WSDL documents.</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdli</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl-instance"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
!         "http://www.w3.org/2004/12/wsdl-instance" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl-instance">http://www.w3.org/2004/12/wsdl-instance</a>. </td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsdls</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl-simple-types"</td>
!       <td rowspan="1" colspan="1">This prefix and namespace name are used to refer to the
!       simple types defined by this specification for use in the
!       component model, see <a href="#simpletypes"><b>2.15 Definition of the Simple Types Used in the Component Model</b></a>.</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wrpc</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/rpc"</td>
!       <td rowspan="1" colspan="1">A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl/rpc" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl/rpc">http://www.w3.org/2004/12/wsdl/rpc</a>.  WSDL documents that
          do NOT conform to this schema are not valid WSDL
          documents. WSDL documents that DO conform to this schema and
          also conform to the other constraints defined in this
!         specification are valid WSDL documents.  </td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">wsoap</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/soap12"</td>
!       <td rowspan="2" colspan="1">Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">whttp</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2004/12/wsdl/http"</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">xs</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2001/XMLSchema"</td>
!             <td rowspan="2" colspan="1">Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].</td>
!     </tr>
!     <tr>
!       <td rowspan="1" colspan="1">xsi</td>
!       <td rowspan="1" colspan="1">"http://www.w3.org/2001/XMLSchema-instance"</td>
!     </tr>
!   </tbody>
! </table><br>
  
! <p>Namespace names of the general form
!    "http://example.org/..." and
!    "http://example.com/..." represent application or
!    context-dependent URIs [<cite><a href="#RFC2396">IETF RFC 2396</a></cite>].</p>
  
- <a name="zed-ZNotation"></a>
  <p>
! This specification uses Z Notation (see [<cite><a href="#ZNotationReferenceManual">Z Notation Reference Manual</a></cite>])
! to formalize the WSDL component model.
  The Z Notation in this specification has been verified using the
! Fuzz 2000 type-checker (see [<cite><a href="#Fuzz2000">Fuzz 2000</a></cite>]).
  </p>
  <p>
  The non-normative <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-i.html">DHTML</a> version of this specification allows the reader to interactively
--- 226,396 ----
  <h3><a name="notation"></a>1.2 Notational Conventions</h3>
  
! <p>All parts of this specification are normative, with the EXCEPTION
!    of notes, pseudo-schemas, examples, and sections explicitly marked as &ldquo;Non-Normative&rdquo;.</p>
! 
! <div class="div3">
! 
! <h4><a name="rfc2119keywords"></a>1.2.1 RFC 2119 Keywords</h4>
! 
! <p>The keywords &ldquo;MUST&rdquo;, &ldquo;MUST NOT&rdquo;,  &ldquo;EQUIRED&rdquo;, &ldquo;SHALL&rdquo;, &ldquo;SHALL NOT&rdquo;,
!    &ldquo;SHOULD&rdquo;, &ldquo;SHOULD NOT&rdquo;, &ldquo;RECOMMENDED&rdquo;, &ldquo;MAY&rdquo;, and &ldquo;OPTIONAL&rdquo; in
     this document are to be interpreted as described in RFC 2119
     [<cite><a href="#RFC2119">IETF RFC 2119</a></cite>].</p>
  
! </div>
  
! <div class="div3">
  
! <h4><a name="rfc2396namespaces"></a>1.2.2 RFC 2396 Namespaces</h4>
  
! <p>Namespace names of the general form:
! <ul>
!    <li>"http://example.org/..." and</li>
!    <li>"http://example.com/..."</li>
! </ul>
!    represent application or
!    context-dependent URIs [<cite><a href="#RFC2396">IETF RFC 2396</a></cite>].</p>
!    
! </div>
! 
! <div class="div3">
! 
! <h4><a name="nsprefixes"></a>1.2.3 Prefixes and Namespaces Used in This Specification</h4>
!         
! <p>This specification uses predefined namespace prefixes throughout; they are
!    given in the following list. Note that the choice of
!    any namespace prefix is arbitrary and not semantically significant
!    (see [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]).
! </p>
!    
!    <dl>
!       <dt>wsdl</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl">http://www.w3.org/2004/12/wsdl</a>.  WSDL documents that do NOT
          conform to this schema are not valid WSDL documents. WSDL
          documents that DO conform to this schema and also conform to
          the other constraints defined in this specification are valid
!         WSDL documents.
!         </p>
!       </dd>
! 
!       <dt>wsdli</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl-instance"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
!         "http://www.w3.org/2004/12/wsdl-instance" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl-instance">http://www.w3.org/2004/12/wsdl-instance</a>. 
!         </p>
!       </dd>
!       
!       <dt>wsdls</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl-simple-types"
!       	<p>
!       	This prefix and namespace name are used to refer to the
!       	simple types defined by this specification for use in the
!       	component model, see <a href="#simpletypes"><b>2.15 Definition of the Simple Types Used in the Component Model</b></a>.
!       	</p>
!       </dd>
! 
!       <dt>wrpc</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/rpc"
!       	<p>
!       	A normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>] document for the
          "http://www.w3.org/2004/12/wsdl/rpc" namespace can be found at <a href="http://www.w3.org/2004/12/wsdl/rpc">http://www.w3.org/2004/12/wsdl/rpc</a>.  WSDL documents that
          do NOT conform to this schema are not valid WSDL
          documents. WSDL documents that DO conform to this schema and
          also conform to the other constraints defined in this
!         specification are valid WSDL documents.
!         </p>
!       </dd>
  
!       <dt>wsoap</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/soap12"
!       	<p>
!       	Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].
!         </p>
!       </dd>
! 
!       <dt>whttp</dt>
!       <dd>
!       	"http://www.w3.org/2004/12/wsdl/http"
!       	<p>
!       	Defined by WSDL 2.0: Bindings [<cite><a href="#WSDL-PART3">WSDL 2.0 Bindings</a></cite>].
!         </p>
!       </dd>
! 
!       <dt>xs</dt>
!       <dd>
!       	"http://www.w3.org/2001/XMLSchema"
!       	<p>
!       		Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].
!          </p>
!        </dd>
! 
!       <dt>xsi</dt>
!       <dd>
!       	"http://www.w3.org/2001/XMLSchema-instance"
!       	<p>
!       		Defined in the W3C XML Schema
!           specification [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>].
!          </p>
!       </dd>
! 
!     </dl>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="xmlinfosetproperties"></a>1.2.4 XML Infomation Set Properties</h4>
  
  <p>
! This specification refers to properties in the XML Information Set [<cite><a href="#XMLInfoSet">XML Information Set</a></cite>]. 
! Such properties are denoted by square brackets, e.g. [children], [attributes].
! </p>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="wsdlcomponentmodelproperties"></a>1.2.5 WSDL Component Model Properties</h4>
! 
! <p>This specification defines and refers to properties in the WSDL Component Model <a href="#component_model"><b>2. Component Model</b></a>.
! Such properties are denoted by curly brackets, e.g. {name}, {interfaces}.
! </p>
! 
! </div>
! 
! <div class="div3">
! 
! <h4><a name="znotation"></a>1.2.6 Z Notation</h4>
! 
! <p>
! This specification uses Z Notation [<cite><a href="#ZNotationReferenceManual">Z Notation Reference Manual</a></cite>]
! to formalize the WSDL Component Model.
! Z Notation is a formal specification language that is based on standard mathematical notation. 
  The Z Notation in this specification has been verified using the
! Fuzz 2000 type-checker [<cite><a href="#Fuzz2000">Fuzz 2000</a></cite>].
  </p>
+ 
+ <p>
+ There are two elements of Z Notation syntax that conflict with the notational conventions described in the preceeding sections.
+ In Z Notation, square brackets are used to introduce basic sets, e.g. [<span class="zi">ID</span>],
+ which conflicts with their use to denote XML Information Set properties
+ <a href="#xmlinfosetproperties"><b>1.2.4 XML Infomation Set Properties</b></a>.
+ Also, in Z Notation, curly brackets are used to denote set display and set comprehension, e.g. {1<span class="zprefix">,</span> 2<span class="zprefix">,</span> 3},
+ which conflicts with their use to denote
+ WSDL Component Model properties <a href="#wsdlcomponentmodelproperties"><b>1.2.5 WSDL Component Model Properties</b></a>.
+ However, the intended meaning of square and curly brackets should be clear from their context and 
+ this minor notational conflict should not cause any confusion.
+ </p>
+ 
  <p>
  The non-normative <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-i.html">DHTML</a> version of this specification allows the reader to interactively
***************
*** 326,346 ****
  preferable.
  </p>
  <p>
! The normative version of this specification is compliant with the W3C Character Model (see [<cite><a href="#W3CCharacterModel">Character Model</a></cite>])
! which uses Unicode characters to encode mathematical symbols.
! If these symbols are not rendered correctly by your browser, try viewing the alternate, non-normative 
  <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-ie.html">IE</a> version of this specification.
  </p>
  
  
! <p>All parts of this specification are normative, with the EXCEPTION
!    of notes, pseudo-schemas, examples, and sections explicitly marked as "Non-Normative".</p>
  
  <p>Pseudo-schemas are provided for each component, before the description
     of the component. They use BNF-style conventions for attributes and elements:
!    <em>`?'</em> denotes optionality (i.e. zero or one occurrences), <em>`*'</em>
!    denotes zero or more occurrences, <em>`+'</em> one or more occurrences,
!    <em>`['</em> and <em>`]'</em> are used to form groups, <em>`|'</em>
!    represents choice. Attributes are conventionally assigned a value which corresponds
     to their type, as defined in the normative schema.</p>
  
--- 399,426 ----
  preferable.
  </p>
+ 
  <p>
! The normative version of this specification is compliant with the W3C Character Model [<cite><a href="#W3CCharacterModel">Character Model</a></cite>]
! which uses Unicode characters to encode the mathematical symbols that appear in Z Notation.
! Mozilla Firefox correctly displays Unicode characters, provided that the required fonts are installed.
! Mathematical fonts for Mozilla Firefox can be downloaded from the <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.mozilla.org">Mozilla Web site</a>.
! To display the mathematical symbols correctly in Internet Explorer, use the alternate, non-normative 
  <a xmlns:z="http://www.w3.org/2004/zml" xmlns:xlink="http://www.w3.org/1999/xlink" href="wsdl20-ie.html">IE</a> version of this specification.
  </p>
  
+ </div>
  
! <div class="div3">
! 
! <h4><a name="bnfpseudoschemas"></a>1.2.7 BNF Pseudo-Schemas</h4>
  
  <p>Pseudo-schemas are provided for each component, before the description
     of the component. They use BNF-style conventions for attributes and elements:
!    "?" denotes optionality (i.e. zero or one occurrences), 
!    "*" denotes zero or more occurrences, 
!    "+" one or more occurrences,
!    "[" and "]" are used to form groups, and
!    "|" represents choice. 
!    Attributes are conventionally assigned a value which corresponds
     to their type, as defined in the normative schema.</p>
  
***************
*** 359,362 ****
--- 439,444 ----
  </div>
  
+ </div>
+ 
  <div class="div2">
    
***************
*** 429,449 ****
    
    
!   <a name="zed-ComponentId"></a>
!   
    
    A component is an identified, typed collection of properties.
    
!   
!   
    Let <span class="zi">Identifier</span> denote the set of component identifiers:
    
    
    
!    Let <span class="zi">id</span> be the identifier of the component.
    
    
-   <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Identifier</span></span></td><td></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">id</span> <span class="zinfix">:</span> <span class="zi">ID</span></span></td></tr><tr><td class="bl"></td><td class="b"></td><td></td></tr></tbody></table>
    
!   <div class="zsee"><span class="zsmall">See<span class="zi"> <a href="#zed-ID">ID</a>.</span></span></div>
    
    <table class="zaxdef"><col class="zaxdef1"><col class="zaxdef2"><tbody><tr><td class="zaxdefabovewheretext" colspan="2"><span class="zi">Id</span> <span class="zinfix">:</span> <span class="zi">Component</span><span class="zinfix">&rarr;</span><span class="zi">ID</span></td></tr><tr><td class="bl"></td><td></td></tr><tr><td class="zaxdefbelowwheretext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Description</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">description</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">ElementDeclaration</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">elementDecl</span>(<span class="zi">x</span>)) <spn class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">TypeDefinition</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">typeDef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Interface</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interface</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceFault</spn> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interfaceFault</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceOperation</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interfaceOp</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">MessageReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">messageRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="axdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">FaultReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">faultRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Feature</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">feature</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Property</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">property</span>(<span class="z">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Binding</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">binding</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingFault</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingFault</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BidingOperation</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingOp</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingMessageReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingMessageRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Service</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">service</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr<td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Endpoint</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">endpoint</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr></tbody></table>
--- 511,535 ----
    
    
!   <a name="zed-Identifier"></a>
    
+   <p>
    A component is an identified, typed collection of properties.
+   </p>
    
!   <p>
    Let <span class="zi">Identifier</span> denote the set of component identifiers:
+   </p>
    
+   <ul>
+    <li><p>Let <span class="zi">id</span> be the identifier of the component.</p></li>
+   </ul>
    
+   <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Identifier</span></span></td><td></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">id</span> <span class="zinfix">:</span> <span class="zi">ID</span></span></td></tr><tr><td class="bl"></td><td class="b"></td><td></td></tr></tbody></table>
    
!   <div class="zsee"><span class="zsmall">See<span class="zi"> <a href="#zed-ID">ID</a>.</span></span></div>
    
    
    
!   <a name="zed-Id"></a>
    
    <table class="zaxdef"><col class="zaxdef1"><col class="zaxdef2"><tbody><tr><td class="zaxdefabovewheretext" colspan="2"><span class="zi">Id</span> <span class="zinfix">:</span> <span class="zi">Component</span><span class="zinfix">&rarr;</span><span class="zi">ID</span></td></tr><tr><td class="bl"></td><td></td></tr><tr><td class="zaxdefbelowwheretext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Description</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">description</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">ElementDeclaration</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">elementDecl</span>(<span class="zi">x</span>)) <spn class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">TypeDefinition</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">typeDef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Interface</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interface</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceFault</spn> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interfaceFault</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceOperation</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">interfaceOp</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">MessageReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">messageRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="axdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">FaultReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">faultRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Feature</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">feature</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Property</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">property</span>(<span class="z">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Binding</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">binding</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingFault</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingFault</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BidingOperation</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingOp</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingMessageReference</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">bindingMessageRef</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr><td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Service</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">service</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr><tr<td class="zaxdeftext" colspan="2"><span class="zprefix">&forall;</span><span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Endpoint</span> <span class="zinfix">&bull;</span> <span class="zi">Id</span>(<span class="zi">endpoint</span>(<span class="zi">x</span>)) <span class="zinfix">=</span> <span class="zi">x</span>.<span class="zi">id</span></td></tr></tbody></table>
***************
*** 478,481 ****
--- 564,571 ----
    <table class="zschema"><col class="zschema1"><col class="zschema2"><col class="zschema3"><tbody><tr><td colspan="2" class="zschemaname"><span class="zschemaname"><span class="zi">Components</span></span></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">ComponentModel</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">descriptionComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Description</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">elementDeclComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">ElementDeclaration</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">typeDefComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">TypeDefinition</span></span></td></tr><tr><td cass="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Interface</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceFaultComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">InterfaceFault</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceOpComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">InterfaceOperation</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">messageRefComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">MessageReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">faultRefComps</span> <span class="zinfix">:</span><span lass="zprefix">ℙ</span><span class="zi">FaultReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">featureComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Feature</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">propertyComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Property</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Binding</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingFaultComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">BindingFault</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi"bindingOpComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">BindingOperation</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingMessageRefComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">BindingMessageReference</span></span></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">serviceComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Service</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext"><span class="zi">endpointComps</span> <span class="zinfix">:</span><span class="zprefix">ℙ</span><span class="zi">Endpoint</span></span></td></tr><tr><td class="bl"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">descriptionComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</spa> <span class="zinfix">:</span> <span class="zi">Description</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">description</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">elementDeclComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">ElementDeclaration</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">elementDecl</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><tdclass="zschematext" colspan="3"><span class="zschematext"><span class="zi">typeDefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">TypeDefinition</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">typeDef</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Interface</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interface</span>(<span class="zi">x</span>)<spn class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceFaultComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceFault</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interfaceFault</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">interfaceOpComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">InterfaceOperation</span> <span class="zinfix">|</span></span></td></tr><t><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">interfaceOp</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">messageRefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">MessageReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">messageRef</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">faultRefComps</span> <span class="zinfix">=</pan> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">FaultReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">faultRef</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">featureComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Feature</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">feature</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td>/td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">propertyComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Property</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">property</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Binding</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">binding</span>(<span class="zi">x</spn>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingFaultComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingFault</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingFault</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingOpComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingOperation</span> <span class="zinfix">|</span></span></td></tr><tr><d class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingOp</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">bindingMessageRefComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">BindingMessageReference</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">bindingMessageRef</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">serviceComps</span> <span clas="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Service</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">service</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="l"></td><td></td><td></td></tr><tr><td class="zschematext" colspan="3"><span class="zschematext"><span class="zi">endpointComps</span> <span class="zinfix">=</span> {&nbsp;<span class="zi">x</span> <span class="zinfix">:</span> <span class="zi">Endpoint</span> <span class="zinfix">|</span></span></td></tr><tr><td class="zschemalasttext" colspan="3"><span class="zschematext">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="zi">endpoint</span>(<span class="zi">x</span>)<span class="zinfix">&isin;</span><span class="zi">components</span>&nbsp;}</span></td></tr><tr><td class="bl"></td><t class="b"></td><td></td></tr></tbody></table>
    
+   
+   
+   <a name="zed-ComponentIds"></a>
+   
     <p>
    The component model has additional constraints which are described in the following sections.
***************
*** 504,508 ****
    representation of a component to the component itself, an optional
    property that is absent in the component in question is described as
!   being "empty". Unless otherwise specified, when a property is identified
    as being a collection (a set or a list), its value may be a 0-element
    (empty) collection. In order to simplify the presentation of the rules
--- 594,598 ----
    representation of a component to the component itself, an optional
    property that is absent in the component in question is described as
!   being &ldquo;empty&rdquo;. Unless otherwise specified, when a property is identified
    as being a collection (a set or a list), its value may be a 0-element
    (empty) collection. In order to simplify the presentation of the rules
***************
*** 549,558 ****
    <em>wsdls:string</em> (but the opposite is not true). Hence, for
    brevity, in the sections describing the mapping from the XML Infoset
!   representation of a WSDL document to its component model we use "actual
!   values" as defined by the XML Schema specification [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>]
    as if they were members of the value space of the corresponding
!   WSDL-defined simple types. So, for instance, we talk of "assigning the
    actual value of the "name" <em>attribute information item</em> (a <em>xs:string</em>)
!   "to the {name} property (of type <em>wsdls:string</em>)" of
    a certain component.
    </p>
--- 639,648 ----
    <em>wsdls:string</em> (but the opposite is not true). Hence, for
    brevity, in the sections describing the mapping from the XML Infoset
!   representation of a WSDL document to its component model we use &ldquo;actual
!   values&rdquo; as defined by the XML Schema specification [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>]
    as if they were members of the value space of the corresponding
!   WSDL-defined simple types. So, for instance, we talk of &ldquo;assigning the
    actual value of the "name" <em>attribute information item</em> (a <em>xs:string</em>)
!   to the {name} property (of type <em>wsdls:string</em>)&rdquo; of
    a certain component.
    </p>
***************
*** 941,944 ****
--- 1031,1036 ----
  	  <a name="tab_Description_Mapping"></a><br><table border="1">
  	    <caption>Table 2-1. Mapping between Description Component Properties and XML Representation</caption>
+ 		<col width="75" span="1">
+   		<col width="300" span="1">
  	    <tbody>
  		  <tr>
***************
*** 1132,1137 ****
  	  or the token <em>out</em>).  If the {message content model}
  	  property of any of these Message Reference components has a value
! 	  of "#any", or if more than one of these Message Reference components
! 	  has a value of "#none", or if the qualified names of the global
  	  element declarations specified by the values of the {element}
  	  properties of these Message Reference components are not unique
--- 1224,1229 ----
  	  or the token <em>out</em>).  If the {message content model}
  	  property of any of these Message Reference components has a value
! 	  of &ldquo;#any&rdquo;, or if more than one of these Message Reference components
! 	  has a value of &ldquo;#none&rdquo;, or if the qualified names of the global
  	  element declarations specified by the values of the {element}
  	  properties of these Message Reference components are not unique
***************
*** 1344,1347 ****
--- 1436,1441 ----
  	  <a name="tab_Interface_Mapping"></a><br><table border="1">
  	    <caption>Table 2-2. Mapping between Interface Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 1478,1482 ****
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or "payload" of the fault.  </p>
              </li>
  
--- 1572,1576 ----
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or &ldquo;payload&rdquo; of the fault.  </p>
              </li>
  
***************
*** 1680,1683 ****
--- 1774,1779 ----
  	  <a name="tab_InterfaceFault_Mapping"></a><br><table border="1">
  	    <caption>Table 2-3. Mapping between Interface Fault Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 1941,1945 ****
  	   <li><p> The LocalPart of the output element's QName is
  	   obtained by concatenating the name of the operation and
! 	   the string value "Response".</p></li>
  	
  	   <li><p>Input and output elements MUST both be in the
--- 2037,2041 ----
  	   <li><p> The LocalPart of the output element's QName is
  	   obtained by concatenating the name of the operation and
! 	   the string value &ldquo;Response&rdquo;.</p></li>
  	
  	   <li><p>Input and output elements MUST both be in the
***************
*** 2106,2109 ****
--- 2202,2207 ----
  	  <a name="tab_InterfaceOperation_RPC_Signature_Mapping"></a><br><table border="1">
  	    <caption>Table 2-4. Mapping of a <code>wrpc:signature</code>  Extension to Interface Operation Component Properties</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2333,2336 ****
--- 2431,2436 ----
  	  <a name="tab_InterfaceOperation_Mapping"></a><br><table border="1">
  	    <caption>Table 2-5. Mapping between Interface Operation Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2469,2473 ****
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or "payload" of the message. When
              the {message content model} property has the value
              <em>#any</em> or <em>#none</em> the {element}
--- 2569,2573 ----
              declaration in the {element declarations} property of
              <a href="#Description_details"><b>2.1.1 The Description Component</b></a>. This element
!             represents the content or &ldquo;payload&rdquo; of the message. When
              the {message content model} property has the value
              <em>#any</em> or <em>#none</em> the {element}
***************
*** 2670,2673 ****
--- 2770,2775 ----
  	  <a name="tab_MessageReference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-6. Mapping between Message Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 2988,2991 ****
--- 3090,3095 ----
  	  <a name="tab_FaultReference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-7. Mapping between Fault Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 3062,3067 ****
        between communicating parties.  Although WSDL poses no
        constraints on the potential scope of such features, examples
!       might include "reliability", "security", "correlation", and
!       "routing".  The presence of a feature component in a WSDL description 
        indicates that the service supports the feature and may require a
        requester agent that interacts with the service to use that feature.
--- 3166,3171 ----
        between communicating parties.  Although WSDL poses no
        constraints on the potential scope of such features, examples
!       might include &ldquo;reliability&rdquo;, &ldquo;security&rdquo;, &ldquo;correlation&rdquo;, and
!       &ldquo;routing&rdquo;.  The presence of a feature component in a WSDL description 
        indicates that the service supports the feature and may require a
        requester agent that interacts with the service to use that feature.
***************
*** 3337,3340 ****
--- 3441,3446 ----
  	  <a name="tab_Feature_Mapping"></a><br><table border="1">
  	    <caption>Table 2-8. Mapping between Feature Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 3368,3372 ****
  <h4><a name="Property_details"></a>2.8.1 The Property Component</h4>
  	  
!           <p>A "property" in the Features and Properties architecture
            represents a named runtime value which affects the behaviour
            of some aspect of a Web service interaction, much like an
--- 3474,3478 ----
  <h4><a name="Property_details"></a>2.8.1 The Property Component</h4>
  	  
!           <p>A &ldquo;property&rdquo; in the Features and Properties architecture
            represents a named runtime value which affects the behaviour
            of some aspect of a Web service interaction, much like an
***************
*** 3462,3467 ****
  	    <p>At runtime, the behavior of features, (SOAP) modules
  	    and bindings may be affected by the values of in-scope
! 	    properties. Properties combine into a virtual "execution
! 	    context" which maps property names (URIs) to
  	    constraints. Each property URI MAY therefore be associated
  	    with AT MOST one property constraint for a given
--- 3568,3573 ----
  	    <p>At runtime, the behavior of features, (SOAP) modules
  	    and bindings may be affected by the values of in-scope
! 	    properties. Properties combine into a virtual &ldquo;execution
! 	    context&rdquo; which maps property names (URIs) to
  	    constraints. Each property URI MAY therefore be associated
  	    with AT MOST one property constraint for a given
***************
*** 3531,3536 ****
  	    </ul>
  	    
! 	    <p>Note that, in the text above, "property constraint"
! 	    (or, simply, "constraint") is used to mean EITHER a
  	    <code>constraint</code>  inside a property component OR a
  	    <code>value</code> , since <code>value</code>  may be considered a
--- 3637,3642 ----
  	    </ul>
  	    
! 	    <p>Note that, in the text above, &ldquo;property constraint&rdquo;
! 	    (or, simply, &ldquo;constraint&rdquo;) is used to mean EITHER a
  	    <code>constraint</code>  inside a property component OR a
  	    <code>value</code> , since <code>value</code>  may be considered a
***************
*** 3719,3722 ****
--- 3825,3830 ----
  	  <a name="tab_Property_Mapping"></a><br><table border="1">
  	    <caption>Table 2-9. Mapping between Property Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4029,4032 ****
--- 4137,4142 ----
  	  <a name="tab_Binding_Mapping"></a><br><table border="1">
  	    <caption>Table 2-10. Mapping between Binding Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4252,4256 ****
      <caption>Table 2-11. Mapping between Binding Fault Component Properties
      and XML Representation</caption>
! 
      <tbody>
  		  <tr>
--- 4362,4367 ----
      <caption>Table 2-11. Mapping between Binding Fault Component Properties
      and XML Representation</caption>
! 	<col span="1">
! 	<col span="1">
      <tbody>
  		  <tr>
***************
*** 4457,4460 ****
--- 4568,4573 ----
  	  <a name="tab_Binding_Operation_Mapping"></a><br><table border="1">
  	    <caption>Table 2-12. Mapping between Binding Operation Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4673,4676 ****
--- 4786,4791 ----
  	  <a name="tab_Binding_Message_Reference_Mapping"></a><br><table border="1">
  	    <caption>Table 2-13. Mapping between Binding Message Reference Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 4910,4913 ****
--- 5025,5030 ----
  	  <a name="tab_Service_Mapping"></a><br><table border="1">
  	    <caption>Table 2-14. Mapping between Service Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 5186,5189 ****
--- 5303,5308 ----
  	  <a name="tab_Endpoint_Mapping"></a><br><table border="1">
  	    <caption>Table 2-15. Mapping between Endpoint Component Properties and XML Representation</caption>
+ 	    <col span="1">
+ 	    <col span="1">
  	    <tbody>
  		  <tr>
***************
*** 5243,5247 ****
      such as XML 1.1 [<cite><a href="#XML11">XML 1.1</a></cite>].
      </p>
!     <p>All types defined in this section are formally assigned to the "http://www.w3.org/2004/12/wsdl-simple-types"
      namespace. All references to them in this specification are made via qualified
      names that use the <em>wsdls</em> prefix. It should be noted though
--- 5362,5366 ----
      such as XML 1.1 [<cite><a href="#XML11">XML 1.1</a></cite>].
      </p>
!     <p>All types defined in this section are formally assigned to the &ldquo;http://www.w3.org/2004/12/wsdl-simple-types&rdquo;
      namespace. All references to them in this specification are made via qualified
      names that use the <em>wsdls</em> prefix. It should be noted though
***************
*** 5792,5796 ****
  for an alternative schema language MUST include the declaration of an <em>element information item</em>,
  intended to appear as a child of the <code>wsdl:types</code>  <em>element information item</em>, which
! references, names, and locates the schema instance (an "import"
  <em>element information item</em>). The extension specification SHOULD, if necessary, define
  additional properties of <a href="#Description_details"><b>2.1.1 The Description Component</b></a> (and
--- 5911,5915 ----
  for an alternative schema language MUST include the declaration of an <em>element information item</em>,
  intended to appear as a child of the <code>wsdl:types</code>  <em>element information item</em>, which
! references, names, and locates the schema instance (an &ldquo;import&rdquo;
  <em>element information item</em>). The extension specification SHOULD, if necessary, define
  additional properties of <a href="#Description_details"><b>2.1.1 The Description Component</b></a> (and
***************
*** 5861,5865 ****
  document.  The included components can be referenced by QName. Note
  that because all WSDL descriptions have a target namespace,
! no-namespace includes (sometimes known as "chameleon includes") never
  occur in WSDL.</p>
  
--- 5980,5984 ----
  document.  The included components can be referenced by QName. Note
  that because all WSDL descriptions have a target namespace,
! no-namespace includes (sometimes known as &ldquo;chameleon includes&rdquo;) never
  occur in WSDL.</p>
  
***************
*** 6781,6784 ****
--- 6900,6904 ----
  	    http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The <a href="http://www.w3.org/TR/xmlschema-2/">latest version of
  	    XML Schema Part 2</a> is available at
+ 
  	    http://www.w3.org/TR/xmlschema-2.
  	  </dd>
***************
*** 6845,6857 ****
  
  	  <dt class="label"><a name="ISO10646"></a>[ISO/IEC 10646] </dt><dd>
! 	  <cite>ISO/IEC 10646-1:2000. Information technology --
  	  Universal Multiple-Octet Coded Character Set (UCS) --
! 	  Part 1: Architecture and Basic Multilingual Plane</cite>
  	  (See http://www.iso.ch for the latest version.)
  	  </dd>
  
  	  <dt class="label"><a name="unicode"></a>[Unicode] </dt><dd>
! 	  <cite><a href="http://www.unicode.org/versions/Unicode4.0.1/">The Unicode Consortium, The Unicode Standard, Version 4</a></cite>
! 	  , ISBN 0-321-18578-1, as updated from time to time by the publication of new
  	  versions. (See http://www.unicode.org/unicode/standard/versions  for the
  	  latest version and additional information on versions of the standard and
--- 6965,6977 ----
  
  	  <dt class="label"><a name="ISO10646"></a>[ISO/IEC 10646] </dt><dd>
! 	  <cite><a href="http://www.iso.ch">ISO/IEC 10646-1:2000. Information technology --
  	  Universal Multiple-Octet Coded Character Set (UCS) --
! 	  Part 1: Architecture and Basic Multilingual Plane</a></cite>
  	  (See http://www.iso.ch for the latest version.)
  	  </dd>
  
  	  <dt class="label"><a name="unicode"></a>[Unicode] </dt><dd>
! 	  <cite><a href="http://www.unicode.org/versions/Unicode4.0.1/">The Unicode Consortium, The Unicode Standard, Version 4</a></cite>, 
! 	  ISBN 0-321-18578-1, as updated from time to time by the publication of new
  	  versions. (See http://www.unicode.org/unicode/standard/versions  for the
  	  latest version and additional information on versions of the standard and
***************
*** 7263,7267 ****
          identifier, where the fragment identifier is typically constructed from
          the {name} property of the component and the {name} properties
!         of its ancestors as a path according to <a href="#uri-ref-frag-table">Table C-1</a>. In that table the first column
          gives the name of the WSDL component. 
  		Columns two through five specify the identifiers that
--- 7383,7387 ----
          identifier, where the fragment identifier is typically constructed from
          the {name} property of the component and the {name} properties
!         of its ancestors as a path according to <a href="#uriRefFragTable">Table C-1</a>. In that table the first column
          gives the name of the WSDL component. 
  		Columns two through five specify the identifiers that
***************
*** 7272,7277 ****
          pointer part in column six.</p>
  
! 	<a name="uri-ref-frag-table"></a><br><table border="1">
  	  <caption>Table C-1. Rules for determining pointer parts for WSDL components</caption>
  	<tbody>
  	<tr>
--- 7392,7403 ----
          pointer part in column six.</p>
  
! 	<a name="uriRefFragTable"></a><br><table border="1">
  	  <caption>Table C-1. Rules for determining pointer parts for WSDL components</caption>
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
  	<tbody>
  	<tr>
***************
*** 7721,7724 ****
--- 7847,7853 ----
  
  <a name="wsdl-changelog-table"></a><br><table border="1">
+ 	    <col span="1">
+ 	    <col span="1">
+ 	    <col span="1">
    <tbody>
  
***************
*** 7728,7731 ****
--- 7857,7872 ----
        <th rowspan="1" colspan="1">Description</th>
      </tr>
+     
+     <tr>
+     	<td rowspan="1" colspan="1">20050118</td>
+     	<td rowspan="1" colspan="1">AGR</td>
+     	<td rowspan="1" colspan="1">Edited Notational Conventions and References sections.</td>
+     </tr>
+     
+     <tr>
+     	<td rowspan="1" colspan="1">20050117</td>
+     	<td rowspan="1" colspan="1">AGR</td>
+     	<td rowspan="1" colspan="1">Edited table markup to simplify PDF generation.</td>
+     </tr>
  
      <tr>
***************
*** 8473,8498 ****
  	  <td rowspan="1" colspan="1">Skeleton Feature and Property components</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030305</td>
  	  <td rowspan="1" colspan="1">MJG</td>
  	  <td rowspan="1" colspan="1">Merged ComponentModelForMEPs branch (1.46.2.5) into main
! 	  branch (1.54). Below is change log from the branch:
  
! 	  <a name="ComponentModelForMEPs_branch"></a><br><table border="1">
! 	  <tbody>
!     <tr>
!       <th rowspan="1" colspan="1">Date</th>
!       <th rowspan="1" colspan="1">Author</th>
!       <th rowspan="1" colspan="1">Description</th>
!     </tr>
! 	  	<tr>
  	  <td rowspan="1" colspan="1">20030220</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Minor wording change at suggestion of JJM</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030212</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Updated component model to include Fault Reference
  	  component. Associated changes to Port Type Operation component</td>
  	</tr>
--- 8614,8634 ----
  	  <td rowspan="1" colspan="1">Skeleton Feature and Property components</td>
  	</tr>
+ 	
  	<tr>
  	  <td rowspan="1" colspan="1">20030305</td>
  	  <td rowspan="1" colspan="1">MJG</td>
  	  <td rowspan="1" colspan="1">Merged ComponentModelForMEPs branch (1.46.2.5) into main
! 	  branch (1.54). Below is change log from the branch:</td>
! 	</tr>
  
!   	<tr>
  	  <td rowspan="1" colspan="1">20030220</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Minor wording change at suggestion of JJM</td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030212</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Updated component model to include Fault Reference
  	  component. Associated changes to Port Type Operation component</td>
  	</tr>
***************
*** 8500,8510 ****
  	  <td rowspan="1" colspan="1">20030211</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Changes to component model to support MEPs</td>
  	</tr>
- 	  </tbody>
- 	  </table><br>
  
- 	  </td>
- 	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030228</td>
--- 8636,8642 ----
  	  <td rowspan="1" colspan="1">20030211</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">ComponentModelForMEPs: Changes to component model to support MEPs</td>
  	</tr>
  
  	<tr>
  	  <td rowspan="1" colspan="1">20030228</td>
***************
*** 8548,8564 ****
  	  <td rowspan="1" colspan="1">Merged operationnames branch (1.37.2.3) into main
  	  branch (1.46). Below is the change log
! 	  from the branch.
  
- 	  <a name="operationnames_branch"></a><br><table border="1">
- 	  <tbody>
-     <tr>
-       <th rowspan="1" colspan="1">Date</th>
-       <th rowspan="1" colspan="1">Author</th>
-       <th rowspan="1" colspan="1">Description</th>
-     </tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Updated binding section to match changes to port type
  	  section WRT operation names</td>
  	</tr>
--- 8680,8690 ----
  	  <td rowspan="1" colspan="1">Merged operationnames branch (1.37.2.3) into main
  	  branch (1.46). Below is the change log
! 	  from the branch.</td>
! 	</tr>
  
  	<tr>
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Updated binding section to match changes to port type
  	  section WRT operation names</td>
  	</tr>
***************
*** 8566,8570 ****
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Added best practice note on operation names and target
  	  namespaces to <a href="#InterfaceOperation_details"><b>2.4.1 The Interface Operation Component</b></a></td>
  	</tr>
--- 8692,8696 ----
  	  <td rowspan="1" colspan="1">20030130</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Added best practice note on operation names and target
  	  namespaces to <a href="#InterfaceOperation_details"><b>2.4.1 The Interface Operation Component</b></a></td>
  	</tr>
***************
*** 8572,8581 ****
  	  <td rowspan="1" colspan="1">20030122</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">Started work on making operations have unique names</td>
! 	</tr>
! 	</tbody>
! 	</table><br>
! 	  </td>
  	</tr>
  	<tr>
  	  <td rowspan="1" colspan="1">20030213</td>
--- 8698,8704 ----
  	  <td rowspan="1" colspan="1">20030122</td>
  	  <td rowspan="1" colspan="1">MJG</td>
! 	  <td rowspan="1" colspan="1">operationnames: Started work on making operations have unique names</td>
  	</tr>
+ 
  	<tr>
  	  <td rowspan="1" colspan="1">20030213</td>


Received on Tuesday, 18 January 2005 00:23:58 UTC