126 lines
5.1 KiB
XML
126 lines
5.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<xsd:schema xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" attributeFormDefault="unqualified"
|
|
elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/wsn/t-1"
|
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
<xsd:complexType name="Documentation" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="ExtensibleDocumented" abstract="true">
|
|
<xsd:sequence>
|
|
<xsd:element minOccurs="0" name="documentation" type="wstop:Documentation" />
|
|
</xsd:sequence>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax" />
|
|
</xsd:complexType>
|
|
<xsd:complexType name="QueryExpressionType" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:any minOccurs="0" maxOccurs="1" processContents="lax" />
|
|
</xsd:sequence>
|
|
<xsd:attribute name="Dialect" type="xsd:anyURI" use="required" />
|
|
</xsd:complexType>
|
|
<xsd:complexType name="TopicNamespaceType">
|
|
<xsd:complexContent mixed="false">
|
|
<xsd:extension base="wstop:ExtensibleDocumented">
|
|
<xsd:sequence>
|
|
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Topic">
|
|
<xsd:complexType>
|
|
<xsd:complexContent mixed="false">
|
|
<xsd:extension base="wstop:TopicType">
|
|
<xsd:attribute name="parent" type="wstop:ConcreteTopicExpression" />
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
|
</xsd:sequence>
|
|
<xsd:attribute name="name" type="xsd:NCName" />
|
|
<xsd:attribute name="targetNamespace" type="xsd:anyURI" use="required" />
|
|
<xsd:attribute default="false" name="final" type="xsd:boolean" />
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="TopicNamespace" type="wstop:TopicNamespaceType">
|
|
<xsd:unique name="rootTopicUniqueness">
|
|
<xsd:selector xpath="wstop:Topic" />
|
|
<xsd:field xpath="@name" />
|
|
</xsd:unique>
|
|
</xsd:element>
|
|
<xsd:attribute name="topicNamespaceLocation" type="xsd:anyURI" />
|
|
<xsd:complexType name="TopicType">
|
|
<xsd:complexContent mixed="false">
|
|
<xsd:extension base="wstop:ExtensibleDocumented">
|
|
<xsd:sequence>
|
|
<xsd:element minOccurs="0" maxOccurs="1" name="MessagePattern" type="wstop:QueryExpressionType" />
|
|
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Topic" type="wstop:TopicType">
|
|
<xsd:unique name="childTopicUniqueness">
|
|
<xsd:selector xpath="wstop:topic" />
|
|
<xsd:field xpath="@name" />
|
|
</xsd:unique>
|
|
</xsd:element>
|
|
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" />
|
|
</xsd:sequence>
|
|
<xsd:attribute name="name" type="xsd:NCName" use="required" />
|
|
<xsd:attribute name="messageTypes">
|
|
<xsd:simpleType>
|
|
<xsd:list itemType="xsd:QName" />
|
|
</xsd:simpleType>
|
|
</xsd:attribute>
|
|
<xsd:attribute default="false" name="final" type="xsd:boolean" />
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:complexType name="TopicSetType">
|
|
<xsd:complexContent mixed="false">
|
|
<xsd:extension base="wstop:ExtensibleDocumented">
|
|
<xsd:sequence>
|
|
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
<xsd:element name="TopicSet" type="wstop:TopicSetType" />
|
|
<xsd:attribute default="false" name="topic" type="xsd:boolean" />
|
|
<xsd:simpleType name="FullTopicExpression">
|
|
<xsd:restriction base="xsd:token">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
TopicPathExpression ::= TopicPath ( '|' TopicPath )*
|
|
TopicPath ::= RootTopic ChildTopicExpression*
|
|
RootTopic ::= NamespacePrefix? ('//')? (NCName | '*')
|
|
NamespacePrefix ::= NCName ':'
|
|
ChildTopicExpression ::= '/' '/'? (QName | NCName | '*'| '.')
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:pattern
|
|
value="([\i-[:]][\c-[:]]*:)?(//)?([\i-[:]][\c-[:]]*|\*)((/|//)(([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*|\*|[.]))*(\|([\i-[:]][\c-[:]]*:)?(//)?([\i-[:]][\c-[:]]*|\*)((/|//)(([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*|\*|[.]))*)*" />
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
<xsd:simpleType name="ConcreteTopicExpression">
|
|
<xsd:restriction base="xsd:token">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
The pattern allows strings matching the following EBNF:
|
|
ConcreteTopicPath ::= RootTopic ChildTopic*
|
|
RootTopic ::= QName
|
|
ChildTopic ::= '/' (QName | NCName)
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:pattern value="(([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*)(/([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*)*" />
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
<xsd:simpleType name="SimpleTopicExpression">
|
|
<xsd:restriction base="xsd:QName">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
The pattern allows strings matching the following EBNF:
|
|
RootTopic ::= QName
|
|
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
</xsd:schema> |