87 title = element title { title.content } |
88 title = element title { title.content } |
88 subtitle = element subtitle { title.content } |
89 subtitle = element subtitle { title.content } |
89 |
90 |
90 title.content = inlines |
91 title.content = inlines |
91 |
92 |
|
93 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
94 |
|
95 identifier = element identifier { identifier.content, identifier.attributes } |
|
96 |
|
97 identifier.attributes = |
|
98 class.attribute |
|
99 class.attribute = attribute class { "uri" | "ean" } |
|
100 |
|
101 identifier.content = xsd:anyURI | xsd:NMTOKEN |
|
102 |
92 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
103 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
93 |
104 |
94 language = element language { language.attributes } |
105 language = element language { language.attributes } |
95 |
106 |
96 language.attributes = lang.attribute |
107 language.attributes = lang.attribute |
99 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
110 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
100 |
111 |
101 # ~~~~~~ author |
112 # ~~~~~~ author |
102 author = element author { author.content } |
113 author = element author { author.content } |
103 |
114 |
|
115 author.attributes = |
|
116 role.attribute? |
|
117 role.attribute = attribute role { "author" | "illustrator" } |
|
118 |
104 author.content = |
119 author.content = |
105 firstname?, |
120 firstname?, |
106 lastname |
121 lastname, |
|
122 role* |
107 |
123 |
108 # ~~~~~~ publisher |
124 # ~~~~~~ publisher |
109 publisher = element publisher { publisher.content } |
125 publisher = element publisher { publisher.content } |
110 |
126 |
111 publisher.content = inlines |
127 publisher.content = |
|
128 label, |
|
129 url? |
112 |
130 |
113 # ~~~~~~ firstname |
131 # ~~~~~~ firstname |
114 firstname = element firstname { firstname.content } |
132 firstname = element firstname { firstname.content } |
115 |
133 |
116 firstname.content = inlines |
134 firstname.content = inlines |
117 |
135 |
118 # ~~~~~~ lastname |
136 # ~~~~~~ lastname |
119 lastname = element lastname { lastname.content } |
137 lastname = element lastname { lastname.content } |
120 |
138 |
121 lastname.content = inlines |
139 lastname.content = inlines |
|
140 |
|
141 # ~~~~~~ label |
|
142 label = element label { label.content } |
|
143 |
|
144 label.content = inlines |
|
145 |
|
146 # ~~~~~~ role |
|
147 role = element role { role.attributes } |
|
148 |
|
149 role.attributes = |
|
150 role.of.attribute |
|
151 role.of.attribute = attribute of { "author" | "illustrator" } |
|
152 |
|
153 # ~~~~~~ url |
|
154 url = element url { url.content } |
|
155 |
|
156 url.content = xsd:anyURI |
122 |
157 |
123 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
158 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
124 |
159 |
125 # ~~~~~~ source |
160 # ~~~~~~ source |
126 source = element source { |
161 source = element source { |