1 datatypes w = "http://whattf.org/datatype-draft"
3 # #####################################################################
4 ## RELAX NG Schema for HTML 5: Advanced Embedded Content #
5 # #####################################################################
7 ## Attributes Common to Media Elements
11 ( media.attrs.autoplay?
12 & media.attrs.preload?
13 & media.attrs.controls?
15 & media.attrs.mediagroup?
17 & embedded.content.attrs.crossorigin?
19 media.attrs.autoplay =
21 w:string "autoplay" | w:string ""
25 w:string "none" | w:string "metadata" | w:string "auto" | w:string ""
27 media.attrs.controls =
29 w:string "controls" | w:string ""
33 w:string "loop" | w:string ""
35 media.attrs.mediagroup =
36 attribute mediagroup {
41 w:string "muted" | w:string ""
47 element source { source.inner & source.attrs }
52 & ( common.attrs.aria.role.presentation
53 | common.attrs.aria.role.menuitem
58 common.data.uri.non-empty
76 common.data.uri.non-empty
82 element video { video.inner.flow & video.attrs }
84 element video { video.inner.phrasing & video.attrs }
91 & common.attrs.aria.landmark.application?
95 common.data.uri.non-empty
99 common.data.integer.non-negative
103 common.data.integer.non-negative
108 , common.inner.transparent.flow
110 video.inner.phrasing =
113 , common.inner.phrasing
116 common.elem.flow |= video.elem.flow
117 common.elem.phrasing |= video.elem.phrasing
122 element audio { audio.inner.flow & audio.attrs }
123 audio.elem.phrasing =
124 element audio { audio.inner.phrasing & audio.attrs }
128 & common.attrs.aria.landmark.application?
133 , common.inner.transparent.flow
135 audio.inner.phrasing =
138 , common.inner.phrasing
141 common.elem.flow |= audio.elem.flow
142 common.elem.phrasing |= audio.elem.phrasing
144 ## supplementary media track: <track>
147 element track { track.inner & track.attrs }
153 & track.attrs.srclang?
155 & track.attrs.default?
156 & ( common.attrs.aria.role.presentation
157 | common.attrs.aria.role.menuitem
162 w:string "subtitles" | w:string "captions" | w:string "descriptions" | w:string "chapters" | w:string "metadata"
166 common.data.uri.non-empty
168 track.attrs.srclang =
174 string # must be non-empty value; check is in assertions code
176 track.attrs.default =
178 w:string "default" | w:string ""
184 ## Captioned Content: <figure>
187 element figure { figure.inner & figure.attrs }
193 ( ( figcaption.elem?, common.inner.flow )
194 | ( common.inner.flow, figcaption.elem? )
197 common.elem.flow |= figure.elem
199 ## Figure caption: <figcaption>
202 element figcaption { figcaption.inner & figcaption.attrs }
205 & ( common.attrs.aria.role.presentation
206 | common.attrs.aria.role.menuitem
210 ( common.inner.flow )