>(.//)?(((child::)?((ic*:)?(ic*|*)))|.)(/(((child::)?((ic*:)?(ic*|*)))|.))*(|(.//)?(((child::)?((ic*:)?(ic*|*)))|.)(/(((child::)?((ic*:)?(ic*|*)))|.))*)*

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: # 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