equal
deleted
inserted
replaced
25 |
25 |
26 top.head = element head { top.head.content } |
26 top.head = element head { top.head.content } |
27 |
27 |
28 top.head.content = |
28 top.head.content = |
29 (title, shorttitle?, subtitle?)? |
29 (title, shorttitle?, subtitle?)? |
30 & identifier* |
30 & (identifier, identifier?)? |
31 & copyright? |
31 & copyright? |
32 & collection? |
32 & collection? |
33 & contributors? |
33 & contributors? |
34 & date? |
34 & date? |
35 & place? |
35 & place? |
36 & source* |
36 & (source, source?)? |
37 & keywordset? |
37 & keywordset? |
38 & subjectset? |
38 & subjectset? |
39 & abstract? |
39 & abstract? |
40 & cover? |
40 & cover? |
41 & annotation* |
41 & annotation* |
415 |
415 |
416 title.content = inlines |
416 title.content = inlines |
417 |
417 |
418 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
418 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
419 |
419 |
|
420 identifier = element identifier { |
|
421 (attribute type { "ean" }, xsd:token {pattern = "\d{13}"}) |
|
422 | (attribute type { "uri" }, xsd:anyURI) |
|
423 } |
|
424 |
|
425 identifier.ean = element identifier { |
|
426 attribute type { "ean" }, xsd:token {pattern = "\d{13}"} |
|
427 } |
|
428 |
420 identifier.uri = element identifier { |
429 identifier.uri = element identifier { |
421 attribute type { "uri" }, xsd:anyURI |
430 attribute type { "uri" }, xsd:anyURI |
422 } |
431 } |
423 |
|
424 identifier.ean = element identifier { |
|
425 attribute type { "ean" }, xsd:token {pattern = "\d{13}"} |
|
426 } |
|
427 |
|
428 identifier = identifier.uri | identifier.ean |
|
429 |
432 |
430 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ copyright ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
433 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ copyright ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
431 |
434 |
432 copyright = element copyright { copyright.content } |
435 copyright = element copyright { copyright.content } |
433 |
436 |