datatypes w = "http://whattf.org/datatype-draft" # ##################################################################### ## RELAX NG Schema for HTML 5: Advanced Embedded Content # # ##################################################################### ## Attributes Common to Media Elements # src not included media.attrs = ( media.attrs.autoplay? & media.attrs.preload? & media.attrs.controls? & media.attrs.loop? & media.attrs.mediagroup? & media.attrs.muted? & embedded.content.attrs.crossorigin? ) media.attrs.autoplay = attribute autoplay { w:string "autoplay" | w:string "" } media.attrs.preload = attribute preload { w:string "none" | w:string "metadata" | w:string "auto" | w:string "" } media.attrs.controls = attribute controls { w:string "controls" | w:string "" } media.attrs.loop = attribute loop { w:string "loop" | w:string "" } media.attrs.mediagroup = attribute mediagroup { string } media.attrs.muted = attribute muted { w:string "muted" | w:string "" } ## Source: source.elem = element source { source.inner & source.attrs } source.attrs = ( common.attrs & source.attrs.src & source.attrs.type? & ( common.attrs.aria.role.presentation | common.attrs.aria.role.menuitem )? ) source.attrs.src = attribute src { common.data.uri.non-empty } source.attrs.type = attribute type { common.data.mimetype } source.inner = ( empty ) ## Media Source media.source = ( media.attrs.src | source.elem* ) media.attrs.src = attribute src { common.data.uri.non-empty } ## Video: