TopicPathExpression ::= TopicPath ( '|' TopicPath )* TopicPath ::= RootTopic ChildTopicExpression* RootTopic ::= NamespacePrefix? ('//')? (NCName | '*') NamespacePrefix ::= NCName ':' ChildTopicExpression ::= '/' '/'? (QName | NCName | '*'| '.') The pattern allows strings matching the following EBNF: ConcreteTopicPath ::= RootTopic ChildTopic* RootTopic ::= QName ChildTopic ::= '/' (QName | NCName) The pattern allows strings matching the following EBNF: RootTopic ::= QName