namespace local = "" namespace ns1 = "http://eric.van-der-vlist.com/ns/person" default namespace ns2 = "http://eric.van-der-vlist.com/ns/library" start = ((__library-elt-id2615152 | book-element-id2613963) | author-element-id2614058) | character-element-id2613924 author-element-id2614058 = element ns1:author { ((attribute id { xsd:NMTOKEN { maxLength = " 16 " } }, name-element-id2613832), born-element-id2613943), (empty | dead-element-id2613856) } book-element-id2613963 = element book { (((((attribute id { text }, attribute available { ("true" | xsd:token " false ") | " " }), isbn-element-id2613872), title-element-id2613819), (empty | author-element-id2614058+)), (empty | character-element-id2613924+)) & (empty | ((empty | attribute * - ((local:* | ns2:*) | ns1:*) { text }+) | (empty | __-elt-id2615098+))+) } born-element-id2613943 = element ns1:born { xsd:date } character-element-id2613924 = element character { ((attribute id { text }, name-element-id2613832), born-element-id2613943), qualification-element-id2613840 } dead-element-id2613856 = element ns1:dead { xsd:date } isbn-element-id2613872 = element isbn { (empty | attribute * - ((local:* | ns2:*) | ns1:*) { text }+), token } name-element-id2613832 = element ns1:name { xsd:token } qualification-element-id2613840 = element qualification { text } title-element-id2613819 = element title { (empty | attribute * - ((local:* | ns2:*) | ns1:*) { text }+), text } __-elt-id2615020 = element * { empty | ((__-elt-id2615020 | attribute * { text }) | text)+ } __library-elt-id2615152 = element library { book-element-id2613963+ } __-elt-id2615098 = element * - ((local:* | ns2:*) | ns1:*) { empty | ((__-elt-id2615020 | attribute * { text }) | text)+ }