W3C

IBM-WS-Topics

The document http://www-128.ibm.com/developerworks/library/specification/ws-notification/WS-Topics.xsd has been classified as being possibly an Advanced XML Schema Patterns for Databinding 1.0 conformant document as it only exhibits the following patterns:

Status Nodes Name XPath
basic TargetNamespace .[@targetNamespace]/ (., @targetNamespace)
basic QualifiedLocalElements .[@elementFormDefault = 'qualified']/ (@elementFormDefault)
basic UnqualifiedLocalAttributes .[not(@attributeFormDefault) or @attributeFormDefault = 'unqualified']/ (., @attributeFormDefault)
basic DocumentationElement .//xs:annotation/xs:documentation/ (.., ., .//*, .//@*)
basic IdentifierName .//.[matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$")]/ (@name)
basic ImportSchema ./xs:import[@namespace and @schemaLocation]/ (., @namespace, @schemaLocation)
basic GlobalElement ./xs:element[@name and @type and contains(@type, ':')]/ (., @name, @type)
basic NotMixed .//.[@mixed = 'false']/ (@mixed)
advanced MixedContentType .//xs:complexType[@mixed = 'true']/ (@mixed)
basic MinOccurs1 .//.[@minOccurs = '1']/ (@minOccurs)
basic MaxOccurs1 .//.[@maxOccurs = '1']/ (@maxOccurs)
basic ElementMinOccurs0 .//xs:element[@minOccurs = '0' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs1 .//xs:element[@minOccurs = '1' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs)
basic ElementMaxOccurs1 .//xs:element[(not(@minOccurs) or @minOccurs = '1') and @maxOccurs = '1']/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs0MaxOccursUnbounded .//xs:element[@minOccurs = '0' and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
advanced AttributeRequired .//xs:attribute[@use = 'required']/ (@use)
advanced AttributeDefault .//xs:attribute[@default] / (@default)
basic GlobalSimpleType ./xs:simpleType[@name]/ (., @name)
basic GlobalComplexType ./xs:complexType[@name]/ (., @name)
advanced GlobalComplexTypeAbstract ./xs:complexType[@abstract='true']/ (@abstract)
basic ComplexTypeSequence .//xs:complexType/xs:sequence/ (., xs:element/(., @name))
advanced ComplexTypeAnyAttribute .//xs:complexType/xs:anyAttribute
advanced AnyAttributeOtherLax .//xs:complexType/xs:anyAttribute[(@processContents = 'lax') and (@namespace = '##other')]/ (., @processContents, @namespace)
advanced ExtendedSequenceLaxAny .//xs:sequence/xs:any[@processContents = 'lax' and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and (not(@namespace) or @namespace = '##any')]/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
advanced ExtendedSequenceStrictOther .//xs:sequence/xs:any[(not(@processContents) or @processContents = 'strict') and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and @namespace = '##other']/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
advanced ExtendedSequenceLaxOther .//xs:sequence/xs:any[@processContents = 'lax' and (not (@minOccurs) or @minOccurs = '1' or @minOccurs = '0') and (not (@maxOccurs) or @maxOccurs = '1' or @maxOccurs='unbounded') and @namespace = '##other']/ (., @processContents, @minOccurs, @maxOccurs, @namespace)
advanced SequenceChoice .//xs:sequence/xs:choice/(.)
advanced ChoiceElement .//xs:choice/xs:element/(.)
basic SequenceElement .//xs:sequence/xs:element/(.)
basic SequenceSingleRepeatedElement .//xs:sequence[count(xs:element) = 1]/xs:element[@maxOccurs = 'unbounded']/ (., @maxOccurs)
basic ElementTypeReference .//xs:element[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and contains(@type, ':')]/ (., @name, @type)
advanced List .//xs:list[@itemType]/ (., @itemType)
basic BooleanAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:boolean')]
basic AnyURIAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:anyURI')]
basic NCNameAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:NCName')]
advanced TokenSimpleTypePattern .//xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:token')]/xs:pattern[@value]/ (.., ../@base, ., @value)
basic ComplexTypeAttributeExtension .//xs:complexType/xs:complexContent[xs:extension[@base]/xs:attribute]/ (., xs:extension/(., @base, xs:attribute/(., @name)))
basic ComplexTypeSequenceExtension .//xs:complexType/xs:complexContent[xs:extension[@base]/xs:sequence]/ (., xs:extension/ (., @base, xs:sequence/(., xs:element/(., @name))))
advanced LocalAttributeSimpleType .//xs:attribute[not(parent::xs:schema)]/xs:simpleType
advanced Unique .//xs:element/xs:unique/(.., .,xs:selector,xs:selector/@xpath,xs:field,xs:field/@xpath)
advanced ComplexTypeExtension .//xs:complexType/xs:complexContent/xs:extension[@base]/(., @base, ../(.))

