Seems deterministic to me.
When hitting upon 'a' there is a choice to be made between the parts '(x,y)' and '(y,x)'. This choice can be made as the next tag is either 'x' or 'y'. If it is 'x' the "path" to follow is the one described by '(x,y)'. If it is 'y' the "path" to follow is the one described by '(y,x)'.
That is, by "looking what we have now" we can decide the path, and the rest of the path is clearly deterministic.
And therefore the whole expression is deterministic.
Compare to the non-deterministic example "(a,b) | (a, c)". Here, when "what we have now" is an 'a'. It is now impossible to make the choice for the appropriate path as we need to "look ahead" to see either an 'b' or a 'c'.
When yopu encounter the need for "looking ahead" your content model is non-deterministic.