sca-c-cpp message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: WSDL extension schema
- From: Bryan Aupperle <aupperle@us.ibm.com>
- To: sca-c-cpp@lists.oasis-open.org
- Date: Fri, 16 Jan 2009 16:11:07 -0500
I put the draft schema for C WSDL extensions
through a validator and found a problem. The draft version defines
the types for the elements (e.g.PrefixType) without referencing the
base type for the substitution group (ExtensionType). To fix this,
the attribute definition needs to be nexted inside complexContnet and extension
elements.
This fixes all but enableWrapperStyle,
which right now is of type boolean, which does not derive from ExtensionType.
To make this work I believe we either need to make enableWrapperStyle
have a boolean attribute or add enableWrraperStyle to the sequence in BindingsType
(with minOccurs="0" and maxOccurs="1"). This
latter approach would force enableWrapperStyle to be the last child of
a bindings element. There may be another option, but I am not a schema
expert.
I noticed one other thing, the extensions
element in the sequence of BindingsType should have minOccurs="0"
maxOccurs="unbounded".
The schema with these changes is:.
<?xml
version="1.0"
encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://docs.oasis-open.org/ns/opencsa/sca-c-cpp/c/200901"
xmlns:sca-c="http://docs.oasis-open.org/ns/opencsa/sca-c-cpp/c/200901"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<element
name="bindings"
type="sca-c:BindingsType"
/>
<complexType
name="BindingsType">
<sequence>
<element
ref="sca-c:extension"
minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</complexType>
<element
name="extension"
type="sca-c:ExtensionType"
/>
<complexType
name="ExtensionType"></complexType>
<element
name="prefix"
type="sca-c:PrefixType"
substitutionGroup="sca-c:extension"
/>
<complexType
name="PrefixType">
<complexContent>
<extension
base="sca-c:ExtensionType">
<attribute
name="name"
type="xsd:string"
use="required"
/>
</extension>
</complexContent>
</complexType>
<element
name="function"
type="sca-c:FunctionType"
substitutionGroup="sca-c:extension"
/>
<complexType
name="FunctionType">
<complexContent>
<extension
base="sca-c:ExtensionType">
<attribute
name="name"
type="xsd:string"
use="required"
/>
</extension>
</complexContent>
</complexType>
<element
name="struct"
type="sca-c:StructType"
substitutionGroup="sca-c:extension"
/>
<complexType
name="StructType">
<complexContent>
<extension
base="sca-c:ExtensionType">
<attribute
name="name"
type="xsd:string"
use="required"
/>
</extension>
</complexContent>
</complexType>
<element
name="parameter"
type="sca-c:ParameterType"
substitutionGroup="sca-c:extension"
/>
<complexType
name="ParameterType">
<complexContent>
<extension
base="sca-c:ExtensionType">
<attribute
name="part"
type="xsd:string"
use="required"
/>
<attribute
name="childElementName"
type="xsd:QName"
use="required"
/>
<attribute
name="name"
type="xsd:string"
use="required"
/>
</extension>
</complexContent>
</complexType>
<element
name="enableWrapperStyle"
type="xsd:boolean"
substitutionGroup="sca-c:extension"
/>
<element
name="CType"
type="sca-c:CTypeType"
substitutionGroup="sca-c:extension"
/>
<complexType
name="CTypeType">
<complexContent>
<extension
base="sca-c:ExtensionType">
<attribute
name="name"
type="xsd:string"
use="required"
/>
<attribute
name="XMLType"
type="xsd:QName"
use="required"
/>
<attribute
name="function"
type="xsd:string"
use="required"
/>
<attribute
name="library"
type="xsd:string"
use="required"
/>
</extension>
</complexContent>
</complexType>
</schema>
Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect
Master Inventor
Research Triangle Park, NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]