<xsd:schema TargetNamespace UnqualifiedLocalAttributes targetNamespace="http://www.ibm.com/xmlns/stdwip/web-services/WS-Topics" TargetNamespace elementFormDefault="qualified" QualifiedLocalElements attributeFormDefault="unqualified" UnqualifiedLocalAttributes >
<!-- ======================== Imports ============================ -->
<xsd:import ImportSchema namespace="http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties" ImportSchema schemaLocation="http://www-106.ibm.com/developerworks/webservices/library/ws-resource/WS-ResourceProperties.xsd" ImportSchema />
<xsd:import ImportSchema namespace="http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification" ImportSchema schemaLocation="../WS-BaseNotification/WS-BaseNotification.1.xsd" ImportSchema />
<!-- =============== utility type definitions ==================== -->
<xsd:complexType GlobalComplexType name="Documentation" IdentifierName GlobalComplexType mixed="true" MixedContentType >
<xsd:sequence ComplexTypeSequence >
<xsd:any ExtendedSequenceLaxAny processContents="lax" ExtendedSequenceLaxAny minOccurs="0" ExtendedSequenceLaxAny maxOccurs="unbounded" ExtendedSequenceLaxAny namespace="##any" ExtendedSequenceLaxAny />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="ExtensibleDocumented" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract mixed="false" NotMixed >
<xsd:sequence ComplexTypeSequence ></xsd:sequence>
<xsd:anyAttribute ComplexTypeAnyAttribute AnyAttributeOtherLax namespace="##other" AnyAttributeOtherLax processContents="lax" AnyAttributeOtherLax />
</xsd:complexType>
<!-- ================== Topic-Space Related ====================== -->
<xsd:element GlobalElement ElementTypeReference Unique name="TopicSpace" IdentifierName GlobalElement ElementTypeReference type="wstop:TopicSpaceType" GlobalElement ElementTypeReference >
<xsd:unique Unique name="rootTopicUniqueness" IdentifierName >
<xsd:selector Unique xpath="wstop:Topic" Unique />
<xsd:field Unique xpath="@name" Unique />
</xsd:unique>
</xsd:element>
<!-- ===================== Topic Related ========================= -->
<xsd:group name="NonAliasTopicDefinition" IdentifierName >
<xsd:sequence>
<xsd:element SequenceElement ElementTypeReference name="MessagePattern" IdentifierName ElementTypeReference type="wsrp:QueryExpressionType" ElementTypeReference minOccurs="0" ElementMinOccurs0 maxOccurs="1" MaxOccurs1 ElementMinOccurs0 />
<xsd:element SequenceElement ElementTypeReference Unique name="Topic" IdentifierName ElementTypeReference type="wstop:TopicType" ElementTypeReference minOccurs="0" ElementMinOccurs0MaxOccursUnbounded maxOccurs="unbounded" ElementMinOccurs0MaxOccursUnbounded >
<xsd:unique Unique name="childTopicUniqueness" IdentifierName >
<xsd:selector Unique xpath="wstop:topic" Unique />
<xsd:field Unique xpath="@name" Unique />
</xsd:unique>
</xsd:element>
</xsd:sequence>
</xsd:group>
<xsd:complexType GlobalComplexType name="TopicType" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeAttributeExtension ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeAttributeExtension ComplexTypeSequenceExtension ComplexTypeExtension base="wstop:ExtensibleDocumented" ComplexTypeAttributeExtension ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:group ref="wstop:NonAliasTopicDefinition"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute ComplexTypeAttributeExtension name="messageTypes" IdentifierName ComplexTypeAttributeExtension default="xsd:any" AttributeDefault >
<xsd:simpleType LocalAttributeSimpleType >
<xsd:list List itemType="xsd:QName" List />
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute ComplexTypeAttributeExtension name="final" IdentifierName ComplexTypeAttributeExtension type="xsd:boolean" BooleanAttribute default="false" AttributeDefault />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- ================ Topic Expression Related =================== -->
<xsd:simpleType GlobalSimpleType name="FullTopicPathExpression" IdentifierName GlobalSimpleType >
<xsd:restriction TokenSimpleTypePattern base="xsd:token" TokenSimpleTypePattern >
<xsd:annotation DocumentationElement >
<xsd:documentation DocumentationElement >
TopicPathExpression ::= TopicPath ( '|' TopicPath )* TopicPath ::= RootTopic ChildTopicExpression* RootTopic ::= NamespacePrefix? ('//')? (NCName | '*') NamespacePrefix ::= NCName ':' ChildTopicExpression ::= '/' '/'? (NCName | '*'| '.')
</xsd:documentation>
</xsd:annotation>
<xsd:pattern TokenSimpleTypePattern value="([\i-[:]][\c-[:]]*:)?(//)?([\i-[:]][\c-[:]]*|\*)((/|//)([\i-[:]][\c-[:]]*|\*|[.]))*(\|([\i-[:]][\c-[:]]*:)?(//)?([\i-[:]][\c-[:]]*|\*)((/|//)([\i-[:]][\c-[:]]*|\*|[.]))*)*" TokenSimpleTypePattern ></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="ConcreteTopicPathExpression" IdentifierName GlobalSimpleType >
<xsd:restriction TokenSimpleTypePattern base="xsd:token" TokenSimpleTypePattern >
<xsd:annotation DocumentationElement >
<xsd:documentation DocumentationElement >
The pattern allows strings matching the following EBNF: ConcreteTopicPath ::= RootTopic ChildTopic* RootTopic ::= QName ChildTopic ::= '/' NCName
</xsd:documentation>
</xsd:annotation>
<xsd:pattern TokenSimpleTypePattern value="(( [\i-[:]][\c-[:]]*:)? [\i-[:]][\c-[:]]*)(/ [\i-[:]][\c-[:]]*)*" TokenSimpleTypePattern ></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="SimpleTopicExpression" IdentifierName GlobalSimpleType >
<xsd:restriction TokenSimpleTypePattern base="xsd:token" TokenSimpleTypePattern >
<xsd:annotation DocumentationElement >
<xsd:documentation DocumentationElement >
The pattern allows strings matching the following EBNF: RootTopic ::= QName
</xsd:documentation>
</xsd:annotation>
<xsd:pattern TokenSimpleTypePattern value="([\i-[:]][\c-[:]]*:)?( [\i-[:]][\c-[:]]*)" TokenSimpleTypePattern ></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

This document was produced by the W3C XML Schema Patterns for Databinding Working Group. Comments on this document may be sent to the public public-xsd-databinding-comments@w3.org mailing list (public archive).