- From: Hugo Haas via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 16 Mar 2005 16:45:02 +0000
- To: public-ws-desc-eds@w3.org
Update of /sources/public/2002/ws/desc/wsdl20 In directory homer:/tmp/cvs-serv1334 Added Files: altschemalangs.xml Log Message: Document from Bijan --- NEW FILE: altschemalangs.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.2//EN" "http://www.w3.org/2002/xmlspec/dtd/2.2/xmlspec.dtd"> <!-- /* * Copyright (c) 2003 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Document License [1] in the hope that * it will be useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231 */ --> <!-- $Id: altschemalangs.xml,v 1.1 2005/03/16 16:45:00 hugo Exp $ --> <?xml-stylesheet type='text/xsl' href='xmlspec-wsdl.xsl' ?> <spec xmlns:xlink="http://www.w3.org/1999/xlink" w3c-doctype="wgnote" role="public"> <header> <title>Web Services Description Language (WSDL): Alternative Schema Languages Support</title> <w3c-designation>http://www.w3.org/TR/2005/@@</w3c-designation> <w3c-doctype></w3c-doctype> <pubdate> <day></day> <month></month> <year></year> </pubdate> <publoc> <loc href="http://www.w3.org/TR/2004/WD-wsdl20-20040803" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" >http://www.w3.org/TR/2005/@@</loc> </publoc> <altlocs> <!--<loc role="postscript" href="wsdl20.ps" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">postscript</loc> <loc role="pdf" href="wsdl20.pdf" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PDF</loc> <loc role="xml" href="wsdl20.xml" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">XML</loc> <loc role="plain" href="wsdl20.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">plain text</loc>--> </altlocs> <prevlocs> <!--<loc href="http://www.w3.org/TR/2004/WD-wsdl20-20040326" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" >http://www.w3.org/TR/2004/WD-wsdl20-20040326</loc>--> </prevlocs> <latestloc> <!--<loc href="http://www.w3.org/TR/wsdl20" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/wsdl20</loc>--> </latestloc> <authlist> <author> <name>...</name> <affiliation>...</affiliation> </author> <author> <name>Bijan Parsia</name> <affiliation>Maryland Information and Network Dynamics Laboratory at the University of Maryland at College Park</affiliation> </author> <author> <name>...</name> <affiliation>...</affiliation> </author> </authlist> <abstract id="Abstract"> <p></p> </abstract> <status id="Status"> <p> <emph>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the <loc href="http://www.w3.org/TR/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C technical reports index</loc> at http://www.w3.org/TR/.</emph> </p> </status> </header> <body> <div1 id="intro"> <head>Introduction</head> </div1> <div1 id="examples"> <head>Examples of Specifications of Extension Elements for Alternative Schema Language Support.</head> <div2 id="dtd"> <head>DTD</head> <p>A DTD may be used as the schema language for WSDL. It may not be embedded; it must be imported. A namespace must be assigned. DTD types appear in the {element declarations} property of <specref ref="Definitions_details"/> and may be referenced from the <el>wsdl:input</el>, <el>wsdl:output</el> and <el>wsdl:fault</el> elements using the <att>element</att> <emph>attribute information item</emph>.</p> <p> The prefix, dtd, used throughout the following is mapped to the namespace URI <attval>http://www.example.org/dtd/</attval>.</p> <p> The <el>dtd:import</el> <emph>element information item</emph> references an external Document Type Definition, and has the following infoset properties:</p> <ulist> <item> <p>A [local name] of import.</p> </item> <item> <p>A [namespace name] of "http://www.example.org/dtd".</p> </item> <item> <p>One or two <emph>attribute information item</emph>s, as follows:</p> <ulist> <item> <p>A REQUIRED <att>namespace</att> <emph>attribute information item</emph> as described below.</p> </item> <item> <p>An OPTIONAL <att>location</att> <emph>attribute information item</emph> as described below.</p> </item> </ulist> </item> </ulist> <div3 id="dtd-namespaceaii"> <head> <att>namespace</att> <emph>attribute information item</emph> </head> <p>The <att>namespace</att> <emph>attribute information item</emph> sets the namespace to be used with all imported element definitions described in the DTD. It has the following infoset properties:</p> <ulist> <item> <p>A [local name] of namespace.</p> </item> <item> <p>A [namespace name] which has no value.</p> </item> </ulist> <p>The type of the <att>namespace</att> <emph>attribute information item</emph> is <emph>xs:anyURI</emph>.</p> <p>The WSDL author should ensure that a prefix is associated with the namespace at the proper scope (probably document scope).</p> </div3> <div3 id="dtd-locationaii"> <head> <att>location</att> <emph>attribute information item</emph> </head> <p>The <att>location</att> <emph>attribute information item</emph>, if present, provides a hint to the processor as to where the DTD may be located. Caching and cataloging technologies may provide better information than this hint. The <att>location</att> <emph>attribute information item</emph> has the following infoset properties:</p> <ulist> <item> <p>A [local name] of location.</p> </item> <item> <p>A [namespace name] which has no value.</p> </item> </ulist> <p>The type of the <att>location</att> <emph>attribute information item</emph> is <emph>xs:anyURI</emph>.</p> </div3> <div3 id="dtd-ref"> <head>References to Element Definitions</head> <p> The <att>element</att> <emph>attribute information item</emph> MUST be used when referring to an element definition (<!ELEMENT>) from a Message Reference component; referring to an element definition from a Interface Fault component is similar. The value of the element definition MUST correspond to the content of the <att>namespace</att> <emph>attribute information item</emph> of the <el>dtd:import</el> <emph>element information item</emph>. The local name part must correspond to an element defined in the DTD. </p> <p> Note that this pattern does not attempt to make DTDs namespace-aware. It applies namespaces externally, in the import phase.</p> </div3> </div2> <div2 id="relax"> <head>RELAX NG</head> <p>A RELAX NG schema may be used as the schema language for WSDL. It may be embedded or imported; import is preferred. A namespace must be specified; if an imported schema specifies one, then the [actual value] of the <att>namespace</att> <emph>attribute information item</emph> in the <el>import</el> <emph>element information item</emph> must match the specified namespace. RELAX NG provides both type definitions and element declarations, the latter appears in the {element declarations} property of <specref ref="Definitions_details"/> respectively. The following discussion supplies the prefix rng which is mapped to the URI "http://www.relaxng.org/ns/structure/1.0".</p> <div3 id="import-relax"> <head>Importing RELAX NG</head> <p> Importing a RELAX NG schema uses the rng:include mechanism defined by RNG, with restrictions on its syntax and semantics. A child <emph>element information item</emph> of the <el>types</el> <emph>element information item</emph> is defined with the Infoset properties as follows:</p> <ulist> <item> <p>A [local name] of include.</p> </item> <item> <p>A [namespace name] of "http://www.relaxng.org/ns/structure/1.0".</p> </item> <item> <p>Two <emph>attribute information item</emph>s as follows:</p> <ulist> <item> <p>A REQUIRED <att>ns</att> <emph>attribute information item</emph> as described below.</p> </item> <item> <p>An OPTIONAL <att>href</att> <emph>attribute information item</emph> as described below.</p> </item> <item> <p>Additional <emph>attribute information item</emph>s as defined by the RNG specification.</p> </item> </ulist> </item> </ulist> <p> Note that WSDL restricts the <el>rng:include</el> <emph>element information item</emph> to be empty. That is, it cannot redefine <el>rng:start</el> and <el>rng:define</el> <emph>element information item</emph>s; it may be used solely to import a schema.</p> <div4 id="relax-import-nsaii"> <head> <att>ns</att> <emph>attribute information item</emph> </head> <p>The <att>ns</att> <emph>attribute information item</emph> defines the namespace of the type and element definitions imported from the referenced schema. If the referenced schema contains an <att>ns</att> <emph>attribute information item</emph> on its <el>grammar</el> <emph>element information item</emph>, then the values of these two <emph>attribute information item</emph>s must be identical. If the imported grammar does not have an <att>ns</att> <emph>attribute information item</emph> then the namespace specified here is applied to all components of the schema as if it did contain such an <emph>attribute information item</emph>. The <att>ns</att> <emph>attribute information item</emph> contains the following Infoset properties:</p> <ulist> <item> <p>A [local name] of ns.</p> </item> <item> <p>A [namespace name] which has no value.</p> </item> </ulist> <p>The type of the <att>ns</att> <emph>attribute information item</emph> is <emph>xs:anyURI</emph>.</p> </div4> <div4 id="relax-import-hrefaii"> <head> <att>href</att> <emph>attribute information item</emph> </head> <p> The <att>href</att> <emph>attribute information item</emph> must be present, according to the rules of the RNG specification. However, WSDL allows it to be empty, and considers it only a hint. Caching and cataloging technologies may provide better information that this hint. The <att>href</att> <emph>attribute information item</emph> has the following Infoset properties:</p> <ulist> <item> <p>A [local name] of href.</p> </item> <item> <p>A [namespace name] which has no value.</p> </item> </ulist> <p>The type of the <att>href</att> <emph>attribute information item</emph> is <emph>xs:anyURI</emph>.</p> </div4> </div3> <div3 id="relax-embed"> <head>Embedding RELAX NG</head> <p> Embedding an RNG schema uses the existing top-level <el>rng:grammar</el> <emph>element information item</emph>. It may be viewed as simply cutting and pasting an existing, stand-alone schema to a location inside the <el>wsdl:types</el> <emph>element information item</emph>. The <el>rng:grammar</el> <emph>element information item</emph> has the following Infoset properties:</p> <ulist> <item> <p>A [local name] of grammar.</p> </item> <item> <p>A [namespace name] of "http://www.relaxng.org/ns/structure/1.0".</p> </item> <item> <p>A REQUIRED <att>ns</att> <emph>attribute information item</emph>s as described below.</p> </item> <item> <p>Additional <emph>attribute information item</emph>s as specified for the <el>rng:grammar</el> <emph>element information item</emph> in the RNG specification.</p> </item> <item> <p>Child <emph>element information item</emph>s as specified for the <el>rng:grammar</el> <emph>element information item</emph> in the RNG specification.</p> </item> </ulist> <div4 id="relax-embed-nsaii"> <head> <att>ns</att> <emph>attribute information item</emph> </head> <p> The <att>ns</att> <emph>attribute information item</emph> defines the namespace of the type and element definitions embedded in this schema. WSDL modifies the RNG definition of the <el>rng:grammar</el> <emph>element information item</emph> to make this <emph>attribute information item</emph> required. The <att>ns</att> <emph>attribute information item</emph> has the following infoset properties:</p> <ulist> <item> <p>A [local name] of ns.</p> </item> <item> <p>A [namespace name] which has no value.</p> </item> </ulist> <p>The type of the <att>ns</att> <emph>attribute information item</emph> is <emph>xs:anyURI</emph>.</p> </div4> </div3> <div3 id="relax-ref"> <head>References to Element Declarations</head> <p>Whether embedded or imported, the element definitions present in a schema may be referenced from a Message Reference or Interface Fault component.</p> <p> A named rng:define definition MUST NOT be referenced from the Message Reference or Interface Fault components. </p> <p> A named Relax NG element declaration MAY be referenced from a Message Reference or Interface Fault component. The QName is constructed from the namespace (<att>ns</att> <emph>attribute information item</emph>) of the schema and the content of the <att>name</att> <emph>attribute information item</emph> of the <el>element</el> <emph>element information item</emph> An <att>element</att> <emph>attribute information item</emph> MUST NOT be used to refer to an <el>rng:define</el> <emph>element information item</emph>. </p> </div3> </div2> </div1> </body> </spec>
Received on Wednesday, 16 March 2005 16:45:03 UTC