=>(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*
a
a12/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b3
*
a|b
.//a:b
a/b/c
a/*/b
a:*/b:*/c:*
child::a/child::b:*
child::a/child::b:*|a/*/b|.//a:b
1
1ab
a:1
@a
ancestor::a
#
# the previous regexp from the Schemas for Schemas was broken
# here is the fixed one:
# http://lists.w3.org/Archives/Public/www-xml-schema-comments/2002AprJun/0005.html
#
=>(\.//)?(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.)(/(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.))*(\|(\.//)?(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.)(/(((child::)?(([\i-[:]][\c-[:]]*:)?([\i-[:]][\c-[:]]*|\*)))|\.))*)*
a
a12/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b312/b3
*
a|b
.//a:b
a/b/c
a/*/b
a:*/b:*/c:*
child::a/child::b:*
child::a/child::b:*|a/*/b|.//a:b
1
1ab
a:1
@a
ancestor::a