title.opt = title? & titleabbrev? & subtitle? title.req = title & titleabbrev? & subtitle? info.notitle = element info { (author|...)* } info.titlereq = element info { title.req, (author|...)* } element article { (title.req, info.notitle) | info.titlereq, ... }
(This isn’t exactly the same semantic.)