- 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