default namespace ev = "http://www.lmnl.org/event" datatypes xs = "http://www.w3.org/2001/XMLSchema-datatypes" start = events events = element events { event* } event |= element start-tag-open { ns, name, id, common } event |= element start-tag-close { ns, name, id, common } event |= element end-tag-open { ns, name, id, common } event |= element end-tag-close { ns, name, id, common } event |= element start-annotation-open { ns, name, common } event |= element start-annotation-close { ns, name, common } event |= element end-annotation-open { ns, name, common } event |= element end-annotation-close { ns, name, common } event |= element atom-open { ns, name, common } event |= element atom-close { ns, name, common } ns = attribute ns { xs:anyURI } name = attribute name { xs:NCName } id = attribute id { xs:NCName } event |= element text { chars, ws, common } chars = attribute chars { xs:string } ws = attribute ws { 'true' | 'false' } event |= element comment { content } content = attribute content { xs:string } event |= element error { parsing, found, message, line, col } parsing = attribute parsing { xs:string } found = attribute found { xs:string } message = attribute message { xs:string } common &= attribute hash { xs:string } common &= line common &= col common &= depth line = attribute line { xs:integer } col = attribute col { xs:integer } depth = attribute depth { xs:integer }