> *anything* can be under element foo as long as bar is present.
anything = (element * {anything}|attribute * {text}|text)*
anything-bar = ( element *-bar {anything} | attribute * {text} | text ) *
start = element foo { element bar {anything}+ & any-bar }