IMS Final Release

IMS Global Logo

IMS Question and Test Interoperability (QTI): HTML5 Information Model and XSD Binding Version 2.2.1

IMS Final Release
Version 1.0

Date Issued: 1st August, 2016
Latest version: http://www.imsglobal.org/question/

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

Copyright © 2016 IMS Global Learning Consortium. All Rights Reserved.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/speclicense.html.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

Public contributions, comments and questions can be posted here: www.imsglobal.org/forums/ims-glc-public-forums-and-resources.

Trademark information: http://www.imsglobal.org/copyright.html

Document Name: IMS Question and Test Interoperability (QTI): HTML5 Information Model and XSD Binding v2.2.1

Revision: 1st August, 2016

toc | top

Table of Contents

1. Introduction

1.1. QTI HTML5 Overview

1.2. Scope and Context

1.3. Structure of this Document

1.4. Nomenclature

1.5. References

2. Information Model

2.1. Information Model Overview

2.2. Root Attribute Descriptions

2.2.1 "article" Root Attribute Description

2.2.2 "aside" Root Attribute Description

2.2.3 "audio" Root Attribute Description

2.2.4 "bdi" Root Attribute Description

2.2.5 "figcaption" Root Attribute Description

2.2.6 "figure" Root Attribute Description

2.2.7 "footer" Root Attribute Description

2.2.8 "header" Root Attribute Description

2.2.9 "label" Root Attribute Description

2.2.10 "nav" Root Attribute Description

2.2.11 "rb" Root Attribute Description

2.2.12 "rp" Root Attribute Description

2.2.13 "rt" Root Attribute Description

2.2.14 "rtc" Root Attribute Description

2.2.15 "ruby" Root Attribute Description

2.2.16 "section" Root Attribute Description

2.2.17 "source" Root Attribute Description

2.2.18 "track" Root Attribute Description

2.2.19 "video" Root Attribute Description

2.3. Root Class Descriptions

2.3.1 "Article" Root Class Description

2.3.1.1 "flowGroup" Attribute Description

2.3.2 "Aside" Root Class Description

2.3.2.1 "flowGroup" Attribute Description

2.3.3 "Audio" Root Class Description

2.3.3.1 "src" Characteristic Description

2.3.3.2 "crossorigin" Characteristic Description

2.3.3.3 "preload" Characteristic Description

2.3.3.4 "autoplay" Characteristic Description

2.3.3.5 "mediagroup" Characteristic Description

2.3.3.6 "loop" Characteristic Description

2.3.3.7 "muted" Characteristic Description

2.3.3.8 "controls" Characteristic Description

2.3.3.9 "source" Attribute Description

2.3.3.10 "track" Attribute Description

2.3.4 "BDI" Root Class Description

2.3.4.1 "flowContentModel" Attribute Description

2.3.5 "FigCaption" Root Class Description

2.3.5.1 "flowGroup" Attribute Description

2.3.6 "Figure" Root Class Description

2.3.6.1 "figcaption" Attribute Description

2.3.6.2 "flowContentModel" Attribute Description

2.3.7 "Footer" Root Class Description

2.3.7.1 "flowGroup" Attribute Description

2.3.8 "Header" Root Class Description

2.3.8.1 "flowGroup" Attribute Description

2.3.9 "Label" Root Class Description

2.3.9.1 "flowGroup" Attribute Description

2.3.10 "Nav" Root Class Description

2.3.10.1 "flowGroup" Attribute Description

2.3.11 "RB" Root Class Description

2.3.11.1 "phrasingContentModel" Attribute Description

2.3.12 "RP" Root Class Description

2.3.12.1 "phrasingContentModel" Attribute Description

2.3.13 "RT" Root Class Description

2.3.13.1 "phrasingContentModel" Attribute Description

2.3.14 "RTC" Root Class Description

2.3.14.1 "phrasingContentModel" Attribute Description

2.3.14.2 "rt" Attribute Description

2.3.15 "Ruby" Root Class Description

2.3.15.1 "rubySelection" Attribute Description

2.3.16 "Section" Root Class Description

2.3.16.1 "flowGroup" Attribute Description

2.3.17 "Source" Root Class Description

2.3.17.1 "src" Characteristic Description

2.3.17.2 "type" Characteristic Description

2.3.18 "Track" Root Class Description

2.3.18.1 "kind" Characteristic Description

2.3.18.2 "src" Characteristic Description

2.3.18.3 "srclang" Characteristic Description

2.3.18.4 "default" Characteristic Description

2.3.19 "Video" Root Class Description

2.3.19.1 "src" Characteristic Description

2.3.19.2 "crossorigin" Characteristic Description

2.3.19.3 "preload" Characteristic Description

2.3.19.4 "autoplay" Characteristic Description

2.3.19.5 "mediagroup" Characteristic Description

2.3.19.6 "loop" Characteristic Description

2.3.19.7 "muted" Characteristic Description

2.3.19.8 "controls" Characteristic Description

2.3.19.9 "poster" Characteristic Description

2.3.19.10 "width" Characteristic Description

2.3.19.11 "height" Characteristic Description

2.3.19.12 "source" Attribute Description

2.3.19.13 "track" Attribute Description

2.4. Data Class Descriptions

2.4.1 "BaseHTML5" Class Description

2.4.1.1 "id" Characteristic Description

2.4.1.2 "language" Characteristic Description

2.4.1.3 "title" Characteristic Description

2.4.1.4 "label" Characteristic Description

2.4.1.5 "class" Characteristic Description

2.4.1.6 "dir" Characteristic Description

2.4.1.7 "role" Characteristic Description

2.4.1.8 "aria-controls" Characteristic Description

2.4.1.9 "aria-describedby" Characteristic Description

2.4.1.10 "aria-flowto" Characteristic Description

2.4.1.11 "aria-label" Characteristic Description

2.4.1.12 "aria-labelledby" Characteristic Description

2.4.1.13 "aria-level" Characteristic Description

2.4.1.14 "aria-live" Characteristic Description

2.4.1.15 "aria-orientation" Characteristic Description

2.4.1.16 "aria-owns" Characteristic Description

2.4.1.17 "dataExtension" Characteristic Description

2.5. Abstract Class Descriptions

2.5.1 "FlowContentModelHTML5" Class Description

2.5.1.1 "img" Attribute Description

2.5.1.2 "br" Attribute Description

2.5.1.3 "object" Attribute Description

2.5.1.4 "em" Attribute Description

2.5.1.5 "a" Attribute Description

2.5.1.6 "code" Attribute Description

2.5.1.7 "span" Attribute Description

2.5.1.8 "sub" Attribute Description

2.5.1.9 "acronym" Attribute Description

2.5.1.10 "big" Attribute Description

2.5.1.11 "tt" Attribute Description

2.5.1.12 "kbd" Attribute Description

2.5.1.13 "q" Attribute Description

2.5.1.14 "i" Attribute Description

2.5.1.15 "dfn" Attribute Description

2.5.1.16 "abbr" Attribute Description

2.5.1.17 "strong" Attribute Description

2.5.1.18 "sup" Attribute Description

2.5.1.19 "var" Attribute Description

2.5.1.20 "small" Attribute Description

2.5.1.21 "samp" Attribute Description

2.5.1.22 "b" Attribute Description

2.5.1.23 "cite" Attribute Description

2.5.1.24 "bdo" Attribute Description

2.5.1.25 "bdi" Attribute Description

2.5.1.26 "figure" Attribute Description

2.5.1.27 "audio" Attribute Description

2.5.1.28 "video" Attribute Description

2.5.1.29 "label" Attribute Description

2.5.1.30 "article" Attribute Description

2.5.1.31 "aside" Attribute Description

2.5.1.32 "footer" Attribute Description

2.5.1.33 "header" Attribute Description

2.5.1.34 "nav" Attribute Description

2.5.1.35 "section" Attribute Description

2.5.1.36 "pre" Attribute Description

2.5.1.37 "h1" Attribute Description

2.5.1.38 "h2" Attribute Description

2.5.1.39 "h3" Attribute Description

2.5.1.40 "h4" Attribute Description

2.5.1.41 "h5" Attribute Description

2.5.1.42 "h6" Attribute Description

2.5.1.43 "p" Attribute Description

2.5.1.44 "address" Attribute Description

2.5.1.45 "dl" Attribute Description

2.5.1.46 "ol" Attribute Description

2.5.1.47 "ul" Attribute Description

2.5.1.48 "hr" Attribute Description

2.5.1.49 "ssmlGroup" Attribute Description

2.5.1.50 "ruby" Attribute Description

2.5.2 "FlowGroupHTML5" Class Description

2.5.2.1 "math" Attribute Description

2.5.2.2 "math" Attribute Description

2.5.2.3 "include" Attribute Description

2.5.2.4 "flowContentModel" Attribute Description

2.5.3 "PhraseRBSelection" Class Description

2.5.3.1 "phrasingContentModel" Attribute Description

2.5.3.2 "rb" Attribute Description

2.5.4 "PhrasingContentModelHTML5" Class Description

2.5.4.1 "a" Attribute Description

2.5.4.2 "abbr" Attribute Description

2.5.4.3 "b" Attribute Description

2.5.4.4 "bdo" Attribute Description

2.5.4.5 "br" Attribute Description

2.5.4.6 "cite" Attribute Description

2.5.4.7 "code" Attribute Description

2.5.4.8 "dfn" Attribute Description

2.5.4.9 "em" Attribute Description

2.5.4.10 "i" Attribute Description

2.5.4.11 "img" Attribute Description

2.5.4.12 "kbd" Attribute Description

2.5.4.13 "object" Attribute Description

2.5.4.14 "q" Attribute Description

2.5.4.15 "samp" Attribute Description

2.5.4.16 "small" Attribute Description

2.5.4.17 "span" Attribute Description

2.5.4.18 "strong" Attribute Description

2.5.4.19 "sub" Attribute Description

2.5.4.20 "sup" Attribute Description

2.5.4.21 "var" Attribute Description

2.5.4.22 "audio" Attribute Description

2.5.4.23 "bdi" Attribute Description

2.5.4.24 "label" Attribute Description

2.5.4.25 "ruby" Attribute Description

2.5.4.26 "video" Attribute Description

2.5.5 "RPRTSelection" Class Description

2.5.5.1 "rp" Attribute Description

2.5.5.2 "rtrtcSelection" Attribute Description

2.5.6 "RTRTCSelection" Class Description

2.5.6.1 "rt" Attribute Description

2.5.6.2 "rtc" Attribute Description

2.5.7 "RubySelection" Class Description

2.5.7.1 "phraseSelection" Attribute Description

2.5.7.2 "rprtSelection" Attribute Description

2.5.8 "SSMLGroup" Class Description

2.5.8.1 "p" Attribute Description

2.5.8.2 "s" Attribute Description

2.5.8.3 "say-as" Attribute Description

2.5.8.4 "phoneme" Attribute Description

2.5.8.5 "sub" Attribute Description

2.5.8.6 "voice" Attribute Description

2.5.8.7 "emphasis" Attribute Description

2.5.8.8 "break" Attribute Description

2.5.8.9 "prosody" Attribute Description

2.5.8.10 "mark" Attribute Description

2.5.8.11 "audio" Attribute Description

2.5.8.12 "speak" Attribute Description

2.6. DerivedClass Descriptions

2.6.1 "AriaLevelInteger" Class Description

2.6.1.1 "minInclusive" Attribute Description

2.6.2 "BaseHTML5Empty" Class Description

2.6.2.1 "id" Characteristic Description

2.6.2.2 "language" Characteristic Description

2.6.2.3 "title" Characteristic Description

2.6.2.4 "label" Characteristic Description

2.6.2.5 "class" Characteristic Description

2.6.2.6 "dir" Characteristic Description

2.6.2.7 "role" Characteristic Description

2.6.2.8 "aria-controls" Characteristic Description

2.6.2.9 "aria-describedby" Characteristic Description

2.6.2.10 "aria-flowto" Characteristic Description

2.6.2.11 "aria-label" Characteristic Description

2.6.2.12 "aria-labelledby" Characteristic Description

2.6.2.13 "aria-level" Characteristic Description

2.6.2.14 "aria-live" Characteristic Description

2.6.2.15 "aria-orientation" Characteristic Description

2.6.2.16 "aria-owns" Characteristic Description

2.6.2.17 "dataExtension" Characteristic Description

2.6.3 "DataHTML5Extension" Class Description

2.6.3.1 "pattern" Attribute Description

2.6.4 "MimeType" Class Description

2.6.4.1 "pattern" Attribute Description

2.6.5 "URL" Class Description

2.6.6 "UniqueIdentifier" Class Description

2.7. Enumerated Vocabularies

2.7.1 "ARIALiveValue" Vocabulary Description

2.7.2 "ARIAOrientationValue" Vocabulary Description

2.7.3 "ARIARoleValue" Vocabulary Description

2.7.4 "CORSSettings" Vocabulary Description

2.7.5 "DirValue" Vocabulary Description

2.7.6 "KindValue" Vocabulary Description

2.7.7 "PreLoadValue" Vocabulary Description

2.8. List Class Descriptions

2.8.1 "StringList" Class Description

2.9. Imported Class Descriptions

2.9.1 "Include" Class Description

2.9.2 "MathML2" Class Description

2.9.3 "MathML3" Class Description

2.9.4 "QTIv2p2" Class Description

2.9.5 "SSMLv1p1" Class Description

3. XSD Binding

3.1. XSD Binding Overview

3.2. UML to XSD Mapping Rules

3.2.1 Root Attribute UML/XSD Mapping

3.2.2 Root Class UML/XSD Mapping

3.2.2.1 Article Root Class Mapping

3.2.2.2 Aside Root Class Mapping

3.2.2.3 Audio Root Class Mapping

3.2.2.4 BDI Root Class Mapping

3.2.2.5 FigCaption Root Class Mapping

3.2.2.6 Figure Root Class Mapping

3.2.2.7 Footer Root Class Mapping

3.2.2.8 Header Root Class Mapping

3.2.2.9 Label Root Class Mapping

3.2.2.10 Nav Root Class Mapping

3.2.2.11 RB Root Class Mapping

3.2.2.12 RP Root Class Mapping

3.2.2.13 RT Root Class Mapping

3.2.2.14 RTC Root Class Mapping

3.2.2.15 Ruby Root Class Mapping

3.2.2.16 Section Root Class Mapping

3.2.2.17 Source Root Class Mapping

3.2.2.18 Track Root Class Mapping

3.2.2.19 Video Root Class Mapping

3.2.3 Class UML/XSD Mapping

3.2.3.1 BaseHTML5 Class Mapping

3.2.4 Derived Class UML/XSD Mapping

3.2.4.1 AriaLevelInteger Class Mapping

3.2.4.2 BaseHTML5Empty Class Mapping

3.2.4.3 DataHTML5Extension Class Mapping

3.2.4.4 MimeType Class Mapping

3.2.4.5 URL Class Mapping

3.2.4.6 UniqueIdentifier Class Mapping

3.2.5 Enumerated Class UML/XSD Mapping

3.2.6 Enumerated List Class UML/XSD Mapping

3.2.7 List Class UML/XSD Mapping

3.2.8 Union Class UML/XSD Mapping

3.2.9 Primitive Type UML/XSD Mapping

3.3. XSD Files and Namespaces

3.3.1 Target Namespace Details

3.3.2 Imported Namespace Details

3.3.3 Implicit Namespace Details

3.4. Description of the XSD

3.4.1 Root Element Descriptions

3.4.1.1 "article" Root Element Description

3.4.1.2 "aside" Root Element Description

3.4.1.3 "audio" Root Element Description

3.4.1.4 "bdi" Root Element Description

3.4.1.5 "figcaption" Root Element Description

3.4.1.6 "figure" Root Element Description

3.4.1.7 "footer" Root Element Description

3.4.1.8 "header" Root Element Description

3.4.1.9 "label" Root Element Description

3.4.1.10 "nav" Root Element Description

3.4.1.11 "rb" Root Element Description

3.4.1.12 "rp" Root Element Description

3.4.1.13 "rt" Root Element Description

3.4.1.14 "rtc" Root Element Description

3.4.1.15 "ruby" Root Element Description

3.4.1.16 "section" Root Element Description

3.4.1.17 "source" Root Element Description

3.4.1.18 "track" Root Element Description

3.4.1.19 "video" Root Element Description

3.4.2 Global Element Descriptions

3.4.2.1 "qti:a" Global Element Description

3.4.2.2 "qti:abbr" Global Element Description

3.4.2.3 "qti:acronym" Global Element Description

3.4.2.4 "qti:address" Global Element Description

3.4.2.5 "ssml11:audio" Global Element Description

3.4.2.6 "qti:b" Global Element Description

3.4.2.7 "qti:bdo" Global Element Description

3.4.2.8 "qti:big" Global Element Description

3.4.2.9 "qti:br" Global Element Description

3.4.2.10 "ssml11:break" Global Element Description

3.4.2.11 "qti:cite" Global Element Description

3.4.2.12 "qti:code" Global Element Description

3.4.2.13 "qti:dfn" Global Element Description

3.4.2.14 "qti:dl" Global Element Description

3.4.2.15 "qti:em" Global Element Description

3.4.2.16 "ssml11:emphasis" Global Element Description

3.4.2.17 "qti:h1" Global Element Description

3.4.2.18 "qti:h2" Global Element Description

3.4.2.19 "qti:h3" Global Element Description

3.4.2.20 "qti:h4" Global Element Description

3.4.2.21 "qti:h5" Global Element Description

3.4.2.22 "qti:h6" Global Element Description

3.4.2.23 "qti:hr" Global Element Description

3.4.2.24 "qti:i" Global Element Description

3.4.2.25 "qti:img" Global Element Description

3.4.2.26 "xi:include" Global Element Description

3.4.2.27 "qti:kbd" Global Element Description

3.4.2.28 "ssml11:mark" Global Element Description

3.4.2.29 "m2:math" Global Element Description

3.4.2.30 "m3:math" Global Element Description

3.4.2.31 "qti:object" Global Element Description

3.4.2.32 "qti:ol" Global Element Description

3.4.2.33 "qti:p" Global Element Description

3.4.2.34 "ssml11:p" Global Element Description

3.4.2.35 "ssml11:phoneme" Global Element Description

3.4.2.36 "qti:pre" Global Element Description

3.4.2.37 "ssml11:prosody" Global Element Description

3.4.2.38 "qti:q" Global Element Description

3.4.2.39 "ssml11:s" Global Element Description

3.4.2.40 "qti:samp" Global Element Description

3.4.2.41 "ssml11:say-as" Global Element Description

3.4.2.42 "qti:small" Global Element Description

3.4.2.43 "qti:span" Global Element Description

3.4.2.44 "ssml11:speak" Global Element Description

3.4.2.45 "qti:strong" Global Element Description

3.4.2.46 "qti:sub" Global Element Description

3.4.2.47 "ssml11:sub" Global Element Description

3.4.2.48 "qti:sup" Global Element Description

3.4.2.49 "qti:tt" Global Element Description

3.4.2.50 "qti:ul" Global Element Description

3.4.2.51 "qti:var" Global Element Description

3.4.2.52 "ssml11:voice" Global Element Description

3.4.3 Attribute Group Descriptions

3.4.3.1 "aria-controls.BaseHTML5.Attr" Attribute Description

3.4.3.2 "aria-controls.BaseHTML5Empty.Attr" Attribute Description

3.4.3.3 "aria-describedby.BaseHTML5.Attr" Attribute Description

3.4.3.4 "aria-describedby.BaseHTML5Empty.Attr" Attribute Description

3.4.3.5 "aria-flowto.BaseHTML5.Attr" Attribute Description

3.4.3.6 "aria-flowto.BaseHTML5Empty.Attr" Attribute Description

3.4.3.7 "aria-label.BaseHTML5.Attr" Attribute Description

3.4.3.8 "aria-label.BaseHTML5Empty.Attr" Attribute Description

3.4.3.9 "aria-labelledby.BaseHTML5.Attr" Attribute Description

3.4.3.10 "aria-labelledby.BaseHTML5Empty.Attr" Attribute Description

3.4.3.11 "aria-level.BaseHTML5.Attr" Attribute Description

3.4.3.12 "aria-level.BaseHTML5Empty.Attr" Attribute Description

3.4.3.13 "aria-live.BaseHTML5.Attr" Attribute Description

3.4.3.14 "aria-live.BaseHTML5Empty.Attr" Attribute Description

3.4.3.15 "aria-orientation.BaseHTML5.Attr" Attribute Description

3.4.3.16 "aria-orientation.BaseHTML5Empty.Attr" Attribute Description

3.4.3.17 "aria-owns.BaseHTML5.Attr" Attribute Description

3.4.3.18 "aria-owns.BaseHTML5Empty.Attr" Attribute Description

3.4.3.19 "autoplay.Audio.Attr" Attribute Description

3.4.3.20 "autoplay.Video.Attr" Attribute Description

3.4.3.21 "class.BaseHTML5.Attr" Attribute Description

3.4.3.22 "class.BaseHTML5Empty.Attr" Attribute Description

3.4.3.23 "controls.Audio.Attr" Attribute Description

3.4.3.24 "controls.Video.Attr" Attribute Description

3.4.3.25 "crossorigin.Audio.Attr" Attribute Description

3.4.3.26 "crossorigin.Video.Attr" Attribute Description

3.4.3.27 "dataExtension.BaseHTML5.Attr" Attribute Description

3.4.3.28 "dataExtension.BaseHTML5Empty.Attr" Attribute Description

3.4.3.29 "default.Track.Attr" Attribute Description

3.4.3.30 "dir.BaseHTML5.Attr" Attribute Description

3.4.3.31 "dir.BaseHTML5Empty.Attr" Attribute Description

3.4.3.32 "height.Video.Attr" Attribute Description

3.4.3.33 "id.BaseHTML5.Attr" Attribute Description

3.4.3.34 "id.BaseHTML5Empty.Attr" Attribute Description

3.4.3.35 "kind.Track.Attr" Attribute Description

3.4.3.36 "label.BaseHTML5.Attr" Attribute Description

3.4.3.37 "label.BaseHTML5Empty.Attr" Attribute Description

3.4.3.38 "language.BaseHTML5.Attr" Attribute Description

3.4.3.39 "language.BaseHTML5Empty.Attr" Attribute Description

3.4.3.40 "loop.Audio.Attr" Attribute Description

3.4.3.41 "loop.Video.Attr" Attribute Description

3.4.3.42 "mediagroup.Audio.Attr" Attribute Description

3.4.3.43 "mediagroup.Video.Attr" Attribute Description

3.4.3.44 "muted.Audio.Attr" Attribute Description

3.4.3.45 "muted.Video.Attr" Attribute Description

3.4.3.46 "poster.Video.Attr" Attribute Description

3.4.3.47 "preload.Audio.Attr" Attribute Description

3.4.3.48 "preload.Video.Attr" Attribute Description

3.4.3.49 "role.BaseHTML5.Attr" Attribute Description

3.4.3.50 "role.BaseHTML5Empty.Attr" Attribute Description

3.4.3.51 "src.Audio.Attr" Attribute Description

3.4.3.52 "src.Source.Attr" Attribute Description

3.4.3.53 "src.Track.Attr" Attribute Description

3.4.3.54 "src.Video.Attr" Attribute Description

3.4.3.55 "srclang.Track.Attr" Attribute Description

3.4.3.56 "title.BaseHTML5.Attr" Attribute Description

3.4.3.57 "title.BaseHTML5Empty.Attr" Attribute Description

3.4.3.58 "type.Source.Attr" Attribute Description

3.4.3.59 "width.Video.Attr" Attribute Description

3.4.4 Root Complex Type Descriptions

3.4.4.1 Article.Type Root Complex Type Description

3.4.4.2 Aside.Type Root Complex Type Description

3.4.4.3 Audio.Type Root Complex Type Description

3.4.4.4 BDI.Type Root Complex Type Description

3.4.4.5 FigCaption.Type Root Complex Type Description

3.4.4.6 Figure.Type Root Complex Type Description

3.4.4.7 Footer.Type Root Complex Type Description

3.4.4.8 Header.Type Root Complex Type Description

3.4.4.9 Label.Type Root Complex Type Description

3.4.4.10 Nav.Type Root Complex Type Description

3.4.4.11 RB.Type Root Complex Type Description

3.4.4.12 RP.Type Root Complex Type Description

3.4.4.13 RT.Type Root Complex Type Description

3.4.4.14 RTC.Type Root Complex Type Description

3.4.4.15 Ruby.Type Root Complex Type Description

3.4.4.16 Section.Type Root Complex Type Description

3.4.4.17 Source.Type Root Complex Type Description

3.4.4.18 Track.Type Root Complex Type Description

3.4.4.19 Video.Type Root Complex Type Description

3.4.5 Core Complex Type Descriptions

3.4.5.1 BaseHTML5.Type Core Complex Type Description

3.4.6 Derived Complex Type Descriptions

3.4.6.1 BaseHTML5Empty.Type Derived Complex Type Description

3.4.7 Simple Type Descriptions

3.4.7.1 AriaLevelInteger.Type Simple Type Description

3.4.7.2 MimeType.Type Simple Type Description

3.4.7.3 StringList.Type Simple Type Description

3.4.7.4 URL.Type Simple Type Description

3.4.7.5 UniqueIdentifier.Type Simple Type Description

3.5. The Schematron Rules

3.5.1 Rules Imposing the Unordered Class Definition

3.5.1.1 Figure Unordered Class Rules

3.5.1.2 Ruby [Unordered] Class Rules

3.5.2 The Constrained Namespace Extension Rule Definitions

3.5.3 The Explicit Rule Definitions

3.5.3.1 RULE_SET_GENERAL

4. Extending and Profiling the Data Model

4.1. Extending the Data Model

4.2. Profiling the Data Model

Appendix A Modelling Concepts and Terms

A1 Data Model Descriptions

A1.1 Data Model Diagrams

A1.2 Class Descriptions

A1.3 Attribute and Characteristic Descriptions

A1.4 Enumerated Vocabulary Descriptions

A1.5 External Vocabulary Descriptions

A1.6 Import Class Descriptions

Appendix B XSD Binding Terms

B1 XSD Binding Description Terms

B1.1 UML/XSD Attribute Mapping Table Definition

B1.2 UML/XSD Class Mapping Table Definition

B1.3 UML/XSD Enumerated and Enumerated List Class Mapping Table Definition

B1.4 UML/XSD List and Union Mapping Tables Definition

B1.5 UML/XSD Primitive Types Mapping Table Definition

B1.6 XSD Description for an Element

B1.7 XSD Description for a Complex Type

B1.8 XSD Description for a Simple Type

B1.9 XSD Description for an Attribute Group

B1.10 XSD Description for an Attribute

B1.11 VDEX Description for an External Vocabulary

Appendix C XSD Listings

C1 QTI HTML5 XSD Listing

About this Document

List of Contributors

Revision History

toc | top

List of Figures

Figure 2.3.1 Article class definitions

Figure 2.3.2 Aside class definitions

Figure 2.3.3 Audio class definitions

Figure 2.3.4 BDI class definitions

Figure 2.3.5 FigCaption class definitions

Figure 2.3.6 Figure class definitions

Figure 2.3.7 Footer class definitions

Figure 2.3.8 Header class definitions

Figure 2.3.9 Label class definitions

Figure 2.3.10 Nav class definitions

Figure 2.3.11 RB class definitions

Figure 2.3.12 RP class definitions

Figure 2.3.13 RT class definitions

Figure 2.3.14 RTC class definitions

Figure 2.3.15 Ruby class definitions

Figure 2.3.16 Section class definitions

Figure 2.3.17 Source class definitions

Figure 2.3.18 Track class definitions

Figure 2.3.19 Video class definitions

Figure 2.4.1 BaseHTML5 class definitions

Figure 2.5.1 FlowContentModelHTML5 class definitions

Figure 2.5.2 FlowGroupHTML5 class definitions

Figure 2.5.3 PhraseRBSelection class definitions

Figure 2.5.4 PhrasingContentModelHTML5 class definitions

Figure 2.5.5 RPRTSelection class definitions

Figure 2.5.6 RTRTCSelection class definitions

Figure 2.5.7 RubySelection class definitions

Figure 2.5.8 SSMLGroup class definitions

Figure 2.6.1 AriaLevelInteger class definitions

Figure 2.6.2 BaseHTML5Empty class definitions

Figure 2.6.3 DataHTML5Extension class definitions

Figure 2.6.4 MimeType class definitions

Figure 2.6.5 URL class definitions

Figure 2.6.6 UniqueIdentifier class definitions

Figure 2.7.1 ARIALiveValue class definitions

Figure 2.7.2 ARIAOrientationValue class definitions

Figure 2.7.3 ARIARoleValue class definitions

Figure 2.7.4 CORSSettings class definitions

Figure 2.7.5 DirValue class definitions

Figure 2.7.6 KindValue class definitions

Figure 2.7.7 PreLoadValue class definitions

Figure 2.8.1 StringList class definitions

Figure 3.4.1.1 XSD Description for the "article" Root Element

Figure 3.4.1.2 XSD Description for the "aside" Root Element

Figure 3.4.1.3 XSD Description for the "audio" Root Element

Figure 3.4.1.4 XSD Description for the "bdi" Root Element

Figure 3.4.1.5 XSD Description for the "figcaption" Root Element

Figure 3.4.1.6 XSD Description for the "figure" Root Element

Figure 3.4.1.7 XSD Description for the "footer" Root Element

Figure 3.4.1.8 XSD Description for the "header" Root Element

Figure 3.4.1.9 XSD Description for the "label" Root Element

Figure 3.4.1.10 XSD Description for the "nav" Root Element

Figure 3.4.1.11 XSD Description for the "rb" Root Element

Figure 3.4.1.12 XSD Description for the "rp" Root Element

Figure 3.4.1.13 XSD Description for the "rt" Root Element

Figure 3.4.1.14 XSD Description for the "rtc" Root Element

Figure 3.4.1.15 XSD Description for the "ruby" Root Element

Figure 3.4.1.16 XSD Description for the "section" Root Element

Figure 3.4.1.17 XSD Description for the "source" Root Element

Figure 3.4.1.18 XSD Description for the "track" Root Element

Figure 3.4.1.19 XSD Description for the "video" Root Element

Figure 3.4.2.1 XSD Description for the "qti:a" Global Element

Figure 3.4.2.2 XSD Description for the "qti:abbr" Global Element

Figure 3.4.2.3 XSD Description for the "qti:acronym" Global Element

Figure 3.4.2.4 XSD Description for the "qti:address" Global Element

Figure 3.4.2.5 XSD Description for the "ssml11:audio" Global Element

Figure 3.4.2.6 XSD Description for the "qti:b" Global Element

Figure 3.4.2.7 XSD Description for the "qti:bdo" Global Element

Figure 3.4.2.8 XSD Description for the "qti:big" Global Element

Figure 3.4.2.9 XSD Description for the "qti:br" Global Element

Figure 3.4.2.10 XSD Description for the "ssml11:break" Global Element

Figure 3.4.2.11 XSD Description for the "qti:cite" Global Element

Figure 3.4.2.12 XSD Description for the "qti:code" Global Element

Figure 3.4.2.13 XSD Description for the "qti:dfn" Global Element

Figure 3.4.2.14 XSD Description for the "qti:dl" Global Element

Figure 3.4.2.15 XSD Description for the "qti:em" Global Element

Figure 3.4.2.16 XSD Description for the "ssml11:emphasis" Global Element

Figure 3.4.2.17 XSD Description for the "qti:h1" Global Element

Figure 3.4.2.18 XSD Description for the "qti:h2" Global Element

Figure 3.4.2.19 XSD Description for the "qti:h3" Global Element

Figure 3.4.2.20 XSD Description for the "qti:h4" Global Element

Figure 3.4.2.21 XSD Description for the "qti:h5" Global Element

Figure 3.4.2.22 XSD Description for the "qti:h6" Global Element

Figure 3.4.2.23 XSD Description for the "qti:hr" Global Element

Figure 3.4.2.24 XSD Description for the "qti:i" Global Element

Figure 3.4.2.25 XSD Description for the "qti:img" Global Element

Figure 3.4.2.26 XSD Description for the "xi:include" Global Element

Figure 3.4.2.27 XSD Description for the "qti:kbd" Global Element

Figure 3.4.2.28 XSD Description for the "ssml11:mark" Global Element

Figure 3.4.2.29 XSD Description for the "m2:math" Global Element

Figure 3.4.2.30 XSD Description for the "m3:math" Global Element

Figure 3.4.2.31 XSD Description for the "qti:object" Global Element

Figure 3.4.2.32 XSD Description for the "qti:ol" Global Element

Figure 3.4.2.33 XSD Description for the "qti:p" Global Element

Figure 3.4.2.34 XSD Description for the "ssml11:p" Global Element

Figure 3.4.2.35 XSD Description for the "ssml11:phoneme" Global Element

Figure 3.4.2.36 XSD Description for the "qti:pre" Global Element

Figure 3.4.2.37 XSD Description for the "ssml11:prosody" Global Element

Figure 3.4.2.38 XSD Description for the "qti:q" Global Element

Figure 3.4.2.39 XSD Description for the "ssml11:s" Global Element

Figure 3.4.2.40 XSD Description for the "qti:samp" Global Element

Figure 3.4.2.41 XSD Description for the "ssml11:say-as" Global Element

Figure 3.4.2.42 XSD Description for the "qti:small" Global Element

Figure 3.4.2.43 XSD Description for the "qti:span" Global Element

Figure 3.4.2.44 XSD Description for the "ssml11:speak" Global Element

Figure 3.4.2.45 XSD Description for the "qti:strong" Global Element

Figure 3.4.2.46 XSD Description for the "qti:sub" Global Element

Figure 3.4.2.47 XSD Description for the "ssml11:sub" Global Element

Figure 3.4.2.48 XSD Description for the "qti:sup" Global Element

Figure 3.4.2.49 XSD Description for the "qti:tt" Global Element

Figure 3.4.2.50 XSD Description for the "qti:ul" Global Element

Figure 3.4.2.51 XSD Description for the "qti:var" Global Element

Figure 3.4.2.52 XSD Description for the "ssml11:voice" Global Element

Figure 3.4.3.1 XSD Description for the "aria-controls.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.2 XSD Description for the "aria-controls.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.3 XSD Description for the "aria-describedby.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.4 XSD Description for the "aria-describedby.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.5 XSD Description for the "aria-flowto.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.6 XSD Description for the "aria-flowto.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.7 XSD Description for the "aria-label.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.8 XSD Description for the "aria-label.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.9 XSD Description for the "aria-labelledby.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.10 XSD Description for the "aria-labelledby.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.11 XSD Description for the "aria-level.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.12 XSD Description for the "aria-level.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.13 XSD Description for the "aria-live.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.14 XSD Description for the "aria-live.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.15 XSD Description for the "aria-orientation.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.16 XSD Description for the "aria-orientation.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.17 XSD Description for the "aria-owns.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.18 XSD Description for the "aria-owns.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.19 XSD Description for the "autoplay.Audio.Attr" Attribute Group

Figure 3.4.3.20 XSD Description for the "autoplay.Video.Attr" Attribute Group

Figure 3.4.3.21 XSD Description for the "class.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.22 XSD Description for the "class.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.23 XSD Description for the "controls.Audio.Attr" Attribute Group

Figure 3.4.3.24 XSD Description for the "controls.Video.Attr" Attribute Group

Figure 3.4.3.25 XSD Description for the "crossorigin.Audio.Attr" Attribute Group

Figure 3.4.3.26 XSD Description for the "crossorigin.Video.Attr" Attribute Group

Figure 3.4.3.27 XSD Description for the "dataExtension.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.28 XSD Description for the "dataExtension.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.29 XSD Description for the "default.Track.Attr" Attribute Group

Figure 3.4.3.30 XSD Description for the "dir.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.31 XSD Description for the "dir.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.32 XSD Description for the "height.Video.Attr" Attribute Group

Figure 3.4.3.33 XSD Description for the "id.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.34 XSD Description for the "id.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.35 XSD Description for the "kind.Track.Attr" Attribute Group

Figure 3.4.3.36 XSD Description for the "label.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.37 XSD Description for the "label.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.38 XSD Description for the "language.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.39 XSD Description for the "language.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.40 XSD Description for the "loop.Audio.Attr" Attribute Group

Figure 3.4.3.41 XSD Description for the "loop.Video.Attr" Attribute Group

Figure 3.4.3.42 XSD Description for the "mediagroup.Audio.Attr" Attribute Group

Figure 3.4.3.43 XSD Description for the "mediagroup.Video.Attr" Attribute Group

Figure 3.4.3.44 XSD Description for the "muted.Audio.Attr" Attribute Group

Figure 3.4.3.45 XSD Description for the "muted.Video.Attr" Attribute Group

Figure 3.4.3.46 XSD Description for the "poster.Video.Attr" Attribute Group

Figure 3.4.3.47 XSD Description for the "preload.Audio.Attr" Attribute Group

Figure 3.4.3.48 XSD Description for the "preload.Video.Attr" Attribute Group

Figure 3.4.3.49 XSD Description for the "role.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.50 XSD Description for the "role.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.51 XSD Description for the "src.Audio.Attr" Attribute Group

Figure 3.4.3.52 XSD Description for the "src.Source.Attr" Attribute Group

Figure 3.4.3.53 XSD Description for the "src.Track.Attr" Attribute Group

Figure 3.4.3.54 XSD Description for the "src.Video.Attr" Attribute Group

Figure 3.4.3.55 XSD Description for the "srclang.Track.Attr" Attribute Group

Figure 3.4.3.56 XSD Description for the "title.BaseHTML5.Attr" Attribute Group

Figure 3.4.3.57 XSD Description for the "title.BaseHTML5Empty.Attr" Attribute Group

Figure 3.4.3.58 XSD Description for the "type.Source.Attr" Attribute Group

Figure 3.4.3.59 XSD Description for the "width.Video.Attr" Attribute Group

Figure 3.4.4.1 XSD Description for the "Article.Type" Root ComplexType

Figure 3.4.4.2 XSD Description for the "Aside.Type" Root ComplexType

Figure 3.4.4.3 XSD Description for the "Audio.Type" Root ComplexType

Figure 3.4.4.4 XSD Description for the "BDI.Type" Root ComplexType

Figure 3.4.4.5 XSD Description for the "FigCaption.Type" Root ComplexType

Figure 3.4.4.6 XSD Description for the "Figure.Type" Root ComplexType

Figure 3.4.4.7 XSD Description for the "Footer.Type" Root ComplexType

Figure 3.4.4.8 XSD Description for the "Header.Type" Root ComplexType

Figure 3.4.4.9 XSD Description for the "Label.Type" Root ComplexType

Figure 3.4.4.10 XSD Description for the "Nav.Type" Root ComplexType

Figure 3.4.4.11 XSD Description for the "RB.Type" Root ComplexType

Figure 3.4.4.12 XSD Description for the "RP.Type" Root ComplexType

Figure 3.4.4.13 XSD Description for the "RT.Type" Root ComplexType

Figure 3.4.4.14 XSD Description for the "RTC.Type" Root ComplexType

Figure 3.4.4.15 XSD Description for the "Ruby.Type" Root ComplexType

Figure 3.4.4.16 XSD Description for the "Section.Type" Root ComplexType

Figure 3.4.4.17 XSD Description for the "Source.Type" Root ComplexType

Figure 3.4.4.18 XSD Description for the "Track.Type" Root ComplexType

Figure 3.4.4.19 XSD Description for the "Video.Type" Root ComplexType

Figure 3.4.5.1 XSD Description for the "BaseHTML5.Type" Core Complex Type

Figure 3.4.6.1 XSD Description for the "BaseHTML5Empty.Type" Derived Complex Type

Figure 3.4.7.1 XSD Description for the "AriaLevelInteger.Type" Simple Type

Figure 3.4.7.2 XSD Description for the "MimeType.Type" Simple Type

Figure 3.4.7.3 XSD Description for the "StringList.Type" Simple Type

Figure 3.4.7.4 XSD Description for the "URL.Type" Simple Type

Figure 3.4.7.5 XSD Description for the "UniqueIdentifier.Type" Simple Type

toc | top

List of Tables

Table 2.2.1 "article" root attribute description

Table 2.2.2 "aside" root attribute description

Table 2.2.3 "audio" root attribute description

Table 2.2.4 "bdi" root attribute description

Table 2.2.5 "figcaption" root attribute description

Table 2.2.6 "figure" root attribute description

Table 2.2.7 "footer" root attribute description

Table 2.2.8 "header" root attribute description

Table 2.2.9 "label" root attribute description

Table 2.2.10 "nav" root attribute description

Table 2.2.11 "rb" root attribute description

Table 2.2.12 "rp" root attribute description

Table 2.2.13 "rt" root attribute description

Table 2.2.14 "rtc" root attribute description

Table 2.2.15 "ruby" root attribute description

Table 2.2.16 "section" root attribute description

Table 2.2.17 "source" root attribute description

Table 2.2.18 "track" root attribute description

Table 2.2.19 "video" root attribute description

Table 2.3.1 Article class definitions

Table 2.3.1.1 Description of the "flowGroup" attribute for the "Article" class

Table 2.3.2 Aside class definitions

Table 2.3.2.1 Description of the "flowGroup" attribute for the "Aside" class

Table 2.3.3 Audio class definitions

Table 2.3.3.1 Description of the "src" characteristic for the "Audio" class

Table 2.3.3.2 Description of the "crossorigin" characteristic for the "Audio" class

Table 2.3.3.3 Description of the "preload" characteristic for the "Audio" class

Table 2.3.3.4 Description of the "autoplay" characteristic for the "Audio" class

Table 2.3.3.5 Description of the "mediagroup" characteristic for the "Audio" class

Table 2.3.3.6 Description of the "loop" characteristic for the "Audio" class

Table 2.3.3.7 Description of the "muted" characteristic for the "Audio" class

Table 2.3.3.8 Description of the "controls" characteristic for the "Audio" class

Table 2.3.3.9 Description of the "source" attribute for the "Audio" class

Table 2.3.3.10 Description of the "track" attribute for the "Audio" class

Table 2.3.4 BDI class definitions

Table 2.3.4.1 Description of the "flowContentModel" attribute for the "BDI" class

Table 2.3.5 FigCaption class definitions

Table 2.3.5.1 Description of the "flowGroup" attribute for the "FigCaption" class

Table 2.3.6 Figure class definitions

Table 2.3.6.1 Description of the "figcaption" attribute for the "Figure" class

Table 2.3.6.2 Description of the "flowContentModel" attribute for the "Figure" class

Table 2.3.7 Footer class definitions

Table 2.3.7.1 Description of the "flowGroup" attribute for the "Footer" class

Table 2.3.8 Header class definitions

Table 2.3.8.1 Description of the "flowGroup" attribute for the "Header" class

Table 2.3.9 Label class definitions

Table 2.3.9.1 Description of the "flowGroup" attribute for the "Label" class

Table 2.3.10 Nav class definitions

Table 2.3.10.1 Description of the "flowGroup" attribute for the "Nav" class

Table 2.3.11 RB class definitions

Table 2.3.11.1 Description of the "phrasingContentModel" attribute for the "RB" class

Table 2.3.12 RP class definitions

Table 2.3.12.1 Description of the "phrasingContentModel" attribute for the "RP" class

Table 2.3.13 RT class definitions

Table 2.3.13.1 Description of the "phrasingContentModel" attribute for the "RT" class

Table 2.3.14 RTC class definitions

Table 2.3.14.1 Description of the "phrasingContentModel" attribute for the "RTC" class

Table 2.3.14.2 Description of the "rt" attribute for the "RTC" class

Table 2.3.15 Ruby class definitions

Table 2.3.15.1 Description of the "rubySelection" attribute for the "Ruby" class

Table 2.3.16 Section class definitions

Table 2.3.16.1 Description of the "flowGroup" attribute for the "Section" class

Table 2.3.17 Source class definitions

Table 2.3.17.1 Description of the "src" characteristic for the "Source" class

Table 2.3.17.2 Description of the "type" characteristic for the "Source" class

Table 2.3.18 Track class definitions

Table 2.3.18.1 Description of the "kind" characteristic for the "Track" class

Table 2.3.18.2 Description of the "src" characteristic for the "Track" class

Table 2.3.18.3 Description of the "srclang" characteristic for the "Track" class

Table 2.3.18.4 Description of the "default" characteristic for the "Track" class

Table 2.3.19 Video class definitions

Table 2.3.19.1 Description of the "src" characteristic for the "Video" class

Table 2.3.19.2 Description of the "crossorigin" characteristic for the "Video" class

Table 2.3.19.3 Description of the "preload" characteristic for the "Video" class

Table 2.3.19.4 Description of the "autoplay" characteristic for the "Video" class

Table 2.3.19.5 Description of the "mediagroup" characteristic for the "Video" class

Table 2.3.19.6 Description of the "loop" characteristic for the "Video" class

Table 2.3.19.7 Description of the "muted" characteristic for the "Video" class

Table 2.3.19.8 Description of the "controls" characteristic for the "Video" class

Table 2.3.19.9 Description of the "poster" characteristic for the "Video" class

Table 2.3.19.10 Description of the "width" characteristic for the "Video" class

Table 2.3.19.11 Description of the "height" characteristic for the "Video" class

Table 2.3.19.12 Description of the "source" attribute for the "Video" class

Table 2.3.19.13 Description of the "track" attribute for the "Video" class

Table 2.4.1 BaseHTML5 class definitions

Table 2.4.1.1 Description of the "id" characteristic for the "BaseHTML5" class

Table 2.4.1.2 Description of the "language" characteristic for the "BaseHTML5" class

Table 2.4.1.3 Description of the "title" characteristic for the "BaseHTML5" class

Table 2.4.1.4 Description of the "label" characteristic for the "BaseHTML5" class

Table 2.4.1.5 Description of the "class" characteristic for the "BaseHTML5" class

Table 2.4.1.6 Description of the "dir" characteristic for the "BaseHTML5" class

Table 2.4.1.7 Description of the "role" characteristic for the "BaseHTML5" class

Table 2.4.1.8 Description of the "aria-controls" characteristic for the "BaseHTML5" class

Table 2.4.1.9 Description of the "aria-describedby" characteristic for the "BaseHTML5" class

Table 2.4.1.10 Description of the "aria-flowto" characteristic for the "BaseHTML5" class

Table 2.4.1.11 Description of the "aria-label" characteristic for the "BaseHTML5" class

Table 2.4.1.12 Description of the "aria-labelledby" characteristic for the "BaseHTML5" class

Table 2.4.1.13 Description of the "aria-level" characteristic for the "BaseHTML5" class

Table 2.4.1.14 Description of the "aria-live" characteristic for the "BaseHTML5" class

Table 2.4.1.15 Description of the "aria-orientation" characteristic for the "BaseHTML5" class

Table 2.4.1.16 Description of the "aria-owns" characteristic for the "BaseHTML5" class

Table 2.4.1.17 Description of the "dataExtension" characteristic for the "BaseHTML5" class

Table 2.5.1 FlowContentModelHTML5 class definitions

Table 2.5.1.1 Description of the "img" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.2 Description of the "br" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.3 Description of the "object" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.4 Description of the "em" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.5 Description of the "a" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.6 Description of the "code" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.7 Description of the "span" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.8 Description of the "sub" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.9 Description of the "acronym" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.10 Description of the "big" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.11 Description of the "tt" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.12 Description of the "kbd" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.13 Description of the "q" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.14 Description of the "i" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.15 Description of the "dfn" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.16 Description of the "abbr" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.17 Description of the "strong" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.18 Description of the "sup" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.19 Description of the "var" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.20 Description of the "small" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.21 Description of the "samp" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.22 Description of the "b" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.23 Description of the "cite" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.24 Description of the "bdo" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.25 Description of the "bdi" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.26 Description of the "figure" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.27 Description of the "audio" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.28 Description of the "video" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.29 Description of the "label" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.30 Description of the "article" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.31 Description of the "aside" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.32 Description of the "footer" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.33 Description of the "header" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.34 Description of the "nav" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.35 Description of the "section" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.36 Description of the "pre" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.37 Description of the "h1" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.38 Description of the "h2" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.39 Description of the "h3" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.40 Description of the "h4" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.41 Description of the "h5" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.42 Description of the "h6" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.43 Description of the "p" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.44 Description of the "address" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.45 Description of the "dl" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.46 Description of the "ol" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.47 Description of the "ul" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.48 Description of the "hr" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.49 Description of the "ssmlGroup" attribute for the "FlowContentModelHTML5" class

Table 2.5.1.50 Description of the "ruby" attribute for the "FlowContentModelHTML5" class

Table 2.5.2 FlowGroupHTML5 class definitions

Table 2.5.2.1 Description of the "math" attribute for the "FlowGroupHTML5" class

Table 2.5.2.2 Description of the "math" attribute for the "FlowGroupHTML5" class

Table 2.5.2.3 Description of the "include" attribute for the "FlowGroupHTML5" class

Table 2.5.2.4 Description of the "flowContentModel" attribute for the "FlowGroupHTML5" class

Table 2.5.3 PhraseRBSelection class definitions

Table 2.5.3.1 Description of the "phrasingContentModel" attribute for the "PhraseRBSelection" class

Table 2.5.3.2 Description of the "rb" attribute for the "PhraseRBSelection" class

Table 2.5.4 PhrasingContentModelHTML5 class definitions

Table 2.5.4.1 Description of the "a" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.2 Description of the "abbr" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.3 Description of the "b" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.4 Description of the "bdo" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.5 Description of the "br" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.6 Description of the "cite" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.7 Description of the "code" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.8 Description of the "dfn" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.9 Description of the "em" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.10 Description of the "i" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.11 Description of the "img" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.12 Description of the "kbd" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.13 Description of the "object" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.14 Description of the "q" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.15 Description of the "samp" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.16 Description of the "small" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.17 Description of the "span" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.18 Description of the "strong" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.19 Description of the "sub" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.20 Description of the "sup" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.21 Description of the "var" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.22 Description of the "audio" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.23 Description of the "bdi" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.24 Description of the "label" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.25 Description of the "ruby" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.4.26 Description of the "video" attribute for the "PhrasingContentModelHTML5" class

Table 2.5.5 RPRTSelection class definitions

Table 2.5.5.1 Description of the "rp" attribute for the "RPRTSelection" class

Table 2.5.5.2 Description of the "rtrtcSelection" attribute for the "RPRTSelection" class

Table 2.5.6 RTRTCSelection class definitions

Table 2.5.6.1 Description of the "rt" attribute for the "RTRTCSelection" class

Table 2.5.6.2 Description of the "rtc" attribute for the "RTRTCSelection" class

Table 2.5.7 RubySelection class definitions

Table 2.5.7.1 Description of the "phraseSelection" attribute for the "RubySelection" class

Table 2.5.7.2 Description of the "rprtSelection" attribute for the "RubySelection" class

Table 2.5.8 SSMLGroup class definitions

Table 2.5.8.1 Description of the "p" attribute for the "SSMLGroup" class

Table 2.5.8.2 Description of the "s" attribute for the "SSMLGroup" class

Table 2.5.8.3 Description of the "say-as" attribute for the "SSMLGroup" class

Table 2.5.8.4 Description of the "phoneme" attribute for the "SSMLGroup" class

Table 2.5.8.5 Description of the "sub" attribute for the "SSMLGroup" class

Table 2.5.8.6 Description of the "voice" attribute for the "SSMLGroup" class

Table 2.5.8.7 Description of the "emphasis" attribute for the "SSMLGroup" class

Table 2.5.8.8 Description of the "break" attribute for the "SSMLGroup" class

Table 2.5.8.9 Description of the "prosody" attribute for the "SSMLGroup" class

Table 2.5.8.10 Description of the "mark" attribute for the "SSMLGroup" class

Table 2.5.8.11 Description of the "audio" attribute for the "SSMLGroup" class

Table 2.5.8.12 Description of the "speak" attribute for the "SSMLGroup" class

Table 2.6.1 AriaLevelInteger class definitions

Table 2.6.1.1 Description of the "minInclusive" attribute for the "AriaLevelInteger" class

Table 2.6.2 BaseHTML5Empty class definitions

Table 2.6.2.1 Description of the "id" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.2 Description of the "language" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.3 Description of the "title" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.4 Description of the "label" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.5 Description of the "class" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.6 Description of the "dir" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.7 Description of the "role" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.8 Description of the "aria-controls" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.9 Description of the "aria-describedby" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.10 Description of the "aria-flowto" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.11 Description of the "aria-label" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.12 Description of the "aria-labelledby" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.13 Description of the "aria-level" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.14 Description of the "aria-live" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.15 Description of the "aria-orientation" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.16 Description of the "aria-owns" characteristic for the "BaseHTML5Empty" class

Table 2.6.2.17 Description of the "dataExtension" characteristic for the "BaseHTML5Empty" class

Table 2.6.3 DataHTML5Extension class definitions

Table 2.6.3.1 Description of the "pattern" attribute for the "DataHTML5Extension" class

Table 2.6.4 MimeType class definitions

Table 2.6.4.1 Description of the "pattern" attribute for the "MimeType" class

Table 2.6.5 URL class definitions

Table 2.6.6 UniqueIdentifier class definitions

Table 2.7.1 ARIALiveValue class definitions

Table 2.7.2 ARIAOrientationValue class definitions

Table 2.7.3 ARIARoleValue class definitions

Table 2.7.4 CORSSettings class definitions

Table 2.7.5 DirValue class definitions

Table 2.7.6 KindValue class definitions

Table 2.7.7 PreLoadValue class definitions

Table 2.8.1 StringList class description

Table 2.9.1 Include class description

Table 2.9.2 MathML2 class description

Table 2.9.3 MathML3 class description

Table 2.9.4 QTIv2p2 class description

Table 2.9.5 SSMLv1p1 class description

Table 3.2.1 UML/XSD Mapping for the Root Attributes

Table 3.2.2.1 UML/XSD Mapping for the Article Root Class

Table 3.2.2.2 UML/XSD Mapping for the Aside Root Class

Table 3.2.2.3 UML/XSD Mapping for the Audio Root Class

Table 3.2.2.4 UML/XSD Mapping for the BDI Root Class

Table 3.2.2.5 UML/XSD Mapping for the FigCaption Root Class

Table 3.2.2.6 UML/XSD Mapping for the Figure Root Class

Table 3.2.2.7 UML/XSD Mapping for the Footer Root Class

Table 3.2.2.8 UML/XSD Mapping for the Header Root Class

Table 3.2.2.9 UML/XSD Mapping for the Label Root Class

Table 3.2.2.10 UML/XSD Mapping for the Nav Root Class

Table 3.2.2.11 UML/XSD Mapping for the RB Root Class

Table 3.2.2.12 UML/XSD Mapping for the RP Root Class

Table 3.2.2.13 UML/XSD Mapping for the RT Root Class

Table 3.2.2.14 UML/XSD Mapping for the RTC Root Class

Table 3.2.2.15 UML/XSD Mapping for the Ruby Root Class

Table 3.2.2.16 UML/XSD Mapping for the Section Root Class

Table 3.2.2.17 UML/XSD Mapping for the Source Root Class

Table 3.2.2.18 UML/XSD Mapping for the Track Root Class

Table 3.2.2.19 UML/XSD Mapping for the Video Root Class

Table 3.2.3.1 UML/XSD Mapping for the BaseHTML5 Core Class

Table 3.2.4.1 UML/XSD Mapping for the AriaLevelInteger Derived Class

Table 3.2.4.2 UML/XSD Mapping for the BaseHTML5Empty Derived Class

Table 3.2.4.3 UML/XSD Mapping for the DataHTML5Extension Derived Class

Table 3.2.4.4 UML/XSD Mapping for the MimeType Derived Class

Table 3.2.4.5 UML/XSD Mapping for the URL Derived Class

Table 3.2.4.6 UML/XSD Mapping for the UniqueIdentifier Derived Class

Table 3.2.5 UML/XSD Mapping for the Enumerated Class Definitions

Table 3.2.7 UML/XSD Mapping for the List Class Definitions

Table 3.2.9 UML/XSD Mapping for the Primitive Type Definitions

Table 3.4.1.1 XSD Description for the "article" Root Element

Table 3.4.1.2 XSD Description for the "aside" Root Element

Table 3.4.1.3 XSD Description for the "audio" Root Element

Table 3.4.1.4 XSD Description for the "bdi" Root Element

Table 3.4.1.5 XSD Description for the "figcaption" Root Element

Table 3.4.1.6 XSD Description for the "figure" Root Element

Table 3.4.1.7 XSD Description for the "footer" Root Element

Table 3.4.1.8 XSD Description for the "header" Root Element

Table 3.4.1.9 XSD Description for the "label" Root Element

Table 3.4.1.10 XSD Description for the "nav" Root Element

Table 3.4.1.11 XSD Description for the "rb" Root Element

Table 3.4.1.12 XSD Description for the "rp" Root Element

Table 3.4.1.13 XSD Description for the "rt" Root Element

Table 3.4.1.14 XSD Description for the "rtc" Root Element

Table 3.4.1.15 XSD Description for the "ruby" Root Element

Table 3.4.1.16 XSD Description for the "section" Root Element

Table 3.4.1.17 XSD Description for the "source" Root Element

Table 3.4.1.18 XSD Description for the "track" Root Element

Table 3.4.1.19 XSD Description for the "video" Root Element

Table 3.4.2.1 XSD Description for the "qti:a" Global Element

Table 3.4.2.2 XSD Description for the "qti:abbr" Global Element

Table 3.4.2.3 XSD Description for the "qti:acronym" Global Element

Table 3.4.2.4 XSD Description for the "qti:address" Global Element

Table 3.4.2.5 XSD Description for the "ssml11:audio" Global Element

Table 3.4.2.6 XSD Description for the "qti:b" Global Element

Table 3.4.2.7 XSD Description for the "qti:bdo" Global Element

Table 3.4.2.8 XSD Description for the "qti:big" Global Element

Table 3.4.2.9 XSD Description for the "qti:br" Global Element

Table 3.4.2.10 XSD Description for the "ssml11:break" Global Element

Table 3.4.2.11 XSD Description for the "qti:cite" Global Element

Table 3.4.2.12 XSD Description for the "qti:code" Global Element

Table 3.4.2.13 XSD Description for the "qti:dfn" Global Element

Table 3.4.2.14 XSD Description for the "qti:dl" Global Element

Table 3.4.2.15 XSD Description for the "qti:em" Global Element

Table 3.4.2.16 XSD Description for the "ssml11:emphasis" Global Element

Table 3.4.2.17 XSD Description for the "qti:h1" Global Element

Table 3.4.2.18 XSD Description for the "qti:h2" Global Element

Table 3.4.2.19 XSD Description for the "qti:h3" Global Element

Table 3.4.2.20 XSD Description for the "qti:h4" Global Element

Table 3.4.2.21 XSD Description for the "qti:h5" Global Element

Table 3.4.2.22 XSD Description for the "qti:h6" Global Element

Table 3.4.2.23 XSD Description for the "qti:hr" Global Element

Table 3.4.2.24 XSD Description for the "qti:i" Global Element

Table 3.4.2.25 XSD Description for the "qti:img" Global Element

Table 3.4.2.26 XSD Description for the "xi:include" Global Element

Table 3.4.2.27 XSD Description for the "qti:kbd" Global Element

Table 3.4.2.28 XSD Description for the "ssml11:mark" Global Element

Table 3.4.2.29 XSD Description for the "m2:math" Global Element

Table 3.4.2.30 XSD Description for the "m3:math" Global Element

Table 3.4.2.31 XSD Description for the "qti:object" Global Element

Table 3.4.2.32 XSD Description for the "qti:ol" Global Element

Table 3.4.2.33 XSD Description for the "qti:p" Global Element

Table 3.4.2.34 XSD Description for the "ssml11:p" Global Element

Table 3.4.2.35 XSD Description for the "ssml11:phoneme" Global Element

Table 3.4.2.36 XSD Description for the "qti:pre" Global Element

Table 3.4.2.37 XSD Description for the "ssml11:prosody" Global Element

Table 3.4.2.38 XSD Description for the "qti:q" Global Element

Table 3.4.2.39 XSD Description for the "ssml11:s" Global Element

Table 3.4.2.40 XSD Description for the "qti:samp" Global Element

Table 3.4.2.41 XSD Description for the "ssml11:say-as" Global Element

Table 3.4.2.42 XSD Description for the "qti:small" Global Element

Table 3.4.2.43 XSD Description for the "qti:span" Global Element

Table 3.4.2.44 XSD Description for the "ssml11:speak" Global Element

Table 3.4.2.45 XSD Description for the "qti:strong" Global Element

Table 3.4.2.46 XSD Description for the "qti:sub" Global Element

Table 3.4.2.47 XSD Description for the "ssml11:sub" Global Element

Table 3.4.2.48 XSD Description for the "qti:sup" Global Element

Table 3.4.2.49 XSD Description for the "qti:tt" Global Element

Table 3.4.2.50 XSD Description for the "qti:ul" Global Element

Table 3.4.2.51 XSD Description for the "qti:var" Global Element

Table 3.4.2.52 XSD Description for the "ssml11:voice" Global Element

Table 3.4.3.1 XSD Description for the "aria-controls.BaseHTML5.Attr" Attribute Group

Table 3.4.3.2 XSD Description for the "aria-controls.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.3 XSD Description for the "aria-describedby.BaseHTML5.Attr" Attribute Group

Table 3.4.3.4 XSD Description for the "aria-describedby.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.5 XSD Description for the "aria-flowto.BaseHTML5.Attr" Attribute Group

Table 3.4.3.6 XSD Description for the "aria-flowto.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.7 XSD Description for the "aria-label.BaseHTML5.Attr" Attribute Group

Table 3.4.3.8 XSD Description for the "aria-label.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.9 XSD Description for the "aria-labelledby.BaseHTML5.Attr" Attribute Group

Table 3.4.3.10 XSD Description for the "aria-labelledby.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.11 XSD Description for the "aria-level.BaseHTML5.Attr" Attribute Group

Table 3.4.3.12 XSD Description for the "aria-level.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.13 XSD Description for the "aria-live.BaseHTML5.Attr" Attribute Group

Table 3.4.3.14 XSD Description for the "aria-live.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.15 XSD Description for the "aria-orientation.BaseHTML5.Attr" Attribute Group

Table 3.4.3.16 XSD Description for the "aria-orientation.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.17 XSD Description for the "aria-owns.BaseHTML5.Attr" Attribute Group

Table 3.4.3.18 XSD Description for the "aria-owns.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.19 XSD Description for the "autoplay.Audio.Attr" Attribute Group

Table 3.4.3.20 XSD Description for the "autoplay.Video.Attr" Attribute Group

Table 3.4.3.21 XSD Description for the "class.BaseHTML5.Attr" Attribute Group

Table 3.4.3.22 XSD Description for the "class.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.23 XSD Description for the "controls.Audio.Attr" Attribute Group

Table 3.4.3.24 XSD Description for the "controls.Video.Attr" Attribute Group

Table 3.4.3.25 XSD Description for the "crossorigin.Audio.Attr" Attribute Group

Table 3.4.3.26 XSD Description for the "crossorigin.Video.Attr" Attribute Group

Table 3.4.3.27 XSD Description for the "dataExtension.BaseHTML5.Attr" Attribute Group

Table 3.4.3.28 XSD Description for the "dataExtension.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.29 XSD Description for the "default.Track.Attr" Attribute Group

Table 3.4.3.30 XSD Description for the "dir.BaseHTML5.Attr" Attribute Group

Table 3.4.3.31 XSD Description for the "dir.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.32 XSD Description for the "height.Video.Attr" Attribute Group

Table 3.4.3.33 XSD Description for the "id.BaseHTML5.Attr" Attribute Group

Table 3.4.3.34 XSD Description for the "id.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.35 XSD Description for the "kind.Track.Attr" Attribute Group

Table 3.4.3.36 XSD Description for the "label.BaseHTML5.Attr" Attribute Group

Table 3.4.3.37 XSD Description for the "label.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.38 XSD Description for the "language.BaseHTML5.Attr" Attribute Group

Table 3.4.3.39 XSD Description for the "language.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.40 XSD Description for the "loop.Audio.Attr" Attribute Group

Table 3.4.3.41 XSD Description for the "loop.Video.Attr" Attribute Group

Table 3.4.3.42 XSD Description for the "mediagroup.Audio.Attr" Attribute Group

Table 3.4.3.43 XSD Description for the "mediagroup.Video.Attr" Attribute Group

Table 3.4.3.44 XSD Description for the "muted.Audio.Attr" Attribute Group

Table 3.4.3.45 XSD Description for the "muted.Video.Attr" Attribute Group

Table 3.4.3.46 XSD Description for the "poster.Video.Attr" Attribute Group

Table 3.4.3.47 XSD Description for the "preload.Audio.Attr" Attribute Group

Table 3.4.3.48 XSD Description for the "preload.Video.Attr" Attribute Group

Table 3.4.3.49 XSD Description for the "role.BaseHTML5.Attr" Attribute Group

Table 3.4.3.50 XSD Description for the "role.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.51 XSD Description for the "src.Audio.Attr" Attribute Group

Table 3.4.3.52 XSD Description for the "src.Source.Attr" Attribute Group

Table 3.4.3.53 XSD Description for the "src.Track.Attr" Attribute Group

Table 3.4.3.54 XSD Description for the "src.Video.Attr" Attribute Group

Table 3.4.3.55 XSD Description for the "srclang.Track.Attr" Attribute Group

Table 3.4.3.56 XSD Description for the "title.BaseHTML5.Attr" Attribute Group

Table 3.4.3.57 XSD Description for the "title.BaseHTML5Empty.Attr" Attribute Group

Table 3.4.3.58 XSD Description for the "type.Source.Attr" Attribute Group

Table 3.4.3.59 XSD Description for the "width.Video.Attr" Attribute Group

Table 3.4.4.1 XSD Description for the "Article.Type" Root ComplexType

Table 3.4.4.2 XSD Description for the "Aside.Type" Root ComplexType

Table 3.4.4.3 XSD Description for the "Audio.Type" Root ComplexType

Table 3.4.4.4 XSD Description for the "BDI.Type" Root ComplexType

Table 3.4.4.5 XSD Description for the "FigCaption.Type" Root ComplexType

Table 3.4.4.6 XSD Description for the "Figure.Type" Root ComplexType

Table 3.4.4.7 XSD Description for the "Footer.Type" Root ComplexType

Table 3.4.4.8 XSD Description for the "Header.Type" Root ComplexType

Table 3.4.4.9 XSD Description for the "Label.Type" Root ComplexType

Table 3.4.4.10 XSD Description for the "Nav.Type" Root ComplexType

Table 3.4.4.11 XSD Description for the "RB.Type" Root ComplexType

Table 3.4.4.12 XSD Description for the "RP.Type" Root ComplexType

Table 3.4.4.13 XSD Description for the "RT.Type" Root ComplexType

Table 3.4.4.14 XSD Description for the "RTC.Type" Root ComplexType

Table 3.4.4.15 XSD Description for the "Ruby.Type" Root ComplexType

Table 3.4.4.16 XSD Description for the "Section.Type" Root ComplexType

Table 3.4.4.17 XSD Description for the "Source.Type" Root ComplexType

Table 3.4.4.18 XSD Description for the "Track.Type" Root ComplexType

Table 3.4.4.19 XSD Description for the "Video.Type" Root ComplexType

Table 3.4.5.1 XSD Description for the "BaseHTML5.Type" Core Complex Type

Table 3.4.6.1 XSD Description for the "BaseHTML5Empty.Type" Derived Complex Type

Table 3.4.7.1 XSD Description for the "AriaLevelInteger.Type" Simple Type

Table 3.4.7.2 XSD Description for the "MimeType.Type" Simple Type

Table 3.4.7.3 XSD Description for the "StringList.Type" Simple Type

Table 3.4.7.4 XSD Description for the "URL.Type" Simple Type

Table 3.4.7.5 XSD Description for the "UniqueIdentifier.Type" Simple Type

Table A1.1 The key to the descriptions of data model diagrams

Table A1.2 The key to the descriptions of the data class tables

Table A1.3 The key to the descriptions of the data attribute/characteristic tables

Table A1.4 The key to the descriptions of the enumerated vocabulary tables

Table A1.5 The key to the descriptions of the external vocabulary tables

Table A1.6 The key to the descriptions of the import class tables

Table B1.1 The key to the descriptions of UML to XSD attribute mapping tables

Table B1.2 The key to the descriptions of UML to XSD class mapping tables

Table B1.3 The key to the descriptions of UML to XSD enumerated and enumerated list class mapping tables

Table B1.4 The key to the descriptions of UML to XSD list class mapping table

Table B1.5 The key to the descriptions of UML to XSD primitive mapping table

Table B1.6 The key to the descriptions of XSD element tables

Table B1.7 The key to the descriptions of XSD complex type tables

Table B1.8 The key to the descriptions of XSD simple type tables

Table B1.9 The key to the descriptions of XSD attribute group tables

Table B1.10 The key to the descriptions of XSD attribute tables

Table B1.11 The key to the descriptions of VDEX vocabulary binding tables

toc | top

1. Introduction

1.1. QTI HTML5 Overview

This document is a part of the IMS Global Question and Test Interoperability (QTI) v2.2 specification. It introduces HTML5 [HTML, 14], from the World Wide Web Consortium (W3C), additions to the IMS QTIv2.2 Assessment, Section and Item (ASI) specification [QTI, 16a]. Only a subset of the HTML5 additions to HTML4.2 are valid within QTI. Namely:

The HTML5 additions are bound in a separate XML namespace to that of the QTI ASI binding.

1.2. Scope and Context

The IMS QTI HTML5 v2.2 is used in conjunction with the following documents:

This QTI HTML5 v2.2 specification is an extension to the core IMS QTI ASI specification and enables support for a number of HTML5 tags. The QTI Information Model is bound to an XML Schema Definition (XSD). This document and the accompanying XSD is generated using the IMS Binding Auto-generation Tool-kit (I-BAT) [I-BAT, 06].

1.3. Structure of this Document

The structure of the rest of this document is:

2. Information Model The Information Model description for the QTI HTML5 components. This description uses a profile of the Unified Modeling Language (UML) to represent the structure of the data model (see Appendix A1 for further details of the format of the information model description);
3. XSD Binding This is the description of the binding of the data model to XML and the corresponding XSD that is used to partially validate QTI Assessment, Section and Item instances. This description includes an explanation of the relationship between the UML representation and the XSD that is produced through transformation of that representation (see Appendix B1 for further details on the format of the description of the XSD);
4. Extending and Profiling the Data Model Identification of the ways in which the data model can be extended (both in terms of the extending features and proprietary extensions to the model) and how this base specification, and its model-based description, can be profiled to produce derivative specifications;
Appendix A Modelling Concepts and Terms An overview of the model driven approach, the concepts and the terms used by IMS to create the data model representations (based upon a profile of UML), the corresponding set of bindings and the accompanying documentation (including this information model);
Appendix B XSD Binding Terms An overview of the concepts and the terms used by IMS to create theXSD-based bindings representations and the accompanying documentation. The XSD binding is auto-generated from the UML representation to ensure full consistency between the information model and binding;
Appendix C XSD Listings The listing of the QTI HTML5 XSD that should be used to validate instances of the data exchange.

1.4. Nomenclature

ARIA Accessible Rich Internet Applications
ASI Assessment, Section and Item
DT Derived Type
HTML HyperText Markup Language
I-BAT IMS Binding Autogeneration Toolkit
ISO International Standards Organization
PT Primitive Type
QTI Question and Test Interoperability
RFC Request For Comment
SSML Speech Synthesis Markup Language
UML Unified Modeling Language
URL Uniform Resource Locator
VDEX Vocabulary Definition Exchange
W3C World Wide Web Consortium
XHTML XML HyperText Markup Language
XML Exchange Markup Language
XOR Exclusive OR
XSD XML Schema Definition

1.5. References

[HTML5, 14] A vocabulary and associated APIs for HTML and XHTML, Ian Hickson, Robin Berjon, Steve Faulkner, Travis Leithead, Erika Doyle Navara, Edward O'Connor and Silvia Pfeiffer, World Wide Web Consortium W3C Recommendation, October 2014, http://www.w3.org/TR/html5/.
[I-BAT, 06] IMS Binding Auto-generation Toolkit (I-BAT), Colin Smythe, IMS Global Learning Consortium Inc., July 2006.
[ISO 8601] ISO8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times, ISO, International Standards Organization (ISO), 2000, p.33.
[QTI, 15b] IMS Question and Test Interoperability (QTI): Best Practices and Implementation Guide v2.2, Tom Hoffmann and Wilbert Kraan, IMS Global Learning Consortium Inc., September 2015, http://www.imsglobal.org/question/qtiv2p2/imsqti_v2p2_impl.html.
[QTI, 16a] IMS Question and Test Interoperability (QTI): Assessment, Section and Item (ASI) Information Model v2.2.1, Colin Smythe, Wilbert Kraan and Mark McKell, IMS Global Learning Consortium Inc., August 2016, http://www.imsglobal.org/question/qtiv2p2/QTIv2p2p1-ASI-InformationModelv1p0/imsqtiv2p2p1_asi_v1p0_InfoModelv1p0.html.
[RFC 1738] Uniform Resource Locators (URL), T.Berbers-Lee, L.Masinter and M.McCahill, Internet Engineering Task Force, December 1994, https://www.ietf.org/rfc/rfc1738.txt.
[RFC 2045] Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, N. Freed and N. Borenstein, Internet Engineering Task Force, November 1996, https://www.ietf.org/rfc/rfc2045.txt.
[URI, 98] RFC 2396 Uniform Resource Identifiers (URI): Generic Syntax, T. Berners-Lee, R. Fielding and L. Masinter, Internet Engineering Task Force, August 1998, https://www.ietf.org/rfc/rfc2396.txt.
[VDEX, 04] IMS Vocabulary Definition Exchange Information Model v1.0, Adam Cooper, IMS Global Learning Consortium Inc., February 2004, http://www.imsglobal.org/vdex/vdexv1p0/imsvdex_infov1p0.html.
[XML, 00] Extensible Markup Language (XML), Version 1.0 (second edition), Tim Bray, Jean Paoli, C. M. Sperberg-McQueen and Eve Maler, World Wide Web Consortium, October 2000, http://www.w3.org/TR/2000/REC-xml-20001006.

toc | top

2. Information Model

2.1. Information Model Overview

The Information Model is described using a UML representation approach. The description consists of:

2.2. Root Attribute Descriptions

All of the Root attributes (the root name for the instances that can be exchanged) used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.3. The root attributes are:

2.2.1 "article" Root Attribute Description

The definition of the "article" root attribute is shown in Table 2.2.1.

Table 2.2.1 Description of the "article" root attribute.
Descriptor Definition
Attribute Name article
Data Type Article
Description This makes the HTML5 'article' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag allows independent, self-contained content to be identified;

2.2.2 "aside" Root Attribute Description

The definition of the "aside" root attribute is shown in Table 2.2.2.

Table 2.2.2 Description of the "aside" root attribute.
Descriptor Definition
Attribute Name aside
Data Type Aside
Description This makes the HTML5 'aside' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag allows pieces of information that are related to the main flow to be identified;

2.2.3 "audio" Root Attribute Description

The definition of the "audio" root attribute is shown in Table 2.2.3.

Table 2.2.3 Description of the "audio" root attribute.
Descriptor Definition
Attribute Name audio
Data Type Audio
Description This makes the HTML5 'audio' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies audio content;

2.2.4 "bdi" Root Attribute Description

The definition of the "bdi" root attribute is shown in Table 2.2.4.

Table 2.2.4 Description of the "bdi" root attribute.
Descriptor Definition
Attribute Name bdi
Data Type BDI
Description This makes the HTML5 'bdi' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag isolates a part of text that might be formatted in a different direction from other text outside it;

2.2.5 "figcaption" Root Attribute Description

The definition of the "figcaption" root attribute is shown in Table 2.2.5.

Table 2.2.5 Description of the "figcaption" root attribute.
Descriptor Definition
Attribute Name figcaption
Data Type FigCaption
Description This makes the HTML5 'figcaption' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag defines a caption for a 'figure' tag (the figcaption must be the first or last child within the 'figure' tag);

2.2.6 "figure" Root Attribute Description

The definition of the "figure" root attribute is shown in Table 2.2.6.

Table 2.2.6 Description of the "figure" root attribute.
Descriptor Definition
Attribute Name figure
Data Type Figure
Description This makes the HTML5 'figure' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag specifies self-contained content, like illustrations, diagrams, photos, code listings, etc.

2.2.7 "footer" Root Attribute Description

The definition of the "footer" root attribute is shown in Table 2.2.7.

Table 2.2.7 Description of the "footer" root attribute.
Descriptor Definition
Attribute Name footer
Data Type Footer
Description This makes the HTML5 'footer' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies content as a page footer;

2.2.8 "header" Root Attribute Description

The definition of the "header" root attribute is shown in Table 2.2.8.

Table 2.2.8 Description of the "header" root attribute.
Descriptor Definition
Attribute Name header
Data Type Header
Description This makes the HTML5 'header' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies content as a page header;

2.2.9 "label" Root Attribute Description

The definition of the "label" root attribute is shown in Table 2.2.9.

Table 2.2.9 Description of the "label" root attribute.
Descriptor Definition
Attribute Name label
Data Type Label
Description This makes the HTML4 'label' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies content as a label for input. Note that this has been placed with the HTML5 content due to another QTI tag called 'label' already existing in the QTI ASI;

2.2.10 "nav" Root Attribute Description

The definition of the "nav" root attribute is shown in Table 2.2.10.

Table 2.2.10 Description of the "nav" root attribute.
Descriptor Definition
Attribute Name nav
Data Type Nav
Description This makes the HTML5 'nav' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies navigation content;

2.2.11 "rb" Root Attribute Description

The definition of the "rb" root attribute is shown in Table 2.2.11.

Table 2.2.11 Description of the "rb" root attribute.
Descriptor Definition
Attribute Name rb
Data Type RB
Description This makes the HTML5 'rb' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag, a child of 'ruby', is used to contain the characters that require pronunciation help or are displayed as a learning aid;

2.2.12 "rp" Root Attribute Description

The definition of the "rp" root attribute is shown in Table 2.2.12.

Table 2.2.12 Description of the "rp" root attribute.
Descriptor Definition
Attribute Name rp
Data Type RP
Description This makes the HTML5 'rp' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies the content to be displayed if Ruby annotation is not supported;

2.2.13 "rt" Root Attribute Description

The definition of the "rt" root attribute is shown in Table 2.2.13.

Table 2.2.13 Description of the "rt" root attribute.
Descriptor Definition
Attribute Name rt
Data Type RT
Description This makes the HTML5 'rt' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag defines an explanation or pronunction of characters in a Ruby annotation;

2.2.14 "rtc" Root Attribute Description

The definition of the "rtc" root attribute is shown in Table 2.2.14.

Table 2.2.14 Description of the "rtc" root attribute.
Descriptor Definition
Attribute Name rtc
Data Type RTC
Description This makes the HTML5 'rtc' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag is a container for a collection of 'rt' tags;

2.2.15 "ruby" Root Attribute Description

The definition of the "ruby" root attribute is shown in Table 2.2.15.

Table 2.2.15 Description of the "ruby" root attribute.
Descriptor Definition
Attribute Name ruby
Data Type Ruby
Description This makes the HTML5 'ruby' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies ruby annotation for the content;

2.2.16 "section" Root Attribute Description

The definition of the "section" root attribute is shown in Table 2.2.16.

Table 2.2.16 Description of the "section" root attribute.
Descriptor Definition
Attribute Name section
Data Type Section
Description This makes the HTML5 'section' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies the content as a section in a document e.g. chapter, etc.

2.2.17 "source" Root Attribute Description

The definition of the "source" root attribute is shown in Table 2.2.17.

Table 2.2.17 Description of the "source" root attribute.
Descriptor Definition
Attribute Name source
Data Type Source
Description This makes the HTML5 'source' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag is used to specify multiple media resources for media tags;

2.2.18 "track" Root Attribute Description

The definition of the "track" root attribute is shown in Table 2.2.18.

Table 2.2.18 Description of the "track" root attribute.
Descriptor Definition
Attribute Name track
Data Type Track
Description This makes the HTML5 'track' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies text tracks for media tags ('audio' and 'video');

2.2.19 "video" Root Attribute Description

The definition of the "video" root attribute is shown in Table 2.2.19.

Table 2.2.19 Description of the "video" root attribute.
Descriptor Definition
Attribute Name video
Data Type Video
Description This makes the HTML5 'video' tag functionality available to the classes within the QTIv2.2 specification. This is a new feature added in QTIv2.2. This tag identifies video content.

2.3. Root Class Descriptions

All of the Root data classes (the first class objects that can be exchanged using the data model) used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.2.

2.3.1 Article Root Class Description

The data model for the "Article" root class is shown in Figure 2.3.1 and the accompanying definition in Table 2.3.1.

UML diagram of the Article class.

Figure 2.3.1 - Article class definitions.

Table 2.3.1 Description of the "Article" class.
Descriptor Definition
Class Name Article
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'article' tag. The article tag represents a complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content. When article tags are nested, the inner article tags represent articles that are in principle related to the contents of the outer article. For instance, a blog entry on a site that accepts user-submitted comments could represent the comments as article elements nested within the article tag for the blog entry. Author information associated with an article tag (q.v. the address tag) does not apply to nested article tags.

2.3.1.1 "flowGroup" Attribute Description

The description of the "flowGroup" attribute for the "Article" root class is given in Table 2.3.1.1.

Table 2.3.1.1 Description of the "flowGroup" attribute for the "Article" root class.
Descriptor Definition
Attribute Name flowGroup
Data Type FlowGroupHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML and other children.

2.3.2 Aside Root Class Description

The data model for the "Aside" root class is shown in Figure 2.3.2 and the accompanying definition in Table 2.3.2.

UML diagram of the Aside class.

Figure 2.3.2 - Aside class definitions.

Table 2.3.2 Description of the "Aside" class.
Descriptor Definition
Class Name Aside
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'aside' tag. The aside tag represents a section of a page that consists of content that is tangentially related to the content around the aside tag, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography. The tag can be used for typographical effects like pull quotes or sidebars, for advertising, for groups of nav tags, and for other content that is considered separate from the main content of the page.

2.3.2.1 "flowGroup" Attribute Description

The description of the "flowGroup" attribute for the "Aside" root class is given in Table 2.3.2.1.

Table 2.3.2.1 Description of the "flowGroup" attribute for the "Aside" root class.
Descriptor Definition
Attribute Name flowGroup
Data Type FlowGroupHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML and other children.

2.3.3 Audio Root Class Description

The data model for the "Audio" root class is shown in Figure 2.3.3 and the accompanying definition in Table 2.3.3.

UML diagram of the Audio class.

Figure 2.3.3 - Audio class definitions.

Table 2.3.3 Description of the "Audio" class.
Descriptor Definition
Class Name Audio
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of characteristics are: The set of inherited characteristics are:
Children The set of children attributes are:
Description The 'audio' tag is an HTML5 feature. An audio tag represents a sound or audio stream. Content may be provided inside the audio tag. User agents should not show this content to the user; it is intended for older Web browsers which do not support audio, so that legacy audio plugins can be tried, or to show text to the users of these older browsers informing them of how to access the audio contents.

2.3.3.1 "src" Characteristic Description

The description of the "src" characteristic for the "Audio" root class is given in Table 2.3.3.1

Table 2.3.3.1 Description of the "src" characteristic for the "Audio" class.
Descriptor Definition
Characteristic Name src
Data Type URL
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0..1]
Description The 'src' content characteristic on media tags gives the address of the media resource (video, audio) to show. The attribute, if present, must contain a valid non-empty URL potentially surrounded by spaces.

2.3.3.2 "crossorigin" Characteristic Description

The description of the "crossorigin" characteristic for the "Audio" root class is given in Table 2.3.3.2

Table 2.3.3.2 Description of the "crossorigin" characteristic for the "Audio" class.
Descriptor Definition
Characteristic Name crossorigin
Data Type CORSSettings
Value Space Enumerated value set of: { anonymous | use-credentials }
Scope Global ("+")
Multiplicity [0..1]
Description The crossorigin content characteristic on media tags is a CORS settings attribute.

2.3.3.3 "preload" Characteristic Description

The description of the "preload" characteristic for the "Audio" root class is given in Table 2.3.3.3

Table 2.3.3.3 Description of the "preload" characteristic for the "Audio" class.
Descriptor Definition
Characteristic Name preload
Data Type PreLoadValue
Value Space Enumerated value set of: { none | auto | metadata }
Default = "metadata".
Scope Global ("+")
Multiplicity [0..1]
Description The preload characteristic is an enumerated value. The characteristic can be changed even once the media resource is being buffered or played; the descriptions in the table below are to be interpreted with that in mind.

2.3.3.4 "autoplay" Characteristic Description

The description of the "autoplay" characteristic for the "Audio" root class is given in Table 2.3.3.4

Table 2.3.3.4 Description of the "autoplay" characteristic for the "Audio" class.
Descriptor Definition
Characteristic Name autoplay
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'autoplay' characteristic is a boolean. When present, the user agent (as described in the algorithm described herein) will automatically begin playback of the media resource as soon as it can do so without stopping.

2.3.3.5 "mediagroup" Characteristic Description

The description of the "mediagroup" characteristic for the "Audio" root class is given in Table 2.3.3.5

Table 2.3.3.5 Description of the "mediagroup" characteristic for the "Audio" class.
Descriptor Definition
Characteristic Name mediagroup
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'mediagroup' content characteristic on media elements can be used to link multiple media tags together by implicitly creating a MediaController. The value is text; media tags with the same value are automatically linked by the user agent.

2.3.3.6 "loop" Characteristic Description

The description of the "loop" characteristic for the "Audio" root class is given in Table 2.3.3.6

Table 2.3.3.6 Description of the "loop" characteristic for the "Audio" class.
Descriptor Definition
Characteristic Name loop
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'loop' characteristic is a boolean that, if specified, indicates that the media tag is to seek back to the start of the media resource upon reaching the end.

2.3.3.7 "muted" Characteristic Description

The description of the "muted" characteristic for the "Audio" root class is given in Table 2.3.3.7

Table 2.3.3.7 Description of the "muted" characteristic for the "Audio" class.
Descriptor Definition
Characteristic Name muted
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'muted' characteristic on media tags is a boolean that controls the default state of the audio output of the media resource, potentially overriding user preferences. When a media tag is created, if it has a muted characteristic specified, the user agent must mute the media tag's audio output, overriding any user preference.

2.3.3.8 "controls" Characteristic Description

The description of the "controls" characteristic for the "Audio" root class is given in Table 2.3.3.8

Table 2.3.3.8 Description of the "controls" characteristic for the "Audio" class.
Descriptor Definition
Characteristic Name controls
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'controls' characteristic is a boolean. If present, it indicates that the author has not provided a scripted controller and would like the user agent to provide its own set of controls.

2.3.3.9 "source" Attribute Description

The description of the "source" attribute for the "Audio" root class is given in Table 2.3.3.9.

Table 2.3.3.9 Description of the "source" attribute for the "Audio" root class.
Descriptor Definition
Attribute Name source
Data Type Source
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The 'source' tag allows authors to specify multiple alternative media resources for audio tags.

2.3.3.10 "track" Attribute Description

The description of the "track" attribute for the "Audio" root class is given in Table 2.3.3.10.

Table 2.3.3.10 Description of the "track" attribute for the "Audio" root class.
Descriptor Definition
Attribute Name track
Data Type Track
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The track tag allows authors to specify explicit external timed text tracks for the audio tags.

2.3.4 BDI Root Class Description

The data model for the "BDI" root class is shown in Figure 2.3.4 and the accompanying definition in Table 2.3.4.

UML diagram of the BDI class.

Figure 2.3.4 - BDI class definitions.

Table 2.3.4 Description of the "BDI" class.
Descriptor Definition
Class Name BDI
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the content for defining bidirectional content. The bdi tag represents a span of text that is to be isolated from its surroundings for the purposes of bidirectional text formatting.

2.3.4.1 "flowContentModel" Attribute Description

The description of the "flowContentModel" attribute for the "BDI" root class is given in Table 2.3.4.1.

Table 2.3.4.1 Description of the "flowContentModel" attribute for the "BDI" root class.
Descriptor Definition
Attribute Name flowContentModel
Data Type FlowContentModelHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML children.

2.3.5 FigCaption Root Class Description

The data model for the "FigCaption" root class is shown in Figure 2.3.5 and the accompanying definition in Table 2.3.5.

UML diagram of the FigCaption class.

Figure 2.3.5 - FigCaption class definitions.

Table 2.3.5 Description of the "FigCaption" class.
Descriptor Definition
Class Name FigCaption
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'figcaption' tag. The 'figcaption' element represents a caption or legend for the rest of the contents of the figcaption element's parent figure element, if any.

2.3.5.1 "flowGroup" Attribute Description

The description of the "flowGroup" attribute for the "FigCaption" root class is given in Table 2.3.5.1.

Table 2.3.5.1 Description of the "flowGroup" attribute for the "FigCaption" root class.
Descriptor Definition
Attribute Name flowGroup
Data Type FlowGroupHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML and other children.

2.3.6 Figure Root Class Description

The data model for the "Figure" root class is shown in Figure 2.3.6 and the accompanying definition in Table 2.3.6.

UML diagram of the Figure class.

Figure 2.3.6 - Figure class definitions.

Table 2.3.6 Description of the "Figure" class.
Descriptor Definition
Class Name Figure
Class Type Container [ Unordered , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'figure' tag. The 'figure' tag represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document.

2.3.6.1 "figcaption" Attribute Description

The description of the "figcaption" attribute for the "Figure" root class is given in Table 2.3.6.1.

Table 2.3.6.1 Description of the "figcaption" attribute for the "Figure" root class.
Descriptor Definition
Attribute Name figcaption
Data Type FigCaption
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0..1]
Description The optional 'figcaption' that can be either the first or last child. This provides the caption for the figure.

2.3.6.2 "flowContentModel" Attribute Description

The description of the "flowContentModel" attribute for the "Figure" root class is given in Table 2.3.6.2.

Table 2.3.6.2 Description of the "flowContentModel" attribute for the "Figure" root class.
Descriptor Definition
Attribute Name flowContentModel
Data Type FlowContentModelHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML children.

2.3.7 Footer Root Class Description

The data model for the "Footer" root class is shown in Figure 2.3.7 and the accompanying definition in Table 2.3.7.

UML diagram of the Footer class.

Figure 2.3.7 - Footer class definitions.

Table 2.3.7 Description of the "Footer" class.
Descriptor Definition
Class Name Footer
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'footer' tag. The footer tag represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.

2.3.7.1 "flowGroup" Attribute Description

The description of the "flowGroup" attribute for the "Footer" root class is given in Table 2.3.7.1.

Table 2.3.7.1 Description of the "flowGroup" attribute for the "Footer" root class.
Descriptor Definition
Attribute Name flowGroup
Data Type FlowGroupHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML and other children.

2.3.8 Header Root Class Description

The data model for the "Header" root class is shown in Figure 2.3.8 and the accompanying definition in Table 2.3.8.

UML diagram of the Header class.

Figure 2.3.8 - Header class definitions.

Table 2.3.8 Description of the "Header" class.
Descriptor Definition
Class Name Header
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'header' tag. The header tag represents introductory content for its nearest ancestor sectioning content or sectioning root tag. A header typically contains a group of introductory or navigational aids.

2.3.8.1 "flowGroup" Attribute Description

The description of the "flowGroup" attribute for the "Header" root class is given in Table 2.3.8.1.

Table 2.3.8.1 Description of the "flowGroup" attribute for the "Header" root class.
Descriptor Definition
Attribute Name flowGroup
Data Type FlowGroupHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML and other children.

2.3.9 Label Root Class Description

The data model for the "Label" root class is shown in Figure 2.3.9 and the accompanying definition in Table 2.3.9.

UML diagram of the Label class.

Figure 2.3.9 - Label class definitions.

Table 2.3.9 Description of the "Label" class.
Descriptor Definition
Class Name Label
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'label' tag. The label tag represents a caption in a user interface. The caption can be associated with a specific form control, known as the label element's labeled control, either using the for attribute, or by putting the form control inside the label element itself. Except where otherwise specified by the following rules, a label element has no labeled control.

2.3.9.1 "flowGroup" Attribute Description

The description of the "flowGroup" attribute for the "Label" root class is given in Table 2.3.9.1.

Table 2.3.9.1 Description of the "flowGroup" attribute for the "Label" root class.
Descriptor Definition
Attribute Name flowGroup
Data Type FlowGroupHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML and other children.

2.3.10 Nav Root Class Description

The data model for the "Nav" root class is shown in Figure 2.3.10 and the accompanying definition in Table 2.3.10.

UML diagram of the Nav class.

Figure 2.3.10 - Nav class definitions.

Table 2.3.10 Description of the "Nav" class.
Descriptor Definition
Class Name Nav
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'nav' tag. The nav tag represents a section of a page that links to other pages or to parts within the page: a section with navigation links.

2.3.10.1 "flowGroup" Attribute Description

The description of the "flowGroup" attribute for the "Nav" root class is given in Table 2.3.10.1.

Table 2.3.10.1 Description of the "flowGroup" attribute for the "Nav" root class.
Descriptor Definition
Attribute Name flowGroup
Data Type FlowGroupHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML and other children.

2.3.11 RB Root Class Description

The data model for the "RB" root class is shown in Figure 2.3.11 and the accompanying definition in Table 2.3.11.

UML diagram of the RB class.

Figure 2.3.11 - RB class definitions.

Table 2.3.11 Description of the "RB" class.
Descriptor Definition
Class Name RB
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This feature is a part of the HTML5 Ruby annotation. The rb tag marks the base text component of a ruby annotation. When it is the child of a ruby tag, it doesn't represent anything itself, but its parent ruby tag uses it as part of determining what it represents.

2.3.11.1 "phrasingContentModel" Attribute Description

The description of the "phrasingContentModel" attribute for the "RB" root class is given in Table 2.3.11.1.

Table 2.3.11.1 Description of the "phrasingContentModel" attribute for the "RB" root class.
Descriptor Definition
Attribute Name phrasingContentModel
Data Type PhrasingContentModelHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that defines the permitted content for the 'rb' tag. This content is collectively termed 'Phrasing'. Phrasing content is the text of the document, as well as tags that mark up that text at the intra-paragraph level. Runs of phrasing content form paragraphs.

2.3.12 RP Root Class Description

The data model for the "RP" root class is shown in Figure 2.3.12 and the accompanying definition in Table 2.3.12.

UML diagram of the RP class.

Figure 2.3.12 - RP class definitions.

Table 2.3.12 Description of the "RP" class.
Descriptor Definition
Class Name RP
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This feature is a part of the HTML5 Ruby annotation. The 'rp' tag is used to provide fallback text to be shown by user agents that don't support ruby annotations. One widespread convention is to provide parentheses around the ruby text component of a ruby annotation. The contents of the rp tags are typically not displayed by user agents which do support ruby annotations. An rp tag that is a child of a ruby tag represents nothing. An rp element whose parent tag is not a ruby tag represents its children.

2.3.12.1 "phrasingContentModel" Attribute Description

The description of the "phrasingContentModel" attribute for the "RP" root class is given in Table 2.3.12.1.

Table 2.3.12.1 Description of the "phrasingContentModel" attribute for the "RP" root class.
Descriptor Definition
Attribute Name phrasingContentModel
Data Type PhrasingContentModelHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that defines the permitted content for the 'rp' tag. This content is collectively termed 'Phrasing'. Phrasing content is the text of the document, as well as elements that mark up that text at the intra-paragraph level. Runs of phrasing content form paragraphs.

2.3.13 RT Root Class Description

The data model for the "RT" root class is shown in Figure 2.3.13 and the accompanying definition in Table 2.3.13.

UML diagram of the RT class.

Figure 2.3.13 - RT class definitions.

Table 2.3.13 Description of the "RT" class.
Descriptor Definition
Class Name RT
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This feature is a part of the HTML5 Ruby annotation. The 'rt' tag marks the ruby text component of a ruby annotation. When it is the child of a ruby tag or of an rtc tag that is itself the child of a ruby tag, it doesn't represent anything itself, but its ancestor ruby tag uses it as part of determining what it represents.

2.3.13.1 "phrasingContentModel" Attribute Description

The description of the "phrasingContentModel" attribute for the "RT" root class is given in Table 2.3.13.1.

Table 2.3.13.1 Description of the "phrasingContentModel" attribute for the "RT" root class.
Descriptor Definition
Attribute Name phrasingContentModel
Data Type PhrasingContentModelHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that defines the permitted content for the 'rt' tag. This content is collectively termed 'Phrasing'. Phrasing content is the text of the document, as well as tags that mark up that text at the intra-paragraph level. Runs of phrasing content form paragraphs.

2.3.14 RTC Root Class Description

The data model for the "RTC" root class is shown in Figure 2.3.14 and the accompanying definition in Table 2.3.14.

UML diagram of the RTC class.

Figure 2.3.14 - RTC class definitions.

Table 2.3.14 Description of the "RTC" class.
Descriptor Definition
Class Name RTC
Class Type Container [ Selection , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This feature is a part of the HTML5 Ruby annotation. The 'rtc' tag marks a ruby text container for ruby text components in a ruby annotation. When it is the child of a ruby tag it doesn't represent anything itself, but its parent ruby tag uses it as part of determining what it represents. An rtc tag that is not a child of a ruby tag represents the same thing as its children.

2.3.14.1 "phrasingContentModel" Attribute Description

The description of the "phrasingContentModel" attribute for the "RTC" root class is given in Table 2.3.14.1.

Table 2.3.14.1 Description of the "phrasingContentModel" attribute for the "RTC" root class.
Descriptor Definition
Attribute Name phrasingContentModel
Data Type PhrasingContentModelHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that defines the permitted content for the 'rtc' tag. This content is collectively termed 'Phrasing'. Phrasing content is the text of the document, as well as tags that mark up that text at the intra-paragraph level. Runs of phrasing content form paragraphs.

2.3.14.2 "rt" Attribute Description

The description of the "rt" attribute for the "RTC" root class is given in Table 2.3.14.2.

Table 2.3.14.2 Description of the "rt" attribute for the "RTC" root class.
Descriptor Definition
Attribute Name rt
Data Type RT
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description This is the 'rt' Ruby tag within the 'rtc' Ruby tag. This tag can be intermingled with the associated 'Phrasing' content.

2.3.15 Ruby Root Class Description

The data model for the "Ruby" root class is shown in Figure 2.3.15 and the accompanying definition in Table 2.3.15.

UML diagram of the Ruby class.

Figure 2.3.15 - Ruby class definitions.

Table 2.3.15 Description of the "Ruby" class.
Descriptor Definition
Class Name Ruby
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This feature is a part of the HTML5 Ruby annotation. The ruby tag allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana. Ruby text can appear on either side, and sometimes both sides, of the base text, and it is possible to control its position using CSS.

2.3.15.1 "rubySelection" Attribute Description

The description of the "rubySelection" attribute for the "Ruby" root class is given in Table 2.3.15.1.

Table 2.3.15.1 Description of the "rubySelection" attribute for the "Ruby" root class.
Descriptor Definition
Attribute Name rubySelection
Data Type RubySelection
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that enables the Ruby annotation to be composed of any combination of HTML5 Phrasing content and combinations of 'rp', 'rt' and 'rtc' tags.

2.3.16 Section Root Class Description

The data model for the "Section" root class is shown in Figure 2.3.16 and the accompanying definition in Table 2.3.16.

UML diagram of the Section class.

Figure 2.3.16 - Section class definitions.

Table 2.3.16 Description of the "Section" class.
Descriptor Definition
Class Name Section
Class Type Container [ Sequence , Mixed ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of inherited characteristics are:
Children The set of children attributes are:
Description This defines the permitted content for the HTML5 'section' tag. The section tag represents a generic section of a document or application. A section, in this context, is a thematic grouping of content. The theme of each section should be identified, typically by including a heading (h1-h6 tag) as a child of the section tag.

2.3.16.1 "flowGroup" Attribute Description

The description of the "flowGroup" attribute for the "Section" root class is given in Table 2.3.16.1.

Table 2.3.16.1 Description of the "flowGroup" attribute for the "Section" root class.
Descriptor Definition
Attribute Name flowGroup
Data Type FlowGroupHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML and other children.

2.3.17 Source Root Class Description

The data model for the "Source" root class is shown in Figure 2.3.17 and the accompanying definition in Table 2.3.17.

UML diagram of the Source class.

Figure 2.3.17 - Source class definitions.

Table 2.3.17 Description of the "Source" class.
Descriptor Definition
Class Name Source
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of characteristics are: The set of inherited characteristics are:
Children There are no children.
Description The 'source' tag is an HTML5 feature. The source tag allows authors to specify multiple alternative media resources for media tags. It does not represent anything on its own.

2.3.17.1 "src" Characteristic Description

The description of the "src" characteristic for the "Source" root class is given in Table 2.3.17.1

Table 2.3.17.1 Description of the "src" characteristic for the "Source" class.
Descriptor Definition
Characteristic Name src
Data Type URL
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [1]
Description The 'src' characteristic gives the address of the media resource. The value must be a valid non-empty URL potentially surrounded by spaces. This characteristic must be present.

2.3.17.2 "type" Characteristic Description

The description of the "type" characteristic for the "Source" root class is given in Table 2.3.17.2

Table 2.3.17.2 Description of the "type" characteristic for the "Source" class.
Descriptor Definition
Characteristic Name type
Data Type MimeType
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0..1]
Description The 'type' characteristic gives the type of the media resource, to help the user agent determine if it can play this media resource before fetching it. If specified, its value must be a valid MIME type.

2.3.18 Track Root Class Description

The data model for the "Track" root class is shown in Figure 2.3.18 and the accompanying definition in Table 2.3.18.

UML diagram of the Track class.

Figure 2.3.18 - Track class definitions.

Table 2.3.18 Description of the "Track" class.
Descriptor Definition
Class Name Track
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of characteristics are: The set of inherited characteristics are:
Children There are no children.
Description The 'track' tag is an HTML5 feature. The track tag allows authors to specify explicit external timed text tracks for media elements. It does not represent anything on its own.

2.3.18.1 "kind" Characteristic Description

The description of the "kind" characteristic for the "Track" root class is given in Table 2.3.18.1

Table 2.3.18.1 Description of the "kind" characteristic for the "Track" class.
Descriptor Definition
Characteristic Name kind
Data Type KindValue
Value Space Enumerated value set of: { subtitles | captions | descriptions | chapters | metadata }
Default = "subtitles".
Scope Global ("+")
Multiplicity [0..1]
Description The 'kind' characteristic is an enumerated attribute. The following table lists the keywords defined for this attribute. The keyword given in the first cell of each row maps to the state given in the second cell.

2.3.18.2 "src" Characteristic Description

The description of the "src" characteristic for the "Track" root class is given in Table 2.3.18.2

Table 2.3.18.2 Description of the "src" characteristic for the "Track" class.
Descriptor Definition
Characteristic Name src
Data Type URL
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [1]
Description The 'src' characteristic gives the address of the text track data. The value must be a valid non-empty URL potentially surrounded by spaces. This attribute must be present.

2.3.18.3 "srclang" Characteristic Description

The description of the "srclang" characteristic for the "Track" root class is given in Table 2.3.18.3

Table 2.3.18.3 Description of the "srclang" characteristic for the "Track" class.
Descriptor Definition
Characteristic Name srclang
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'srclang' characteristic gives the language of the text track data. The value must be a valid BCP 47 language tag. This attribute must be present if the tag's kind attribute is in the subtitles state.

2.3.18.4 "default" Characteristic Description

The description of the "default" characteristic for the "Track" root class is given in Table 2.3.18.4

Table 2.3.18.4 Description of the "default" characteristic for the "Track" class.
Descriptor Definition
Characteristic Name default
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'default' is a boolean, which, if specified, indicates that the track is to be enabled if the user's preferences do not indicate that another track would be more appropriate.

2.3.19 Video Root Class Description

The data model for the "Video" root class is shown in Figure 2.3.19 and the accompanying definition in Table 2.3.19.

UML diagram of the Video class.

Figure 2.3.19 - Video class definitions.

Table 2.3.19 Description of the "Video" class.
Descriptor Definition
Class Name Video
Class Type Container [ Sequence ]
Parents None (Root Class)
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics The set of characteristics are: The set of inherited characteristics are:
Children The set of children attributes are:
Description The 'video' tag is an HTML5 feature. A video tag is used for playing videos or movies, and audio files with captions.

2.3.19.1 "src" Characteristic Description

The description of the "src" characteristic for the "Video" root class is given in Table 2.3.19.1

Table 2.3.19.1 Description of the "src" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name src
Data Type URL
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0..1]
Description The 'src' content characteristic on media tags gives the address of the media resource (video, audio) to show. The attribute, if present, must contain a valid non-empty URL potentially surrounded by spaces.

2.3.19.2 "crossorigin" Characteristic Description

The description of the "crossorigin" characteristic for the "Video" root class is given in Table 2.3.19.2

Table 2.3.19.2 Description of the "crossorigin" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name crossorigin
Data Type CORSSettings
Value Space Enumerated value set of: { anonymous | use-credentials }
Scope Global ("+")
Multiplicity [0..1]
Description The crossorigin content characteristic on media tags is a CORS settings attribute.

2.3.19.3 "preload" Characteristic Description

The description of the "preload" characteristic for the "Video" root class is given in Table 2.3.19.3

Table 2.3.19.3 Description of the "preload" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name preload
Data Type PreLoadValue
Value Space Enumerated value set of: { none | auto | metadata }
Default = "metadata".
Scope Global ("+")
Multiplicity [0..1]
Description The preload characteristic is an enumerated value. The attribute can be changed even once the media resource is being buffered or played; the descriptions in the table below are to be interpreted with that in mind.

2.3.19.4 "autoplay" Characteristic Description

The description of the "autoplay" characteristic for the "Video" root class is given in Table 2.3.19.4

Table 2.3.19.4 Description of the "autoplay" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name autoplay
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'autoplay' characteristic is a boolean. When present, the user agent (as described in the algorithm described herein) will automatically begin playback of the media resource as soon as it can do so without stopping.

2.3.19.5 "mediagroup" Characteristic Description

The description of the "mediagroup" characteristic for the "Video" root class is given in Table 2.3.19.5

Table 2.3.19.5 Description of the "mediagroup" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name mediagroup
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'mediagroup' content characteristic on media tags can be used to link multiple media elements together by implicitly creating a MediaController. The value is text; media elements with the same value are automatically linked by the user agent.

2.3.19.6 "loop" Characteristic Description

The description of the "loop" characteristic for the "Video" root class is given in Table 2.3.19.6

Table 2.3.19.6 Description of the "loop" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name loop
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'loop' characteristic is a boolean that, if specified, indicates that the media tag is to seek back to the start of the media resource upon reaching the end.

2.3.19.7 "muted" Characteristic Description

The description of the "muted" characteristic for the "Video" root class is given in Table 2.3.19.7

Table 2.3.19.7 Description of the "muted" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name muted
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'muted' characteristic on media tags is a boolean that controls the default state of the audio output of the media resource, potentially overriding user preferences. When a media tag is created, if it has a muted attribute specified, the user agent must mute the media element's audio output, overriding any user preference.

2.3.19.8 "controls" Characteristic Description

The description of the "controls" characteristic for the "Video" root class is given in Table 2.3.19.8

Table 2.3.19.8 Description of the "controls" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name controls
Data Type Boolean (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'controls' characteristic is a boolean. If present, it indicates that the author has not provided a scripted controller and would like the user agent to provide its own set of controls

2.3.19.9 "poster" Characteristic Description

The description of the "poster" characteristic for the "Video" root class is given in Table 2.3.19.9

Table 2.3.19.9 Description of the "poster" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name poster
Data Type URL
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0..1]
Description The 'poster' characteristic gives the address of an image file that the user agent can show while no video data is available. The characteristic, if present, must contain a valid non-empty URL potentially surrounded by spaces.

2.3.19.10 "width" Characteristic Description

The description of the "width" characteristic for the "Video" root class is given in Table 2.3.19.10

Table 2.3.19.10 Description of the "width" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name width
Data Type NonNegativeInteger (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'width' characteristic defines the width of the video content in CSS pixels.

2.3.19.11 "height" Characteristic Description

The description of the "height" characteristic for the "Video" root class is given in Table 2.3.19.11

Table 2.3.19.11 Description of the "height" characteristic for the "Video" class.
Descriptor Definition
Characteristic Name height
Data Type NonNegativeInteger (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The 'height' characteristic defines the width of the video content in CSS pixels.

2.3.19.12 "source" Attribute Description

The description of the "source" attribute for the "Video" root class is given in Table 2.3.19.12.

Table 2.3.19.12 Description of the "source" attribute for the "Video" root class.
Descriptor Definition
Attribute Name source
Data Type Source
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The 'source' tag allows authors to specify multiple alternative media resources for video elements.

2.3.19.13 "track" Attribute Description

The description of the "track" attribute for the "Video" root class is given in Table 2.3.19.13.

Table 2.3.19.13 Description of the "track" attribute for the "Video" root class.
Descriptor Definition
Attribute Name track
Data Type Track
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The track tag allows authors to specify explicit external timed text tracks for the video tags.

2.4. Data Class Descriptions

All of the data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.2.

2.4.1 BaseHTML5 Class Description

The data model for the "BaseHTML5" class is shown in Figure 2.4.1 and the accompanying definition in Table 2.4.1.

UML diagram of the BaseHTML5 class.

Figure 2.4.1 - BaseHTML5 class definitions.

Table 2.4.1 Description of the "BaseHTML5" class.
Descriptor Definition
Class Name BaseHTML5
Class Type Container [ Sequence ]
Parents There are no parent classes.
Derived Classes The set of derived classes are:
Super Classes This class is not derived from another class.
Characteristics The set of characteristics are:
Children There are no children.
Description This is the base class for the HTML5 features that have children. This consists of a set of children characteristics.

2.4.1.1 "id" Characteristic Description

The description of the "id" characteristic for the "BaseHTML5" class is given in Table 2.4.1.1.

Table 2.4.1.1 Description of the "id" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name id
Data Type UniqueIdentifier
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0..1]
Description The unique identifier assigned to the HTML tag. This must be unique otherwise features such as the APIP accessibilty text cannot be supplied as an alternative.

2.4.1.2 "language" Characteristic Description

The description of the "language" characteristic for the "BaseHTML5" class is given in Table 2.4.1.2.

Table 2.4.1.2 Description of the "language" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name language
Data Type Language (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This chracteristic specifies the primary language for the tag's contents and for any of the tag's attributes that contain text. Its value must be a valid BCP 47 language tag, or the empty string. Setting the characteristic to the empty string indicates that the primary language is unknown.

2.4.1.3 "title" Characteristic Description

The description of the "title" characteristic for the "BaseHTML5" class is given in Table 2.4.1.3.

Table 2.4.1.3 Description of the "title" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The title characteristic represents advisory information for the tag, such as would be appropriate for a tooltip. On a link, this could be the title or a description of the target resource; on an image, it could be the image credit or a description of the image; on a paragraph, it could be a footnote or commentary on the text; on a citation, it could be further information about the source; on interactive content, it could be a label for, or instructions for, use of the element; and so forth. The value is text.

2.4.1.4 "label" Characteristic Description

The description of the "label" characteristic for the "BaseHTML5" class is given in Table 2.4.1.4.

Table 2.4.1.4 Description of the "label" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name label
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The label characteristic represents information for the tag that can be used to identify it or its functionality, such as would be appropriate for a tooltip. The value is text.

2.4.1.5 "class" Characteristic Description

The description of the "class" characteristic for the "BaseHTML5" class is given in Table 2.4.1.5.

Table 2.4.1.5 Description of the "class" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name class
Data Type StringList
Value Space The list consist of values of data-type(s): String (Primitive-type)
Scope Global ("+")
Multiplicity [0..1]
Description Every HTML tag may have a class attribute specified. If specified, it must have a value that is a set of space-separated tokens representing the various classes to which the tag belongs.

2.4.1.6 "dir" Characteristic Description

The description of the "dir" characteristic for the "BaseHTML5" class is given in Table 2.4.1.6.

Table 2.4.1.6 Description of the "dir" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name dir
Data Type DirValue
Value Space Enumerated value set of: { ltr | rtl | auto }
Default = "auto".
Scope Global ("+")
Multiplicity [0..1]
Description Specifies the tag's text directionality.

2.4.1.7 "role" Characteristic Description

The description of the "role" characteristic for the "BaseHTML5" class is given in Table 2.4.1.7.

Table 2.4.1.7 Description of the "role" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name role
Data Type ARIARoleValue
Value Space Enumerated value set of: { article | columnheader | definition | directory | document | group | heading | img | list | listitem | math | note | presentation | region | row | rowgroup | rowheader | separator | toolbar | button | checkbox | gridcell | link | log | option | radio | slider | spinbutton | status | tab | tabpanel | textbox | timer | listbox | radiogroup | tablist | complementary | contentinfo }
Scope Global ("+")
Multiplicity [0..1]
Description This is the ARIA role. Roles are defined and described by their characteristics. Characteristics define the structural function of a role, such as what a role is, concepts behind it, and what instances the role can or must contain.

2.4.1.8 "aria-controls" Characteristic Description

The description of the "aria-controls" characteristic for the "BaseHTML5" class is given in Table 2.4.1.8.

Table 2.4.1.8 Description of the "aria-controls" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-controls
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. This identifies the tag (or tags) whose contents or presence are controlled by the current tag.

2.4.1.9 "aria-describedby" Characteristic Description

The description of the "aria-describedby" characteristic for the "BaseHTML5" class is given in Table 2.4.1.9.

Table 2.4.1.9 Description of the "aria-describedby" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-describedby
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Identifies the element (or elements) that describes the object.

2.4.1.10 "aria-flowto" Characteristic Description

The description of the "aria-flowto" characteristic for the "BaseHTML5" class is given in Table 2.4.1.10.

Table 2.4.1.10 Description of the "aria-flowto" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-flowto
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Identifies the next tag (or tags) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

2.4.1.11 "aria-label" Characteristic Description

The description of the "aria-label" characteristic for the "BaseHTML5" class is given in Table 2.4.1.11.

Table 2.4.1.11 Description of the "aria-label" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-label
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Defines a string value that labels the current tag. See related aria-labelledby. The purpose of aria-label is the same as that of aria-labelledby. It provides the user with a recognizable name of the object.

2.4.1.12 "aria-labelledby" Characteristic Description

The description of the "aria-labelledby" characteristic for the "BaseHTML5" class is given in Table 2.4.1.12.

Table 2.4.1.12 Description of the "aria-labelledby" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-labelledby
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Identifies the tag (or tags) that labels the current element. See related aria-label and aria-describedby. The purpose of aria-labelledby is the same as that of aria-label. It provides the user with a recognizable name of the object. The most common accessibility API mapping for a label is the accessible name property. If the label text is visible on screen, authors SHOULD use aria-labelledby and SHOULD NOT use aria-label. Use aria-label only if the interface is such that it is not possible to have a visible label on the screen. As required by the text alternative computation, user agents give precedence to aria-labelledby over aria-label when computing the accessible name property. The aria-labelledby attribute is similar to aria-describedby in that both reference other elements to calculate a text alternative, but a label should be concise, where a description is intended to provide more verbose information.

2.4.1.13 "aria-level" Characteristic Description

The description of the "aria-level" characteristic for the "BaseHTML5" class is given in Table 2.4.1.13.

Table 2.4.1.13 Description of the "aria-level" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-level
Data Type AriaLevelInteger
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Defines the hierarchical level of an tag within a structure. This can be applied inside trees to tree items, to headings inside a document, to nested grids, nested tablists and to other structural items that may appear inside a container or participate in an ownership hierarchy. The value for aria-level is an integer greater than or equal to 1.

2.4.1.14 "aria-live" Characteristic Description

The description of the "aria-live" characteristic for the "BaseHTML5" class is given in Table 2.4.1.14.

Table 2.4.1.14 Description of the "aria-live" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-live
Data Type ARIALiveValue
Value Space Enumerated value set of: { off | polite | assertive }
Default = "off".
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Indicates that a tag will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. The values of this attribute are expressed in degrees of importance. When regions are specified as polite, assistive technologies will notify users of updates but generally do not interrupt the current task, and updates take low priority. When regions are specified as assertive, assistive technologies will immediately notify the user, and could potentially clear the speech queue of previous updates.

2.4.1.15 "aria-orientation" Characteristic Description

The description of the "aria-orientation" characteristic for the "BaseHTML5" class is given in Table 2.4.1.15.

Table 2.4.1.15 Description of the "aria-orientation" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-orientation
Data Type ARIAOrientationValue
Value Space Enumerated value set of: { vertical | horizontal }
Default = "horizontal".
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Indicates whether the tag and orientation is horizontal or vertical.

2.4.1.16 "aria-owns" Characteristic Description

The description of the "aria-owns" characteristic for the "BaseHTML5" class is given in Table 2.4.1.16.

Table 2.4.1.16 Description of the "aria-owns" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name aria-owns
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. See related aria-controls. The value of the aria-owns attribute is a space-separated list of IDREFS that reference one or more elements in the document by ID.

2.4.1.17 "dataExtension" Characteristic Description

The description of the "dataExtension" characteristic for the "BaseHTML5" class is given in Table 2.4.1.17.

Table 2.4.1.17 Description of the "dataExtension" characteristic for the "BaseHTML5" class.
Descriptor Definition
Characteristic Name dataExtension
Data Type DataHTML5Extension
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description This is the HTML5 extension characteristic. A custom data characteristic is a characteristic in no namespace whose name starts with the string 'data-', has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.

2.5. Abstract Class Descriptions

All of the abstract data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.2.

2.5.1 FlowContentModelHTML5 Class Description

The data model for the "FlowContentModelHTML5" class is shown in Figure 2.5.1 and the accompanying definition in Table 2.5.1

UML diagram of the FlowContentModelHTML5 class.

Figure 2.5.1 - FlowContentModelHTML5 class definitions.

Table 2.5.1 Description of the "FlowContentModelHTML5" class.
Descriptor Definition
Class Name FlowContentModelHTML5
Class Type Abstract Container [ Selection ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the abstract class that is used to provide the set of HTML tag options defined as flow content. The formal definition of flow content is given in [QTI, 16a].

2.5.1.1 "img" Attribute Description

The description of the "img" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.1.

Table 2.5.1.1 Description of the "img" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name img
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'img' tag for the HTML. This is taken from the QTI ASI.

2.5.1.2 "br" Attribute Description

The description of the "br" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.2.

Table 2.5.1.2 Description of the "br" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name br
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'br' tag for the HTML. This is taken from the QTI ASI.

2.5.1.3 "object" Attribute Description

The description of the "object" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.3.

Table 2.5.1.3 Description of the "object" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name object
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'object' tag for the HTML. This is taken from the QTI ASI.

2.5.1.4 "em" Attribute Description

The description of the "em" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.4.

Table 2.5.1.4 Description of the "em" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name em
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'em' tag for the HTML. This is taken from the QTI ASI.

2.5.1.5 "a" Attribute Description

The description of the "a" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.5.

Table 2.5.1.5 Description of the "a" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name a
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'a' tag for the HTML. This is taken from the QTI ASI.

2.5.1.6 "code" Attribute Description

The description of the "code" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.6.

Table 2.5.1.6 Description of the "code" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name code
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'code' tag for the HTML. This is taken from the QTI ASI.

2.5.1.7 "span" Attribute Description

The description of the "span" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.7.

Table 2.5.1.7 Description of the "span" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name span
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'span' tag for the HTML. This is taken from the QTI ASI.

2.5.1.8 "sub" Attribute Description

The description of the "sub" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.8.

Table 2.5.1.8 Description of the "sub" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name sub
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'sub' tag for the HTML. This is taken from the QTI ASI.

2.5.1.9 "acronym" Attribute Description

The description of the "acronym" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.9.

Table 2.5.1.9 Description of the "acronym" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name acronym
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'acronym' tag for the HTML. This is taken from the QTI ASI.

2.5.1.10 "big" Attribute Description

The description of the "big" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.10.

Table 2.5.1.10 Description of the "big" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name big
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'big' tag for the HTML. This is taken from the QTI ASI.

2.5.1.11 "tt" Attribute Description

The description of the "tt" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.11.

Table 2.5.1.11 Description of the "tt" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name tt
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'tt' tag for the HTML. This is taken from the QTI ASI.

2.5.1.12 "kbd" Attribute Description

The description of the "kbd" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.12.

Table 2.5.1.12 Description of the "kbd" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name kbd
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'kbd' tag for the HTML. This is taken from the QTI ASI.

2.5.1.13 "q" Attribute Description

The description of the "q" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.13.

Table 2.5.1.13 Description of the "q" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name q
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'q' tag for the HTML. This is taken from the QTI ASI.

2.5.1.14 "i" Attribute Description

The description of the "i" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.14.

Table 2.5.1.14 Description of the "i" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name i
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'i' tag for the HTML. This is taken from the QTI ASI.

2.5.1.15 "dfn" Attribute Description

The description of the "dfn" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.15.

Table 2.5.1.15 Description of the "dfn" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name dfn
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'dfn' tag for the HTML. This is taken from the QTI ASI.

2.5.1.16 "abbr" Attribute Description

The description of the "abbr" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.16.

Table 2.5.1.16 Description of the "abbr" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name abbr
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'abbr' tag for the HTML. This is taken from the QTI ASI.

2.5.1.17 "strong" Attribute Description

The description of the "strong" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.17.

Table 2.5.1.17 Description of the "strong" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name strong
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'strong' tag for the HTML. This is taken from the QTI ASI.

2.5.1.18 "sup" Attribute Description

The description of the "sup" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.18.

Table 2.5.1.18 Description of the "sup" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name sup
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'sup' tag for the HTML. This is taken from the QTI ASI.

2.5.1.19 "var" Attribute Description

The description of the "var" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.19.

Table 2.5.1.19 Description of the "var" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name var
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'var' tag for the HTML. This is taken from the QTI ASI.

2.5.1.20 "small" Attribute Description

The description of the "small" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.20.

Table 2.5.1.20 Description of the "small" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name small
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'small' tag for the HTML. This is taken from the QTI ASI.

2.5.1.21 "samp" Attribute Description

The description of the "samp" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.21.

Table 2.5.1.21 Description of the "samp" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name samp
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'samp' tag for the HTML. This is taken from the QTI ASI.

2.5.1.22 "b" Attribute Description

The description of the "b" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.22.

Table 2.5.1.22 Description of the "b" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name b
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'b' tag for the HTML. This is taken from the QTI ASI.

2.5.1.23 "cite" Attribute Description

The description of the "cite" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.23.

Table 2.5.1.23 Description of the "cite" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name cite
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'cite' tag for the HTML. This is taken from the QTI ASI.

2.5.1.24 "bdo" Attribute Description

The description of the "bdo" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.24.

Table 2.5.1.24 Description of the "bdo" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name bdo
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'bdo' tag for the HTML. This is taken from the QTI ASI.

2.5.1.25 "bdi" Attribute Description

The description of the "bdi" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.25.

Table 2.5.1.25 Description of the "bdi" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name bdi
Data Type BDI
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'bdi' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.26 "figure" Attribute Description

The description of the "figure" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.26.

Table 2.5.1.26 Description of the "figure" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name figure
Data Type Figure
Value Space Container [ Unordered ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'figure' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.27 "audio" Attribute Description

The description of the "audio" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.27.

Table 2.5.1.27 Description of the "audio" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name audio
Data Type Audio
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'audio' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.28 "video" Attribute Description

The description of the "video" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.28.

Table 2.5.1.28 Description of the "video" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name video
Data Type Video
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'video' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.29 "label" Attribute Description

The description of the "label" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.29.

Table 2.5.1.29 Description of the "label" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name label
Data Type Label
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'label' tag for the HTML. This is taken from the QTI HTML but placed in the HTML5 due to a clash with another tag already in QTI ASI.

2.5.1.30 "article" Attribute Description

The description of the "article" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.30.

Table 2.5.1.30 Description of the "article" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name article
Data Type Article
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'article' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.31 "aside" Attribute Description

The description of the "aside" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.31.

Table 2.5.1.31 Description of the "aside" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name aside
Data Type Aside
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'aside' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.32 "footer" Attribute Description

The description of the "footer" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.32.

Table 2.5.1.32 Description of the "footer" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name footer
Data Type Footer
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'footer' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.33 "header" Attribute Description

The description of the "header" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.33.

Table 2.5.1.33 Description of the "header" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name header
Data Type Header
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'header' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.34 "nav" Attribute Description

The description of the "nav" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.34.

Table 2.5.1.34 Description of the "nav" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name nav
Data Type Nav
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'nav' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.35 "section" Attribute Description

The description of the "section" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.35.

Table 2.5.1.35 Description of the "section" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name section
Data Type Section
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'section' tag for the HTML. This is taken from the QTI HTML5.

2.5.1.36 "pre" Attribute Description

The description of the "pre" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.36.

Table 2.5.1.36 Description of the "pre" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name pre
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'pre' tag for the HTML. This is taken from the QTI ASI.

2.5.1.37 "h1" Attribute Description

The description of the "h1" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.37.

Table 2.5.1.37 Description of the "h1" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name h1
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'h1' tag for the HTML. This is taken from the QTI ASI.

2.5.1.38 "h2" Attribute Description

The description of the "h2" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.38.

Table 2.5.1.38 Description of the "h2" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name h2
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'h2' tag for the HTML. This is taken from the QTI ASI.

2.5.1.39 "h3" Attribute Description

The description of the "h3" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.39.

Table 2.5.1.39 Description of the "h3" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name h3
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'h3' tag for the HTML. This is taken from the QTI ASI.

2.5.1.40 "h4" Attribute Description

The description of the "h4" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.40.

Table 2.5.1.40 Description of the "h4" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name h4
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'h4' tag for the HTML. This is taken from the QTI ASI.

2.5.1.41 "h5" Attribute Description

The description of the "h5" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.41.

Table 2.5.1.41 Description of the "h5" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name h5
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'h5' tag for the HTML. This is taken from the QTI ASI.

2.5.1.42 "h6" Attribute Description

The description of the "h6" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.42.

Table 2.5.1.42 Description of the "h6" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name h6
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'h6' tag for the HTML. This is taken from the QTI ASI.

2.5.1.43 "p" Attribute Description

The description of the "p" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.43.

Table 2.5.1.43 Description of the "p" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name p
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'p' tag for the HTML. This is taken from the QTI ASI.

2.5.1.44 "address" Attribute Description

The description of the "address" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.44.

Table 2.5.1.44 Description of the "address" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name address
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'address' tag for the HTML. This is taken from the QTI ASI.

2.5.1.45 "dl" Attribute Description

The description of the "dl" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.45.

Table 2.5.1.45 Description of the "dl" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name dl
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'dl' tag for the HTML. This is taken from the QTI ASI.

2.5.1.46 "ol" Attribute Description

The description of the "ol" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.46.

Table 2.5.1.46 Description of the "ol" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name ol
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'ol' tag for the HTML. This is taken from the QTI ASI.

2.5.1.47 "ul" Attribute Description

The description of the "ul" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.47.

Table 2.5.1.47 Description of the "ul" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name ul
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'ul' tag for the HTML. This is taken from the QTI ASI.

2.5.1.48 "hr" Attribute Description

The description of the "hr" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.48.

Table 2.5.1.48 Description of the "hr" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name hr
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'hr' tag for the HTML. This is taken from the QTI ASI.

2.5.1.49 "ssmlGroup" Attribute Description

The description of the "ssmlGroup" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.49.

Table 2.5.1.49 Description of the "ssmlGroup" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name ssmlGroup
Data Type SSMLGroup
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that is used to offer the set of SSML tags for annotating the content.

2.5.1.50 "ruby" Attribute Description

The description of the "ruby" attribute for the "FlowContentModelHTML5" class is given in Table 2.5.1.50.

Table 2.5.1.50 Description of the "ruby" attribute for the "FlowContentModelHTML5" class.
Descriptor Definition
Attribute Name ruby
Data Type Ruby
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'ruby' tag for the HTML. This is taken from the QTI HTML5.

2.5.2 FlowGroupHTML5 Class Description

The data model for the "FlowGroupHTML5" class is shown in Figure 2.5.2 and the accompanying definition in Table 2.5.2

UML diagram of the FlowGroupHTML5 class.

Figure 2.5.2 - FlowGroupHTML5 class definitions.

Table 2.5.2 Description of the "FlowGroupHTML5" class.
Descriptor Definition
Class Name FlowGroupHTML5
Class Type Abstract Container [ Selection ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the abstract class that provides the selection of the flow group content, namely between: MathML 2, MathML 3, XInclude and the flow content model as defined under HTML (see the abstract class FlowContentModel for more details).

2.5.2.1 "math" Attribute Description

The description of the "math" attribute for the "FlowGroupHTML5" class is given in Table 2.5.2.1.

Table 2.5.2.1 Description of the "math" attribute for the "FlowGroupHTML5" class.
Descriptor Definition
Attribute Name math
Data Type MathML2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the option for the MathML 2 content.

2.5.2.2 "math" Attribute Description

The description of the "math" attribute for the "FlowGroupHTML5" class is given in Table 2.5.2.2.

Table 2.5.2.2 Description of the "math" attribute for the "FlowGroupHTML5" class.
Descriptor Definition
Attribute Name math
Data Type MathML3
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the option for the MathML 3 content.

2.5.2.3 "include" Attribute Description

The description of the "include" attribute for the "FlowGroupHTML5" class is given in Table 2.5.2.3.

Table 2.5.2.3 Description of the "include" attribute for the "FlowGroupHTML5" class.
Descriptor Definition
Attribute Name include
Data Type Include
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the option for the inclusion of content fragments. In the case of XML-based bindings this makes use of the XInclude standard.

2.5.2.4 "flowContentModel" Attribute Description

The description of the "flowContentModel" attribute for the "FlowGroupHTML5" class is given in Table 2.5.2.4.

Table 2.5.2.4 Description of the "flowContentModel" attribute for the "FlowGroupHTML5" class.
Descriptor Definition
Attribute Name flowContentModel
Data Type FlowContentModelHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract child. It is used to denote the permitted flow content i.e. the permitted set of HTML children.

2.5.3 PhraseRBSelection Class Description

The data model for the "PhraseRBSelection" class is shown in Figure 2.5.3 and the accompanying definition in Table 2.5.3

UML diagram of the PhraseRBSelection class.

Figure 2.5.3 - PhraseRBSelection class definitions.

Table 2.5.3 Description of the "PhraseRBSelection" class.
Descriptor Definition
Class Name PhraseRBSelection
Class Type Abstract Container [ Selection ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is an abstract class that forms a part of the Ruby annotation. It enables the Ruby markup to be composed of combinations of the HTML5 Phrasing content and 'rb' tags.

2.5.3.1 "phrasingContentModel" Attribute Description

The description of the "phrasingContentModel" attribute for the "PhraseRBSelection" class is given in Table 2.5.3.1.

Table 2.5.3.1 Description of the "phrasingContentModel" attribute for the "PhraseRBSelection" class.
Descriptor Definition
Attribute Name phrasingContentModel
Data Type PhrasingContentModelHTML5
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [0.. unbounded]
Description This is an abstract attribute that allows the contents to be composed of the HTML phrasing content.

2.5.3.2 "rb" Attribute Description

The description of the "rb" attribute for the "PhraseRBSelection" class is given in Table 2.5.3.2.

Table 2.5.3.2 Description of the "rb" attribute for the "PhraseRBSelection" class.
Descriptor Definition
Attribute Name rb
Data Type RB
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description The 'rp' Ruby annotation tag option.

2.5.4 PhrasingContentModelHTML5 Class Description

The data model for the "PhrasingContentModelHTML5" class is shown in Figure 2.5.4 and the accompanying definition in Table 2.5.4

UML diagram of the PhrasingContentModelHTML5 class.

Figure 2.5.4 - PhrasingContentModelHTML5 class definitions.

Table 2.5.4 Description of the "PhrasingContentModelHTML5" class.
Descriptor Definition
Class Name PhrasingContentModelHTML5
Class Type Abstract Container [ Selection ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is the abstract class that is used to provide the set of HTML tag options defined as phrasing content. The formal definition of Phrasing content is given in [HTML5, 14].

2.5.4.1 "a" Attribute Description

The description of the "a" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.1.

Table 2.5.4.1 Description of the "a" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name a
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'a' tag for the HTML. This is taken from the QTI ASI.

2.5.4.2 "abbr" Attribute Description

The description of the "abbr" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.2.

Table 2.5.4.2 Description of the "abbr" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name abbr
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'abbr' tag for the HTML. This is taken from the QTI ASI.

2.5.4.3 "b" Attribute Description

The description of the "b" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.3.

Table 2.5.4.3 Description of the "b" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name b
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'b' tag for the HTML. This is taken from the QTI ASI.

2.5.4.4 "bdo" Attribute Description

The description of the "bdo" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.4.

Table 2.5.4.4 Description of the "bdo" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name bdo
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'bdo' tag for the HTML. This is taken from the QTI ASI.

2.5.4.5 "br" Attribute Description

The description of the "br" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.5.

Table 2.5.4.5 Description of the "br" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name br
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'br' tag for the HTML. This is taken from the QTI ASI.

2.5.4.6 "cite" Attribute Description

The description of the "cite" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.6.

Table 2.5.4.6 Description of the "cite" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name cite
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'cite' tag for the HTML. This is taken from the QTI ASI.

2.5.4.7 "code" Attribute Description

The description of the "code" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.7.

Table 2.5.4.7 Description of the "code" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name code
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'code' tag for the HTML. This is taken from the QTI ASI.

2.5.4.8 "dfn" Attribute Description

The description of the "dfn" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.8.

Table 2.5.4.8 Description of the "dfn" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name dfn
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'dfn' tag for the HTML. This is taken from the QTI ASI.

2.5.4.9 "em" Attribute Description

The description of the "em" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.9.

Table 2.5.4.9 Description of the "em" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name em
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'em' tag for the HTML. This is taken from the QTI ASI.

2.5.4.10 "i" Attribute Description

The description of the "i" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.10.

Table 2.5.4.10 Description of the "i" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name i
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'i' tag for the HTML. This is taken from the QTI ASI.

2.5.4.11 "img" Attribute Description

The description of the "img" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.11.

Table 2.5.4.11 Description of the "img" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name img
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'img' tag for the HTML. This is taken from the QTI ASI.

2.5.4.12 "kbd" Attribute Description

The description of the "kbd" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.12.

Table 2.5.4.12 Description of the "kbd" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name kbd
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'kbd' tag for the HTML. This is taken from the QTI ASI.

2.5.4.13 "object" Attribute Description

The description of the "object" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.13.

Table 2.5.4.13 Description of the "object" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name object
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'object' tag for the HTML. This is taken from the QTI ASI.

2.5.4.14 "q" Attribute Description

The description of the "q" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.14.

Table 2.5.4.14 Description of the "q" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name q
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'q' tag for the HTML. This is taken from the QTI ASI.

2.5.4.15 "samp" Attribute Description

The description of the "samp" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.15.

Table 2.5.4.15 Description of the "samp" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name samp
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'samp' tag for the HTML. This is taken from the QTI ASI.

2.5.4.16 "small" Attribute Description

The description of the "small" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.16.

Table 2.5.4.16 Description of the "small" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name small
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'small' tag for the HTML. This is taken from the QTI ASI.

2.5.4.17 "span" Attribute Description

The description of the "span" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.17.

Table 2.5.4.17 Description of the "span" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name span
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'span' tag for the HTML. This is taken from the QTI ASI.

2.5.4.18 "strong" Attribute Description

The description of the "strong" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.18.

Table 2.5.4.18 Description of the "strong" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name strong
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'strong' tag for the HTML. This is taken from the QTI ASI.

2.5.4.19 "sub" Attribute Description

The description of the "sub" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.19.

Table 2.5.4.19 Description of the "sub" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name sub
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'sub' tag for the HTML. This is taken from the QTI ASI.

2.5.4.20 "sup" Attribute Description

The description of the "sup" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.20.

Table 2.5.4.20 Description of the "sup" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name sup
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'sup' tag for the HTML. This is taken from the QTI ASI.

2.5.4.21 "var" Attribute Description

The description of the "var" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.21.

Table 2.5.4.21 Description of the "var" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name var
Data Type QTIv2p2
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is the 'var' tag for the HTML. This is taken from the QTI ASI.

2.5.4.22 "audio" Attribute Description

The description of the "audio" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.22.

Table 2.5.4.22 Description of the "audio" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name audio
Data Type Audio
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'audio' tag for the HTML5. This is taken from the QTI HTML5.

2.5.4.23 "bdi" Attribute Description

The description of the "bdi" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.23.

Table 2.5.4.23 Description of the "bdi" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name bdi
Data Type BDI
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'bdi' tag for the HTML5. This is taken from the QTI HTML5.

2.5.4.24 "label" Attribute Description

The description of the "label" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.24.

Table 2.5.4.24 Description of the "label" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name label
Data Type Label
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'label' tag for the HTML5. This is taken from the QTI HTML but placed in the HTML5 due to a clash with another tag already in QTI ASI.

2.5.4.25 "ruby" Attribute Description

The description of the "ruby" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.25.

Table 2.5.4.25 Description of the "ruby" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name ruby
Data Type Ruby
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'ruby' tag for the HTML5. This is taken from the QTI HTML5.

2.5.4.26 "video" Attribute Description

The description of the "video" attribute for the "PhrasingContentModelHTML5" class is given in Table 2.5.4.26.

Table 2.5.4.26 Description of the "video" attribute for the "PhrasingContentModelHTML5" class.
Descriptor Definition
Attribute Name video
Data Type Video
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description This is the 'video' tag for the HTML5. This is taken from the QTI HTML5.

2.5.5 RPRTSelection Class Description

The data model for the "RPRTSelection" class is shown in Figure 2.5.5 and the accompanying definition in Table 2.5.5

UML diagram of the RPRTSelection class.

Figure 2.5.5 - RPRTSelection class definitions.

Table 2.5.5 Description of the "RPRTSelection" class.
Descriptor Definition
Class Name RPRTSelection
Class Type Abstract Container [ Unordered ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is an abstract class that provides the choice between the 'rp', 'rt' and 'rtc' Ruby annotation tags.

2.5.5.1 "rp" Attribute Description

The description of the "rp" attribute for the "RPRTSelection" class is given in Table 2.5.5.1.

Table 2.5.5.1 Description of the "rp" attribute for the "RPRTSelection" class.
Descriptor Definition
Attribute Name rp
Data Type RP
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [0..1]
Description The 'rp' Ruby annotation tag option.

2.5.5.2 "rtrtcSelection" Attribute Description

The description of the "rtrtcSelection" attribute for the "RPRTSelection" class is given in Table 2.5.5.2.

Table 2.5.5.2 Description of the "rtrtcSelection" attribute for the "RPRTSelection" class.
Descriptor Definition
Attribute Name rtrtcSelection
Data Type RTRTCSelection
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [1]
Description This is an abstract attribute that rovides choices between the 'rt' and 'rtc' Ruby annotation tag option.

2.5.6 RTRTCSelection Class Description

The data model for the "RTRTCSelection" class is shown in Figure 2.5.6 and the accompanying definition in Table 2.5.6

UML diagram of the RTRTCSelection class.

Figure 2.5.6 - RTRTCSelection class definitions.

Table 2.5.6 Description of the "RTRTCSelection" class.
Descriptor Definition
Class Name RTRTCSelection
Class Type Abstract Container [ Selection ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is an abstract class that provides the choice between the 'rt' and the 'rtc' Ruby annotation tags.

2.5.6.1 "rt" Attribute Description

The description of the "rt" attribute for the "RTRTCSelection" class is given in Table 2.5.6.1.

Table 2.5.6.1 Description of the "rt" attribute for the "RTRTCSelection" class.
Descriptor Definition
Attribute Name rt
Data Type RT
Value Space Container [ Sequence ]
Scope Global ("+")
Multiplicity [1]
Description The 'rt' Ruby annotation tag option.

2.5.6.2 "rtc" Attribute Description

The description of the "rtc" attribute for the "RTRTCSelection" class is given in Table 2.5.6.2.

Table 2.5.6.2 Description of the "rtc" attribute for the "RTRTCSelection" class.
Descriptor Definition
Attribute Name rtc
Data Type RTC
Value Space Container [ Selection ]
Scope Global ("+")
Multiplicity [1]
Description The 'rtc' Ruby annotation tag option.

2.5.7 RubySelection Class Description

The data model for the "RubySelection" class is shown in Figure 2.5.7 and the accompanying definition in Table 2.5.7

UML diagram of the RubySelection class.

Figure 2.5.7 - RubySelection class definitions.

Table 2.5.7 Description of the "RubySelection" class.
Descriptor Definition
Class Name RubySelection
Class Type Abstract Container [ Selection ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is an abstract class that forms a part of the Ruby annotation. It enables the Ruby markup to be composed of combinations of the HTML5 Phrasing content and the 'rb' tags, and the 'rp', 'rt' and rtc' tags.

2.5.7.1 "phraseSelection" Attribute Description

The description of the "phraseSelection" attribute for the "RubySelection" class is given in Table 2.5.7.1.

Table 2.5.7.1 Description of the "phraseSelection" attribute for the "RubySelection" class.
Descriptor Definition
Attribute Name phraseSelection
Data Type PhraseRBSelection
Value Space Abstract Container [ Selection ]
Scope Local ("-")
Multiplicity [1]
Description This is an abstract attribute that allows the contents to be composed of the HTML phrasing content and 'rb' tags.

2.5.7.2 "rprtSelection" Attribute Description

The description of the "rprtSelection" attribute for the "RubySelection" class is given in Table 2.5.7.2.

Table 2.5.7.2 Description of the "rprtSelection" attribute for the "RubySelection" class.
Descriptor Definition
Attribute Name rprtSelection
Data Type RPRTSelection
Value Space Abstract Container [ Unordered ]
Scope Local ("-")
Multiplicity [1]
Description This is an abstract attribute that enables the content to be based upon various combinations of the 'rp', 'rt' and rtc' tags.

2.5.8 SSMLGroup Class Description

The data model for the "SSMLGroup" class is shown in Figure 2.5.8 and the accompanying definition in Table 2.5.8

UML diagram of the SSMLGroup class.

Figure 2.5.8 - SSMLGroup class definitions.

Table 2.5.8 Description of the "SSMLGroup" class.
Descriptor Definition
Class Name SSMLGroup
Class Type Abstract Container [ Selection ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes This class is not derived from another class.
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This is an abstract class that enables the set of SSML annotations to be used within the HTML5 content. SSML is part of a larger set of markup specifications for voice browsers developed through the open processes of the W3C. It is designed to provide a rich, XML-based markup language for assisting the generation of synthetic speech in Web and other applications. The essential role of the markup language is to give authors of synthesizable content a standard way to control aspects of speech output such as pronunciation, volume, pitch, rate, etc. across different synthesis-capable platforms.

2.5.8.1 "p" Attribute Description

The description of the "p" attribute for the "SSMLGroup" class is given in Table 2.5.8.1.

Table 2.5.8.1 Description of the "p" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name p
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. A 'p' tag represents a paragraph.

2.5.8.2 "s" Attribute Description

The description of the "s" attribute for the "SSMLGroup" class is given in Table 2.5.8.2.

Table 2.5.8.2 Description of the "s" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name s
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. A 's' tag represents a sentence.

2.5.8.3 "say-as" Attribute Description

The description of the "say-as" attribute for the "SSMLGroup" class is given in Table 2.5.8.3.

Table 2.5.8.3 Description of the "say-as" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name say-as
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The 'say-as' tag allows the author to indicate information on the type of text construct contained within the tag and to help specify the level of detail for rendering the contained text. Defining a comprehensive set of text format types is difficult because of the variety of languages that have to be considered and because of the innate flexibility of written languages. SSML only specifies the 'say-as' tag, its characteristics, and their purpose. It does not enumerate the possible values for the characteristics. The Working Group expects to produce a separate document that will define standard values and associated normative behavior for these values.

2.5.8.4 "phoneme" Attribute Description

The description of the "phoneme" attribute for the "SSMLGroup" class is given in Table 2.5.8.4.

Table 2.5.8.4 Description of the "phoneme" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name phoneme
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The phoneme tag provides a phonemic/phonetic pronunciation for the contained text. The phoneme tag may be empty. However, it is recommended that the tag contain human-readable text that can be used for non-spoken rendering of the document. For example, the content may be displayed visually for users with hearing impairments.

2.5.8.5 "sub" Attribute Description

The description of the "sub" attribute for the "SSMLGroup" class is given in Table 2.5.8.5.

Table 2.5.8.5 Description of the "sub" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name sub
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The 'sub' tag is employed to indicate that the text in the alias attribute value replaces the contained text for pronunciation. This allows a document to contain both a spoken and written form.

2.5.8.6 "voice" Attribute Description

The description of the "voice" attribute for the "SSMLGroup" class is given in Table 2.5.8.6.

Table 2.5.8.6 Description of the "voice" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name voice
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The 'voice' tag is a production element that requests a change in speaking voice.

2.5.8.7 "emphasis" Attribute Description

The description of the "emphasis" attribute for the "SSMLGroup" class is given in Table 2.5.8.7.

Table 2.5.8.7 Description of the "emphasis" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name emphasis
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The emphasis tag requests that the contained text be spoken with emphasis (also referred to as prominence or stress). The synthesis processor determines how to render emphasis since the nature of emphasis differs between languages, dialects or even voices.

2.5.8.8 "break" Attribute Description

The description of the "break" attribute for the "SSMLGroup" class is given in Table 2.5.8.8.

Table 2.5.8.8 Description of the "break" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name break
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The 'break' tag is an empty tag that controls the pausing or other prosodic boundaries between words. The use of the break tag between any pair of words is optional. If the tag is not present between words, the synthesis processor is expected to automatically determine a break based on the linguistic context. In practice, the break tag is most often used to override the typical automatic behavior of a synthesis processor.

2.5.8.9 "prosody" Attribute Description

The description of the "prosody" attribute for the "SSMLGroup" class is given in Table 2.5.8.9.

Table 2.5.8.9 Description of the "prosody" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name prosody
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The 'prosody' tag permits control of the pitch, speaking rate and volume of the speech output.

2.5.8.10 "mark" Attribute Description

The description of the "mark" attribute for the "SSMLGroup" class is given in Table 2.5.8.10.

Table 2.5.8.10 Description of the "mark" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name mark
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. A 'mark' tag is an empty tag that places a marker into the text/tag sequence.

2.5.8.11 "audio" Attribute Description

The description of the "audio" attribute for the "SSMLGroup" class is given in Table 2.5.8.11.

Table 2.5.8.11 Description of the "audio" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name audio
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The 'audio' tag supports the insertion of recorded audio files and the insertion of other audio formats in conjunction with synthesized speech output. The audio tag may be empty. If the audio tag is not empty then the contents should be the marked-up text to be spoken if the audio document is not available. The alternate content may include text, speech markup, desc tags, or other audio tags.

2.5.8.12 "speak" Attribute Description

The description of the "speak" attribute for the "SSMLGroup" class is given in Table 2.5.8.12.

Table 2.5.8.12 Description of the "speak" attribute for the "SSMLGroup" class.
Descriptor Definition
Attribute Name speak
Data Type SSMLv1p1
Value Space Imported
Scope Global ("+")
Multiplicity [1]
Description This is one of the SSML annotation attributes. The 'speak' tag is the root for the markup annotation.

2.6. DerivedClass Descriptions

All of the derived data classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.2.

2.6.1 AriaLevelInteger Class Description

The data model for the "AriaLevelInteger" class is shown in Figure 2.6.1 and the accompanying definition in Table 2.6.1.

UML diagram of the AriaLevelInteger class.

Figure 2.6.1 - AriaLevelInteger class definitions.

Table 2.6.1 Description of the "AriaLevelInteger" class.
Descriptor Definition
Class Name AriaLevelInteger
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description Defines the datatype for the 'aria-level' property. This is an integer that must be '1' or greater.

2.6.1.1 "minInclusive" Attribute Description

The description of the "minInclusive" attribute for the "AriaLevelInteger" class is given in Table 2.6.1.

Table 2.6.1 Description of the "minInclusive" attribute for the "AriaLevelInteger" class.
Descriptor Definition
Attribute Name minInclusive
Data Type Integer (Primitive-type)
Value Space See Appendix A1.3.
Default = "1".
Scope Local ("-")
Multiplicity [1]
Description Constrains the value to be at least '1'.

2.6.2 BaseHTML5Empty Class Description

The data model for the "BaseHTML5Empty" class is shown in Figure 2.6.2 and the accompanying definition in Table 2.6.2.

UML diagram of the BaseHTML5Empty class.

Figure 2.6.2 - BaseHTML5Empty class definitions.

Table 2.6.2 Description of the "BaseHTML5Empty" class.
Descriptor Definition
Class Name BaseHTML5Empty
Class Type Container [ DerivedType ]
Parents There are no parent classes.
Derived Classes The set of derived classes are:
Super Classes The set of classes from which this class is derived:
Characteristics The set of characteristics are:
Children There are no children.
Description This is the base class for the HTML5 features that have no children tags i.e. must be empty. This consists of a set of children characteristics.

2.6.2.1 "id" Characteristic Description

The description of the "id" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.1.

Table 2.6.2.1 Description of the "id" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name id
Data Type UniqueIdentifier
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0..1]
Description The unique identifier assigned to the HTML tag. This must be unique otherwise features such as the APIP accessibilty text cannot be supplied as an alternative.

2.6.2.2 "language" Characteristic Description

The description of the "language" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.2.

Table 2.6.2.2 Description of the "language" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name language
Data Type Language (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This attribute specifies the primary language for the tag's contents and for any of the tag's characeristics that contain text. Its value must be a valid BCP 47 language tag, or the empty string. Setting the attribute to the empty string indicates that the primary language is unknown.

2.6.2.3 "title" Characteristic Description

The description of the "title" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.3.

Table 2.6.2.3 Description of the "title" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name title
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The title attribute represents advisory information for the tag, such as would be appropriate for a tooltip. On a link, this could be the title or a description of the target resource; on an image, it could be the image credit or a description of the image; on a paragraph, it could be a footnote or commentary on the text; on a citation, it could be further information about the source; on interactive content, it could be a label for, or instructions for, use of the tag; and so forth. The value is text.

2.6.2.4 "label" Characteristic Description

The description of the "label" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.4.

Table 2.6.2.4 Description of the "label" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name label
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description The label characteristic represents information for the tag that can be used to identify it or its functionality, such as would be appropriate for a tooltip. The value is text.

2.6.2.5 "class" Characteristic Description

The description of the "class" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.5.

Table 2.6.2.5 Description of the "class" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name class
Data Type StringList
Value Space The list consist of values of data-type(s): String (Primitive-type)
Scope Global ("+")
Multiplicity [0..1]
Description Every HTML tag may have a class characteristic specified. If specified, it must have a value that is a set of space-separated tokens representing the various classes to which the tag belongs.

2.6.2.6 "dir" Characteristic Description

The description of the "dir" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.6.

Table 2.6.2.6 Description of the "dir" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name dir
Data Type DirValue
Value Space Enumerated value set of: { ltr | rtl | auto }
Default = "auto".
Scope Global ("+")
Multiplicity [0..1]
Description Specifies the tag's text directionality.

2.6.2.7 "role" Characteristic Description

The description of the "role" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.7.

Table 2.6.2.7 Description of the "role" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name role
Data Type ARIARoleValue
Value Space Enumerated value set of: { article | columnheader | definition | directory | document | group | heading | img | list | listitem | math | note | presentation | region | row | rowgroup | rowheader | separator | toolbar | button | checkbox | gridcell | link | log | option | radio | slider | spinbutton | status | tab | tabpanel | textbox | timer | listbox | radiogroup | tablist | complementary | contentinfo }
Scope Global ("+")
Multiplicity [0..1]
Description This is the ARIA role. Roles are defined and described by their characteristics. Characteristics define the structural function of a role, such as what a role is, concepts behind it, and what instances the role can or must contain.

2.6.2.8 "aria-controls" Characteristic Description

The description of the "aria-controls" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.8.

Table 2.6.2.8 Description of the "aria-controls" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-controls
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. This identifies the tag (or tags) whose contents or presence are controlled by the current tag.

2.6.2.9 "aria-describedby" Characteristic Description

The description of the "aria-describedby" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.9.

Table 2.6.2.9 Description of the "aria-describedby" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-describedby
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Identifies the tag (or tags) that describes the object.

2.6.2.10 "aria-flowto" Characteristic Description

The description of the "aria-flowto" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.10.

Table 2.6.2.10 Description of the "aria-flowto" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-flowto
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Identifies the next tag (or tags) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order.

2.6.2.11 "aria-label" Characteristic Description

The description of the "aria-label" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.11.

Table 2.6.2.11 Description of the "aria-label" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-label
Data Type NormalizedString (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Defines a string value that labels the current tag. See related aria-labelledby. The purpose of aria-label is the same as that of aria-labelledby. It provides the user with a recognizable name of the object.

2.6.2.12 "aria-labelledby" Characteristic Description

The description of the "aria-labelledby" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.12.

Table 2.6.2.12 Description of the "aria-labelledby" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-labelledby
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Identifies the tag (or tags) that labels the current element. See related aria-label and aria-describedby. The purpose of aria-labelledby is the same as that of aria-label. It provides the user with a recognizable name of the object. The most common accessibility API mapping for a label is the accessible name property. If the label text is visible on screen, authors SHOULD use aria-labelledby and SHOULD NOT use aria-label. Use aria-label only if the interface is such that it is not possible to have a visible label on the screen. As required by the text alternative computation, user agents give precedence to aria-labelledby over aria-label when computing the accessible name property. The aria-labelledby attribute is similar to aria-describedby in that both reference other elements to calculate a text alternative, but a label should be concise, where a description is intended to provide more verbose information.

2.6.2.13 "aria-level" Characteristic Description

The description of the "aria-level" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.13.

Table 2.6.2.13 Description of the "aria-level" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-level
Data Type AriaLevelInteger
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Defines the hierarchical level of an tag within a structure. This can be applied inside trees to tree items, to headings inside a document, to nested grids, nested tablists and to other structural items that may appear inside a container or participate in an ownership hierarchy. The value for aria-level is an integer greater than or equal to 1.

2.6.2.14 "aria-live" Characteristic Description

The description of the "aria-live" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.14.

Table 2.6.2.14 Description of the "aria-live" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-live
Data Type ARIALiveValue
Value Space Enumerated value set of: { off | polite | assertive }
Default = "off".
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Indicates that a tag will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. The values of this characteristic are expressed in degrees of importance. When regions are specified as polite, assistive technologies will notify users of updates but generally do not interrupt the current task, and updates take low priority. When regions are specified as assertive, assistive technologies will immediately notify the user, and could potentially clear the speech queue of previous updates.

2.6.2.15 "aria-orientation" Characteristic Description

The description of the "aria-orientation" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.15.

Table 2.6.2.15 Description of the "aria-orientation" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-orientation
Data Type ARIAOrientationValue
Value Space Enumerated value set of: { vertical | horizontal }
Default = "horizontal".
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. Indicates whether the tag and orientation is horizontal or vertical.

2.6.2.16 "aria-owns" Characteristic Description

The description of the "aria-owns" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.16.

Table 2.6.2.16 Description of the "aria-owns" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name aria-owns
Data Type IDREFS (Primitive-type)
Value Space See Appendix A1.3.
Scope Global ("+")
Multiplicity [0..1]
Description This is a part of the ARIA annotation. See related aria-controls. The value of the aria-owns characteristic is a space-separated list of IDREFS that reference one or more tags in the document by ID.

2.6.2.17 "dataExtension" Characteristic Description

The description of the "dataExtension" characteristic for the "BaseHTML5Empty" class is given in Table 2.6.2.17.

Table 2.6.2.17 Description of the "dataExtension" characteristic for the "BaseHTML5Empty" class.
Descriptor Definition
Characteristic Name dataExtension
Data Type DataHTML5Extension
Value Space Container [ DerivedType ]
Scope Global ("+")
Multiplicity [0.. unbounded]
Description This is the HTML5 extension characteristic. A custom data characteristic is an characteristic in no namespace whose name starts with the string 'data-', has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.

2.6.3 DataHTML5Extension Class Description

The data model for the "DataHTML5Extension" class is shown in Figure 2.6.3 and the accompanying definition in Table 2.6.3.

UML diagram of the DataHTML5Extension class.

Figure 2.6.3 - DataHTML5Extension class definitions.

Table 2.6.3 Description of the "DataHTML5Extension" class.
Descriptor Definition
Class Name DataHTML5Extension
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description This data-type is used to define a constrained extension. The extension is in no namespace but has a name that starts with the string 'data-', has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.

2.6.3.1 "pattern" Attribute Description

The description of the "pattern" attribute for the "DataHTML5Extension" class is given in Table 2.6.3.

Table 2.6.3 Description of the "pattern" attribute for the "DataHTML5Extension" class.
Descriptor Definition
Attribute Name pattern
Data Type String (Primitive-type)
Value Space See Appendix A1.3.
Default = "(data-)[a-z|A-Z|0-9|-|.|_]+".
Scope Local ("-")
Multiplicity [1]
Description This is the pattern that defines the regular expression for the name of the attrubute. It is a the string starting with 'data-', has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters.

2.6.4 MimeType Class Description

The data model for the "MimeType" class is shown in Figure 2.6.4 and the accompanying definition in Table 2.6.4.

UML diagram of the MimeType class.

Figure 2.6.4 - MimeType class definitions.

Table 2.6.4 Description of the "MimeType" class.
Descriptor Definition
Class Name MimeType
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children The set of children attributes are:
Description The set of mime types (type and subtype), as defined by [RFC 2045].

2.6.4.1 "pattern" Attribute Description

The description of the "pattern" attribute for the "MimeType" class is given in Table 2.6.4.

Table 2.6.4 Description of the "pattern" attribute for the "MimeType" class.
Descriptor Definition
Attribute Name pattern
Data Type String (Primitive-type)
Value Space See Appendix A1.3.
Default = "[\p{IsBasicLatin}-[()<>@,;:\\"/\[\]?=]]+/[\p{IsBasicLatin}-[()<>@,;:\\"/\[\]?=]]+".
Scope Local ("-")
Multiplicity [1]
Description Defines the regular expression for a mimeType value.

2.6.5 URL Class Description

The data model for the "URL" class is shown in Figure 2.6.5 and the accompanying definition in Table 2.6.5.

UML diagram of the URL class.

Figure 2.6.5 - URL class definitions.

Table 2.6.5 Description of the "URL" class.
Descriptor Definition
Class Name URL
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description This is a Uniform Resource Locator as defined in [RFC 1738].

2.6.6 UniqueIdentifier Class Description

The data model for the "UniqueIdentifier" class is shown in Figure 2.6.6 and the accompanying definition in Table 2.6.6.

UML diagram of the UniqueIdentifier class.

Figure 2.6.6 - UniqueIdentifier class definitions.

Table 2.6.6 Description of the "UniqueIdentifier" class.
Descriptor Definition
Class Name UniqueIdentifier
Class Type Container [ DerivedType ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description This is a unique identifier i.e. it must be unique within the structure being exchanged. An identifier is simply a logical reference to another object in the item, such as an itemVariable or choice. An identifier is a string of characters that must start with a Letter or an underscore ('_') and contain only Letters, underscores, hyphens ('-'), period ('.', a.k.a. full-stop), Digits, CombiningChars and Extenders. Identifiers containing the period character are reserved for use in prefixing, as described in the definition of variable. The character classes Letter, Digit, CombiningChar and Extender are defined in the Extensible Markup Language (XML) 1.0 (Second Edition) [XML, 00]. Note particularly that identifiers may not contain the colon (':') character. Identifiers should have no more than 32 characters for compatibility with version 1. They are always compared case-sensitively.

2.7. Enumerated Vocabularies

All of the enumerated vocabularies used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.4.

2.7.1 ARIALiveValue Vocabulary Description

The vocabulary for the 'aria-live' property. This denotes the nature of the types of updates.The data model for the "ARIALiveValue" enumerated class is shown in Figure 2.7.1 and the accompanying vocabulary definition in Table 2.7.1.

UML diagram of the ARIALiveValue class.

Figure 2.7.1 - ARIALiveValue class definitions.

Table 2.7.1 Description of the "ARIALiveValue" enumerated vocabulary terms.
Term Definition
assertive This information has the highest priority and assistive technologies SHOULD notify the user immediately. Because an interruption may disorient users or cause them to not complete their current task, authors SHOULD NOT use the assertive value unless the interruption is imperative.
off Updates to the region will not be presented to the user unless the assistive technology is currently focused on that region. This is the default value for the 'aria-live' property.
polite (Background change) Assistive technologies SHOULD announce updates at the next graceful opportunity, such as at the end of speaking the current sentence or when the user pauses typing.

2.7.2 ARIAOrientationValue Vocabulary Description

The vocabulary for the 'aria-orientation' property i.e. for the orientation of the associated element.The data model for the "ARIAOrientationValue" enumerated class is shown in Figure 2.7.2 and the accompanying vocabulary definition in Table 2.7.2.

UML diagram of the ARIAOrientationValue class.

Figure 2.7.2 - ARIAOrientationValue class definitions.

Table 2.7.2 Description of the "ARIAOrientationValue" enumerated vocabulary terms.
Term Definition
horizontal The tag is oriented horizontally.
vertical The tag is oriented vertically.

2.7.3 ARIARoleValue Vocabulary Description

The set of permitted values for the 'aria-roles' property (this is a subset of the full ARIA vocabulary i.e. the terms relevant to QTI).The data model for the "ARIARoleValue" enumerated class is shown in Figure 2.7.3 and the accompanying vocabulary definition in Table 2.7.3.

UML diagram of the ARIARoleValue class.

Figure 2.7.3 - ARIARoleValue class definitions.

Table 2.7.3 Description of the "ARIARoleValue" enumerated vocabulary terms.
Term Definition
article A section of a page that consists of a composition that forms an independent part of a document, page, or site.
button An input that allows for user-triggered actions when clicked or pressed. See related link.
checkbox A checkable input that has three possible values: true, false, or mixed.
columnheader A cell containing header information for a column.
complementary A supporting section of the document, designed to be complementary to the main content at a similar level in the DOM hierarchy, but remains meaningful when separated from the main content.
contentinfo A large perceivable region that contains information about the parent document.
definition A definition of a term or concept.
directory A list of references to members of a group, such as a static table of contents.
document A region containing related information that is declared as document content, as opposed to a web application.
gridcell A cell in a grid or treegrid.
group A set of user interface objects which are not intended to be included in a page summary or table of contents by assistive technologies.
heading A heading for a section of the page.
img A container for a collection of elements that form an image.
link An interactive reference to an internal or external resource that, when activated, causes the user agent to navigate to that resource. See related button.
list A group of non-interactive list items. See related listbox.
listbox A widget that allows the user to select one or more items from a list of choices. See related combobox and list.
listitem A single item in a list or directory.
log A type of live region where new information is added in meaningful order and old information may disappear. See related marquee.
math Content that represents a mathematical expression.
note A section whose content is parenthetic or ancillary to the main content of the resource.
option A selectable item in a select list.
presentation An element whose implicit native role semantics will not be mapped to the accessibility API.
radio A checkable input in a group of radio roles, only one of which can be checked at a time.
radiogroup A group of radio buttons.
region A large perceivable section of a web page or document, that is important enough to be included in a page summary or table of contents, for example, an area of the page containing live sporting event statistics.
row A row of cells in a grid.
rowgroup A group containing one or more row elements in a grid.
rowheader A cell containing header information for a row in a grid.
separator A divider that separates and distinguishes sections of content or groups of menuitems.
slider A user input where the user selects a value from within a given range.
spinbutton A form of range that expects the user to select from among discrete choices.
status A container whose content is advisory information for the user but is not important enough to justify an alert, often but not necessarily presented as a status bar. See related alert.
tab A grouping label providing a mechanism for selecting the tab content that is to be rendered to the user.
tablist A list of tab elements, which are references to tabpanel elements.
tabpanel A container for the resources associated with a tab, where each tab is contained in a tablist.
textbox Input that allows free-form text as its value.
timer A type of live region containing a numerical counter which indicates an amount of elapsed time from a start point, or the time remaining until an end point.
toolbar A collection of commonly used function buttons or controls represented in compact visual form.

2.7.4 CORSSettings Vocabulary Description

The permitted vocabulary for CORS settings for the 'crossorigin' attribute for the media elements in HTML5.The data model for the "CORSSettings" enumerated class is shown in Figure 2.7.4 and the accompanying vocabulary definition in Table 2.7.4.

UML diagram of the CORSSettings class.

Figure 2.7.4 - CORSSettings class definitions.

Table 2.7.4 Description of the "CORSSettings" enumerated vocabulary terms.
Term Definition
anonymous Cross-origin CORS requests for the element will have the omit credentials flag set.
use-credentials Cross-origin CORS requests for the element will not have the omit credentials flag set.

2.7.5 DirValue Vocabulary Description

The permitted vocabulary for the direction of the content presented as part of the HTML5 'bdi' tag.The data model for the "DirValue" enumerated class is shown in Figure 2.7.5 and the accompanying vocabulary definition in Table 2.7.5.

UML diagram of the DirValue class.

Figure 2.7.5 - DirValue class definitions.

Table 2.7.5 Description of the "DirValue" enumerated vocabulary terms.
Term Definition
auto Indicates that the contents of the element are explicitly directionally isolated text, but that the direction is to be determined programmatically using the contents of the element (as described below).
ltr Indicates that the contents of the element are explicitly directionally isolated left-to-right text.
rtl Indicates that the contents of the element are explicitly directionally isolated right-to-left text.

2.7.6 KindValue Vocabulary Description

The permitted vocabulary for the 'kind' charateristic used with the HTML5 tags such as 'track'.The data model for the "KindValue" enumerated class is shown in Figure 2.7.6 and the accompanying vocabulary definition in Table 2.7.6.

UML diagram of the KindValue class.

Figure 2.7.6 - KindValue class definitions.

Table 2.7.6 Description of the "KindValue" enumerated vocabulary terms.
Term Definition
captions Transcription or translation of the dialogue, sound effects, relevant musical cues, and other relevant audio information, suitable for when sound is unavailable or not clearly audible (e.g. because it is muted, drowned-out by ambient noise, or because the user is deaf). Overlaid on the video; labeled as appropriate for the hard-of-hearing.
chapters Chapter titles, intended to be used for navigating the media resource. Displayed as an interactive (potentially nested) list in the user agent's interface.
descriptions Textual descriptions of the video component of the media resource, intended for audio synthesis when the visual component is obscured, unavailable, or not usable (e.g. because the user is interacting with the application without a screen while driving, or because the user is blind). Synthesized as audio.
metadata Tracks intended for use from script. Not displayed by the user agent.
subtitles Transcription or translation of the dialogue, suitable for when the sound is available but not understood (e.g. because the user does not understand the language of the media resource's audio track). Overlaid on the video.

2.7.7 PreLoadValue Vocabulary Description

The vocabulary for the 'preload' attribute used on the media-based HTML5 tags e.g. 'audio', etc.The data model for the "PreLoadValue" enumerated class is shown in Figure 2.7.7 and the accompanying vocabulary definition in Table 2.7.7.

UML diagram of the PreLoadValue class.

Figure 2.7.7 - PreLoadValue class definitions.

Table 2.7.7 Description of the "PreLoadValue" enumerated vocabulary terms.
Term Definition
auto Hints to the user agent that the user agent can put the user's needs first without risk to the server, up to and including optimistically downloading the entire resource.
metadata Hints to the user agent that the author does not expect the user to need the media resource, but that fetching the resource metadata (dimensions, track list, duration, etc), and maybe even the first few frames, is reasonable. If the user agent precisely fetches no more than the metadata, then the media element will end up with its readyState attribute set to HAVE_METADATA; typically though, some frames will be obtained as well and it will probably be HAVE_CURRENT_DATA or HAVE_FUTURE_DATA. When the media resource is playing, hints to the user agent that bandwidth is to be considered scarce, e.g. suggesting throttling the download so that the media data is obtained at the slowest possible rate that still maintains consistent playback.
none Hints to the user agent that either the author does not expect the user to need the media resource, or that the server wants to minimize unnecessary traffic. This state does not provide a hint regarding how aggressively to actually download the media resource if buffering starts anyway (e.g. once the user hits 'play').

2.8. List Class Descriptions

The set of list classes used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.2.

2.8.1 StringList Class Description

The data model for the "StringList" class is shown in Figure 2.8.1 and the accompanying definition in Table 2.8.1.

UML diagram of the StringList class.

Figure 2.8.1 - StringList class definitions.

Table 2.8.1 Description of the "StringList" class.
Descriptor Definition
Class Name StringList
Class Type Container [ List ]
Parents The set of parent classes are:
Derived Classes There are no derived classes.
Super Classes The set of classes from which this class is derived:
Characteristics There are no characteristics.
Children There are no children.
Description The StringList is a list of Strings i.e. an unordered list of strings separated by spaces (a string must NOT contain a space). Each string is of primitiveType String.

2.9. Imported Class Descriptions

The set of imported classes (the classes that are referenced in this Information Model but defined in another separate Information Model) used within this Information Model are described in this Section. The syntax and semantics for this representation is described in Appendix A1.6.

2.9.1 Include Class Description

The details for the "Include" class are shown in Table 2.9.1.

Table 2.9.1 Description of the "Include" imported class.
Descriptor Definition
Import Class Name Include
Parent Classes The set of parent classes, and the associated children, that use this imported class are:
Description This denotes the XInclude specification. This is used to enable XML fragments to be included within the content layout.

2.9.2 MathML2 Class Description

The details for the "MathML2" class are shown in Table 2.9.2.

Table 2.9.2 Description of the "MathML2" imported class.
Descriptor Definition
Import Class Name MathML2
Parent Classes The set of parent classes, and the associated children, that use this imported class are:
Description This denotes the MathML 2 specification. This is used to enable mathematical expressions to be defined using a standardised markup language. This refers to MathML version 2.

2.9.3 MathML3 Class Description

The details for the "MathML3" class are shown in Table 2.9.3.

Table 2.9.3 Description of the "MathML3" imported class.
Descriptor Definition
Import Class Name MathML3
Parent Classes The set of parent classes, and the associated children, that use this imported class are:
Description This denotes the MathML 3.0 specification. This is used to enable mathematical expressions to be defined using a standardised markup language. This refers to MathML version 3.0.

2.9.4 QTIv2p2 Class Description

The details for the "QTIv2p2" class are shown in Table 2.9.4.

Table 2.9.4 Description of the "QTIv2p2" imported class.
Descriptor Definition
Import Class Name QTIv2p2
Parent Classes The set of parent classes, and the associated children, that use this imported class are:
Description This refers to the core QTI Assessment, Section and Item (ASI) standard. This enables the appropriate subset of the QTI to be used in this HTML5 context. It is a subset of the HTML features within the QTI ASI that are used within this HTML5 conetxt.

2.9.5 SSMLv1p1 Class Description

The details for the "SSMLv1p1" class are shown in Table 2.9.5.

Table 2.9.5 Description of the "SSMLv1p1" imported class.
Descriptor Definition
Import Class Name SSMLv1p1
Parent Classes The set of parent classes, and the associated children, that use this imported class are:
Description This denotes the Speech Synthesis Markup Language (SSML) standard. This allows all of the mark-up feaures to be for annotating the text content appropriately. This refers to SSMLv1.1. SSML is part of a larger set of markup specifications for voice browsers developed through the open processes of the W3C. It is designed to provide a rich, XML-based markup language for assisting the generation of synthetic speech in Web and other applications. The essential role of the markup language is to give authors of synthesizable content a standard way to control aspects of speech output such as pronunciation, volume, pitch, rate, etc. across different synthesis-capable platforms.

toc | top

3. XSD Binding

3.1. XSD Binding Overview

The XSD binding is described using a set of tables derived from the UML representation and a set of XML code snippets. The binding description consists of:

An explanation of the structure and terms used XSD binding tables is given in Appendix B.

3.2. UML to XSD Mapping Rules

3.2.1 Root Attribute UML/XSD Mapping

The UML/XSD Mapping for the UML Root Attributes to the XSD Root Elements is given in Table 3.2.1. The syntax and semantics for this representation is described in Appendix B1.1.

Table 3.2.1 UML/XSD Mapping for the Root Attributes.
Attribute Name UML Class XSD Name XSD Type XSD Data Type
article Article article Element Article.Type
aside Aside aside Element Aside.Type
audio Audio audio Element Audio.Type
bdi BDI bdi Element BDI.Type
figcaption FigCaption figcaption Element FigCaption.Type
figure Figure figure Element Figure.Type
footer Footer footer Element Footer.Type
header Header header Element Header.Type
label Label label Element Label.Type
nav Nav nav Element Nav.Type
rb RB rb Element RB.Type
rp RP rp Element RP.Type
rt RT rt Element RT.Type
rtc RTC rtc Element RTC.Type
ruby Ruby ruby Element Ruby.Type
section Section section Element Section.Type
source Source source Element Source.Type
track Track track Element Track.Type
video Video video Element Video.Type

3.2.2 Root Class UML/XSD Mapping

The syntax and semantics for the Root Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.2.1 Article Root Class Mapping

The UML/XSD Mapping for the "Article" Root Class is given in Table 3.2.2.1.

Table 3.2.2.1 UML/XSD Mapping for the "Article" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Article Root Container [ Sequence ] - N/A - Article.Type ComplexType
  • math
Attribute [ Imported (MathML2) ] XOR [0.. *]
[1]
m2:math Element (Global)
  • math
Attribute [ Imported (MathML3) ] XOR [0.. *]
[1]
m3:math Element (Global)
  • include
Attribute [ Imported (Include) ] XOR [0.. *]
[1]
xi:include Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.2 Aside Root Class Mapping

The UML/XSD Mapping for the "Aside" Root Class is given in Table 3.2.2.2.

Table 3.2.2.2 UML/XSD Mapping for the "Aside" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Aside Root Container [ Sequence ] - N/A - Aside.Type ComplexType
  • math
Attribute [ Imported (MathML2) ] XOR [0.. *]
[1]
m2:math Element (Global)
  • math
Attribute [ Imported (MathML3) ] XOR [0.. *]
[1]
m3:math Element (Global)
  • include
Attribute [ Imported (Include) ] XOR [0.. *]
[1]
xi:include Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.3 Audio Root Class Mapping

The UML/XSD Mapping for the "Audio" Root Class is given in Table 3.2.2.3.

Table 3.2.2.3 UML/XSD Mapping for the "Audio" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Audio Root Container [ Sequence ] - N/A - Audio.Type ComplexType
  • src
Characteristic DT: URL (PT: NormalizedString) [0..1] src Attribute (Global)
  • crossorigin
Characteristic [ Enumeration (CORSSettings) ] [0..1] crossorigin Attribute (Global)
  • preload
Characteristic [ Enumeration (PreLoadValue) ] [0..1] preload Attribute (Global)
  • autoplay
Characteristic PT: Boolean [0..1] autoplay Attribute (Global)
  • mediagroup
Characteristic PT: NormalizedString [0..1] mediagroup Attribute (Global)
  • loop
Characteristic PT: Boolean [0..1] loop Attribute (Global)
  • muted
Characteristic PT: Boolean [0..1] muted Attribute (Global)
  • controls
Characteristic PT: Boolean [0..1] controls Attribute (Global)
  • source
Attribute Source [0.. *] source Element (Global)
  • track
Attribute Track [0.. *] track Element (Global)

3.2.2.4 BDI Root Class Mapping

The UML/XSD Mapping for the "BDI" Root Class is given in Table 3.2.2.4.

Table 3.2.2.4 UML/XSD Mapping for the "BDI" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
BDI Root Container [ Sequence ] - N/A - BDI.Type ComplexType
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.5 FigCaption Root Class Mapping

The UML/XSD Mapping for the "FigCaption" Root Class is given in Table 3.2.2.5.

Table 3.2.2.5 UML/XSD Mapping for the "FigCaption" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
FigCaption Root Container [ Sequence ] - N/A - FigCaption.Type ComplexType
  • math
Attribute [ Imported (MathML2) ] XOR [0.. *]
[1]
m2:math Element (Global)
  • math
Attribute [ Imported (MathML3) ] XOR [0.. *]
[1]
m3:math Element (Global)
  • include
Attribute [ Imported (Include) ] XOR [0.. *]
[1]
xi:include Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.6 Figure Root Class Mapping

The UML/XSD Mapping for the "Figure" Root Class is given in Table 3.2.2.6.

Table 3.2.2.6 UML/XSD Mapping for the "Figure" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Figure Root Container [ Unordered ] - N/A - Figure.Type ComplexType
  • figcaption
Attribute FigCaption [0..1] figcaption Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.7 Footer Root Class Mapping

The UML/XSD Mapping for the "Footer" Root Class is given in Table 3.2.2.7.

Table 3.2.2.7 UML/XSD Mapping for the "Footer" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Footer Root Container [ Sequence ] - N/A - Footer.Type ComplexType
  • math
Attribute [ Imported (MathML2) ] XOR [0.. *]
[1]
m2:math Element (Global)
  • math
Attribute [ Imported (MathML3) ] XOR [0.. *]
[1]
m3:math Element (Global)
  • include
Attribute [ Imported (Include) ] XOR [0.. *]
[1]
xi:include Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.8 Header Root Class Mapping

The UML/XSD Mapping for the "Header" Root Class is given in Table 3.2.2.8.

Table 3.2.2.8 UML/XSD Mapping for the "Header" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Header Root Container [ Sequence ] - N/A - Header.Type ComplexType
  • math
Attribute [ Imported (MathML2) ] XOR [0.. *]
[1]
m2:math Element (Global)
  • math
Attribute [ Imported (MathML3) ] XOR [0.. *]
[1]
m3:math Element (Global)
  • include
Attribute [ Imported (Include) ] XOR [0.. *]
[1]
xi:include Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.9 Label Root Class Mapping

The UML/XSD Mapping for the "Label" Root Class is given in Table 3.2.2.9.

Table 3.2.2.9 UML/XSD Mapping for the "Label" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Label Root Container [ Sequence ] - N/A - Label.Type ComplexType
  • math
Attribute [ Imported (MathML2) ] XOR [0.. *]
[1]
m2:math Element (Global)
  • math
Attribute [ Imported (MathML3) ] XOR [0.. *]
[1]
m3:math Element (Global)
  • include
Attribute [ Imported (Include) ] XOR [0.. *]
[1]
xi:include Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.10 Nav Root Class Mapping

The UML/XSD Mapping for the "Nav" Root Class is given in Table 3.2.2.10.

Table 3.2.2.10 UML/XSD Mapping for the "Nav" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Nav Root Container [ Sequence ] - N/A - Nav.Type ComplexType
  • math
Attribute [ Imported (MathML2) ] XOR [0.. *]
[1]
m2:math Element (Global)
  • math
Attribute [ Imported (MathML3) ] XOR [0.. *]
[1]
m3:math Element (Global)
  • include
Attribute [ Imported (Include) ] XOR [0.. *]
[1]
xi:include Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.11 RB Root Class Mapping

The UML/XSD Mapping for the "RB" Root Class is given in Table 3.2.2.11.

Table 3.2.2.11 UML/XSD Mapping for the "RB" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
RB Root Container [ Sequence ] - N/A - RB.Type ComplexType
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)

3.2.2.12 RP Root Class Mapping

The UML/XSD Mapping for the "RP" Root Class is given in Table 3.2.2.12.

Table 3.2.2.12 UML/XSD Mapping for the "RP" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
RP Root Container [ Sequence ] - N/A - RP.Type ComplexType
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)

3.2.2.13 RT Root Class Mapping

The UML/XSD Mapping for the "RT" Root Class is given in Table 3.2.2.13.

Table 3.2.2.13 UML/XSD Mapping for the "RT" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
RT Root Container [ Sequence ] - N/A - RT.Type ComplexType
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)

3.2.2.14 RTC Root Class Mapping

The UML/XSD Mapping for the "RTC" Root Class is given in Table 3.2.2.14.

Table 3.2.2.14 UML/XSD Mapping for the "RTC" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
RTC Root Container [ Selection ] - N/A - RTC.Type ComplexType
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • rt
Attribute RT [0.. *] rt Element (Global)

3.2.2.15 Ruby Root Class Mapping

The UML/XSD Mapping for the "Ruby" Root Class is given in Table 3.2.2.15.

Table 3.2.2.15 UML/XSD Mapping for the "Ruby" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Ruby Root Container [ Sequence ] - N/A - Ruby.Type ComplexType
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • rb
Attribute RB XOR [1]
[0.. *]
rb Element (Global)
  • rp
Attribute RP XOR [1]
[0..1]
rp Element (Global)
  • rt
Attribute RT XOR [1]
[1]
rt Element (Global)
  • rtc
Attribute RTC XOR [1]
[1]
rtc Element (Global)

3.2.2.16 Section Root Class Mapping

The UML/XSD Mapping for the "Section" Root Class is given in Table 3.2.2.16.

Table 3.2.2.16 UML/XSD Mapping for the "Section" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Section Root Container [ Sequence ] - N/A - Section.Type ComplexType
  • math
Attribute [ Imported (MathML2) ] XOR [0.. *]
[1]
m2:math Element (Global)
  • math
Attribute [ Imported (MathML3) ] XOR [0.. *]
[1]
m3:math Element (Global)
  • include
Attribute [ Imported (Include) ] XOR [0.. *]
[1]
xi:include Element (Global)
  • img
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:img Element (Global)
  • br
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:br Element (Global)
  • object
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:object Element (Global)
  • em
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:em Element (Global)
  • a
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:a Element (Global)
  • code
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:code Element (Global)
  • span
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:span Element (Global)
  • sub
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sub Element (Global)
  • acronym
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:acronym Element (Global)
  • big
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:big Element (Global)
  • tt
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:tt Element (Global)
  • kbd
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:kbd Element (Global)
  • q
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:q Element (Global)
  • i
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:i Element (Global)
  • dfn
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dfn Element (Global)
  • abbr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:abbr Element (Global)
  • strong
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:strong Element (Global)
  • sup
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:sup Element (Global)
  • var
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:var Element (Global)
  • small
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:small Element (Global)
  • samp
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:samp Element (Global)
  • b
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:b Element (Global)
  • cite
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:cite Element (Global)
  • bdo
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:bdo Element (Global)
  • bdi
Attribute BDI XOR [0.. *]
[1]
bdi Element (Global)
  • figure
Attribute Figure XOR [0.. *]
[1]
figure Element (Global)
  • audio
Attribute Audio XOR [0.. *]
[1]
audio Element (Global)
  • video
Attribute Video XOR [0.. *]
[1]
video Element (Global)
  • label
Attribute Label XOR [0.. *]
[1]
label Element (Global)
  • article
Attribute Article XOR [0.. *]
[1]
article Element (Global)
  • aside
Attribute Aside XOR [0.. *]
[1]
aside Element (Global)
  • footer
Attribute Footer XOR [0.. *]
[1]
footer Element (Global)
  • header
Attribute Header XOR [0.. *]
[1]
header Element (Global)
  • nav
Attribute Nav XOR [0.. *]
[1]
nav Element (Global)
  • section
Attribute Section XOR [0.. *]
[1]
section Element (Global)
  • pre
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:pre Element (Global)
  • h1
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h1 Element (Global)
  • h2
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h2 Element (Global)
  • h3
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h3 Element (Global)
  • h4
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h4 Element (Global)
  • h5
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h5 Element (Global)
  • h6
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:h6 Element (Global)
  • p
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:p Element (Global)
  • address
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:address Element (Global)
  • dl
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:dl Element (Global)
  • ol
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ol Element (Global)
  • ul
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:ul Element (Global)
  • hr
Attribute [ Imported (QTIv2p2) ] XOR [0.. *]
[1]
qti:hr Element (Global)
  • p
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:p Element (Global)
  • s
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:s Element (Global)
  • say-as
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:say-as Element (Global)
  • phoneme
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:phoneme Element (Global)
  • sub
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:sub Element (Global)
  • voice
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:voice Element (Global)
  • emphasis
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:emphasis Element (Global)
  • break
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:break Element (Global)
  • prosody
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:prosody Element (Global)
  • mark
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:mark Element (Global)
  • audio
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:audio Element (Global)
  • speak
Attribute [ Imported (SSMLv1p1) ] XOR [0.. *]
[1]
ssml11:speak Element (Global)
  • ruby
Attribute Ruby XOR [0.. *]
[1]
ruby Element (Global)

3.2.2.17 Source Root Class Mapping

The UML/XSD Mapping for the "Source" Root Class is given in Table 3.2.2.17.

Table 3.2.2.17 UML/XSD Mapping for the "Source" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Source Root Container [ Sequence ] - N/A - Source.Type ComplexType
  • src
Characteristic DT: URL (PT: NormalizedString) [1] src Attribute (Global)
  • type
Characteristic DT: MimeType (PT: NormalizedString) [0..1] type Attribute (Global)

3.2.2.18 Track Root Class Mapping

The UML/XSD Mapping for the "Track" Root Class is given in Table 3.2.2.18.

Table 3.2.2.18 UML/XSD Mapping for the "Track" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Track Root Container [ Sequence ] - N/A - Track.Type ComplexType
  • kind
Characteristic [ Enumeration (KindValue) ] [0..1] kind Attribute (Global)
  • src
Characteristic DT: URL (PT: NormalizedString) [1] src Attribute (Global)
  • srclang
Characteristic PT: NormalizedString [0..1] srclang Attribute (Global)
  • default
Characteristic PT: Boolean [0..1] default Attribute (Global)

3.2.2.19 Video Root Class Mapping

The UML/XSD Mapping for the "Video" Root Class is given in Table 3.2.2.19.

Table 3.2.2.19 UML/XSD Mapping for the "Video" Root Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
Video Root Container [ Sequence ] - N/A - Video.Type ComplexType
  • src
Characteristic DT: URL (PT: NormalizedString) [0..1] src Attribute (Global)
  • crossorigin
Characteristic [ Enumeration (CORSSettings) ] [0..1] crossorigin Attribute (Global)
  • preload
Characteristic [ Enumeration (PreLoadValue) ] [0..1] preload Attribute (Global)
  • autoplay
Characteristic PT: Boolean [0..1] autoplay Attribute (Global)
  • mediagroup
Characteristic PT: NormalizedString [0..1] mediagroup Attribute (Global)
  • loop
Characteristic PT: Boolean [0..1] loop Attribute (Global)
  • muted
Characteristic PT: Boolean [0..1] muted Attribute (Global)
  • controls
Characteristic PT: Boolean [0..1] controls Attribute (Global)
  • poster
Characteristic DT: URL (PT: NormalizedString) [0..1] poster Attribute (Global)
  • width
Characteristic PT: NonNegativeInteger [0..1] width Attribute (Global)
  • height
Characteristic PT: NonNegativeInteger [0..1] height Attribute (Global)
  • source
Attribute Source [0.. *] source Element (Global)
  • track
Attribute Track [0.. *] track Element (Global)

3.2.3 Class UML/XSD Mapping

The syntax and semantics for the Data Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.3.1 BaseHTML5 Class Mapping

The UML/XSD Mapping for the "BaseHTML5" Class is given in Table 3.2.3.1.

Table 3.2.3.1 UML/XSD Mapping for the "BaseHTML5" Core Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
BaseHTML5 Core Container [ Sequence ] - N/A - BaseHTML5.Type ComplexType
  • id
Characteristic DT: UniqueIdentifier (PT: ID) [0..1] id Attribute (Global)
  • language
Characteristic PT: Language [0..1] xml:lang Attribute (Global)
  • title
Characteristic PT: NormalizedString [0..1] title Attribute (Global)
  • label
Characteristic PT: NormalizedString [0..1] label Attribute (Global)
  • class
Characteristic [ List (StringList) ] [0..1] class Attribute (Global)
  • dir
Characteristic [ Enumeration (DirValue) ] [0..1] dir Attribute (Global)
  • role
Characteristic [ Enumeration (ARIARoleValue) ] [0..1] role Attribute (Global)
  • aria-controls
Characteristic PT: IDREFS [0..1] aria-controls Attribute (Global)
  • aria-describedby
Characteristic PT: IDREFS [0..1] aria-describedby Attribute (Global)
  • aria-flowto
Characteristic PT: IDREFS [0..1] aria-flowto Attribute (Global)
  • aria-label
Characteristic PT: NormalizedString [0..1] aria-label Attribute (Global)
  • aria-labelledby
Characteristic PT: IDREFS [0..1] aria-labelledby Attribute (Global)
  • aria-level
Characteristic DT: AriaLevelInteger (PT: Integer) [0..1] aria-level Attribute (Global)
  • aria-live
Characteristic [ Enumeration (ARIALiveValue) ] [0..1] aria-live Attribute (Global)
  • aria-orientation
Characteristic [ Enumeration (ARIAOrientationValue) ] [0..1] aria-orientation Attribute (Global)
  • aria-owns
Characteristic PT: IDREFS [0..1] aria-owns Attribute (Global)
  • dataExtension
Characteristic DT: DataHTML5Extension (PT: AnyTypeLax) [0..*] dataExtension Attribute (Global)

3.2.4 Derived UML/XSD Mapping

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.1 AriaLevelInteger Derived Class Mapping

The UML/XSD Mapping for the "AriaLevelInteger" Derived Class is given in Table 3.2.4.1.

Table 3.2.4.1 UML/XSD Mapping for the "AriaLevelInteger" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
AriaLevelInteger Derived PT: Integer - N/A - AriaLevelInteger.Type SimpleType
  • minInclusive
Attribute PT: Integer [1] [ No XML instance visibility ] Restriction (MinInclusive) on the Primitive Type.

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.2 BaseHTML5Empty Derived Class Mapping

The UML/XSD Mapping for the "BaseHTML5Empty" Derived Class is given in Table 3.2.4.2.

Table 3.2.4.2 UML/XSD Mapping for the "BaseHTML5Empty" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
BaseHTML5Empty Derived PT: Empty - N/A - BaseHTML5Empty.Type ComplexType
  • id
Characteristic DT: UniqueIdentifier (PT: ID) [0..1] id Attribute (Global)
  • language
Characteristic PT: Language [0..1] xml:lang Attribute (Global)
  • title
Characteristic PT: NormalizedString [0..1] title Attribute (Global)
  • label
Characteristic PT: NormalizedString [0..1] label Attribute (Global)
  • class
Characteristic [ List (StringList) ] [0..1] class Attribute (Global)
  • dir
Characteristic [ Enumeration (DirValue) ] [0..1] dir Attribute (Global)
  • role
Characteristic [ Enumeration (ARIARoleValue) ] [0..1] role Attribute (Global)
  • aria-controls
Characteristic PT: IDREFS [0..1] aria-controls Attribute (Global)
  • aria-describedby
Characteristic PT: IDREFS [0..1] aria-describedby Attribute (Global)
  • aria-flowto
Characteristic PT: IDREFS [0..1] aria-flowto Attribute (Global)
  • aria-label
Characteristic PT: NormalizedString [0..1] aria-label Attribute (Global)
  • aria-labelledby
Characteristic PT: IDREFS [0..1] aria-labelledby Attribute (Global)
  • aria-level
Characteristic DT: AriaLevelInteger (PT: Integer) [0..1] aria-level Attribute (Global)
  • aria-live
Characteristic [ Enumeration (ARIALiveValue) ] [0..1] aria-live Attribute (Global)
  • aria-orientation
Characteristic [ Enumeration (ARIAOrientationValue) ] [0..1] aria-orientation Attribute (Global)
  • aria-owns
Characteristic PT: IDREFS [0..1] aria-owns Attribute (Global)
  • dataExtension
Characteristic DT: DataHTML5Extension (PT: AnyTypeLax) [0..*] dataExtension Attribute (Global)

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.3 DataHTML5Extension Derived Class Mapping

The UML/XSD Mapping for the "DataHTML5Extension" Derived Class is given in Table 3.2.4.3.

Table 3.2.4.3 UML/XSD Mapping for the "DataHTML5Extension" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
DataHTML5Extension Derived PT: AnyTypeLax - N/A - [ No XML instance visibility ] There is no equivalent derived complexType. This is a logical class that is used to identify a namespace constraint.
  • pattern
Attribute PT: String [1] [ No XML instance visibility ] Restriction (Pattern) on the Primitive Type.

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.4 MimeType Derived Class Mapping

The UML/XSD Mapping for the "MimeType" Derived Class is given in Table 3.2.4.4.

Table 3.2.4.4 UML/XSD Mapping for the "MimeType" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
MimeType Derived PT: NormalizedString - N/A - MimeType.Type SimpleType
  • pattern
Attribute PT: String [1] [ No XML instance visibility ] Restriction (Pattern) on the Primitive Type.

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.5 URL Derived Class Mapping

The UML/XSD Mapping for the "URL" Derived Class is given in Table 3.2.4.5.

Table 3.2.4.5 UML/XSD Mapping for the "URL" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
URL Derived PT: NormalizedString - N/A - URL.Type SimpleType

The syntax and semantics for the Derived Class UML/XSD mapping representations is described in Appendix B1.2.

3.2.4.6 UniqueIdentifier Derived Class Mapping

The UML/XSD Mapping for the "UniqueIdentifier" Derived Class is given in Table 3.2.4.6.

Table 3.2.4.6 UML/XSD Mapping for the "UniqueIdentifier" Derived Class.
Information Model Details XSD Binding Details
Name UML Artefact Data Type Multiplicity Name Type
UniqueIdentifier Derived PT: ID - N/A - UniqueIdentifier.Type SimpleType

3.2.5 Enumerated Class UML/XSD Mapping

The definition of the set of enumerated data-types used in this specification is given in Table 3.2.5. The syntax and semantics for the Enumerated Class UML/XSD mapping representations is described in Appendix B1.3.

Table 3.2.5 The UML/XSD Map Enumerated Class Definitions.
Enumeration Class Name Description
ARIALiveValue Enumerated value set of: { off | polite | assertive }.
ARIAOrientationValue Enumerated value set of: { vertical | horizontal }.
ARIARoleValue Enumerated value set of: { article | columnheader | definition | directory | document | group | heading | img | list | listitem | math | note | presentation | region | row | rowgroup | rowheader | separator | toolbar | button | checkbox | gridcell | link | log | option | radio | slider | spinbutton | status | tab | tabpanel | textbox | timer | listbox | radiogroup | tablist | complementary | contentinfo }.
CORSSettings Enumerated value set of: { anonymous | use-credentials }.
DirValue Enumerated value set of: { ltr | rtl | auto }.
KindValue Enumerated value set of: { subtitles | captions | descriptions | chapters | metadata }.
PreLoadValue Enumerated value set of: { none | auto | metadata }.

3.2.6 Enumerated List Class UML/XSD Mapping

There are no enumerated list class definitions.

3.2.7 List Class UML/XSD Mapping

The definition of the set of list data-types used in this specification is given in Table 3.2.7. The syntax and semantics for the List Class UML/XSD mapping representations is described in Appendix B1.4.

Table 3.2.7 The UML/XSD Map List Class Definitions.
List Class Name Description
StringList This is a list of values each of data-type: String

3.2.8 Union Class UML/XSD Mapping

There are no union class definitions.

3.2.9 Primitive Type UML/XSD Mapping

The definition of the set of primitive data-types used in this specification is given in Table 3.2.9. The syntax and semantics for the Primitive Type UML/XSD mapping representations is described in Appendix B1.5.

Table 3.2.9 The UML/XSD Map Primitive Type Definitions.
Primitive Type Name Description
AnyTypeLax This allows any extension in any namespace. When the extension is applied to elements the XSD code is:
<xs:group name="grpAnyLax.any">
    <xs:annotation>
        <xs:documentation>
            Any namespaced element from any namespace may be included within an "any" element.
            The namespace for the imported element must be defined in the instance, and the schema must be imported.
            The extension has a definition of "lax" i.e. validation is not required if the XSD for the extension is not available.
        </xs:documentation>
    </xs:annotation>
    <xs:sequence>
        <xs:any namespace = "##any" processContents = "lax" minOccurs = "0" maxOccurs = "unbounded" />
    </xs:sequence>
</xs:group>
                    
The XSD code for the extension of attributes is:
<xs:anyAttribute namespace = "##any" processContents = "lax" />
                    
Boolean This is mapped to the XML "xs:boolean" data-type.
Empty This is used to denote an element that will not contain a value i.e. it is empty. Within the XSD a Special Data-type is declared called "EmptyPrimitiveType.Type". This ensures that the associated element has NO children (but it will have XML attributes). The XSD code is:
<xs:complexType name="EmptyPrimitiveType.Type">
    <xs:complexContent>
        <xs:restriction base="xs:anyType" />
    </xs:complexContent>
</xs:complexType>
                    
ID This is mapped to the XML "xs:ID" data-type. This is only permitted for XML attributes.
IDREFS This is mapped to the XML "xs:IDREFS" data-type. This is only permitted for XML attributes.
Integer This is mapped to the XML "xs:integer" data-type.
Language This is mapped to the "xml:language" structure. This is used to indicate the associated language.
NonNegativeInteger This is mapped to the XML "xs:nonNegativeInteger" data-type.
NormalizedString This is mapped to the XML "xs:normalizedString" data-type.
String This is mapped to the XML "xs:string" data-type.

3.3. XSD Files and Namespaces

3.3.1 Target Namespace Details

Target Namespace: http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Schema Location: http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqtiv2p2p1_html5_v1p0.xsd

3.3.2 Imported Namespace Details

Feature: Include
Namespace: http://www.w3.org/2001/XInclude
Schema Location: http://www.imsglobal.org/xsd/w3/2001/XInclude.xsd
Prefix: xi

Feature: MathML2
Namespace: http://www.w3.org/1998/Math/MathML
Schema Location: http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd
Prefix: m2

Feature: MathML3
Namespace: http://www.w3.org/2010/Math/MathML
Schema Location: http://www.imsglobal.org/xsd/w3/Math/XMLSchema/mathml3/mathml3.xsd
Prefix: m3

Feature: QTIv2p2
Namespace: http://www.imsglobal.org/xsd/imsqti_v2p2
Schema Location: http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd
Prefix: qti

Feature: SSMLv1p1
Namespace: http://www.w3.org/2010/10/synthesis
Schema Location: http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd
Prefix: ssml11

3.3.3 Implicit Namespace Details

Feature: XSD Language
Namespace: http://www.w3.org/2001/XMLSchema
Schema Location: XML Processor Resolved.
Prefix: xs

Feature: XML Features
Namespace: http://www.w3.org/XML/1998/namespace
Schema Location: http://www.imsglobal.org/xsd/w3/2001/xml.xsd
Prefix: xml

Feature: Schematron Rules
Namespace: http://purl.oclc.org/dsdl/schematron
Schema Location: Schematron Processor Resolved.
Prefix: sch

3.4. Description of the XSD

3.4.1 Root Element Descriptions

The syntax and semantics for the Root Element XSD representations is described in Appendix B1.6.

3.4.1.1 "article" Root Element Description

The XSD description for the "article" Root Element is given in Table 3.4.1.1.

Table 3.4.1.1 XSD description for the "article" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the article root element.
Type Article.Type
Type Hierarchy BaseHTML5.Type
^---Article.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="article" type="Article.Type" />

3.4.1.2 "aside" Root Element Description

The XSD description for the "aside" Root Element is given in Table 3.4.1.2.

Table 3.4.1.2 XSD description for the "aside" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aside root element.
Type Aside.Type
Type Hierarchy BaseHTML5.Type
^---Aside.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="aside" type="Aside.Type" />

3.4.1.3 "audio" Root Element Description

The XSD description for the "audio" Root Element is given in Table 3.4.1.3.

Table 3.4.1.3 XSD description for the "audio" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the audio root element.
Type Audio.Type
Type Hierarchy BaseHTML5.Type
^---Audio.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model source{0..*}, track{0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
src URL.Type No Global Optional -
crossorigin [ Enumeration ] No Global Optional -
preload [ Enumeration ] No Global Optional metadata
autoplay xs:boolean No Global Optional -
mediagroup xs:normalizedString No Global Optional -
loop xs:boolean No Global Optional -
muted xs:boolean No Global Optional -
controls xs:boolean No Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="audio" type="Audio.Type" />

3.4.1.4 "bdi" Root Element Description

The XSD description for the "bdi" Root Element is given in Table 3.4.1.4.

Table 3.4.1.4 XSD description for the "bdi" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the bdi root element.
Type BDI.Type
Type Hierarchy BaseHTML5.Type
^---BDI.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="bdi" type="BDI.Type" />

3.4.1.5 "figcaption" Root Element Description

The XSD description for the "figcaption" Root Element is given in Table 3.4.1.5.

Table 3.4.1.5 XSD description for the "figcaption" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the figcaption root element.
Type FigCaption.Type
Type Hierarchy BaseHTML5.Type
^---FigCaption.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Figure.Type
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="figcaption" type="FigCaption.Type" />

3.4.1.6 "figure" Root Element Description

The XSD description for the "figure" Root Element is given in Table 3.4.1.6.

Table 3.4.1.6 XSD description for the "figure" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the figure root element.
Type Figure.Type
Type Hierarchy BaseHTML5.Type
^---Figure.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model figcaption{0..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
Unordered Class figcaption
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Explicit Rules RULE_SET_GENERAL-RULE GENERAL 1-Assertion 1: "qh5:figcaption[position()=1 or position()=last()]"
Source
<xs:element name="figure" type="Figure.Type" />

3.4.1.7 "footer" Root Element Description

The XSD description for the "footer" Root Element is given in Table 3.4.1.7.

Table 3.4.1.7 XSD description for the "footer" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the footer root element.
Type Footer.Type
Type Hierarchy BaseHTML5.Type
^---Footer.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="footer" type="Footer.Type" />

3.4.1.8 "header" Root Element Description

The XSD description for the "header" Root Element is given in Table 3.4.1.8.

Table 3.4.1.8 XSD description for the "header" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the header root element.
Type Header.Type
Type Hierarchy BaseHTML5.Type
^---Header.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="header" type="Header.Type" />

3.4.1.9 "label" Root Element Description

The XSD description for the "label" Root Element is given in Table 3.4.1.9.

Table 3.4.1.9 XSD description for the "label" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the label root element.
Type Label.Type
Type Hierarchy BaseHTML5.Type
^---Label.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="label" type="Label.Type" />

3.4.1.10 "nav" Root Element Description

The XSD description for the "nav" Root Element is given in Table 3.4.1.10.

Table 3.4.1.10 XSD description for the "nav" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the nav root element.
Type Nav.Type
Type Hierarchy BaseHTML5.Type
^---Nav.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="nav" type="Nav.Type" />

3.4.1.11 "rb" Root Element Description

The XSD description for the "rb" Root Element is given in Table 3.4.1.11.

Table 3.4.1.11 XSD description for the "rb" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the rb root element.
Type RB.Type
Type Hierarchy BaseHTML5.Type
^---RB.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Ruby.Type
Model ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="rb" type="RB.Type" />

3.4.1.12 "rp" Root Element Description

The XSD description for the "rp" Root Element is given in Table 3.4.1.12.

Table 3.4.1.12 XSD description for the "rp" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the rp root element.
Type RP.Type
Type Hierarchy BaseHTML5.Type
^---RP.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Ruby.Type
Model ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="rp" type="RP.Type" />

3.4.1.13 "rt" Root Element Description

The XSD description for the "rt" Root Element is given in Table 3.4.1.13.

Table 3.4.1.13 XSD description for the "rt" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the rt root element.
Type RT.Type
Type Hierarchy BaseHTML5.Type
^---RT.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes RTC.Type, Ruby.Type
Model ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="rt" type="RT.Type" />

3.4.1.14 "rtc" Root Element Description

The XSD description for the "rtc" Root Element is given in Table 3.4.1.14.

Table 3.4.1.14 XSD description for the "rtc" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the rtc root element.
Type RTC.Type
Type Hierarchy BaseHTML5.Type
^---RTC.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Ruby.Type
Model ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*} | rt{0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="rtc" type="RTC.Type" />

3.4.1.15 "ruby" Root Element Description

The XSD description for the "ruby" Root Element is given in Table 3.4.1.15.

Table 3.4.1.15 XSD description for the "ruby" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the ruby root element.
Type Ruby.Type
Type Hierarchy BaseHTML5.Type
^---Ruby.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model ( ( ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*} | rb{0..*} ){1..1} | ( rp{0..1} | ( rt{1..1} | rtc{1..1} ){1..1} ){1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="ruby" type="Ruby.Type" />

3.4.1.16 "section" Root Element Description

The XSD description for the "section" Root Element is given in Table 3.4.1.16.

Table 3.4.1.16 XSD description for the "section" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the section root element.
Type Section.Type
Type Hierarchy BaseHTML5.Type
^---Section.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="section" type="Section.Type" />

3.4.1.17 "source" Root Element Description

The XSD description for the "source" Root Element is given in Table 3.4.1.17.

Table 3.4.1.17 XSD description for the "source" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the source root element.
Type Source.Type
Type Hierarchy BaseHTML5Empty.Type
^---Source.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Audio.Type, Video.Type
Model Empty
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
src URL.Type No Global Required -
type MimeType.Type No Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="source" type="Source.Type" />

3.4.1.18 "track" Root Element Description

The XSD description for the "track" Root Element is given in Table 3.4.1.18.

Table 3.4.1.18 XSD description for the "track" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the track root element.
Type Track.Type
Type Hierarchy BaseHTML5Empty.Type
^---Track.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Audio.Type, Video.Type
Model Empty
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
kind [ Enumeration ] No Global Optional subtitles
src URL.Type No Global Required -
srclang xs:normalizedString No Global Optional -
default xs:boolean No Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="track" type="Track.Type" />

3.4.1.19 "video" Root Element Description

The XSD description for the "video" Root Element is given in Table 3.4.1.19.

Table 3.4.1.19 XSD description for the "video" Root Element.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the video root element.
Type Video.Type
Type Hierarchy BaseHTML5.Type
^---Video.Type
Properties
Content simple
MinOccurs 1
MaxOccurs 1
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model source{0..*}, track{0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
src URL.Type No Global Optional -
crossorigin [ Enumeration ] No Global Optional -
preload [ Enumeration ] No Global Optional metadata
autoplay xs:boolean No Global Optional -
mediagroup xs:normalizedString No Global Optional -
loop xs:boolean No Global Optional -
muted xs:boolean No Global Optional -
controls xs:boolean No Global Optional -
poster URL.Type No Global Optional -
width xs:nonNegativeInteger No Global Optional -
height xs:nonNegativeInteger No Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:element name="video" type="Video.Type" />

3.4.2 Global Element Descriptions

The syntax and semantics for the Global Element XSD representations is described in Appendix B1.6.

3.4.2.1 "qti:a" Global Element Description

The XSD description for the "qti:a" Global Element is given in Table 3.4.2.1.

Table 3.4.2.1 XSD description for the "qti:a" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the a global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.2 "qti:abbr" Global Element Description

The XSD description for the "qti:abbr" Global Element is given in Table 3.4.2.2.

Table 3.4.2.2 XSD description for the "qti:abbr" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the abbr global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.3 "qti:acronym" Global Element Description

The XSD description for the "qti:acronym" Global Element is given in Table 3.4.2.3.

Table 3.4.2.3 XSD description for the "qti:acronym" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the acronym global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.4 "qti:address" Global Element Description

The XSD description for the "qti:address" Global Element is given in Table 3.4.2.4.

Table 3.4.2.4 XSD description for the "qti:address" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the address global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.5 "ssml11:audio" Global Element Description

The XSD description for the "ssml11:audio" Global Element is given in Table 3.4.2.5.

Table 3.4.2.5 XSD description for the "ssml11:audio" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the audio global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.6 "qti:b" Global Element Description

The XSD description for the "qti:b" Global Element is given in Table 3.4.2.6.

Table 3.4.2.6 XSD description for the "qti:b" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the b global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.7 "qti:bdo" Global Element Description

The XSD description for the "qti:bdo" Global Element is given in Table 3.4.2.7.

Table 3.4.2.7 XSD description for the "qti:bdo" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the bdo global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.8 "qti:big" Global Element Description

The XSD description for the "qti:big" Global Element is given in Table 3.4.2.8.

Table 3.4.2.8 XSD description for the "qti:big" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the big global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.9 "qti:br" Global Element Description

The XSD description for the "qti:br" Global Element is given in Table 3.4.2.9.

Table 3.4.2.9 XSD description for the "qti:br" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the br global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.10 "ssml11:break" Global Element Description

The XSD description for the "ssml11:break" Global Element is given in Table 3.4.2.10.

Table 3.4.2.10 XSD description for the "ssml11:break" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the break global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.11 "qti:cite" Global Element Description

The XSD description for the "qti:cite" Global Element is given in Table 3.4.2.11.

Table 3.4.2.11 XSD description for the "qti:cite" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the cite global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.12 "qti:code" Global Element Description

The XSD description for the "qti:code" Global Element is given in Table 3.4.2.12.

Table 3.4.2.12 XSD description for the "qti:code" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the code global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.13 "qti:dfn" Global Element Description

The XSD description for the "qti:dfn" Global Element is given in Table 3.4.2.13.

Table 3.4.2.13 XSD description for the "qti:dfn" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the dfn global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.14 "qti:dl" Global Element Description

The XSD description for the "qti:dl" Global Element is given in Table 3.4.2.14.

Table 3.4.2.14 XSD description for the "qti:dl" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the dl global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.15 "qti:em" Global Element Description

The XSD description for the "qti:em" Global Element is given in Table 3.4.2.15.

Table 3.4.2.15 XSD description for the "qti:em" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the em global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.16 "ssml11:emphasis" Global Element Description

The XSD description for the "ssml11:emphasis" Global Element is given in Table 3.4.2.16.

Table 3.4.2.16 XSD description for the "ssml11:emphasis" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the emphasis global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.17 "qti:h1" Global Element Description

The XSD description for the "qti:h1" Global Element is given in Table 3.4.2.17.

Table 3.4.2.17 XSD description for the "qti:h1" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the h1 global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.18 "qti:h2" Global Element Description

The XSD description for the "qti:h2" Global Element is given in Table 3.4.2.18.

Table 3.4.2.18 XSD description for the "qti:h2" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the h2 global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.19 "qti:h3" Global Element Description

The XSD description for the "qti:h3" Global Element is given in Table 3.4.2.19.

Table 3.4.2.19 XSD description for the "qti:h3" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the h3 global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.20 "qti:h4" Global Element Description

The XSD description for the "qti:h4" Global Element is given in Table 3.4.2.20.

Table 3.4.2.20 XSD description for the "qti:h4" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the h4 global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.21 "qti:h5" Global Element Description

The XSD description for the "qti:h5" Global Element is given in Table 3.4.2.21.

Table 3.4.2.21 XSD description for the "qti:h5" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the h5 global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.22 "qti:h6" Global Element Description

The XSD description for the "qti:h6" Global Element is given in Table 3.4.2.22.

Table 3.4.2.22 XSD description for the "qti:h6" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the h6 global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.23 "qti:hr" Global Element Description

The XSD description for the "qti:hr" Global Element is given in Table 3.4.2.23.

Table 3.4.2.23 XSD description for the "qti:hr" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the hr global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.24 "qti:i" Global Element Description

The XSD description for the "qti:i" Global Element is given in Table 3.4.2.24.

Table 3.4.2.24 XSD description for the "qti:i" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the i global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.25 "qti:img" Global Element Description

The XSD description for the "qti:img" Global Element is given in Table 3.4.2.25.

Table 3.4.2.25 XSD description for the "qti:img" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the img global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.26 "xi:include" Global Element Description

The XSD description for the "xi:include" Global Element is given in Table 3.4.2.26.

Table 3.4.2.26 XSD description for the "xi:include" Global Element.
Namespace http://www.w3.org/2001/XInclude
Diagram XSD diagram of the include global element.
Type [ Imported ( Include ) ]
Used by
ComplexTypes Article.Type, Aside.Type, FigCaption.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2001/XInclude.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2001/XInclude.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2001/XInclude.xsd).

3.4.2.27 "qti:kbd" Global Element Description

The XSD description for the "qti:kbd" Global Element is given in Table 3.4.2.27.

Table 3.4.2.27 XSD description for the "qti:kbd" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the kbd global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.28 "ssml11:mark" Global Element Description

The XSD description for the "ssml11:mark" Global Element is given in Table 3.4.2.28.

Table 3.4.2.28 XSD description for the "ssml11:mark" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the mark global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.29 "m2:math" Global Element Description

The XSD description for the "m2:math" Global Element is given in Table 3.4.2.29.

Table 3.4.2.29 XSD description for the "m2:math" Global Element.
Namespace http://www.w3.org/1998/Math/MathML
Diagram XSD diagram of the math global element.
Type [ Imported ( MathML2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, FigCaption.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd).
Attributes See import XSD (http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd).
Source See import XSD (http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd).

3.4.2.30 "m3:math" Global Element Description

The XSD description for the "m3:math" Global Element is given in Table 3.4.2.30.

Table 3.4.2.30 XSD description for the "m3:math" Global Element.
Namespace http://www.w3.org/2010/Math/MathML
Diagram XSD diagram of the math global element.
Type [ Imported ( MathML3 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, FigCaption.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/Math/XMLSchema/mathml3/mathml3.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/Math/XMLSchema/mathml3/mathml3.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/Math/XMLSchema/mathml3/mathml3.xsd).

3.4.2.31 "qti:object" Global Element Description

The XSD description for the "qti:object" Global Element is given in Table 3.4.2.31.

Table 3.4.2.31 XSD description for the "qti:object" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the object global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.32 "qti:ol" Global Element Description

The XSD description for the "qti:ol" Global Element is given in Table 3.4.2.32.

Table 3.4.2.32 XSD description for the "qti:ol" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the ol global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.33 "qti:p" Global Element Description

The XSD description for the "qti:p" Global Element is given in Table 3.4.2.33.

Table 3.4.2.33 XSD description for the "qti:p" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the p global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.34 "ssml11:p" Global Element Description

The XSD description for the "ssml11:p" Global Element is given in Table 3.4.2.34.

Table 3.4.2.34 XSD description for the "ssml11:p" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the p global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.35 "ssml11:phoneme" Global Element Description

The XSD description for the "ssml11:phoneme" Global Element is given in Table 3.4.2.35.

Table 3.4.2.35 XSD description for the "ssml11:phoneme" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the phoneme global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.36 "qti:pre" Global Element Description

The XSD description for the "qti:pre" Global Element is given in Table 3.4.2.36.

Table 3.4.2.36 XSD description for the "qti:pre" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the pre global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.37 "ssml11:prosody" Global Element Description

The XSD description for the "ssml11:prosody" Global Element is given in Table 3.4.2.37.

Table 3.4.2.37 XSD description for the "ssml11:prosody" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the prosody global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.38 "qti:q" Global Element Description

The XSD description for the "qti:q" Global Element is given in Table 3.4.2.38.

Table 3.4.2.38 XSD description for the "qti:q" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the q global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.39 "ssml11:s" Global Element Description

The XSD description for the "ssml11:s" Global Element is given in Table 3.4.2.39.

Table 3.4.2.39 XSD description for the "ssml11:s" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the s global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.40 "qti:samp" Global Element Description

The XSD description for the "qti:samp" Global Element is given in Table 3.4.2.40.

Table 3.4.2.40 XSD description for the "qti:samp" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the samp global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.41 "ssml11:say-as" Global Element Description

The XSD description for the "ssml11:say-as" Global Element is given in Table 3.4.2.41.

Table 3.4.2.41 XSD description for the "ssml11:say-as" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the say-as global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.42 "qti:small" Global Element Description

The XSD description for the "qti:small" Global Element is given in Table 3.4.2.42.

Table 3.4.2.42 XSD description for the "qti:small" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the small global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.43 "qti:span" Global Element Description

The XSD description for the "qti:span" Global Element is given in Table 3.4.2.43.

Table 3.4.2.43 XSD description for the "qti:span" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the span global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.44 "ssml11:speak" Global Element Description

The XSD description for the "ssml11:speak" Global Element is given in Table 3.4.2.44.

Table 3.4.2.44 XSD description for the "ssml11:speak" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the speak global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.45 "qti:strong" Global Element Description

The XSD description for the "qti:strong" Global Element is given in Table 3.4.2.45.

Table 3.4.2.45 XSD description for the "qti:strong" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the strong global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.46 "qti:sub" Global Element Description

The XSD description for the "qti:sub" Global Element is given in Table 3.4.2.46.

Table 3.4.2.46 XSD description for the "qti:sub" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the sub global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.47 "ssml11:sub" Global Element Description

The XSD description for the "ssml11:sub" Global Element is given in Table 3.4.2.47.

Table 3.4.2.47 XSD description for the "ssml11:sub" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the sub global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.2.48 "qti:sup" Global Element Description

The XSD description for the "qti:sup" Global Element is given in Table 3.4.2.48.

Table 3.4.2.48 XSD description for the "qti:sup" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the sup global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.49 "qti:tt" Global Element Description

The XSD description for the "qti:tt" Global Element is given in Table 3.4.2.49.

Table 3.4.2.49 XSD description for the "qti:tt" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the tt global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.50 "qti:ul" Global Element Description

The XSD description for the "qti:ul" Global Element is given in Table 3.4.2.50.

Table 3.4.2.50 XSD description for the "qti:ul" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the ul global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.51 "qti:var" Global Element Description

The XSD description for the "qti:var" Global Element is given in Table 3.4.2.51.

Table 3.4.2.51 XSD description for the "qti:var" Global Element.
Namespace http://www.imsglobal.org/xsd/imsqti_v2p2
Diagram XSD diagram of the var global element.
Type [ Imported ( QTIv2p2 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd).

3.4.2.52 "ssml11:voice" Global Element Description

The XSD description for the "ssml11:voice" Global Element is given in Table 3.4.2.52.

Table 3.4.2.52 XSD description for the "ssml11:voice" Global Element.
Namespace http://www.w3.org/2010/10/synthesis
Diagram XSD diagram of the voice global element.
Type [ Imported ( SSMLv1p1 ) ]
Used by
ComplexTypes Article.Type, Aside.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, Section.Type
Model See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Attributes See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).
Source See import XSD (http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd).

3.4.3 Attribute Group Descriptions

The syntax and semantics for the Attribute Group XSD representations is described in Appendix B1.9.

3.4.3.1 "aria-controls.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-controls.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.1.

Table 3.4.3.1 XSD description for the "aria-controls.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-controls.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-controls.BaseHTML5.Attr">
    <xs:attribute name="aria-controls" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.2 "aria-controls.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-controls.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.2.

Table 3.4.3.2 XSD description for the "aria-controls.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-controls.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-controls.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-controls" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.3 "aria-describedby.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-describedby.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.3.

Table 3.4.3.3 XSD description for the "aria-describedby.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-describedby.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-describedby.BaseHTML5.Attr">
    <xs:attribute name="aria-describedby" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.4 "aria-describedby.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-describedby.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.4.

Table 3.4.3.4 XSD description for the "aria-describedby.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-describedby.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-describedby.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-describedby" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.5 "aria-flowto.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-flowto.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.5.

Table 3.4.3.5 XSD description for the "aria-flowto.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-flowto.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-flowto.BaseHTML5.Attr">
    <xs:attribute name="aria-flowto" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.6 "aria-flowto.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-flowto.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.6.

Table 3.4.3.6 XSD description for the "aria-flowto.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-flowto.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-flowto.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-flowto" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.7 "aria-label.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-label.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.7.

Table 3.4.3.7 XSD description for the "aria-label.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-label.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-label.BaseHTML5.Attr">
    <xs:attribute name="aria-label" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.8 "aria-label.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-label.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.8.

Table 3.4.3.8 XSD description for the "aria-label.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-label.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-label.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-label" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.9 "aria-labelledby.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-labelledby.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.9.

Table 3.4.3.9 XSD description for the "aria-labelledby.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-labelledby.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-labelledby.BaseHTML5.Attr">
    <xs:attribute name="aria-labelledby" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.10 "aria-labelledby.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-labelledby.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.10.

Table 3.4.3.10 XSD description for the "aria-labelledby.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-labelledby.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-labelledby.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-labelledby" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.11 "aria-level.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-level.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.11.

Table 3.4.3.11 XSD description for the "aria-level.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-level.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-level.BaseHTML5.Attr">
    <xs:attribute name="aria-level" use="optional" type="AriaLevelInteger.Type" />
</xs:attributeGroup>
                        

3.4.3.12 "aria-level.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-level.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.12.

Table 3.4.3.12 XSD description for the "aria-level.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-level.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-level.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-level" use="optional" type="AriaLevelInteger.Type" />
</xs:attributeGroup>
                        

3.4.3.13 "aria-live.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-live.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.13.

Table 3.4.3.13 XSD description for the "aria-live.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-live.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-live.BaseHTML5.Attr">
    <xs:attribute name="aria-live" use="optional" default="off">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="off" />
                <xs:enumeration value="polite" />
                <xs:enumeration value="assertive" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.14 "aria-live.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-live.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.14.

Table 3.4.3.14 XSD description for the "aria-live.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-live.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-live.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-live" use="optional" default="off">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="off" />
                <xs:enumeration value="polite" />
                <xs:enumeration value="assertive" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.15 "aria-orientation.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-orientation.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.15.

Table 3.4.3.15 XSD description for the "aria-orientation.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-orientation.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-orientation.BaseHTML5.Attr">
    <xs:attribute name="aria-orientation" use="optional" default="horizontal">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="vertical" />
                <xs:enumeration value="horizontal" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.16 "aria-orientation.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-orientation.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.16.

Table 3.4.3.16 XSD description for the "aria-orientation.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-orientation.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-orientation.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-orientation" use="optional" default="horizontal">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="vertical" />
                <xs:enumeration value="horizontal" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.17 "aria-owns.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "aria-owns.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.17.

Table 3.4.3.17 XSD description for the "aria-owns.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-owns.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="aria-owns.BaseHTML5.Attr">
    <xs:attribute name="aria-owns" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.18 "aria-owns.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "aria-owns.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.18.

Table 3.4.3.18 XSD description for the "aria-owns.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the aria-owns.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="aria-owns.BaseHTML5Empty.Attr">
    <xs:attribute name="aria-owns" use="optional" type="xs:IDREFS" />
</xs:attributeGroup>
                        

3.4.3.19 "autoplay.Audio.Attr" Attribute Group Description

The XSD description for the "autoplay.Audio.Attr" Attribute Group is given in Table 3.4.3.19.

Table 3.4.3.19 XSD description for the "autoplay.Audio.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the autoplay.Audio.Attr attribute group.
Used by
Root Elements audio
ComplexTypes Audio.Type
Source
<xs:attributeGroup name="autoplay.Audio.Attr">
    <xs:attribute name="autoplay" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.20 "autoplay.Video.Attr" Attribute Group Description

The XSD description for the "autoplay.Video.Attr" Attribute Group is given in Table 3.4.3.20.

Table 3.4.3.20 XSD description for the "autoplay.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the autoplay.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="autoplay.Video.Attr">
    <xs:attribute name="autoplay" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.21 "class.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "class.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.21.

Table 3.4.3.21 XSD description for the "class.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the class.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="class.BaseHTML5.Attr">
    <xs:attribute name="class" use="optional">
        <xs:simpleType>
            <xs:list itemType="StringList.Type">
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.22 "class.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "class.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.22.

Table 3.4.3.22 XSD description for the "class.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the class.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="class.BaseHTML5Empty.Attr">
    <xs:attribute name="class" use="optional">
        <xs:simpleType>
            <xs:list itemType="StringList.Type">
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.23 "controls.Audio.Attr" Attribute Group Description

The XSD description for the "controls.Audio.Attr" Attribute Group is given in Table 3.4.3.23.

Table 3.4.3.23 XSD description for the "controls.Audio.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the controls.Audio.Attr attribute group.
Used by
Root Elements audio
ComplexTypes Audio.Type
Source
<xs:attributeGroup name="controls.Audio.Attr">
    <xs:attribute name="controls" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.24 "controls.Video.Attr" Attribute Group Description

The XSD description for the "controls.Video.Attr" Attribute Group is given in Table 3.4.3.24.

Table 3.4.3.24 XSD description for the "controls.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the controls.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="controls.Video.Attr">
    <xs:attribute name="controls" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.25 "crossorigin.Audio.Attr" Attribute Group Description

The XSD description for the "crossorigin.Audio.Attr" Attribute Group is given in Table 3.4.3.25.

Table 3.4.3.25 XSD description for the "crossorigin.Audio.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the crossorigin.Audio.Attr attribute group.
Used by
Root Elements audio
ComplexTypes Audio.Type
Source
<xs:attributeGroup name="crossorigin.Audio.Attr">
    <xs:attribute name="crossorigin" use="optional">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="anonymous" />
                <xs:enumeration value="use-credentials" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.26 "crossorigin.Video.Attr" Attribute Group Description

The XSD description for the "crossorigin.Video.Attr" Attribute Group is given in Table 3.4.3.26.

Table 3.4.3.26 XSD description for the "crossorigin.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the crossorigin.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="crossorigin.Video.Attr">
    <xs:attribute name="crossorigin" use="optional">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="anonymous" />
                <xs:enumeration value="use-credentials" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.27 "dataExtension.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "dataExtension.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.27.

Table 3.4.3.27 XSD description for the "dataExtension.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the dataExtension.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:attributeGroup name="dataExtension.BaseHTML5.Attr">
    <xs:anyAttribute namespace = "##any" processContents = "lax" />
</xs:attributeGroup>
                        

3.4.3.28 "dataExtension.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "dataExtension.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.28.

Table 3.4.3.28 XSD description for the "dataExtension.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the dataExtension.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:attributeGroup name="dataExtension.BaseHTML5Empty.Attr">
    <xs:anyAttribute namespace = "##any" processContents = "lax" />
</xs:attributeGroup>
                        

3.4.3.29 "default.Track.Attr" Attribute Group Description

The XSD description for the "default.Track.Attr" Attribute Group is given in Table 3.4.3.29.

Table 3.4.3.29 XSD description for the "default.Track.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the default.Track.Attr attribute group.
Used by
Root Elements track
ComplexTypes Track.Type
Source
<xs:attributeGroup name="default.Track.Attr">
    <xs:attribute name="default" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.30 "dir.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "dir.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.30.

Table 3.4.3.30 XSD description for the "dir.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the dir.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="dir.BaseHTML5.Attr">
    <xs:attribute name="dir" use="optional" default="auto">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="ltr" />
                <xs:enumeration value="rtl" />
                <xs:enumeration value="auto" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.31 "dir.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "dir.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.31.

Table 3.4.3.31 XSD description for the "dir.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the dir.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="dir.BaseHTML5Empty.Attr">
    <xs:attribute name="dir" use="optional" default="auto">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="ltr" />
                <xs:enumeration value="rtl" />
                <xs:enumeration value="auto" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.32 "height.Video.Attr" Attribute Group Description

The XSD description for the "height.Video.Attr" Attribute Group is given in Table 3.4.3.32.

Table 3.4.3.32 XSD description for the "height.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the height.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="height.Video.Attr">
    <xs:attribute name="height" use="optional" type="xs:nonNegativeInteger" />
</xs:attributeGroup>
                        

3.4.3.33 "id.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "id.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.33.

Table 3.4.3.33 XSD description for the "id.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the id.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="id.BaseHTML5.Attr">
    <xs:attribute name="id" use="optional" type="UniqueIdentifier.Type" />
</xs:attributeGroup>
                        

3.4.3.34 "id.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "id.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.34.

Table 3.4.3.34 XSD description for the "id.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the id.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="id.BaseHTML5Empty.Attr">
    <xs:attribute name="id" use="optional" type="UniqueIdentifier.Type" />
</xs:attributeGroup>
                        

3.4.3.35 "kind.Track.Attr" Attribute Group Description

The XSD description for the "kind.Track.Attr" Attribute Group is given in Table 3.4.3.35.

Table 3.4.3.35 XSD description for the "kind.Track.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the kind.Track.Attr attribute group.
Used by
Root Elements track
ComplexTypes Track.Type
Source
<xs:attributeGroup name="kind.Track.Attr">
    <xs:attribute name="kind" use="optional" default="subtitles">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="subtitles" />
                <xs:enumeration value="captions" />
                <xs:enumeration value="descriptions" />
                <xs:enumeration value="chapters" />
                <xs:enumeration value="metadata" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.36 "label.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "label.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.36.

Table 3.4.3.36 XSD description for the "label.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the label.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="label.BaseHTML5.Attr">
    <xs:attribute name="label" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.37 "label.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "label.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.37.

Table 3.4.3.37 XSD description for the "label.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the label.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="label.BaseHTML5Empty.Attr">
    <xs:attribute name="label" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.38 "language.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "language.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.38.

Table 3.4.3.38 XSD description for the "language.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the language.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="language.BaseHTML5.Attr">
    <xs:attribute ref="xml:lang" use="optional" />
</xs:attributeGroup>
                        

3.4.3.39 "language.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "language.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.39.

Table 3.4.3.39 XSD description for the "language.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the language.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="language.BaseHTML5Empty.Attr">
    <xs:attribute ref="xml:lang" use="optional" />
</xs:attributeGroup>
                        

3.4.3.40 "loop.Audio.Attr" Attribute Group Description

The XSD description for the "loop.Audio.Attr" Attribute Group is given in Table 3.4.3.40.

Table 3.4.3.40 XSD description for the "loop.Audio.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the loop.Audio.Attr attribute group.
Used by
Root Elements audio
ComplexTypes Audio.Type
Source
<xs:attributeGroup name="loop.Audio.Attr">
    <xs:attribute name="loop" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.41 "loop.Video.Attr" Attribute Group Description

The XSD description for the "loop.Video.Attr" Attribute Group is given in Table 3.4.3.41.

Table 3.4.3.41 XSD description for the "loop.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the loop.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="loop.Video.Attr">
    <xs:attribute name="loop" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.42 "mediagroup.Audio.Attr" Attribute Group Description

The XSD description for the "mediagroup.Audio.Attr" Attribute Group is given in Table 3.4.3.42.

Table 3.4.3.42 XSD description for the "mediagroup.Audio.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the mediagroup.Audio.Attr attribute group.
Used by
Root Elements audio
ComplexTypes Audio.Type
Source
<xs:attributeGroup name="mediagroup.Audio.Attr">
    <xs:attribute name="mediagroup" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.43 "mediagroup.Video.Attr" Attribute Group Description

The XSD description for the "mediagroup.Video.Attr" Attribute Group is given in Table 3.4.3.43.

Table 3.4.3.43 XSD description for the "mediagroup.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the mediagroup.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="mediagroup.Video.Attr">
    <xs:attribute name="mediagroup" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.44 "muted.Audio.Attr" Attribute Group Description

The XSD description for the "muted.Audio.Attr" Attribute Group is given in Table 3.4.3.44.

Table 3.4.3.44 XSD description for the "muted.Audio.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the muted.Audio.Attr attribute group.
Used by
Root Elements audio
ComplexTypes Audio.Type
Source
<xs:attributeGroup name="muted.Audio.Attr">
    <xs:attribute name="muted" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.45 "muted.Video.Attr" Attribute Group Description

The XSD description for the "muted.Video.Attr" Attribute Group is given in Table 3.4.3.45.

Table 3.4.3.45 XSD description for the "muted.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the muted.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="muted.Video.Attr">
    <xs:attribute name="muted" use="optional" type="xs:boolean" />
</xs:attributeGroup>
                        

3.4.3.46 "poster.Video.Attr" Attribute Group Description

The XSD description for the "poster.Video.Attr" Attribute Group is given in Table 3.4.3.46.

Table 3.4.3.46 XSD description for the "poster.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the poster.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="poster.Video.Attr">
    <xs:attribute name="poster" use="optional" type="URL.Type" />
</xs:attributeGroup>
                        

3.4.3.47 "preload.Audio.Attr" Attribute Group Description

The XSD description for the "preload.Audio.Attr" Attribute Group is given in Table 3.4.3.47.

Table 3.4.3.47 XSD description for the "preload.Audio.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the preload.Audio.Attr attribute group.
Used by
Root Elements audio
ComplexTypes Audio.Type
Source
<xs:attributeGroup name="preload.Audio.Attr">
    <xs:attribute name="preload" use="optional" default="metadata">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="none" />
                <xs:enumeration value="auto" />
                <xs:enumeration value="metadata" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.48 "preload.Video.Attr" Attribute Group Description

The XSD description for the "preload.Video.Attr" Attribute Group is given in Table 3.4.3.48.

Table 3.4.3.48 XSD description for the "preload.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the preload.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="preload.Video.Attr">
    <xs:attribute name="preload" use="optional" default="metadata">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="none" />
                <xs:enumeration value="auto" />
                <xs:enumeration value="metadata" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.49 "role.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "role.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.49.

Table 3.4.3.49 XSD description for the "role.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the role.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="role.BaseHTML5.Attr">
    <xs:attribute name="role" use="optional">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="article" />
                <xs:enumeration value="columnheader" />
                <xs:enumeration value="definition" />
                <xs:enumeration value="directory" />
                <xs:enumeration value="document" />
                <xs:enumeration value="group" />
                <xs:enumeration value="heading" />
                <xs:enumeration value="img" />
                <xs:enumeration value="list" />
                <xs:enumeration value="listitem" />
                <xs:enumeration value="math" />
                <xs:enumeration value="note" />
                <xs:enumeration value="presentation" />
                <xs:enumeration value="region" />
                <xs:enumeration value="row" />
                <xs:enumeration value="rowgroup" />
                <xs:enumeration value="rowheader" />
                <xs:enumeration value="separator" />
                <xs:enumeration value="toolbar" />
                <xs:enumeration value="button" />
                <xs:enumeration value="checkbox" />
                <xs:enumeration value="gridcell" />
                <xs:enumeration value="link" />
                <xs:enumeration value="log" />
                <xs:enumeration value="option" />
                <xs:enumeration value="radio" />
                <xs:enumeration value="slider" />
                <xs:enumeration value="spinbutton" />
                <xs:enumeration value="status" />
                <xs:enumeration value="tab" />
                <xs:enumeration value="tabpanel" />
                <xs:enumeration value="textbox" />
                <xs:enumeration value="timer" />
                <xs:enumeration value="listbox" />
                <xs:enumeration value="radiogroup" />
                <xs:enumeration value="tablist" />
                <xs:enumeration value="complementary" />
                <xs:enumeration value="contentinfo" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.50 "role.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "role.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.50.

Table 3.4.3.50 XSD description for the "role.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the role.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="role.BaseHTML5Empty.Attr">
    <xs:attribute name="role" use="optional">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="article" />
                <xs:enumeration value="columnheader" />
                <xs:enumeration value="definition" />
                <xs:enumeration value="directory" />
                <xs:enumeration value="document" />
                <xs:enumeration value="group" />
                <xs:enumeration value="heading" />
                <xs:enumeration value="img" />
                <xs:enumeration value="list" />
                <xs:enumeration value="listitem" />
                <xs:enumeration value="math" />
                <xs:enumeration value="note" />
                <xs:enumeration value="presentation" />
                <xs:enumeration value="region" />
                <xs:enumeration value="row" />
                <xs:enumeration value="rowgroup" />
                <xs:enumeration value="rowheader" />
                <xs:enumeration value="separator" />
                <xs:enumeration value="toolbar" />
                <xs:enumeration value="button" />
                <xs:enumeration value="checkbox" />
                <xs:enumeration value="gridcell" />
                <xs:enumeration value="link" />
                <xs:enumeration value="log" />
                <xs:enumeration value="option" />
                <xs:enumeration value="radio" />
                <xs:enumeration value="slider" />
                <xs:enumeration value="spinbutton" />
                <xs:enumeration value="status" />
                <xs:enumeration value="tab" />
                <xs:enumeration value="tabpanel" />
                <xs:enumeration value="textbox" />
                <xs:enumeration value="timer" />
                <xs:enumeration value="listbox" />
                <xs:enumeration value="radiogroup" />
                <xs:enumeration value="tablist" />
                <xs:enumeration value="complementary" />
                <xs:enumeration value="contentinfo" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
</xs:attributeGroup>
                        

3.4.3.51 "src.Audio.Attr" Attribute Group Description

The XSD description for the "src.Audio.Attr" Attribute Group is given in Table 3.4.3.51.

Table 3.4.3.51 XSD description for the "src.Audio.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the src.Audio.Attr attribute group.
Used by
Root Elements audio
ComplexTypes Audio.Type
Source
<xs:attributeGroup name="src.Audio.Attr">
    <xs:attribute name="src" use="optional" type="URL.Type" />
</xs:attributeGroup>
                        

3.4.3.52 "src.Source.Attr" Attribute Group Description

The XSD description for the "src.Source.Attr" Attribute Group is given in Table 3.4.3.52.

Table 3.4.3.52 XSD description for the "src.Source.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the src.Source.Attr attribute group.
Used by
Root Elements source
ComplexTypes Source.Type
Source
<xs:attributeGroup name="src.Source.Attr">
    <xs:attribute name="src" use="required" type="URL.Type" />
</xs:attributeGroup>
                        

3.4.3.53 "src.Track.Attr" Attribute Group Description

The XSD description for the "src.Track.Attr" Attribute Group is given in Table 3.4.3.53.

Table 3.4.3.53 XSD description for the "src.Track.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the src.Track.Attr attribute group.
Used by
Root Elements track
ComplexTypes Track.Type
Source
<xs:attributeGroup name="src.Track.Attr">
    <xs:attribute name="src" use="required" type="URL.Type" />
</xs:attributeGroup>
                        

3.4.3.54 "src.Video.Attr" Attribute Group Description

The XSD description for the "src.Video.Attr" Attribute Group is given in Table 3.4.3.54.

Table 3.4.3.54 XSD description for the "src.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the src.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="src.Video.Attr">
    <xs:attribute name="src" use="optional" type="URL.Type" />
</xs:attributeGroup>
                        

3.4.3.55 "srclang.Track.Attr" Attribute Group Description

The XSD description for the "srclang.Track.Attr" Attribute Group is given in Table 3.4.3.55.

Table 3.4.3.55 XSD description for the "srclang.Track.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the srclang.Track.Attr attribute group.
Used by
Root Elements track
ComplexTypes Track.Type
Source
<xs:attributeGroup name="srclang.Track.Attr">
    <xs:attribute name="srclang" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.56 "title.BaseHTML5.Attr" Attribute Group Description

The XSD description for the "title.BaseHTML5.Attr" Attribute Group is given in Table 3.4.3.56.

Table 3.4.3.56 XSD description for the "title.BaseHTML5.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the title.BaseHTML5.Attr attribute group.
Used by
Root Elements bdi, figure, footer, video, audio, article, aside, header, label, nav, section, figcaption, ruby, rt, rb, rp, rtc
ComplexTypes BaseHTML5.Type
Source
<xs:attributeGroup name="title.BaseHTML5.Attr">
    <xs:attribute name="title" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.57 "title.BaseHTML5Empty.Attr" Attribute Group Description

The XSD description for the "title.BaseHTML5Empty.Attr" Attribute Group is given in Table 3.4.3.57.

Table 3.4.3.57 XSD description for the "title.BaseHTML5Empty.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the title.BaseHTML5Empty.Attr attribute group.
Used by
Root Elements source, track
ComplexTypes BaseHTML5Empty.Type
Source
<xs:attributeGroup name="title.BaseHTML5Empty.Attr">
    <xs:attribute name="title" use="optional" type="xs:normalizedString" />
</xs:attributeGroup>
                        

3.4.3.58 "type.Source.Attr" Attribute Group Description

The XSD description for the "type.Source.Attr" Attribute Group is given in Table 3.4.3.58.

Table 3.4.3.58 XSD description for the "type.Source.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the type.Source.Attr attribute group.
Used by
Root Elements source
ComplexTypes Source.Type
Source
<xs:attributeGroup name="type.Source.Attr">
    <xs:attribute name="type" use="optional" type="MimeType.Type" />
</xs:attributeGroup>
                        

3.4.3.59 "width.Video.Attr" Attribute Group Description

The XSD description for the "width.Video.Attr" Attribute Group is given in Table 3.4.3.59.

Table 3.4.3.59 XSD description for the "width.Video.Attr" Attribute Group.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the width.Video.Attr attribute group.
Used by
Root Elements video
ComplexTypes Video.Type
Source
<xs:attributeGroup name="width.Video.Attr">
    <xs:attribute name="width" use="optional" type="xs:nonNegativeInteger" />
</xs:attributeGroup>
                        

3.4.4 Root Complex Type Descriptions

The syntax and semantics for the Root ComplexType XSD representations is described in Appendix B1.7.

3.4.4.1 Article.Type Root Complex Type Description

The XSD description for the "Article.Type" Root ComplexType is given in Table 3.4.4.1.

Table 3.4.4.1 XSD description for the "Article.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'article' tag. The article tag represents a complete, or self-contained, composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content. When article tags are nested, the inner article tags represent articles that are in principle related to the contents of the outer article. For instance, a blog entry on a site that accepts user-submitted comments could represent the comments as article elements nested within the article tag for the blog entry. Author information associated with an article tag (q.v. the address tag) does not apply to nested article tags.
Diagram XSD diagram of the Article root complexType.
Type Hierarchy BaseHTML5.Type
^---Article.Type
Properties
Abstract false
Mixed true
Used by
Root Elements article
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Article.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.2 Aside.Type Root Complex Type Description

The XSD description for the "Aside.Type" Root ComplexType is given in Table 3.4.4.2.

Table 3.4.4.2 XSD description for the "Aside.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'aside' tag. The aside tag represents a section of a page that consists of content that is tangentially related to the content around the aside tag, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography. The tag can be used for typographical effects like pull quotes or sidebars, for advertising, for groups of nav tags, and for other content that is considered separate from the main content of the page.
Diagram XSD diagram of the Aside root complexType.
Type Hierarchy BaseHTML5.Type
^---Aside.Type
Properties
Abstract false
Mixed true
Used by
Root Elements aside
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Aside.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.3 Audio.Type Root Complex Type Description

The XSD description for the "Audio.Type" Root ComplexType is given in Table 3.4.4.3.

Table 3.4.4.3 XSD description for the "Audio.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations The 'audio' tag is an HTML5 feature. An audio tag represents a sound or audio stream. Content may be provided inside the audio tag. User agents should not show this content to the user; it is intended for older Web browsers which do not support audio, so that legacy audio plugins can be tried, or to show text to the users of these older browsers informing them of how to access the audio contents.
Diagram XSD diagram of the Audio root complexType.
Type Hierarchy BaseHTML5.Type
^---Audio.Type
Properties
Abstract false
Mixed false
Used by
Root Elements audio
Model source{0..*}, track{0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
src URL.Type No Global Optional -
crossorigin [ Enumeration ] No Global Optional -
preload [ Enumeration ] No Global Optional metadata
autoplay xs:boolean No Global Optional -
mediagroup xs:normalizedString No Global Optional -
loop xs:boolean No Global Optional -
muted xs:boolean No Global Optional -
controls xs:boolean No Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Audio.Type" abstract="false" mixed="false">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:element ref="source" minOccurs="0" maxOccurs="unbounded" />
                <xs:element ref="track" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
            <xs:attributeGroup ref="src.Audio.Attr" />
            <xs:attributeGroup ref="crossorigin.Audio.Attr" />
            <xs:attributeGroup ref="preload.Audio.Attr" />
            <xs:attributeGroup ref="autoplay.Audio.Attr" />
            <xs:attributeGroup ref="mediagroup.Audio.Attr" />
            <xs:attributeGroup ref="loop.Audio.Attr" />
            <xs:attributeGroup ref="muted.Audio.Attr" />
            <xs:attributeGroup ref="controls.Audio.Attr" />
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.4 BDI.Type Root Complex Type Description

The XSD description for the "BDI.Type" Root ComplexType is given in Table 3.4.4.4.

Table 3.4.4.4 XSD description for the "BDI.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the content for defining bidirectional content. The bdi tag represents a span of text that is to be isolated from its surroundings for the purposes of bidirectional text formatting.
Diagram XSD diagram of the BDI root complexType.
Type Hierarchy BaseHTML5.Type
^---BDI.Type
Properties
Abstract false
Mixed true
Used by
Root Elements bdi
Model ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="BDI.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                    <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.5 FigCaption.Type Root Complex Type Description

The XSD description for the "FigCaption.Type" Root ComplexType is given in Table 3.4.4.5.

Table 3.4.4.5 XSD description for the "FigCaption.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'figcaption' tag. The 'figcaption' element represents a caption or legend for the rest of the contents of the figcaption element's parent figure element, if any.
Diagram XSD diagram of the FigCaption root complexType.
Type Hierarchy BaseHTML5.Type
^---FigCaption.Type
Properties
Abstract false
Mixed true
Used by
Root Elements figcaption
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="FigCaption.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.6 Figure.Type Root Complex Type Description

The XSD description for the "Figure.Type" Root ComplexType is given in Table 3.4.4.6.

Table 3.4.4.6 XSD description for the "Figure.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'figure' tag. The 'figure' tag represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document.
Diagram XSD diagram of the Figure root complexType.
Type Hierarchy BaseHTML5.Type
^---Figure.Type
Properties
Abstract false
Mixed true
Used by
Root Elements figure
Model figcaption{0..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
Unordered Class figcaption
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Figure.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:choice minOccurs = "0" maxOccurs = "unbounded">
                <xs:element ref="figcaption" minOccurs="0" maxOccurs="1" />
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                    <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                </xs:choice>
            </xs:choice>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.7 Footer.Type Root Complex Type Description

The XSD description for the "Footer.Type" Root ComplexType is given in Table 3.4.4.7.

Table 3.4.4.7 XSD description for the "Footer.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'footer' tag. The footer tag represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.
Diagram XSD diagram of the Footer root complexType.
Type Hierarchy BaseHTML5.Type
^---Footer.Type
Properties
Abstract false
Mixed true
Used by
Root Elements footer
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Footer.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.8 Header.Type Root Complex Type Description

The XSD description for the "Header.Type" Root ComplexType is given in Table 3.4.4.8.

Table 3.4.4.8 XSD description for the "Header.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'header' tag. The header tag represents introductory content for its nearest ancestor sectioning content or sectioning root tag. A header typically contains a group of introductory or navigational aids.
Diagram XSD diagram of the Header root complexType.
Type Hierarchy BaseHTML5.Type
^---Header.Type
Properties
Abstract false
Mixed true
Used by
Root Elements header
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Header.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.9 Label.Type Root Complex Type Description

The XSD description for the "Label.Type" Root ComplexType is given in Table 3.4.4.9.

Table 3.4.4.9 XSD description for the "Label.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'label' tag. The label tag represents a caption in a user interface. The caption can be associated with a specific form control, known as the label element's labeled control, either using the for attribute, or by putting the form control inside the label element itself. Except where otherwise specified by the following rules, a label element has no labeled control.
Diagram XSD diagram of the Label root complexType.
Type Hierarchy BaseHTML5.Type
^---Label.Type
Properties
Abstract false
Mixed true
Used by
Root Elements label
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Label.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.10 Nav.Type Root Complex Type Description

The XSD description for the "Nav.Type" Root ComplexType is given in Table 3.4.4.10.

Table 3.4.4.10 XSD description for the "Nav.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'nav' tag. The nav tag represents a section of a page that links to other pages or to parts within the page: a section with navigation links.
Diagram XSD diagram of the Nav root complexType.
Type Hierarchy BaseHTML5.Type
^---Nav.Type
Properties
Abstract false
Mixed true
Used by
Root Elements nav
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Nav.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.11 RB.Type Root Complex Type Description

The XSD description for the "RB.Type" Root ComplexType is given in Table 3.4.4.11.

Table 3.4.4.11 XSD description for the "RB.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This feature is a part of the HTML5 Ruby annotation. The rb tag marks the base text component of a ruby annotation. When it is the child of a ruby tag, it doesn't represent anything itself, but its parent ruby tag uses it as part of determining what it represents.
Diagram XSD diagram of the RB root complexType.
Type Hierarchy BaseHTML5.Type
^---RB.Type
Properties
Abstract false
Mixed true
Used by
Root Elements rb
Model ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="RB.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.12 RP.Type Root Complex Type Description

The XSD description for the "RP.Type" Root ComplexType is given in Table 3.4.4.12.

Table 3.4.4.12 XSD description for the "RP.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This feature is a part of the HTML5 Ruby annotation. The 'rp' tag is used to provide fallback text to be shown by user agents that don't support ruby annotations. One widespread convention is to provide parentheses around the ruby text component of a ruby annotation. The contents of the rp tags are typically not displayed by user agents which do support ruby annotations. An rp tag that is a child of a ruby tag represents nothing. An rp element whose parent tag is not a ruby tag represents its children.
Diagram XSD diagram of the RP root complexType.
Type Hierarchy BaseHTML5.Type
^---RP.Type
Properties
Abstract false
Mixed true
Used by
Root Elements rp
Model ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="RP.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.13 RT.Type Root Complex Type Description

The XSD description for the "RT.Type" Root ComplexType is given in Table 3.4.4.13.

Table 3.4.4.13 XSD description for the "RT.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This feature is a part of the HTML5 Ruby annotation. The 'rt' tag marks the ruby text component of a ruby annotation. When it is the child of a ruby tag or of an rtc tag that is itself the child of a ruby tag, it doesn't represent anything itself, but its ancestor ruby tag uses it as part of determining what it represents.
Diagram XSD diagram of the RT root complexType.
Type Hierarchy BaseHTML5.Type
^---RT.Type
Properties
Abstract false
Mixed true
Used by
Root Elements rt
Model ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="RT.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.14 RTC.Type Root Complex Type Description

The XSD description for the "RTC.Type" Root ComplexType is given in Table 3.4.4.14.

Table 3.4.4.14 XSD description for the "RTC.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This feature is a part of the HTML5 Ruby annotation. The 'rtc' tag marks a ruby text container for ruby text components in a ruby annotation. When it is the child of a ruby tag it doesn't represent anything itself, but its parent ruby tag uses it as part of determining what it represents. An rtc tag that is not a child of a ruby tag represents the same thing as its children.
Diagram XSD diagram of the RTC root complexType.
Type Hierarchy BaseHTML5.Type
^---RTC.Type
Properties
Abstract false
Mixed true
Used by
Root Elements rtc
Model ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*} | rt{0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="RTC.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:choice>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                </xs:choice>
                <xs:element ref="rt" minOccurs="0" maxOccurs="unbounded" />
            </xs:choice>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.15 Ruby.Type Root Complex Type Description

The XSD description for the "Ruby.Type" Root ComplexType is given in Table 3.4.4.15.

Table 3.4.4.15 XSD description for the "Ruby.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This feature is a part of the HTML5 Ruby annotation. The ruby tag allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In Japanese, this form of typography is also known as furigana. Ruby text can appear on either side, and sometimes both sides, of the base text, and it is possible to control its position using CSS.
Diagram XSD diagram of the Ruby root complexType.
Type Hierarchy BaseHTML5.Type
^---Ruby.Type
Properties
Abstract false
Mixed true
Used by
Root Elements ruby
Model ( ( ( qti:a{1..1} | qti:abbr{1..1} | qti:b{1..1} | qti:bdo{1..1} | qti:br{1..1} | qti:cite{1..1} | qti:code{1..1} | qti:dfn{1..1} | qti:em{1..1} | qti:i{1..1} | qti:img{1..1} | qti:kbd{1..1} | qti:object{1..1} | qti:q{1..1} | qti:samp{1..1} | qti:small{1..1} | qti:span{1..1} | qti:strong{1..1} | qti:sub{1..1} | qti:sup{1..1} | qti:var{1..1} | audio{1..1} | bdi{1..1} | label{1..1} | ruby{1..1} | video{1..1} ){0..*} | rb{0..*} ){1..1} | ( rp{0..1} | ( rt{1..1} | rtc{1..1} ){1..1} ){1..1} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Ruby.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:choice minOccurs="1" maxOccurs="1">
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="rb" minOccurs="0" maxOccurs="unbounded" />
                    </xs:choice>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="rp" minOccurs="0" maxOccurs="1" />
                        <xs:choice minOccurs="1" maxOccurs="1">
                            <xs:element ref="rt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="rtc" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.16 Section.Type Root Complex Type Description

The XSD description for the "Section.Type" Root ComplexType is given in Table 3.4.4.16.

Table 3.4.4.16 XSD description for the "Section.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This defines the permitted content for the HTML5 'section' tag. The section tag represents a generic section of a document or application. A section, in this context, is a thematic grouping of content. The theme of each section should be identified, typically by including a heading (h1-h6 tag) as a child of the section tag.
Diagram XSD diagram of the Section root complexType.
Type Hierarchy BaseHTML5.Type
^---Section.Type
Properties
Abstract false
Mixed true
Used by
Root Elements section
Model ( m2:math{1..1} | m3:math{1..1} | xi:include{1..1} | ( qti:img{1..1} | qti:br{1..1} | qti:object{1..1} | qti:em{1..1} | qti:a{1..1} | qti:code{1..1} | qti:span{1..1} | qti:sub{1..1} | qti:acronym{1..1} | qti:big{1..1} | qti:tt{1..1} | qti:kbd{1..1} | qti:q{1..1} | qti:i{1..1} | qti:dfn{1..1} | qti:abbr{1..1} | qti:strong{1..1} | qti:sup{1..1} | qti:var{1..1} | qti:small{1..1} | qti:samp{1..1} | qti:b{1..1} | qti:cite{1..1} | qti:bdo{1..1} | bdi{1..1} | figure{1..1} | audio{1..1} | video{1..1} | label{1..1} | article{1..1} | aside{1..1} | footer{1..1} | header{1..1} | nav{1..1} | section{1..1} | qti:pre{1..1} | qti:h1{1..1} | qti:h2{1..1} | qti:h3{1..1} | qti:h4{1..1} | qti:h5{1..1} | qti:h6{1..1} | qti:p{1..1} | qti:address{1..1} | qti:dl{1..1} | qti:ol{1..1} | qti:ul{1..1} | qti:hr{1..1} | ( ssml11:p{1..1} | ssml11:s{1..1} | ssml11:say-as{1..1} | ssml11:phoneme{1..1} | ssml11:sub{1..1} | ssml11:voice{1..1} | ssml11:emphasis{1..1} | ssml11:break{1..1} | ssml11:prosody{1..1} | ssml11:mark{1..1} | ssml11:audio{1..1} | ssml11:speak{1..1} ){0..*} | ruby{1..1} ){0..*} ){0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Section.Type" abstract="false" mixed="true">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                    <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.17 Source.Type Root Complex Type Description

The XSD description for the "Source.Type" Root ComplexType is given in Table 3.4.4.17.

Table 3.4.4.17 XSD description for the "Source.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations The 'source' tag is an HTML5 feature. The source tag allows authors to specify multiple alternative media resources for media tags. It does not represent anything on its own.
Diagram XSD diagram of the Source root complexType.
Type Hierarchy BaseHTML5Empty.Type
^---Source.Type
Properties
Abstract false
Mixed false
Used by
Root Elements source
Model Empty
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
src URL.Type No Global Required -
type MimeType.Type No Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Source.Type" abstract="false" mixed="false">
    <xs:complexContent>
        <xs:extension base="BaseHTML5Empty.Type">
            <xs:attributeGroup ref="src.Source.Attr" />
            <xs:attributeGroup ref="type.Source.Attr" />
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.18 Track.Type Root Complex Type Description

The XSD description for the "Track.Type" Root ComplexType is given in Table 3.4.4.18.

Table 3.4.4.18 XSD description for the "Track.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations The 'track' tag is an HTML5 feature. The track tag allows authors to specify explicit external timed text tracks for media elements. It does not represent anything on its own.
Diagram XSD diagram of the Track root complexType.
Type Hierarchy BaseHTML5Empty.Type
^---Track.Type
Properties
Abstract false
Mixed false
Used by
Root Elements track
Model Empty
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
kind [ Enumeration ] No Global Optional subtitles
src URL.Type No Global Required -
srclang xs:normalizedString No Global Optional -
default xs:boolean No Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Track.Type" abstract="false" mixed="false">
    <xs:complexContent>
        <xs:extension base="BaseHTML5Empty.Type">
            <xs:attributeGroup ref="kind.Track.Attr" />
            <xs:attributeGroup ref="src.Track.Attr" />
            <xs:attributeGroup ref="srclang.Track.Attr" />
            <xs:attributeGroup ref="default.Track.Attr" />
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.4.19 Video.Type Root Complex Type Description

The XSD description for the "Video.Type" Root ComplexType is given in Table 3.4.4.19.

Table 3.4.4.19 XSD description for the "Video.Type" Root Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations The 'video' tag is an HTML5 feature. A video tag is used for playing videos or movies, and audio files with captions.
Diagram XSD diagram of the Video root complexType.
Type Hierarchy BaseHTML5.Type
^---Video.Type
Properties
Abstract false
Mixed false
Used by
Root Elements video
Model source{0..*}, track{0..*}
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type Yes Global Optional -
xml:lang [ Import ] Yes Global Optional -
title xs:normalizedString Yes Global Optional -
label xs:normalizedString Yes Global Optional -
class List of StringList.Type Yes Global Optional -
dir [ Enumeration ] Yes Global Optional auto
role [ Enumeration ] Yes Global Optional -
aria-controls xs:IDREFS Yes Global Optional -
aria-describedby xs:IDREFS Yes Global Optional -
aria-flowto xs:IDREFS Yes Global Optional -
aria-label xs:normalizedString Yes Global Optional -
aria-labelledby xs:IDREFS Yes Global Optional -
aria-level AriaLevelInteger.Type Yes Global Optional -
aria-live [ Enumeration ] Yes Global Optional off
aria-orientation [ Enumeration ] Yes Global Optional horizontal
aria-owns xs:IDREFS Yes Global Optional -
##any [ Constrained Namespace Extension ] Yes Global Optional -
src URL.Type No Global Optional -
crossorigin [ Enumeration ] No Global Optional -
preload [ Enumeration ] No Global Optional metadata
autoplay xs:boolean No Global Optional -
mediagroup xs:normalizedString No Global Optional -
loop xs:boolean No Global Optional -
muted xs:boolean No Global Optional -
controls xs:boolean No Global Optional -
poster URL.Type No Global Optional -
width xs:nonNegativeInteger No Global Optional -
height xs:nonNegativeInteger No Global Optional -
Schematron Rules
NS Constraint (data-)[a-z|A-Z|0-9|-|.|_]+
Source
<xs:complexType name="Video.Type" abstract="false" mixed="false">
    <xs:complexContent>
        <xs:extension base="BaseHTML5.Type">
            <xs:sequence>
                <xs:element ref="source" minOccurs="0" maxOccurs="unbounded" />
                <xs:element ref="track" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
            <xs:attributeGroup ref="src.Video.Attr" />
            <xs:attributeGroup ref="crossorigin.Video.Attr" />
            <xs:attributeGroup ref="preload.Video.Attr" />
            <xs:attributeGroup ref="autoplay.Video.Attr" />
            <xs:attributeGroup ref="mediagroup.Video.Attr" />
            <xs:attributeGroup ref="loop.Video.Attr" />
            <xs:attributeGroup ref="muted.Video.Attr" />
            <xs:attributeGroup ref="controls.Video.Attr" />
            <xs:attributeGroup ref="poster.Video.Attr" />
            <xs:attributeGroup ref="width.Video.Attr" />
            <xs:attributeGroup ref="height.Video.Attr" />
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
                        

3.4.5 Core Complex Type Descriptions

The syntax and semantics for the Core ComplexType XSD representations is described in Appendix B1.7.

3.4.5.1 "BaseHTML5.Type" Core Complex Type Description

The XSD description for the "BaseHTML5.Type" Core ComplexType is given in Table 3.4.5.1.

Table 3.4.5.1 XSD description for the "BaseHTML5.Type" Core Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This is the base class for the HTML5 features that have children. This consists of a set of children characteristics.
Diagram XSD diagram of the BaseHTML5 core complexType.
Properties
Abstract false
Mixed false
Used by
ComplexTypes Article.Type, Aside.Type, Audio.Type, BDI.Type, FigCaption.Type, Figure.Type, Footer.Type, Header.Type, Label.Type, Nav.Type, RB.Type, RP.Type, RT.Type, RTC.Type, Ruby.Type, Section.Type, Video.Type
Model None
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type No Global Optional -
xml:lang [ Import ] No Global Optional -
title xs:normalizedString No Global Optional -
label xs:normalizedString No Global Optional -
class List of StringList.Type No Global Optional -
dir [ Enumeration ] No Global Optional auto
role [ Enumeration ] No Global Optional -
aria-controls xs:IDREFS No Global Optional -
aria-describedby xs:IDREFS No Global Optional -
aria-flowto xs:IDREFS No Global Optional -
aria-label xs:normalizedString No Global Optional -
aria-labelledby xs:IDREFS No Global Optional -
aria-level AriaLevelInteger.Type No Global Optional -
aria-live [ Enumeration ] No Global Optional off
aria-orientation [ Enumeration ] No Global Optional horizontal
aria-owns xs:IDREFS No Global Optional -
##any [ Constrained Namespace Extension ] No Global Optional -
Source
<xs:complexType name="BaseHTML5.Type" abstract="false" mixed="false">
    <xs:sequence>
    </xs:sequence>
    <xs:attributeGroup ref="id.BaseHTML5.Attr" />
    <xs:attributeGroup ref="language.BaseHTML5.Attr" />
    <xs:attributeGroup ref="title.BaseHTML5.Attr" />
    <xs:attributeGroup ref="label.BaseHTML5.Attr" />
    <xs:attributeGroup ref="class.BaseHTML5.Attr" />
    <xs:attributeGroup ref="dir.BaseHTML5.Attr" />
    <xs:attributeGroup ref="role.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-controls.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-describedby.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-flowto.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-label.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-labelledby.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-level.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-live.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-orientation.BaseHTML5.Attr" />
    <xs:attributeGroup ref="aria-owns.BaseHTML5.Attr" />
    <xs:attributeGroup ref="dataExtension.BaseHTML5.Attr" />
</xs:complexType>
                        

3.4.6 Derived Complex Type Descriptions

The syntax and semantics for the Derived ComplexType XSD representations is described in Appendix B1.7.

3.4.6.1 "BaseHTML5Empty.Type" Derived Complex Type Description

The XSD description for the "BaseHTML5Empty.Type" Derived Complex Type is given in Table 3.4.6.1.

Table 3.4.6.1 XSD description for the "BaseHTML5Empty.Type" Derived Complex Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Annotations This is the base class for the HTML5 features that have no children tags i.e. must be empty. This consists of a set of children characteristics.
Diagram XSD diagram of the BaseHTML5Empty derived complexType.
Type Hierarchy EmptyPrimitiveType.Type
^---BaseHTML5Empty.Type
Properties
Abstract false
Mixed false
Used by
ComplexTypes Source.Type, Track.Type
Model Empty
Attributes
QName Type Inherited Scope Use Default
id UniqueIdentifier.Type No Global Optional -
xml:lang [ Import ] No Global Optional -
title xs:normalizedString No Global Optional -
label xs:normalizedString No Global Optional -
class List of StringList.Type No Global Optional -
dir [ Enumeration ] No Global Optional auto
role [ Enumeration ] No Global Optional -
aria-controls xs:IDREFS No Global Optional -
aria-describedby xs:IDREFS No Global Optional -
aria-flowto xs:IDREFS No Global Optional -
aria-label xs:normalizedString No Global Optional -
aria-labelledby xs:IDREFS No Global Optional -
aria-level AriaLevelInteger.Type No Global Optional -
aria-live [ Enumeration ] No Global Optional off
aria-orientation [ Enumeration ] No Global Optional horizontal
aria-owns xs:IDREFS No Global Optional -
##any [ Constrained Namespace Extension ] No Global Optional -
Source
<xs:complexType name="BaseHTML5Empty.Type" abstract="false" mixed="false">
    <xs:simpleType>
        <xs:extension base="EmptyPrimitiveType.Type">
            <xs:attributeGroup ref="id.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="language.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="title.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="label.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="class.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="dir.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="role.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-controls.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-describedby.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-flowto.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-label.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-labelledby.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-level.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-live.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-orientation.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="aria-owns.BaseHTML5Empty.Attr" />
            <xs:attributeGroup ref="dataExtension.BaseHTML5Empty.Attr" />
        </xs:extension>
    </xs:simpleType>
</xs:complexType>
                        

3.4.7 Simple Type Descriptions

The syntax and semantics for the SimpleType XSD representations is described in Appendix B1.8.

3.4.7.1 "AriaLevelInteger.Type" Simple Type Description

The XSD description for the "AriaLevelInteger.Type" SimpleType is given in Table 3.4.7.1.

Table 3.4.7.1 XSD description for the "AriaLevelInteger.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the AriaLevelInteger simpleType.
Type xs:integer
Facets
MinInclusive 1
Used by
Attributes aria-level/BaseHTML5.Type, aria-level/BaseHTML5Empty.Type
Source
<xs:simpleType name="AriaLevelInteger.Type">
    <xs:restriction base="xs:integer">
        <xs:minInclusive value="1" />
    </xs:restriction>
</xs:simpleType>
                        

3.4.7.2 "MimeType.Type" Simple Type Description

The XSD description for the "MimeType.Type" SimpleType is given in Table 3.4.7.2.

Table 3.4.7.2 XSD description for the "MimeType.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the MimeType simpleType.
Type xs:normalizedString
Facets
Pattern [\p{IsBasicLatin}-[()<>@,;:\\"/\[\]?=]]+/[\p{IsBasicLatin}-[()<>@,;:\\"/\[\]?=]]+
Used by
Attributes type/Source.Type
Source
<xs:simpleType name="MimeType.Type">
    <xs:restriction base="xs:normalizedString">
        <xs:pattern value="[\p{IsBasicLatin}-[()<>@,;:\\"/\[\]?=]]+/[\p{IsBasicLatin}-[()<>@,;:\\"/\[\]?=]]+" />
    </xs:restriction>
</xs:simpleType>
                        

3.4.7.3 "StringList.Type" Simple Type Description

The XSD description for the "StringList.Type" SimpleType is given in Table 3.4.7.3.

Table 3.4.7.3 XSD description for the "StringList.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the StringList simpleType.
Type xs:string
Used by
Attributes class/BaseHTML5.Type, class/BaseHTML5Empty.Type
Source
<xs:simpleType name="StringList.Type">
    <xs:restriction base="xs:string />
</xs:simpleType>
                        

3.4.7.4 "URL.Type" Simple Type Description

The XSD description for the "URL.Type" SimpleType is given in Table 3.4.7.4.

Table 3.4.7.4 XSD description for the "URL.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the URL simpleType.
Type xs:normalizedString
Used by
Attributes src/Audio.Type, src/Source.Type, src/Track.Type, src/Video.Type, poster/Video.Type
Source
<xs:simpleType name="URL.Type">
    <xs:restriction base="xs:normalizedString" />
</xs:simpleType>
                        

3.4.7.5 "UniqueIdentifier.Type" Simple Type Description

The XSD description for the "UniqueIdentifier.Type" SimpleType is given in Table 3.4.7.5.

Table 3.4.7.5 XSD description for the "UniqueIdentifier.Type" Simple Type.
Namespace http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0
Diagram XSD diagram of the UniqueIdentifier simpleType.
Type xs:ID
Used by
Attributes id/BaseHTML5.Type, id/BaseHTML5Empty.Type
Source
<xs:simpleType name="UniqueIdentifier.Type">
    <xs:restriction base="xs:ID" />
</xs:simpleType>
                        

3.5. The Schematron Rules

3.5.1 Rules Imposing the Unordered Class Definition

This is the set of schematron rules used to enforce the constraints of the "Unordered" stereotypes classes.

3.5.1.1 Figure Unordered Class Rules

Class Element Multiplicity Constraint
figcaption Multiplicity must be: [0..1]

3.5.1.2 Ruby [Unordered] Class Rules

Class Element Multiplicity Constraint
rp Multiplicity must be: [0..1]
rt Multiplicity must be: [1..1]
rtc Multiplicity must be: [1..1]

3.5.2 The Constrained Namespace Extension Rule Definitions

This is the set of schematron rules used to enforce the constraints on the naming convention for extensions to the list of XML attributes for an element.

Element Name Scope Naming Convention Constraint
article Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
aside Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
audio Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
bdi Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
figcaption Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
figure Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
footer Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
header Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
label Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
nav Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
rb Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
rp Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
rt Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
rtc Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
ruby Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
section Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
source Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
track Root Element (data-)[a-z|A-Z|0-9|-|.|_]+
video Root Element (data-)[a-z|A-Z|0-9|-|.|_]+

3.5.3 The Explicit Rule Definitions

This is the set of schematron rules used to enforce the features of the Information Model that are otherwise not enforced in the XSD.

3.5.3.1 RULE_SET_GENERAL

Objective of the Rule Set is to: "Ensure the figcaption element positioning within the figure element."

RULE GENERAL 1 Context ("//qh5:figure")
Assertion 1 Test: "qh5:figcaption[position()=1 or position()=last()]"
Statement: "The figcaption must be either the first or last element in the contained sequence."

toc | top

4. Extending and Profiling the Data Model

4.1. Extending the Data Model

The QTI HTML5 specification permits extension only as an XML attribute on each HTML5 element. Every HTML5 element may have any number of custom data attributes specified, with any value. However, the attribute name must start with the characters 'data-' (this is checked using Schematron rules embedded in the QTI HTML5 XSD). Any other proprietary extension is non-conformant. The behavior of a system that receives a QTI ASI/HTML5 instance that contains proprietary extensions is undefined (however a system should handle such violations in a controlled manner).

4.2. Profiling the Data Model

This specification may be profiled. A profile must be formal subset of the base specification. This ensures that, with the exception of namespace/schema location changes, any instance which is compliant to the profile MUST also be compliant to the base specification. This means that a profile must only increase the constraints on the properties of the data model. For example, an element with a multiplicity of [0..1] can have this changed to [1..1] but NOT [0..*]. Proprietary extensions are ONLY permitted as defined by the base specification.

It is strongly recommended that a profile of this specification is undertaken either by, or with the close support, of IMS Global. However, no matter who is responsible for creating the profile artefacts (documents, XSDs, etc.), it is strongly recommended that the IMS specification development tools are used. This will ensure that the artefacts are consistent with the base specifications and that useful support documentation is automatically produced e.g. creation of a document that summarises the differences between the base specification and the profile. Organizations wishing to produce a profile of this specification should contact Lisa Mattson (IMS Global Chief Operations Officer) at: lmattson@imsglobal.org.

toc | top

Appendix A Modelling Concepts and Terms

A1 Data Model Descriptions

A1.1 Data Model Diagrams

Table A1.1 provides the key to the descriptions of data model diagrams.

Table A1.1 The key to the descriptions of data model diagrams.
Feature Definition and Usage
Data Model Package Each data model description is enclosed in a UML Package that has the stereotype of « dataModel » under which is the name of the data model diagram being described. Only one logical data model can be described.
DerivedType Class This is a class that is identified by the stereotype « DerivedType » under which is the name of the data-type. A derived class is one that is derived either from another derived class or a PrimitiveType class.
Enumeration Class This is a class that is identified by the stereotype « Enumeration » under which is the name of the enumeration data-type. The enumeration class consists of the list of tokens that are the permitted values of the assigned attribute.
Enumerated List Class This is a class that is identified by the stereotype « EnumeratedList » under which is the name of the enumerated list data-type. The enumeration list class consists of the list of tokens that are the permitted values of the assigned attribute. A list of tokens is permitted using comma separation.
PrimitiveType Class This is a class that is identified by the stereotype « PrimitveType » under which is the name of the primitive data-type. A PrimitiveType is one of the many base data-types on which a data model can be built (see Appendix A1.3 for the set of primitive types that are available).
Selection Class This is a class that is identified by the stereotype « Selection » under which is the name of the data-type. The selection means that only one of the listed attributes make occur in an instance. If this is an abstract class then multiple iterations of the instance may occur and the multiplicity of the attribute defines the constraints on the number of times the attribute can occur in the full instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract.
Sequence Class This is a class that is identified by the stereotype « Sequence » under which is the name of the data-type. The sequence means that the listed attributes must occur only in the order of the attributes listed on the class. The associated multiplicity defines the number of times the attribute may occur consecutively in the instance. If the stereotype and associated name of the class are in italics this denotes the class is abstract.
Unordered Class This is a class that is identified by the stereotype « Unordered » under which is the name of the data-type. The unordering means that the listed attributes may occur in any order but the associated multiplicity for the attribute must be followed (when binding to XML this requires the use of Schematron rules to enforce the multiplicity). If the stereotype and associated name of the class are in italics this denotes the class is abstract.
List Class This is a class that is identified by the stereotype « List » under which is the name of the data-type. A list class is one in which the associated instance will consist of a list of objects that conform to the permitted data-types of the list (the superclasses for the list class). The terms in the list are separated by a space.
Union Class This is a class that is identified by the stereotype « Union » under which is the name of the data-type. A union class is one in which the associated instance will consist of a objects that conform to the any of the permitted data-types of the union (the superclasses for the union class).
Characteristic Description Many classes contain a set of characteristics (the set of characteristics are listed under the stereotype « Characteristics »). Each characteristic description consists of the scope, name, data-type and multiplicity (see Appendix A1.3 for a more complete description). Note that when bound to XSD/XML, a characteristic is mapped to an XML attribute.
Attribute Description Many classes contain a set of attributes (the set of attributes are listed under the stereotype « Attributes »). Each attribute description consists of the scope, name, data-type and multiplicity (see Appendix A1.3 for a more complete description). Note when bound to XSD/XML, an attribute is mapped to an XML element.
Composition Arrow This is an arrow with a filled diamond head to indicate that the child class is a composite structure of the parent class i.e. the child class only exists within the context of the parent class. This association allows complex structures to be constructed with common subcomponents.
Generalization Arrow This is an arrow with a white arrow head to indicate the class/superclass relationship. The arrow points in the direction of generality i.e. from the class to the super class.

toc | top

A1.2 Class Descriptions

Table A1.2 provides the key to the descriptions of the data class tables.

Table A1.2 The key to the descriptions of the data class tables.
Category Definition
Class Name The name given to the class being described.
Class Type The nature of the class. This is described as a "Container [...]" or "Abstract Container [...]". The value of "..." being (see Appendix A1.1 for the meaning of these values):
  • "DerivedType"
  • "List"
  • "Selection"
  • "Sequence"
  • "Union"
  • "Unordered"
If the container is also marked as "Mixed" then the children are permitted to include text as well as attributes.
Parents This is the list of classes that contain the class being described as either the type of a child characteristic or attribute. In the case of a Root Class the entry is also labelled as "Root Class".
Derived Classes The set of classes that are derived from this class (there may be none). The entries are linked to the corresponding class descriptions.
Super Classes The set of super classes from which the class being described is derived (there may be none). The entries are linked to the corresponding class descriptions.
Characteristics Lists the set of characteristics for this class. The list of characteristics includes those that are inherited. Each characteristic is linked to the corresponding characteristic description table.
Children Lists the set of attributes for this class (the only other permitted associations are generalizations). The list of children includes those attributes that are inherited. Each child entry is linked to the corresponding attribute description table. The nature of the relationship between the children is defined by the stereotype of the parent class i.e. the class type. If the child is in italics this denotes a reference to an abstract class and that an instance would NOT contain a child of that name but would be replaced by a complex set of children as defined by the associated abstract class.
Description Contains descriptions relating to the class and its properties and relationships.

toc | top

A1.3 Attribute and Characteristic Descriptions

Table A1.3 provides the key to the descriptions of the data attributes/characteristics for the data classes.

Table A1.3 The key to the descriptions of the data attribute/characteristic tables.
Category Definition
Attribute Name or Characteristic Name The name given to the attribute or characteristic being described. If the name is in italics this denotes an abstract attribute or characteristic.
Data Type This is the data-type of the attribute or characteristic (if this is in italics it denotes an abstract class). The data-type can take many forms:
  • Class Name - the name of the Class (this is linked to the class definition elsewhere in this document);
  • Primitive Data-types from:-
    • AnyTypeLax - the namespace data-type i.e. defining data from any context (this is used for allowing any form of extension);
    • AnyURI - the AnyURI data-type (absolute or relatve URI);
    • Base - the base data-type for defining a base URI/URL link reference;
    • Boolean - the boolean data-type (with permitted values of "true" and "false");
    • Date - the date data-type (using the ISO 8601 format);
    • DateTime - the date/time data-type (using the ISO 8601 format);
    • Double - the double data-type (double precision floating point number - 64bit);
    • Empty - the associated instance must be empty;
    • ID - the unique identifier data-type;
    • IDREF - the reference to a previously defined unique identifier data-type (ID);
    • IDREFS - a list, whitespace separated, of references to a previously defined unique identifier data-type (ID);
    • Int - the int data-type (this is derived from the "decimal" data-type);
    • Integer - the integer data-type (using the);
    • Language - the language data-type as defined in [RFC 3066];
    • Namespace - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models);
    • NamespaceLax - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models but being lax on the validation);
    • NonNegativeInteger - the non-negative integer data-type (this is derived from the "integer" data-type) i.e. an integer that is zero or higher;
    • NCName - the NCName data-type (derived from the Name data-type);
    • NormalizedString - the normalized string data type (strings with line feeds, carriage returns and tab characters removed);
    • String - the normalized string data type.
Value Space The range of valid values for this attribute/characteristic (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type.
Scope This is the scope of the attribute/characteristic with permitted values of:
  • Local - denoted by "-" and meaning the attribute/characteristic has significance and access within the context of the parent class only;
  • Global - denoted by "+" and meaning that the attribute/characteristic has global scoping (so must have a unique name) and can be accessed from anywhere.
Multiplicity A property of an attribute/characteristic indicating the number of times it may be used or appear in a given class instance. The values of this property are expressed as a range or shorthand for a range using the notation:
  • "0..1" [optional; restricted]
  • "0..*" [optional; unrestricted]
  • "1" [mandatory; restricted]
  • "1..*" [mandatory; unrestricted]
Description Contains descriptions relating to the attribute/characteristic and its values space.

toc | top

A1.4 Enumerated Vocabulary Descriptions

Table A1.4 provides the key to the descriptions of the enumerated vocabulary classes. These are vocabularies that will be contained within the binding form itself

Table A1.4 The key to the descriptions of the enumerated vocabulary tables.
Category Definition
Term The vocabulary token itself i.e. the vocabulary entry.
Definition The meaning of the term and how it should be used.

toc | top

A1.5 External Vocabulary Descriptions

Table A1.5 provides the key to the descriptions of the external vocabulary classes. These are vocabularies that will be contained in some independent format e.g. using the IMS VDEX.

Table A1.5 The key to the descriptions of the external vocabulary tables.
Category Definition
Term The vocabulary token itself i.e. the vocabulary entry.
Definition The meaning of the term and how it should be used. This consists of the "Caption" and "Description" of the vocabulary term. The caption is used to provide a human readable label for the term.

toc | top

A1.6 Import Class Descriptions

Table A1.6 provides the key to the descriptions of the import classes.

Table A1.6 The key to the descriptions of the imported class tables.
Category Definition
Import Class Name The name of the class.
Parent Classes The list of parent classes, and the associated children, that use this imported class. Each class and attribute name has a link to its corresponding tabular description in the information model.
Description The description of how the class is used within the data model.

toc | top

Appendix B XSD Binding Terms

B1 XSD Binding Description Terms

B1.1 UML/XSD Attribute Mapping Table Definition

Table B1.1 provides the key to the descriptions of UML to XSD attribute mapping tables.

Table B1.1 The key to the descriptions of UML to XSD attribute mapping tables.
Feature Definition and Usage
Attribute Name The name of the attribute (these are the attributes listed in the class identified by the « Roots » stereotype).
UML Class The name of the class, the type of the attribute, in the UML diagrams (each class will have an associated stereotype label to denote its modelling interpretation). If the information model description is contained within the same document, this value is hot-linked to that description.
XSD Name The equivalent name of the UML attribute name in the XSD i.e. the XML element name.
XSD Type The XSD type - this will always be "Element".
XSD Data Type The data-type in the context of the XSD. This is hot-linked to the corresponding description table in the binding.

toc | top

B1.2 UML/XSD Class Mapping Table Definition

Table B1.2 provides the key to the descriptions of UML to XSD class mapping tables. This table shows the relationship between the two modelling components:

Table B1.2 The key to the descriptions of UML to XSD class mapping tables.
Feature Definition and Usage
Name The name of the UML class and the associated set of attributes and characteristics. The first row is used to describe the UML class. Camel-case is used for the attribute and characteristic names.
UML Artefact The UML Class will be denoted as "Root", "Core" or "Derived" depending on the nature of the class. The list of attributes (mapped to XML elements) and characteristics (mapped to XML attributes) will be identified as either "Attributes" or "Characteristics".
Data Type The data-type has several permitted values:
  • PT:... - denotes a primitive type with "..." replaced by the actual primitiveType name
  • DT:... (PT:...) - denotes a derived type of name "..." derived from the primitive type "PT:..."
  • [Enumeration(...)] - denotes an enumeration of name "..."
  • [List(...)] - denotes a list of the name "..."
  • [Union(...)] - denotes a union of one or more data-types with the name "..."
  • [Imported(...)] - denotes a class with the name "..." has been imported from another specification
  • "Container[...]" - denotes a class of stereotype "..."
Multiplicity The multiplicity of the child attribute/characteristic. The value for the Class itself is "-N/A-". The multiplicity values are:
  • "0..1" [optional; restricted]
  • "0..*" [optional; unrestricted]
  • "1" [mandatory; restricted]
  • "1..*" [mandatory; unrestricted]
The multiplicity will also indicate when groups of elements have variable multiplicity. In the case when a selection between groups of elements is used then this is denoted by "XOR" being displayed above the multiplicity for each of the grouped elements. Alongside the XOR is the multiplicity of the group as a whole.
XSD Name This is the equivalent name of the UML artefact in the XSD. In the case of a "Derived" class the UML attribute may be used to define constraints on the primitiveType and so may not have visibility in an instance. In this case the name entry will be "[ No XML instance visibility ]".
XSD Type The XSD data-type. For the Class this will have either the value "ComplexType" or "SimpleType" or the statement "There is no equivalent derived complexType. This is a logical class that is used to identify a namespace constraint.". For the attributes the value is either "Element (Global)" or "Element (Local)" depending on the scoping. For the characteristics the value is either "Attribute (Global)" or "Attribute (Local)" depending on the scoping. In the case of a "Derived" class the UML attribute may be used to define constraints on the primitiveType and so may not have visibility in an instance. In this case the type entry will denote the type of restriction i.e. MinLength, MaxLength, WhiteSpace, MinInclusive, MaxInclusive and Pattern.

toc | top

B1.3 UML/XSD Enumerated and Enumerated List Class Mapping Table Definition

Table B1.3 provides the key to the descriptions of UML to XSD enumerated and enumerated list class mapping tables.

Table B1.3 The key to the descriptions of UML to XSD enumerated and enumerated list class mapping tables.
Feature Definition and Usage
Enumeration Class Name or Enumeration List Class Name The name of the enumeration class or the enumeration list class.
Description The list of permitted tokens for the enumeration or list. Each value is separated by the "|" character.

toc | top

B1.4 UML/XSD List and Union Class Mapping Table Definition

Table B1.4 provides the key to the descriptions of UML to XSD list and union class mapping tables.

Table B1.4 The key to the descriptions of UML to XSD list and union class mapping tables.
Feature Definition and Usage
List/Union Class Name The name of the list or union class.
Description The list of primitive types and simple derived types from which the list of values can be derived. Links to the definition of the description of the primitive and derived types provided elsewhere in the UML/XSD mapping are supplied.

toc | top

B1.5 UML/XSD Primitive Types Mapping Table Definition

Table B1.5 provides the key to the descriptions of UML to XSD primitive-type mapping tables.

Table B1.5 The key to the descriptions of UML to XSD primitive mapping tables.
Feature Definition and Usage
Primitive Type Name The name of the primitve type used in the specification. Links to the definition of the primitive types, if provided elsewhere in the document, are supplied.
Description The equivalent XML base data type that is used in the XSD binding.

toc | top

B1.6 XSD Description for an Element

Table B1.6 provides the key to the descriptions of XSD element tables.

Table B1.6 The key to the descriptions of XSD element tables.
Feature Definition and Usage
Namespace The namespace for the XSD element.
Diagram This diagram consists of three types of linked blocks. Straight link lines denote XML sequence whereas diagonal lines denote XML selection/unordered. The block forms are:
  • Element Blocks - blue and grey shaded rounded rectangles containing the name of the element, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?", "1", "*", "+" or "U" representing optional, required, optionally many, at least one or unordered respectively. Unordered makes use of an associated set of Schematron Rules). If the element inherits features from another class then it contains a purple shadow that names the complexType from which the elements/attributes are inherited;
  • Attribute Blocks - orange and grey shaded rounded rectangles containing the name of the attribute, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?" or "1" representing option or required respectively);
  • Attribute Group Blocks - orange shaded rounded rectangle containing the name of the attribute group;
  • Purple Surrounds - a surround on the attributes block denotes inherited attributes and a surround on the element block denotes inherited elements.
Type The data-type for the element. This will possible entries are:
  • The name of the primitiveType data-type
  • Statement of an enumeration
  • The import class name written as [Import (...)]
  • The actual data-type with a link to the corresponding declaration.
Type Hierachy The identification of the superclass upon which this type is based (the superclass is shown on the top line). This indicates the source of the inherited set of XML elements and attributes for the element.
Properties The set of properties for the element including (these will not be shown for Global elements):
  • Content - the type of content i.e "simple" or "complex"
  • Mixed - whether or not the content is a mixture of content/element {true, false}
  • MinOccurs - the minimum number of occurences
  • MaxOccurs - the maximum number of occurences
Used by The features in the XSD that make use of this global or root element. These features are listed under the heading "ComplexTypes". Each of the entries is linked to its formal description table.
Facets The permitted set of facets for the content i.e. the ways in which the content is further constrained. This row is only present if there are associated facets. The set of permitted facets are:
  • Enumeration - a permitted value
  • MinLength - the required minimum number of characters
  • MaxLength - the maximum number of characters
  • WhiteSpace - default handling of white-space i.e. preserve or replace or collapse
  • MinInclusive - the permitted minimum value (inclusive)
  • MaxInclusive - the permitted maximum value (inclusive)
  • Pattern - the permitted character set defined as a regular expression
Model The set of child elements. This is an ordered list of elements (as per the sequence in the data-type complexType) and accompanied by their multiplicity. Links to the corresponding declarations are supplied. In the case where the type is an enumeration or primitiveType then the value is "N/A". The value may also be "Empty" to indicate that no children are permitted. If the element is imported i.e. from an external XSD, only the URL for that XSD will be given.
Attributes The set of global and local XML attributes for this complexType (if the element is imported i.e. from an external XSD, only the URL for that XSD will be given). Links are made to the associated tabular definitions. Each attribute is described by:
  • QName - the name with a link to the corresponding table description
  • Type - the data-type
  • Inherited - Yes/No statement of whether or not this attribute is inherited from a base complexType
  • Scope - the scope defined as either "Local" or "Global"
  • Use - the multiplicity as either "Required" or "Optional"
  • Default - the default value or a "-" if there is none
Schematron Rules The set of schematron rules to be applied for the element grouped as:
  • Unordered Class - the Schematron Rules that enforce the "Unordered" stereotype;
  • NS Constraint - the Schematron Rules that enforce the constraints on extension XML attributes;
  • Explicit Rules - the Schematron Rules that enforce the explicitly defined constraints for the information model.
Source The equivalent XSD code for the declaration of the element. This includes the multiplicity and default values for the element. See the W3C XSD documentation for the description of the permitted contents for this declaration. If the element is imported i.e. from an external XSD, only the URL for that XSD will be given.

toc | top

B1.7 XSD Description for a Complex Type

Table B1.7 provides the key to the descriptions of XSD complex type tables.

Table B1.7 The key to the descriptions of XSD complex type tables.
Feature Definition and Usage
Namespace The namespace for the XSD complexType.
Annotations The documentation comment for the data-type (the comment within the XSD).
Diagram This diagram consists of four types of linked blocks. Straight link lines denote XML sequence whereas diagonal lines denote XML selection/unordered. The block forms are:
  • ComplexType Block - a purple and grey shaded rectangle containing the name of the complexType and identification of whether it is abstract and supports mixed content;
  • Element Blocks - blue and grey shaded rounded rectangles containing the name of the element, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?", "1", "*", "+" or "U" representing optional, required, optionally many, at least one or unordered respectively. Unordered makes use of an associated set of Schematron Rules);
  • Attribute Blocks - orange and grey shaded rounded rectangles containing the name of the attribute, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?" or "1" representing option or required respectively);
  • Attribute Group Blocks - orange shaded rounded rectangle containing the name of the attribute group;
  • Purple Surrounds - a surround on the attributes block denotes inherited attributes and a surround on the element block denotes inherited elements.
Properties The properties of the class expressed in terms of whether or not the complexType is abstract {true, false} or whether it supports mixed content {true, false}.
Facets The permitted set of facets for the content i.e. the ways in which the content is further constrained. This row is only present if there are associated facets. The set of permitted facets are:
  • Enumeration - a permitted value
  • MinLength - the required minimum number of characters
  • MaxLength - the maximum number of characters
  • WhiteSpace - default handling of white-space i.e. preserve or replace or collapse
  • MinInclusive - the permitted minimum value (inclusive)
  • MaxInclusive - the permitted maximum value (inclusive)
  • Pattern - the permitted character set defined as a regular expression
Used by The features in the XSD that make use of this complexType. These features are listed under the headings "Root Elements", "Elements" and "ComplexTypes". Each of the entries is linked to its formal description table.
Model The set of child elements. This is an ordered list of elements (as per the sequence in the complexType) and accompanied by their multiplicity. Links to the corresponding declarations are supplied. In the case where the type is an enumeration or primitiveType then the value is "N/A". The value may also be "Empty" to indicate that no children are permitted. In some situations the value may be "None" denoting that there are no children defined e.g. for a base class from which other classes are derived and which may have children as part of the extension.
Attributes The set of global and local XML attributes for this complexType. Links are made to the associated tabular definitions. Each attribute is described by:
  • QName - the name with a link to the corresponding table description
  • Type - the data-type
  • Inherited - Yes/No statement of whether or not this attribute is inherited from a base complexType
  • Scope - the scope defined as either "Local" or "Global"
  • Use - the multiplicity as either "Required" or "Optional"
  • Default - the default value or a "-" if there is none
Schematron Rules The set of schematron rules to be applied for the class grouped as:
  • Unordered Class - the Schematron Rules that enforce the "Unordered" stereotype;
  • NS Constraint - the Schematron Rules that enforce the constraints on extension XML attributes;
  • Explicit Rules - the Schematron Rules that enforce the explicitly defined constraints for the information model.
Source The equivalent XSD code for the declaration of the complexType. This is the full declaration. See the W3C XSD documentation for the description of the permitted contents for this declaration.

toc | top

B1.8 XSD Description for a Simple Type

Table B1.8 provides the key to the descriptions of XSD simple type tables.

Table B1.8 The key to the descriptions of XSD simple type tables.
Feature Definition and Usage
Namespace The namespace for the XSD simpleType.
Diagram This diagram consists of a single block. The block form is:
  • SimpleType Block - a green and grey shaded rectangle containing the name of the simpleType and its data-type
Type The data-type for the element. This is either a primitiveType or an enumeration.
Facets The permitted set of facets for the content i.e. the ways in which the content is further constrained. This row is only present if there are associated facets. The set of permitted facets are:
  • Enumeration - a permitted value
  • MinLength - the required minimum number of characters
  • MaxLength - the maximum number of characters
  • WhiteSpace - default handling of white-space i.e. preserve or replace or collapse
  • MinInclusive - the permitted minimum value (inclusive)
  • MaxInclusive - the permitted maximum value (inclusive)
  • Pattern - the permitted character set defined as a regular expression
Used by The features in the XSD that make use of this simpleType. These features are listed under the headings "Attributes", "Elements" and "ComplexTypes". Each of the entries is linked to its formal description table.
Source The equivalent XSD code for the declaration of the simpleType. This is the full declaration. See the W3C XSD documentation for the description of the permitted contents for this declaration.

toc | top

B1.9 XSD Description for an Attribute Group

Table B1.9 provides the key to the descriptions of XSD attribute group tables.

Table B1.9 The key to the descriptions of XSD attribute group tables.
Feature Definition and Usage
Namespace The namespace for the XSD attribute group.
Diagram This diagram consists of two types of linked blocks:
  • Attribute Group Block - an orange shaded rectangle containing the name of the attribute group
  • Attribute Blocks - an orange and grey shaded rectangle containing the name of the attribute, its data-type, any default value and the multiplicity (denoted by a circle containing either the symbol "?" or "1" representing optional or required respectively)
Used by The features in the XSD that make use of this attributeGroup. These features are listed under the heading "ComplexTypes". Each of the entries is linked to its formal description table.
Attributes The set of XML attributes that constitute the attributeGroup. This includes the data-type and multiplicity.
Schematron Rules The set of schematron rules to be applied for the attributeGroup are:
  • NS Constraint - the Schematron Rules that enforce the constraints on extension XML attributes;
  • Explicit Rules - the Schematron Rules that enforce the explicitly defined constraints for the information model.
Source The equivalent XSD code for the declaration of the attributeGroup. See the W3C XSD documentation for the description of the permitted contents for this declaration.

toc | top

B1.10 XSD Description for an Attribute

Table B1.10 provides the key to the descriptions of XSD attribute tables.

Table B1.10 The key to the descriptions of XSD attribute tables.
Feature Definition and Usage
Namespace The namespace for the XSD attribute. Only external/imported attributes have a namespace.
Properties The properties of the attributes expressed in terms of the multiplicity i.e. "Optional" or "Required" and the default value (not all attributes will have a default value).
Facets The permitted set of facets for the content i.e. the ways in which the content is further constrained. This row is only present if there are associated facets. The set of permitted facets are:
  • Enumeration - a permitted value
  • MinLength - the required minimum number of characters
  • MaxLength - the maximum number of characters
  • WhiteSpace - default handling of white-space i.e. preserve or replace or collapse
  • MinInclusive - the permitted minimum value (inclusive)
  • MaxInclusive - the permitted maximum value (inclusive)
  • Pattern - the permitted character set defined as a regular expression
Source The equivalent XSD code for the declaration of the attribute. See the W3C XSD documentation for the description of the permitted contents for this declaration.

toc | top

B1.11 VDEX Description for an External Vocabulary

Table B1.11 provides the key to the descriptions of VDEX tables.

Table B1.11 The key to the descriptions of VDEX vocabulary binding tables.
Feature Definition
Name The name/title for the vocabulary.
Identifier The unique identifier the vocabulary.
Location The Web location for the VDEX file.
Type The type of vocabulary. The choise is "glossaryOrDictionary", "flatTokenTerms", "hierarchicalTokenTerms", "thesaurus" or "lax" (see the IMS VDEX Specification [VDEX, 04] for the use of these terms).
Publisher The publisher of the vocabulary.
Keywords The keywords for the vocabulary.
Terms The set of terms that constitute the vocabulary. Each term there is defined by its:
  • Name - the vocabulary name/token
  • Status - the release status of the term either "Draft", "Provisional" or "Final"
  • Caption - the human readable caption/label for the term
  • Description - the meaning of the term

toc | top

Appendix C XSD Listings

C1 QTI HTML5 XSD Listing

The XSD listing is shown below (the XSD is available at: http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqtiv2p2p1_html5_v1p0.xsd).

<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns="http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0"
     targetNamespace="http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0"
     xmlns:m2="http://www.w3.org/1998/Math/MathML"
     xmlns:m3="http://www.w3.org/2010/Math/MathML"
     xmlns:qti="http://www.imsglobal.org/xsd/imsqti_v2p2"
     xmlns:xi="http://www.w3.org/2001/XInclude"
     xmlns:ssml11="http://www.w3.org/2010/10/synthesis"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:sch="http://purl.oclc.org/dsdl/schematron"
     version="IMS QTI HTML5 2.2.1"
     elementFormDefault="qualified"
     attributeFormDefault="unqualified">
    <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.imsglobal.org/xsd/w3/2001/xml.xsd" />
    <xs:import namespace="http://www.w3.org/1998/Math/MathML" schemaLocation="http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd" />
    <xs:import namespace="http://www.w3.org/2010/Math/MathML" schemaLocation="http://www.imsglobal.org/xsd/w3/Math/XMLSchema/mathml3/mathml3.xsd" />
    <xs:import namespace="http://www.imsglobal.org/xsd/imsqti_v2p2" schemaLocation="http://www.imsglobal.org/xsd/qti/qtiv2p2/imsqti_v2p2p1.xsd" />
    <xs:import namespace="http://www.w3.org/2001/XInclude" schemaLocation="http://www.imsglobal.org/xsd/w3/2001/XInclude.xsd" />
    <xs:import namespace="http://www.w3.org/2010/10/synthesis" schemaLocation="http://www.imsglobal.org/xsd/w3/2010/ssmlv1p1-core.xsd" />

    <xs:annotation>
        <xs:documentation>
            XSD Data File Information
            =========================
            Author:         Colin Smythe (IMS Global, UK) and Mark McKell (IMS Global, USA)
            Date:           1st June, 2016
            Version:        2.2.1
            Status:         Final Release
            Description:    This is the Platform Specific Model (PSM) of the QTIv2.2.1 HTML5 Information Model and corresponding XSD Binding. This is used in conjunction with the QTIv2.2.1 ASI Information Model.

            History:        Version 2.2: The original PSM of the QTIv2.2 HTML5 Information Model and corresponding XSD Binding. Version 2.2.1: (a) Correction of the 'preload' attribute multiplicity (to become [0..1]) for the 'Audio' class; (b) Replace the use of the 'ElementIDList' class with the 'IDREFS' primitiveType and delete the 'ElementIDList' class; (c) The import to the QTIv2.2 XSD has been changed to QTIv2.2.1 XSD; (d) The schematron rules for the extensions of the 'language' and 'base' characterisics have been corrected to refer to 'xml:lang' and 'xml:base' respectively.

            License:        IPR and Distribution Notices

                            This machine readable file is derived from IMS Global specification IMS Question and Test Interoperability (QTI) Version 2.2.1
                            found at http://www.imsglobal.org/question and the original IMS Global schema binding or code base
                            http://www.imsglobal.org/question.

                            Recipients of this document are requested to submit, with their comments, notification of any relevant 
                            patent claims or other intellectual property rights of which they may be aware that might be infringed by
                            any implementation of the specification set forth in this document, and to provide supporting documentation.

                            IMS takes no position regarding the validity or scope of any intellectual property or other rights that might
                            be claimed to pertain to the implementation or use of the technology described in this document or the extent 
                            to which any license under such rights might or might not be available; neither does it represent that it has 
                            made any effort to identify any such rights. Information on IMS procedures with respect to rights in IMS 
                            specifications can be found at the IMS Global Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

                            Copyright (c) IMS Global Learning Consortium 1999-2016. All Rights Reserved.

                            Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/license.html.

                            Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

                            The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

                            THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
                            EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
                            NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
                            ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

            Source UML File Information
            ===========================
            The source file information must be supplied as an XMI file (without diagram layout information).
            The supported UML authoring tools are:
            (a) Poseidon - v6 (and later)
            (b) Papyrus - v1.1.3 (and later)

            Source XSLT File Information
            ============================
            XSL Generator:    Specificationv1p0_GenerationToolv1.xsl
            XSLT Processor:   Saxon-EE-9.6.0.7
            Release:          1.0
            Date:             31st January, 2016
            Autogen Engineer: Colin Smythe (IMS Global, UK)
            Autogen Date:     2016-07-04

            IMS Global Auto-generation Binding Tool-kit (I-BAT)
            ===================================================
            This file was auto-generated using the IMS Global Binding Auto-generation Tool-kit (I-BAT).  While every
            attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
            that this is an experimental tool.  Permission is given to make use of this tool.  IMS Global makes no
            claim on the materials created by third party users of this tool.  Details on how to use this tool
            are contained in the IMS Global "I-BAT" documentation available at the IMS Global web-site:
            http://www.imsglobal.org.

            Tool Copyright:  2012-2016  (c) IMS Global Learning Consortium Inc.  All Rights Reserved.
        </xs:documentation>
    </xs:annotation>

    <xs:annotation>
        <xs:documentation>
            Schematron Strict Selection Validation Rules
            ============================================
            This is the set of Schematron rules that have been created to enforce the use of the "Unordered" stereotype.
            These rules ensure that the number of entries in an unordered complexType of an element obey the multiplicity constraints.
            This is required so that any-order/any-multiplicity complexTypes can be constructed and validated.
        </xs:documentation>
        <xs:appinfo>
            <sch:ns uri="http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0" prefix="qh5" />
            <sch:title>Schematron validation rules for the enforcement of the Unordered stereotype.</sch:title>

            <!-- RULESET ******************************************************************* -->
            <sch:pattern abstract="false" id="Figure.Type">
                <sch:title>[RULESET] For the Figure.Type complexType.</sch:title>

                <sch:rule abstract="false" context="qh5:figure">

                    <sch:assert test="count(qh5:figcaption) = 0 or count(qh5:figcaption) = 1">
                        [RULE for Root Class Attribute 1] Invalid number of "figcaption" elements: <sch:value-of select="count(qh5:figcaption)" />.
                    </sch:assert>

                </sch:rule>

            </sch:pattern>
            <!-- *************************************************************************** -->

            <!-- RULESET ******************************************************************* -->
            <sch:pattern abstract="false" id="Ruby.Type">
                <sch:title>[RULESET] For the Ruby.Type complexType.</sch:title>

                <sch:rule abstract="false" context="qh5:ruby">

                    <sch:assert test="count(qh5:rp) = 0 or count(qh5:rp) = 1">
                        [RULE for Root Class Attribute 1] Invalid number of "rp" elements: <sch:value-of select="count(qh5:rp)" />.
                    </sch:assert>

                    <sch:assert test="count(qh5:rt) = 0 or count(qh5:rt) = 1">
                        [RULE for Root Class Attribute 2.1] Invalid number of "rt" elements: <sch:value-of select="count(qh5:rt)" />.
                    </sch:assert>

                    <sch:assert test="count(qh5:rtc) = 0 or count(qh5:rtc) = 1">
                        [RULE for Root Class Attribute 2.2] Invalid number of "rtc" elements: <sch:value-of select="count(qh5:rtc)" />.
                    </sch:assert>

                </sch:rule>

            </sch:pattern>

        </xs:appinfo>
    </xs:annotation>

    <xs:annotation>
        <xs:documentation>
            Schematron Extension Validation Rules
            =====================================
            This is the set of Schematron rules that have been created to enforce the validation constraints on namespaced extensions.
            These rules ensure that the names of the extension features conform to defined naming convention (expressed using a REGEX).
            At present these rules are limited to permitted names for the proprietary XML attributes.
        </xs:documentation>
        <xs:appinfo>
            <sch:ns uri="http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0" prefix="qh5" />
            <sch:title>Schematron validation rules for the enforcement naming constraints on XML attribute provided as proprietary extensions.</sch:title>

            <!-- RULESET ******************************************************************* -->
            <sch:pattern abstract="false" id="RULESET_ROOTELEMENT_DATAEXTENSIONRULES">
                <sch:title>Rules applied to Root Elements that have constrained extension attributes.</sch:title>

                <sch:rule abstract="false" context="//qh5:article">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (article): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:aside">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (aside): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:audio">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='src' or string(name(@*[1]))='crossorigin' or string(name(@*[1]))='preload' or string(name(@*[1]))='autoplay' or string(name(@*[1]))='mediagroup' or string(name(@*[1]))='loop' or string(name(@*[1]))='muted' or string(name(@*[1]))='controls' or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='src' or string(name(@*[2]))='crossorigin' or string(name(@*[2]))='preload' or string(name(@*[2]))='autoplay' or string(name(@*[2]))='mediagroup' or string(name(@*[2]))='loop' or string(name(@*[2]))='muted' or string(name(@*[2]))='controls' or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='src' or string(name(@*[3]))='crossorigin' or string(name(@*[3]))='preload' or string(name(@*[3]))='autoplay' or string(name(@*[3]))='mediagroup' or string(name(@*[3]))='loop' or string(name(@*[3]))='muted' or string(name(@*[3]))='controls' or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='src' or string(name(@*[4]))='crossorigin' or string(name(@*[4]))='preload' or string(name(@*[4]))='autoplay' or string(name(@*[4]))='mediagroup' or string(name(@*[4]))='loop' or string(name(@*[4]))='muted' or string(name(@*[4]))='controls' or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='src' or string(name(@*[5]))='crossorigin' or string(name(@*[5]))='preload' or string(name(@*[5]))='autoplay' or string(name(@*[5]))='mediagroup' or string(name(@*[5]))='loop' or string(name(@*[5]))='muted' or string(name(@*[5]))='controls' or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='src' or string(name(@*[6]))='crossorigin' or string(name(@*[6]))='preload' or string(name(@*[6]))='autoplay' or string(name(@*[6]))='mediagroup' or string(name(@*[6]))='loop' or string(name(@*[6]))='muted' or string(name(@*[6]))='controls' or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='src' or string(name(@*[7]))='crossorigin' or string(name(@*[7]))='preload' or string(name(@*[7]))='autoplay' or string(name(@*[7]))='mediagroup' or string(name(@*[7]))='loop' or string(name(@*[7]))='muted' or string(name(@*[7]))='controls' or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='src' or string(name(@*[8]))='crossorigin' or string(name(@*[8]))='preload' or string(name(@*[8]))='autoplay' or string(name(@*[8]))='mediagroup' or string(name(@*[8]))='loop' or string(name(@*[8]))='muted' or string(name(@*[8]))='controls' or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='src' or string(name(@*[9]))='crossorigin' or string(name(@*[9]))='preload' or string(name(@*[9]))='autoplay' or string(name(@*[9]))='mediagroup' or string(name(@*[9]))='loop' or string(name(@*[9]))='muted' or string(name(@*[9]))='controls' or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='src' or string(name(@*[10]))='crossorigin' or string(name(@*[10]))='preload' or string(name(@*[10]))='autoplay' or string(name(@*[10]))='mediagroup' or string(name(@*[10]))='loop' or string(name(@*[10]))='muted' or string(name(@*[10]))='controls' or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='src' or string(name(@*[11]))='crossorigin' or string(name(@*[11]))='preload' or string(name(@*[11]))='autoplay' or string(name(@*[11]))='mediagroup' or string(name(@*[11]))='loop' or string(name(@*[11]))='muted' or string(name(@*[11]))='controls' or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='src' or string(name(@*[12]))='crossorigin' or string(name(@*[12]))='preload' or string(name(@*[12]))='autoplay' or string(name(@*[12]))='mediagroup' or string(name(@*[12]))='loop' or string(name(@*[12]))='muted' or string(name(@*[12]))='controls' or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='src' or string(name(@*[13]))='crossorigin' or string(name(@*[13]))='preload' or string(name(@*[13]))='autoplay' or string(name(@*[13]))='mediagroup' or string(name(@*[13]))='loop' or string(name(@*[13]))='muted' or string(name(@*[13]))='controls' or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='src' or string(name(@*[14]))='crossorigin' or string(name(@*[14]))='preload' or string(name(@*[14]))='autoplay' or string(name(@*[14]))='mediagroup' or string(name(@*[14]))='loop' or string(name(@*[14]))='muted' or string(name(@*[14]))='controls' or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='src' or string(name(@*[15]))='crossorigin' or string(name(@*[15]))='preload' or string(name(@*[15]))='autoplay' or string(name(@*[15]))='mediagroup' or string(name(@*[15]))='loop' or string(name(@*[15]))='muted' or string(name(@*[15]))='controls' or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='src' or string(name(@*[16]))='crossorigin' or string(name(@*[16]))='preload' or string(name(@*[16]))='autoplay' or string(name(@*[16]))='mediagroup' or string(name(@*[16]))='loop' or string(name(@*[16]))='muted' or string(name(@*[16]))='controls' or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='src' or string(name(@*[17]))='crossorigin' or string(name(@*[17]))='preload' or string(name(@*[17]))='autoplay' or string(name(@*[17]))='mediagroup' or string(name(@*[17]))='loop' or string(name(@*[17]))='muted' or string(name(@*[17]))='controls' or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[18]))=0 or string(name(@*[18]))='src' or string(name(@*[18]))='crossorigin' or string(name(@*[18]))='preload' or string(name(@*[18]))='autoplay' or string(name(@*[18]))='mediagroup' or string(name(@*[18]))='loop' or string(name(@*[18]))='muted' or string(name(@*[18]))='controls' or string(name(@*[18]))='id' or string(name(@*[18]))='xml:lang' or string(name(@*[18]))='title' or string(name(@*[18]))='label' or string(name(@*[18]))='class' or string(name(@*[18]))='dir' or string(name(@*[18]))='role' or string(name(@*[18]))='aria-controls' or string(name(@*[18]))='aria-describedby' or string(name(@*[18]))='aria-flowto' or string(name(@*[18]))='aria-label' or string(name(@*[18]))='aria-labelledby' or string(name(@*[18]))='aria-level' or string(name(@*[18]))='aria-live' or string(name(@*[18]))='aria-orientation' or string(name(@*[18]))='aria-owns' or starts-with(name(@*[18]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 18] Invalid XML attribute in position 18 with name of <sch:value-of select="string(name(@*[18]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[19]))=0 or string(name(@*[19]))='src' or string(name(@*[19]))='crossorigin' or string(name(@*[19]))='preload' or string(name(@*[19]))='autoplay' or string(name(@*[19]))='mediagroup' or string(name(@*[19]))='loop' or string(name(@*[19]))='muted' or string(name(@*[19]))='controls' or string(name(@*[19]))='id' or string(name(@*[19]))='xml:lang' or string(name(@*[19]))='title' or string(name(@*[19]))='label' or string(name(@*[19]))='class' or string(name(@*[19]))='dir' or string(name(@*[19]))='role' or string(name(@*[19]))='aria-controls' or string(name(@*[19]))='aria-describedby' or string(name(@*[19]))='aria-flowto' or string(name(@*[19]))='aria-label' or string(name(@*[19]))='aria-labelledby' or string(name(@*[19]))='aria-level' or string(name(@*[19]))='aria-live' or string(name(@*[19]))='aria-orientation' or string(name(@*[19]))='aria-owns' or starts-with(name(@*[19]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 19] Invalid XML attribute in position 19 with name of <sch:value-of select="string(name(@*[19]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[20]))=0 or string(name(@*[20]))='src' or string(name(@*[20]))='crossorigin' or string(name(@*[20]))='preload' or string(name(@*[20]))='autoplay' or string(name(@*[20]))='mediagroup' or string(name(@*[20]))='loop' or string(name(@*[20]))='muted' or string(name(@*[20]))='controls' or string(name(@*[20]))='id' or string(name(@*[20]))='xml:lang' or string(name(@*[20]))='title' or string(name(@*[20]))='label' or string(name(@*[20]))='class' or string(name(@*[20]))='dir' or string(name(@*[20]))='role' or string(name(@*[20]))='aria-controls' or string(name(@*[20]))='aria-describedby' or string(name(@*[20]))='aria-flowto' or string(name(@*[20]))='aria-label' or string(name(@*[20]))='aria-labelledby' or string(name(@*[20]))='aria-level' or string(name(@*[20]))='aria-live' or string(name(@*[20]))='aria-orientation' or string(name(@*[20]))='aria-owns' or starts-with(name(@*[20]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 20] Invalid XML attribute in position 20 with name of <sch:value-of select="string(name(@*[20]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[21]))=0 or string(name(@*[21]))='src' or string(name(@*[21]))='crossorigin' or string(name(@*[21]))='preload' or string(name(@*[21]))='autoplay' or string(name(@*[21]))='mediagroup' or string(name(@*[21]))='loop' or string(name(@*[21]))='muted' or string(name(@*[21]))='controls' or string(name(@*[21]))='id' or string(name(@*[21]))='xml:lang' or string(name(@*[21]))='title' or string(name(@*[21]))='label' or string(name(@*[21]))='class' or string(name(@*[21]))='dir' or string(name(@*[21]))='role' or string(name(@*[21]))='aria-controls' or string(name(@*[21]))='aria-describedby' or string(name(@*[21]))='aria-flowto' or string(name(@*[21]))='aria-label' or string(name(@*[21]))='aria-labelledby' or string(name(@*[21]))='aria-level' or string(name(@*[21]))='aria-live' or string(name(@*[21]))='aria-orientation' or string(name(@*[21]))='aria-owns' or starts-with(name(@*[21]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 21] Invalid XML attribute in position 21 with name of <sch:value-of select="string(name(@*[21]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[22]))=0 or string(name(@*[22]))='src' or string(name(@*[22]))='crossorigin' or string(name(@*[22]))='preload' or string(name(@*[22]))='autoplay' or string(name(@*[22]))='mediagroup' or string(name(@*[22]))='loop' or string(name(@*[22]))='muted' or string(name(@*[22]))='controls' or string(name(@*[22]))='id' or string(name(@*[22]))='xml:lang' or string(name(@*[22]))='title' or string(name(@*[22]))='label' or string(name(@*[22]))='class' or string(name(@*[22]))='dir' or string(name(@*[22]))='role' or string(name(@*[22]))='aria-controls' or string(name(@*[22]))='aria-describedby' or string(name(@*[22]))='aria-flowto' or string(name(@*[22]))='aria-label' or string(name(@*[22]))='aria-labelledby' or string(name(@*[22]))='aria-level' or string(name(@*[22]))='aria-live' or string(name(@*[22]))='aria-orientation' or string(name(@*[22]))='aria-owns' or starts-with(name(@*[22]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 22] Invalid XML attribute in position 22 with name of <sch:value-of select="string(name(@*[22]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[23]))=0 or string(name(@*[23]))='src' or string(name(@*[23]))='crossorigin' or string(name(@*[23]))='preload' or string(name(@*[23]))='autoplay' or string(name(@*[23]))='mediagroup' or string(name(@*[23]))='loop' or string(name(@*[23]))='muted' or string(name(@*[23]))='controls' or string(name(@*[23]))='id' or string(name(@*[23]))='xml:lang' or string(name(@*[23]))='title' or string(name(@*[23]))='label' or string(name(@*[23]))='class' or string(name(@*[23]))='dir' or string(name(@*[23]))='role' or string(name(@*[23]))='aria-controls' or string(name(@*[23]))='aria-describedby' or string(name(@*[23]))='aria-flowto' or string(name(@*[23]))='aria-label' or string(name(@*[23]))='aria-labelledby' or string(name(@*[23]))='aria-level' or string(name(@*[23]))='aria-live' or string(name(@*[23]))='aria-orientation' or string(name(@*[23]))='aria-owns' or starts-with(name(@*[23]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 23] Invalid XML attribute in position 23 with name of <sch:value-of select="string(name(@*[23]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[24]))=0 or string(name(@*[24]))='src' or string(name(@*[24]))='crossorigin' or string(name(@*[24]))='preload' or string(name(@*[24]))='autoplay' or string(name(@*[24]))='mediagroup' or string(name(@*[24]))='loop' or string(name(@*[24]))='muted' or string(name(@*[24]))='controls' or string(name(@*[24]))='id' or string(name(@*[24]))='xml:lang' or string(name(@*[24]))='title' or string(name(@*[24]))='label' or string(name(@*[24]))='class' or string(name(@*[24]))='dir' or string(name(@*[24]))='role' or string(name(@*[24]))='aria-controls' or string(name(@*[24]))='aria-describedby' or string(name(@*[24]))='aria-flowto' or string(name(@*[24]))='aria-label' or string(name(@*[24]))='aria-labelledby' or string(name(@*[24]))='aria-level' or string(name(@*[24]))='aria-live' or string(name(@*[24]))='aria-orientation' or string(name(@*[24]))='aria-owns' or starts-with(name(@*[24]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 24] Invalid XML attribute in position 24 with name of <sch:value-of select="string(name(@*[24]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[25]))=0 or string(name(@*[25]))='src' or string(name(@*[25]))='crossorigin' or string(name(@*[25]))='preload' or string(name(@*[25]))='autoplay' or string(name(@*[25]))='mediagroup' or string(name(@*[25]))='loop' or string(name(@*[25]))='muted' or string(name(@*[25]))='controls' or string(name(@*[25]))='id' or string(name(@*[25]))='xml:lang' or string(name(@*[25]))='title' or string(name(@*[25]))='label' or string(name(@*[25]))='class' or string(name(@*[25]))='dir' or string(name(@*[25]))='role' or string(name(@*[25]))='aria-controls' or string(name(@*[25]))='aria-describedby' or string(name(@*[25]))='aria-flowto' or string(name(@*[25]))='aria-label' or string(name(@*[25]))='aria-labelledby' or string(name(@*[25]))='aria-level' or string(name(@*[25]))='aria-live' or string(name(@*[25]))='aria-orientation' or string(name(@*[25]))='aria-owns' or starts-with(name(@*[25]), 'data-')">
                        [RULE ROOT ELEMENT (audio): Assertion 25] Invalid XML attribute in position 25 with name of <sch:value-of select="string(name(@*[25]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:bdi">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (bdi): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:figcaption">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (figcaption): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:figure">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (figure): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:footer">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (footer): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:header">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (header): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:label">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (label): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:nav">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (nav): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:rb">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (rb): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:rp">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (rp): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:rt">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (rt): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:rtc">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (rtc): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:ruby">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (ruby): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:section">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (section): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:source">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='src' or string(name(@*[1]))='type' or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='src' or string(name(@*[2]))='type' or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='src' or string(name(@*[3]))='type' or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='src' or string(name(@*[4]))='type' or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='src' or string(name(@*[5]))='type' or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='src' or string(name(@*[6]))='type' or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='src' or string(name(@*[7]))='type' or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='src' or string(name(@*[8]))='type' or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='src' or string(name(@*[9]))='type' or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='src' or string(name(@*[10]))='type' or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='src' or string(name(@*[11]))='type' or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='src' or string(name(@*[12]))='type' or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='src' or string(name(@*[13]))='type' or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='src' or string(name(@*[14]))='type' or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='src' or string(name(@*[15]))='type' or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='src' or string(name(@*[16]))='type' or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='src' or string(name(@*[17]))='type' or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[18]))=0 or string(name(@*[18]))='src' or string(name(@*[18]))='type' or string(name(@*[18]))='id' or string(name(@*[18]))='xml:lang' or string(name(@*[18]))='title' or string(name(@*[18]))='label' or string(name(@*[18]))='class' or string(name(@*[18]))='dir' or string(name(@*[18]))='role' or string(name(@*[18]))='aria-controls' or string(name(@*[18]))='aria-describedby' or string(name(@*[18]))='aria-flowto' or string(name(@*[18]))='aria-label' or string(name(@*[18]))='aria-labelledby' or string(name(@*[18]))='aria-level' or string(name(@*[18]))='aria-live' or string(name(@*[18]))='aria-orientation' or string(name(@*[18]))='aria-owns' or starts-with(name(@*[18]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 18] Invalid XML attribute in position 18 with name of <sch:value-of select="string(name(@*[18]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[19]))=0 or string(name(@*[19]))='src' or string(name(@*[19]))='type' or string(name(@*[19]))='id' or string(name(@*[19]))='xml:lang' or string(name(@*[19]))='title' or string(name(@*[19]))='label' or string(name(@*[19]))='class' or string(name(@*[19]))='dir' or string(name(@*[19]))='role' or string(name(@*[19]))='aria-controls' or string(name(@*[19]))='aria-describedby' or string(name(@*[19]))='aria-flowto' or string(name(@*[19]))='aria-label' or string(name(@*[19]))='aria-labelledby' or string(name(@*[19]))='aria-level' or string(name(@*[19]))='aria-live' or string(name(@*[19]))='aria-orientation' or string(name(@*[19]))='aria-owns' or starts-with(name(@*[19]), 'data-')">
                        [RULE ROOT ELEMENT (source): Assertion 19] Invalid XML attribute in position 19 with name of <sch:value-of select="string(name(@*[19]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:track">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='kind' or string(name(@*[1]))='src' or string(name(@*[1]))='srclang' or string(name(@*[1]))='default' or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='kind' or string(name(@*[2]))='src' or string(name(@*[2]))='srclang' or string(name(@*[2]))='default' or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='kind' or string(name(@*[3]))='src' or string(name(@*[3]))='srclang' or string(name(@*[3]))='default' or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='kind' or string(name(@*[4]))='src' or string(name(@*[4]))='srclang' or string(name(@*[4]))='default' or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='kind' or string(name(@*[5]))='src' or string(name(@*[5]))='srclang' or string(name(@*[5]))='default' or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='kind' or string(name(@*[6]))='src' or string(name(@*[6]))='srclang' or string(name(@*[6]))='default' or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='kind' or string(name(@*[7]))='src' or string(name(@*[7]))='srclang' or string(name(@*[7]))='default' or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='kind' or string(name(@*[8]))='src' or string(name(@*[8]))='srclang' or string(name(@*[8]))='default' or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='kind' or string(name(@*[9]))='src' or string(name(@*[9]))='srclang' or string(name(@*[9]))='default' or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='kind' or string(name(@*[10]))='src' or string(name(@*[10]))='srclang' or string(name(@*[10]))='default' or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='kind' or string(name(@*[11]))='src' or string(name(@*[11]))='srclang' or string(name(@*[11]))='default' or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='kind' or string(name(@*[12]))='src' or string(name(@*[12]))='srclang' or string(name(@*[12]))='default' or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='kind' or string(name(@*[13]))='src' or string(name(@*[13]))='srclang' or string(name(@*[13]))='default' or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='kind' or string(name(@*[14]))='src' or string(name(@*[14]))='srclang' or string(name(@*[14]))='default' or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='kind' or string(name(@*[15]))='src' or string(name(@*[15]))='srclang' or string(name(@*[15]))='default' or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='kind' or string(name(@*[16]))='src' or string(name(@*[16]))='srclang' or string(name(@*[16]))='default' or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='kind' or string(name(@*[17]))='src' or string(name(@*[17]))='srclang' or string(name(@*[17]))='default' or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[18]))=0 or string(name(@*[18]))='kind' or string(name(@*[18]))='src' or string(name(@*[18]))='srclang' or string(name(@*[18]))='default' or string(name(@*[18]))='id' or string(name(@*[18]))='xml:lang' or string(name(@*[18]))='title' or string(name(@*[18]))='label' or string(name(@*[18]))='class' or string(name(@*[18]))='dir' or string(name(@*[18]))='role' or string(name(@*[18]))='aria-controls' or string(name(@*[18]))='aria-describedby' or string(name(@*[18]))='aria-flowto' or string(name(@*[18]))='aria-label' or string(name(@*[18]))='aria-labelledby' or string(name(@*[18]))='aria-level' or string(name(@*[18]))='aria-live' or string(name(@*[18]))='aria-orientation' or string(name(@*[18]))='aria-owns' or starts-with(name(@*[18]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 18] Invalid XML attribute in position 18 with name of <sch:value-of select="string(name(@*[18]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[19]))=0 or string(name(@*[19]))='kind' or string(name(@*[19]))='src' or string(name(@*[19]))='srclang' or string(name(@*[19]))='default' or string(name(@*[19]))='id' or string(name(@*[19]))='xml:lang' or string(name(@*[19]))='title' or string(name(@*[19]))='label' or string(name(@*[19]))='class' or string(name(@*[19]))='dir' or string(name(@*[19]))='role' or string(name(@*[19]))='aria-controls' or string(name(@*[19]))='aria-describedby' or string(name(@*[19]))='aria-flowto' or string(name(@*[19]))='aria-label' or string(name(@*[19]))='aria-labelledby' or string(name(@*[19]))='aria-level' or string(name(@*[19]))='aria-live' or string(name(@*[19]))='aria-orientation' or string(name(@*[19]))='aria-owns' or starts-with(name(@*[19]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 19] Invalid XML attribute in position 19 with name of <sch:value-of select="string(name(@*[19]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[20]))=0 or string(name(@*[20]))='kind' or string(name(@*[20]))='src' or string(name(@*[20]))='srclang' or string(name(@*[20]))='default' or string(name(@*[20]))='id' or string(name(@*[20]))='xml:lang' or string(name(@*[20]))='title' or string(name(@*[20]))='label' or string(name(@*[20]))='class' or string(name(@*[20]))='dir' or string(name(@*[20]))='role' or string(name(@*[20]))='aria-controls' or string(name(@*[20]))='aria-describedby' or string(name(@*[20]))='aria-flowto' or string(name(@*[20]))='aria-label' or string(name(@*[20]))='aria-labelledby' or string(name(@*[20]))='aria-level' or string(name(@*[20]))='aria-live' or string(name(@*[20]))='aria-orientation' or string(name(@*[20]))='aria-owns' or starts-with(name(@*[20]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 20] Invalid XML attribute in position 20 with name of <sch:value-of select="string(name(@*[20]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[21]))=0 or string(name(@*[21]))='kind' or string(name(@*[21]))='src' or string(name(@*[21]))='srclang' or string(name(@*[21]))='default' or string(name(@*[21]))='id' or string(name(@*[21]))='xml:lang' or string(name(@*[21]))='title' or string(name(@*[21]))='label' or string(name(@*[21]))='class' or string(name(@*[21]))='dir' or string(name(@*[21]))='role' or string(name(@*[21]))='aria-controls' or string(name(@*[21]))='aria-describedby' or string(name(@*[21]))='aria-flowto' or string(name(@*[21]))='aria-label' or string(name(@*[21]))='aria-labelledby' or string(name(@*[21]))='aria-level' or string(name(@*[21]))='aria-live' or string(name(@*[21]))='aria-orientation' or string(name(@*[21]))='aria-owns' or starts-with(name(@*[21]), 'data-')">
                        [RULE ROOT ELEMENT (track): Assertion 21] Invalid XML attribute in position 21 with name of <sch:value-of select="string(name(@*[21]))" />.
                    </sch:assert>
                </sch:rule>

                <sch:rule abstract="false" context="//qh5:video">
                    <sch:assert test="string-length(name(@*[1]))=0 or string(name(@*[1]))='src' or string(name(@*[1]))='crossorigin' or string(name(@*[1]))='preload' or string(name(@*[1]))='autoplay' or string(name(@*[1]))='mediagroup' or string(name(@*[1]))='loop' or string(name(@*[1]))='muted' or string(name(@*[1]))='controls' or string(name(@*[1]))='poster' or string(name(@*[1]))='width' or string(name(@*[1]))='height' or string(name(@*[1]))='id' or string(name(@*[1]))='xml:lang' or string(name(@*[1]))='title' or string(name(@*[1]))='label' or string(name(@*[1]))='class' or string(name(@*[1]))='dir' or string(name(@*[1]))='role' or string(name(@*[1]))='aria-controls' or string(name(@*[1]))='aria-describedby' or string(name(@*[1]))='aria-flowto' or string(name(@*[1]))='aria-label' or string(name(@*[1]))='aria-labelledby' or string(name(@*[1]))='aria-level' or string(name(@*[1]))='aria-live' or string(name(@*[1]))='aria-orientation' or string(name(@*[1]))='aria-owns' or starts-with(name(@*[1]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 1] Invalid XML attribute in position 1 with name of <sch:value-of select="string(name(@*[1]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[2]))=0 or string(name(@*[2]))='src' or string(name(@*[2]))='crossorigin' or string(name(@*[2]))='preload' or string(name(@*[2]))='autoplay' or string(name(@*[2]))='mediagroup' or string(name(@*[2]))='loop' or string(name(@*[2]))='muted' or string(name(@*[2]))='controls' or string(name(@*[2]))='poster' or string(name(@*[2]))='width' or string(name(@*[2]))='height' or string(name(@*[2]))='id' or string(name(@*[2]))='xml:lang' or string(name(@*[2]))='title' or string(name(@*[2]))='label' or string(name(@*[2]))='class' or string(name(@*[2]))='dir' or string(name(@*[2]))='role' or string(name(@*[2]))='aria-controls' or string(name(@*[2]))='aria-describedby' or string(name(@*[2]))='aria-flowto' or string(name(@*[2]))='aria-label' or string(name(@*[2]))='aria-labelledby' or string(name(@*[2]))='aria-level' or string(name(@*[2]))='aria-live' or string(name(@*[2]))='aria-orientation' or string(name(@*[2]))='aria-owns' or starts-with(name(@*[2]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 2] Invalid XML attribute in position 2 with name of <sch:value-of select="string(name(@*[2]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[3]))=0 or string(name(@*[3]))='src' or string(name(@*[3]))='crossorigin' or string(name(@*[3]))='preload' or string(name(@*[3]))='autoplay' or string(name(@*[3]))='mediagroup' or string(name(@*[3]))='loop' or string(name(@*[3]))='muted' or string(name(@*[3]))='controls' or string(name(@*[3]))='poster' or string(name(@*[3]))='width' or string(name(@*[3]))='height' or string(name(@*[3]))='id' or string(name(@*[3]))='xml:lang' or string(name(@*[3]))='title' or string(name(@*[3]))='label' or string(name(@*[3]))='class' or string(name(@*[3]))='dir' or string(name(@*[3]))='role' or string(name(@*[3]))='aria-controls' or string(name(@*[3]))='aria-describedby' or string(name(@*[3]))='aria-flowto' or string(name(@*[3]))='aria-label' or string(name(@*[3]))='aria-labelledby' or string(name(@*[3]))='aria-level' or string(name(@*[3]))='aria-live' or string(name(@*[3]))='aria-orientation' or string(name(@*[3]))='aria-owns' or starts-with(name(@*[3]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 3] Invalid XML attribute in position 3 with name of <sch:value-of select="string(name(@*[3]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[4]))=0 or string(name(@*[4]))='src' or string(name(@*[4]))='crossorigin' or string(name(@*[4]))='preload' or string(name(@*[4]))='autoplay' or string(name(@*[4]))='mediagroup' or string(name(@*[4]))='loop' or string(name(@*[4]))='muted' or string(name(@*[4]))='controls' or string(name(@*[4]))='poster' or string(name(@*[4]))='width' or string(name(@*[4]))='height' or string(name(@*[4]))='id' or string(name(@*[4]))='xml:lang' or string(name(@*[4]))='title' or string(name(@*[4]))='label' or string(name(@*[4]))='class' or string(name(@*[4]))='dir' or string(name(@*[4]))='role' or string(name(@*[4]))='aria-controls' or string(name(@*[4]))='aria-describedby' or string(name(@*[4]))='aria-flowto' or string(name(@*[4]))='aria-label' or string(name(@*[4]))='aria-labelledby' or string(name(@*[4]))='aria-level' or string(name(@*[4]))='aria-live' or string(name(@*[4]))='aria-orientation' or string(name(@*[4]))='aria-owns' or starts-with(name(@*[4]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 4] Invalid XML attribute in position 4 with name of <sch:value-of select="string(name(@*[4]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[5]))=0 or string(name(@*[5]))='src' or string(name(@*[5]))='crossorigin' or string(name(@*[5]))='preload' or string(name(@*[5]))='autoplay' or string(name(@*[5]))='mediagroup' or string(name(@*[5]))='loop' or string(name(@*[5]))='muted' or string(name(@*[5]))='controls' or string(name(@*[5]))='poster' or string(name(@*[5]))='width' or string(name(@*[5]))='height' or string(name(@*[5]))='id' or string(name(@*[5]))='xml:lang' or string(name(@*[5]))='title' or string(name(@*[5]))='label' or string(name(@*[5]))='class' or string(name(@*[5]))='dir' or string(name(@*[5]))='role' or string(name(@*[5]))='aria-controls' or string(name(@*[5]))='aria-describedby' or string(name(@*[5]))='aria-flowto' or string(name(@*[5]))='aria-label' or string(name(@*[5]))='aria-labelledby' or string(name(@*[5]))='aria-level' or string(name(@*[5]))='aria-live' or string(name(@*[5]))='aria-orientation' or string(name(@*[5]))='aria-owns' or starts-with(name(@*[5]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 5] Invalid XML attribute in position 5 with name of <sch:value-of select="string(name(@*[5]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[6]))=0 or string(name(@*[6]))='src' or string(name(@*[6]))='crossorigin' or string(name(@*[6]))='preload' or string(name(@*[6]))='autoplay' or string(name(@*[6]))='mediagroup' or string(name(@*[6]))='loop' or string(name(@*[6]))='muted' or string(name(@*[6]))='controls' or string(name(@*[6]))='poster' or string(name(@*[6]))='width' or string(name(@*[6]))='height' or string(name(@*[6]))='id' or string(name(@*[6]))='xml:lang' or string(name(@*[6]))='title' or string(name(@*[6]))='label' or string(name(@*[6]))='class' or string(name(@*[6]))='dir' or string(name(@*[6]))='role' or string(name(@*[6]))='aria-controls' or string(name(@*[6]))='aria-describedby' or string(name(@*[6]))='aria-flowto' or string(name(@*[6]))='aria-label' or string(name(@*[6]))='aria-labelledby' or string(name(@*[6]))='aria-level' or string(name(@*[6]))='aria-live' or string(name(@*[6]))='aria-orientation' or string(name(@*[6]))='aria-owns' or starts-with(name(@*[6]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 6] Invalid XML attribute in position 6 with name of <sch:value-of select="string(name(@*[6]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[7]))=0 or string(name(@*[7]))='src' or string(name(@*[7]))='crossorigin' or string(name(@*[7]))='preload' or string(name(@*[7]))='autoplay' or string(name(@*[7]))='mediagroup' or string(name(@*[7]))='loop' or string(name(@*[7]))='muted' or string(name(@*[7]))='controls' or string(name(@*[7]))='poster' or string(name(@*[7]))='width' or string(name(@*[7]))='height' or string(name(@*[7]))='id' or string(name(@*[7]))='xml:lang' or string(name(@*[7]))='title' or string(name(@*[7]))='label' or string(name(@*[7]))='class' or string(name(@*[7]))='dir' or string(name(@*[7]))='role' or string(name(@*[7]))='aria-controls' or string(name(@*[7]))='aria-describedby' or string(name(@*[7]))='aria-flowto' or string(name(@*[7]))='aria-label' or string(name(@*[7]))='aria-labelledby' or string(name(@*[7]))='aria-level' or string(name(@*[7]))='aria-live' or string(name(@*[7]))='aria-orientation' or string(name(@*[7]))='aria-owns' or starts-with(name(@*[7]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 7] Invalid XML attribute in position 7 with name of <sch:value-of select="string(name(@*[7]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[8]))=0 or string(name(@*[8]))='src' or string(name(@*[8]))='crossorigin' or string(name(@*[8]))='preload' or string(name(@*[8]))='autoplay' or string(name(@*[8]))='mediagroup' or string(name(@*[8]))='loop' or string(name(@*[8]))='muted' or string(name(@*[8]))='controls' or string(name(@*[8]))='poster' or string(name(@*[8]))='width' or string(name(@*[8]))='height' or string(name(@*[8]))='id' or string(name(@*[8]))='xml:lang' or string(name(@*[8]))='title' or string(name(@*[8]))='label' or string(name(@*[8]))='class' or string(name(@*[8]))='dir' or string(name(@*[8]))='role' or string(name(@*[8]))='aria-controls' or string(name(@*[8]))='aria-describedby' or string(name(@*[8]))='aria-flowto' or string(name(@*[8]))='aria-label' or string(name(@*[8]))='aria-labelledby' or string(name(@*[8]))='aria-level' or string(name(@*[8]))='aria-live' or string(name(@*[8]))='aria-orientation' or string(name(@*[8]))='aria-owns' or starts-with(name(@*[8]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 8] Invalid XML attribute in position 8 with name of <sch:value-of select="string(name(@*[8]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[9]))=0 or string(name(@*[9]))='src' or string(name(@*[9]))='crossorigin' or string(name(@*[9]))='preload' or string(name(@*[9]))='autoplay' or string(name(@*[9]))='mediagroup' or string(name(@*[9]))='loop' or string(name(@*[9]))='muted' or string(name(@*[9]))='controls' or string(name(@*[9]))='poster' or string(name(@*[9]))='width' or string(name(@*[9]))='height' or string(name(@*[9]))='id' or string(name(@*[9]))='xml:lang' or string(name(@*[9]))='title' or string(name(@*[9]))='label' or string(name(@*[9]))='class' or string(name(@*[9]))='dir' or string(name(@*[9]))='role' or string(name(@*[9]))='aria-controls' or string(name(@*[9]))='aria-describedby' or string(name(@*[9]))='aria-flowto' or string(name(@*[9]))='aria-label' or string(name(@*[9]))='aria-labelledby' or string(name(@*[9]))='aria-level' or string(name(@*[9]))='aria-live' or string(name(@*[9]))='aria-orientation' or string(name(@*[9]))='aria-owns' or starts-with(name(@*[9]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 9] Invalid XML attribute in position 9 with name of <sch:value-of select="string(name(@*[9]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[10]))=0 or string(name(@*[10]))='src' or string(name(@*[10]))='crossorigin' or string(name(@*[10]))='preload' or string(name(@*[10]))='autoplay' or string(name(@*[10]))='mediagroup' or string(name(@*[10]))='loop' or string(name(@*[10]))='muted' or string(name(@*[10]))='controls' or string(name(@*[10]))='poster' or string(name(@*[10]))='width' or string(name(@*[10]))='height' or string(name(@*[10]))='id' or string(name(@*[10]))='xml:lang' or string(name(@*[10]))='title' or string(name(@*[10]))='label' or string(name(@*[10]))='class' or string(name(@*[10]))='dir' or string(name(@*[10]))='role' or string(name(@*[10]))='aria-controls' or string(name(@*[10]))='aria-describedby' or string(name(@*[10]))='aria-flowto' or string(name(@*[10]))='aria-label' or string(name(@*[10]))='aria-labelledby' or string(name(@*[10]))='aria-level' or string(name(@*[10]))='aria-live' or string(name(@*[10]))='aria-orientation' or string(name(@*[10]))='aria-owns' or starts-with(name(@*[10]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 10] Invalid XML attribute in position 10 with name of <sch:value-of select="string(name(@*[10]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[11]))=0 or string(name(@*[11]))='src' or string(name(@*[11]))='crossorigin' or string(name(@*[11]))='preload' or string(name(@*[11]))='autoplay' or string(name(@*[11]))='mediagroup' or string(name(@*[11]))='loop' or string(name(@*[11]))='muted' or string(name(@*[11]))='controls' or string(name(@*[11]))='poster' or string(name(@*[11]))='width' or string(name(@*[11]))='height' or string(name(@*[11]))='id' or string(name(@*[11]))='xml:lang' or string(name(@*[11]))='title' or string(name(@*[11]))='label' or string(name(@*[11]))='class' or string(name(@*[11]))='dir' or string(name(@*[11]))='role' or string(name(@*[11]))='aria-controls' or string(name(@*[11]))='aria-describedby' or string(name(@*[11]))='aria-flowto' or string(name(@*[11]))='aria-label' or string(name(@*[11]))='aria-labelledby' or string(name(@*[11]))='aria-level' or string(name(@*[11]))='aria-live' or string(name(@*[11]))='aria-orientation' or string(name(@*[11]))='aria-owns' or starts-with(name(@*[11]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 11] Invalid XML attribute in position 11 with name of <sch:value-of select="string(name(@*[11]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[12]))=0 or string(name(@*[12]))='src' or string(name(@*[12]))='crossorigin' or string(name(@*[12]))='preload' or string(name(@*[12]))='autoplay' or string(name(@*[12]))='mediagroup' or string(name(@*[12]))='loop' or string(name(@*[12]))='muted' or string(name(@*[12]))='controls' or string(name(@*[12]))='poster' or string(name(@*[12]))='width' or string(name(@*[12]))='height' or string(name(@*[12]))='id' or string(name(@*[12]))='xml:lang' or string(name(@*[12]))='title' or string(name(@*[12]))='label' or string(name(@*[12]))='class' or string(name(@*[12]))='dir' or string(name(@*[12]))='role' or string(name(@*[12]))='aria-controls' or string(name(@*[12]))='aria-describedby' or string(name(@*[12]))='aria-flowto' or string(name(@*[12]))='aria-label' or string(name(@*[12]))='aria-labelledby' or string(name(@*[12]))='aria-level' or string(name(@*[12]))='aria-live' or string(name(@*[12]))='aria-orientation' or string(name(@*[12]))='aria-owns' or starts-with(name(@*[12]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 12] Invalid XML attribute in position 12 with name of <sch:value-of select="string(name(@*[12]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[13]))=0 or string(name(@*[13]))='src' or string(name(@*[13]))='crossorigin' or string(name(@*[13]))='preload' or string(name(@*[13]))='autoplay' or string(name(@*[13]))='mediagroup' or string(name(@*[13]))='loop' or string(name(@*[13]))='muted' or string(name(@*[13]))='controls' or string(name(@*[13]))='poster' or string(name(@*[13]))='width' or string(name(@*[13]))='height' or string(name(@*[13]))='id' or string(name(@*[13]))='xml:lang' or string(name(@*[13]))='title' or string(name(@*[13]))='label' or string(name(@*[13]))='class' or string(name(@*[13]))='dir' or string(name(@*[13]))='role' or string(name(@*[13]))='aria-controls' or string(name(@*[13]))='aria-describedby' or string(name(@*[13]))='aria-flowto' or string(name(@*[13]))='aria-label' or string(name(@*[13]))='aria-labelledby' or string(name(@*[13]))='aria-level' or string(name(@*[13]))='aria-live' or string(name(@*[13]))='aria-orientation' or string(name(@*[13]))='aria-owns' or starts-with(name(@*[13]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 13] Invalid XML attribute in position 13 with name of <sch:value-of select="string(name(@*[13]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[14]))=0 or string(name(@*[14]))='src' or string(name(@*[14]))='crossorigin' or string(name(@*[14]))='preload' or string(name(@*[14]))='autoplay' or string(name(@*[14]))='mediagroup' or string(name(@*[14]))='loop' or string(name(@*[14]))='muted' or string(name(@*[14]))='controls' or string(name(@*[14]))='poster' or string(name(@*[14]))='width' or string(name(@*[14]))='height' or string(name(@*[14]))='id' or string(name(@*[14]))='xml:lang' or string(name(@*[14]))='title' or string(name(@*[14]))='label' or string(name(@*[14]))='class' or string(name(@*[14]))='dir' or string(name(@*[14]))='role' or string(name(@*[14]))='aria-controls' or string(name(@*[14]))='aria-describedby' or string(name(@*[14]))='aria-flowto' or string(name(@*[14]))='aria-label' or string(name(@*[14]))='aria-labelledby' or string(name(@*[14]))='aria-level' or string(name(@*[14]))='aria-live' or string(name(@*[14]))='aria-orientation' or string(name(@*[14]))='aria-owns' or starts-with(name(@*[14]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 14] Invalid XML attribute in position 14 with name of <sch:value-of select="string(name(@*[14]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[15]))=0 or string(name(@*[15]))='src' or string(name(@*[15]))='crossorigin' or string(name(@*[15]))='preload' or string(name(@*[15]))='autoplay' or string(name(@*[15]))='mediagroup' or string(name(@*[15]))='loop' or string(name(@*[15]))='muted' or string(name(@*[15]))='controls' or string(name(@*[15]))='poster' or string(name(@*[15]))='width' or string(name(@*[15]))='height' or string(name(@*[15]))='id' or string(name(@*[15]))='xml:lang' or string(name(@*[15]))='title' or string(name(@*[15]))='label' or string(name(@*[15]))='class' or string(name(@*[15]))='dir' or string(name(@*[15]))='role' or string(name(@*[15]))='aria-controls' or string(name(@*[15]))='aria-describedby' or string(name(@*[15]))='aria-flowto' or string(name(@*[15]))='aria-label' or string(name(@*[15]))='aria-labelledby' or string(name(@*[15]))='aria-level' or string(name(@*[15]))='aria-live' or string(name(@*[15]))='aria-orientation' or string(name(@*[15]))='aria-owns' or starts-with(name(@*[15]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 15] Invalid XML attribute in position 15 with name of <sch:value-of select="string(name(@*[15]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[16]))=0 or string(name(@*[16]))='src' or string(name(@*[16]))='crossorigin' or string(name(@*[16]))='preload' or string(name(@*[16]))='autoplay' or string(name(@*[16]))='mediagroup' or string(name(@*[16]))='loop' or string(name(@*[16]))='muted' or string(name(@*[16]))='controls' or string(name(@*[16]))='poster' or string(name(@*[16]))='width' or string(name(@*[16]))='height' or string(name(@*[16]))='id' or string(name(@*[16]))='xml:lang' or string(name(@*[16]))='title' or string(name(@*[16]))='label' or string(name(@*[16]))='class' or string(name(@*[16]))='dir' or string(name(@*[16]))='role' or string(name(@*[16]))='aria-controls' or string(name(@*[16]))='aria-describedby' or string(name(@*[16]))='aria-flowto' or string(name(@*[16]))='aria-label' or string(name(@*[16]))='aria-labelledby' or string(name(@*[16]))='aria-level' or string(name(@*[16]))='aria-live' or string(name(@*[16]))='aria-orientation' or string(name(@*[16]))='aria-owns' or starts-with(name(@*[16]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 16] Invalid XML attribute in position 16 with name of <sch:value-of select="string(name(@*[16]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[17]))=0 or string(name(@*[17]))='src' or string(name(@*[17]))='crossorigin' or string(name(@*[17]))='preload' or string(name(@*[17]))='autoplay' or string(name(@*[17]))='mediagroup' or string(name(@*[17]))='loop' or string(name(@*[17]))='muted' or string(name(@*[17]))='controls' or string(name(@*[17]))='poster' or string(name(@*[17]))='width' or string(name(@*[17]))='height' or string(name(@*[17]))='id' or string(name(@*[17]))='xml:lang' or string(name(@*[17]))='title' or string(name(@*[17]))='label' or string(name(@*[17]))='class' or string(name(@*[17]))='dir' or string(name(@*[17]))='role' or string(name(@*[17]))='aria-controls' or string(name(@*[17]))='aria-describedby' or string(name(@*[17]))='aria-flowto' or string(name(@*[17]))='aria-label' or string(name(@*[17]))='aria-labelledby' or string(name(@*[17]))='aria-level' or string(name(@*[17]))='aria-live' or string(name(@*[17]))='aria-orientation' or string(name(@*[17]))='aria-owns' or starts-with(name(@*[17]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 17] Invalid XML attribute in position 17 with name of <sch:value-of select="string(name(@*[17]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[18]))=0 or string(name(@*[18]))='src' or string(name(@*[18]))='crossorigin' or string(name(@*[18]))='preload' or string(name(@*[18]))='autoplay' or string(name(@*[18]))='mediagroup' or string(name(@*[18]))='loop' or string(name(@*[18]))='muted' or string(name(@*[18]))='controls' or string(name(@*[18]))='poster' or string(name(@*[18]))='width' or string(name(@*[18]))='height' or string(name(@*[18]))='id' or string(name(@*[18]))='xml:lang' or string(name(@*[18]))='title' or string(name(@*[18]))='label' or string(name(@*[18]))='class' or string(name(@*[18]))='dir' or string(name(@*[18]))='role' or string(name(@*[18]))='aria-controls' or string(name(@*[18]))='aria-describedby' or string(name(@*[18]))='aria-flowto' or string(name(@*[18]))='aria-label' or string(name(@*[18]))='aria-labelledby' or string(name(@*[18]))='aria-level' or string(name(@*[18]))='aria-live' or string(name(@*[18]))='aria-orientation' or string(name(@*[18]))='aria-owns' or starts-with(name(@*[18]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 18] Invalid XML attribute in position 18 with name of <sch:value-of select="string(name(@*[18]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[19]))=0 or string(name(@*[19]))='src' or string(name(@*[19]))='crossorigin' or string(name(@*[19]))='preload' or string(name(@*[19]))='autoplay' or string(name(@*[19]))='mediagroup' or string(name(@*[19]))='loop' or string(name(@*[19]))='muted' or string(name(@*[19]))='controls' or string(name(@*[19]))='poster' or string(name(@*[19]))='width' or string(name(@*[19]))='height' or string(name(@*[19]))='id' or string(name(@*[19]))='xml:lang' or string(name(@*[19]))='title' or string(name(@*[19]))='label' or string(name(@*[19]))='class' or string(name(@*[19]))='dir' or string(name(@*[19]))='role' or string(name(@*[19]))='aria-controls' or string(name(@*[19]))='aria-describedby' or string(name(@*[19]))='aria-flowto' or string(name(@*[19]))='aria-label' or string(name(@*[19]))='aria-labelledby' or string(name(@*[19]))='aria-level' or string(name(@*[19]))='aria-live' or string(name(@*[19]))='aria-orientation' or string(name(@*[19]))='aria-owns' or starts-with(name(@*[19]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 19] Invalid XML attribute in position 19 with name of <sch:value-of select="string(name(@*[19]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[20]))=0 or string(name(@*[20]))='src' or string(name(@*[20]))='crossorigin' or string(name(@*[20]))='preload' or string(name(@*[20]))='autoplay' or string(name(@*[20]))='mediagroup' or string(name(@*[20]))='loop' or string(name(@*[20]))='muted' or string(name(@*[20]))='controls' or string(name(@*[20]))='poster' or string(name(@*[20]))='width' or string(name(@*[20]))='height' or string(name(@*[20]))='id' or string(name(@*[20]))='xml:lang' or string(name(@*[20]))='title' or string(name(@*[20]))='label' or string(name(@*[20]))='class' or string(name(@*[20]))='dir' or string(name(@*[20]))='role' or string(name(@*[20]))='aria-controls' or string(name(@*[20]))='aria-describedby' or string(name(@*[20]))='aria-flowto' or string(name(@*[20]))='aria-label' or string(name(@*[20]))='aria-labelledby' or string(name(@*[20]))='aria-level' or string(name(@*[20]))='aria-live' or string(name(@*[20]))='aria-orientation' or string(name(@*[20]))='aria-owns' or starts-with(name(@*[20]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 20] Invalid XML attribute in position 20 with name of <sch:value-of select="string(name(@*[20]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[21]))=0 or string(name(@*[21]))='src' or string(name(@*[21]))='crossorigin' or string(name(@*[21]))='preload' or string(name(@*[21]))='autoplay' or string(name(@*[21]))='mediagroup' or string(name(@*[21]))='loop' or string(name(@*[21]))='muted' or string(name(@*[21]))='controls' or string(name(@*[21]))='poster' or string(name(@*[21]))='width' or string(name(@*[21]))='height' or string(name(@*[21]))='id' or string(name(@*[21]))='xml:lang' or string(name(@*[21]))='title' or string(name(@*[21]))='label' or string(name(@*[21]))='class' or string(name(@*[21]))='dir' or string(name(@*[21]))='role' or string(name(@*[21]))='aria-controls' or string(name(@*[21]))='aria-describedby' or string(name(@*[21]))='aria-flowto' or string(name(@*[21]))='aria-label' or string(name(@*[21]))='aria-labelledby' or string(name(@*[21]))='aria-level' or string(name(@*[21]))='aria-live' or string(name(@*[21]))='aria-orientation' or string(name(@*[21]))='aria-owns' or starts-with(name(@*[21]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 21] Invalid XML attribute in position 21 with name of <sch:value-of select="string(name(@*[21]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[22]))=0 or string(name(@*[22]))='src' or string(name(@*[22]))='crossorigin' or string(name(@*[22]))='preload' or string(name(@*[22]))='autoplay' or string(name(@*[22]))='mediagroup' or string(name(@*[22]))='loop' or string(name(@*[22]))='muted' or string(name(@*[22]))='controls' or string(name(@*[22]))='poster' or string(name(@*[22]))='width' or string(name(@*[22]))='height' or string(name(@*[22]))='id' or string(name(@*[22]))='xml:lang' or string(name(@*[22]))='title' or string(name(@*[22]))='label' or string(name(@*[22]))='class' or string(name(@*[22]))='dir' or string(name(@*[22]))='role' or string(name(@*[22]))='aria-controls' or string(name(@*[22]))='aria-describedby' or string(name(@*[22]))='aria-flowto' or string(name(@*[22]))='aria-label' or string(name(@*[22]))='aria-labelledby' or string(name(@*[22]))='aria-level' or string(name(@*[22]))='aria-live' or string(name(@*[22]))='aria-orientation' or string(name(@*[22]))='aria-owns' or starts-with(name(@*[22]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 22] Invalid XML attribute in position 22 with name of <sch:value-of select="string(name(@*[22]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[23]))=0 or string(name(@*[23]))='src' or string(name(@*[23]))='crossorigin' or string(name(@*[23]))='preload' or string(name(@*[23]))='autoplay' or string(name(@*[23]))='mediagroup' or string(name(@*[23]))='loop' or string(name(@*[23]))='muted' or string(name(@*[23]))='controls' or string(name(@*[23]))='poster' or string(name(@*[23]))='width' or string(name(@*[23]))='height' or string(name(@*[23]))='id' or string(name(@*[23]))='xml:lang' or string(name(@*[23]))='title' or string(name(@*[23]))='label' or string(name(@*[23]))='class' or string(name(@*[23]))='dir' or string(name(@*[23]))='role' or string(name(@*[23]))='aria-controls' or string(name(@*[23]))='aria-describedby' or string(name(@*[23]))='aria-flowto' or string(name(@*[23]))='aria-label' or string(name(@*[23]))='aria-labelledby' or string(name(@*[23]))='aria-level' or string(name(@*[23]))='aria-live' or string(name(@*[23]))='aria-orientation' or string(name(@*[23]))='aria-owns' or starts-with(name(@*[23]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 23] Invalid XML attribute in position 23 with name of <sch:value-of select="string(name(@*[23]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[24]))=0 or string(name(@*[24]))='src' or string(name(@*[24]))='crossorigin' or string(name(@*[24]))='preload' or string(name(@*[24]))='autoplay' or string(name(@*[24]))='mediagroup' or string(name(@*[24]))='loop' or string(name(@*[24]))='muted' or string(name(@*[24]))='controls' or string(name(@*[24]))='poster' or string(name(@*[24]))='width' or string(name(@*[24]))='height' or string(name(@*[24]))='id' or string(name(@*[24]))='xml:lang' or string(name(@*[24]))='title' or string(name(@*[24]))='label' or string(name(@*[24]))='class' or string(name(@*[24]))='dir' or string(name(@*[24]))='role' or string(name(@*[24]))='aria-controls' or string(name(@*[24]))='aria-describedby' or string(name(@*[24]))='aria-flowto' or string(name(@*[24]))='aria-label' or string(name(@*[24]))='aria-labelledby' or string(name(@*[24]))='aria-level' or string(name(@*[24]))='aria-live' or string(name(@*[24]))='aria-orientation' or string(name(@*[24]))='aria-owns' or starts-with(name(@*[24]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 24] Invalid XML attribute in position 24 with name of <sch:value-of select="string(name(@*[24]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[25]))=0 or string(name(@*[25]))='src' or string(name(@*[25]))='crossorigin' or string(name(@*[25]))='preload' or string(name(@*[25]))='autoplay' or string(name(@*[25]))='mediagroup' or string(name(@*[25]))='loop' or string(name(@*[25]))='muted' or string(name(@*[25]))='controls' or string(name(@*[25]))='poster' or string(name(@*[25]))='width' or string(name(@*[25]))='height' or string(name(@*[25]))='id' or string(name(@*[25]))='xml:lang' or string(name(@*[25]))='title' or string(name(@*[25]))='label' or string(name(@*[25]))='class' or string(name(@*[25]))='dir' or string(name(@*[25]))='role' or string(name(@*[25]))='aria-controls' or string(name(@*[25]))='aria-describedby' or string(name(@*[25]))='aria-flowto' or string(name(@*[25]))='aria-label' or string(name(@*[25]))='aria-labelledby' or string(name(@*[25]))='aria-level' or string(name(@*[25]))='aria-live' or string(name(@*[25]))='aria-orientation' or string(name(@*[25]))='aria-owns' or starts-with(name(@*[25]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 25] Invalid XML attribute in position 25 with name of <sch:value-of select="string(name(@*[25]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[26]))=0 or string(name(@*[26]))='src' or string(name(@*[26]))='crossorigin' or string(name(@*[26]))='preload' or string(name(@*[26]))='autoplay' or string(name(@*[26]))='mediagroup' or string(name(@*[26]))='loop' or string(name(@*[26]))='muted' or string(name(@*[26]))='controls' or string(name(@*[26]))='poster' or string(name(@*[26]))='width' or string(name(@*[26]))='height' or string(name(@*[26]))='id' or string(name(@*[26]))='xml:lang' or string(name(@*[26]))='title' or string(name(@*[26]))='label' or string(name(@*[26]))='class' or string(name(@*[26]))='dir' or string(name(@*[26]))='role' or string(name(@*[26]))='aria-controls' or string(name(@*[26]))='aria-describedby' or string(name(@*[26]))='aria-flowto' or string(name(@*[26]))='aria-label' or string(name(@*[26]))='aria-labelledby' or string(name(@*[26]))='aria-level' or string(name(@*[26]))='aria-live' or string(name(@*[26]))='aria-orientation' or string(name(@*[26]))='aria-owns' or starts-with(name(@*[26]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 26] Invalid XML attribute in position 26 with name of <sch:value-of select="string(name(@*[26]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[27]))=0 or string(name(@*[27]))='src' or string(name(@*[27]))='crossorigin' or string(name(@*[27]))='preload' or string(name(@*[27]))='autoplay' or string(name(@*[27]))='mediagroup' or string(name(@*[27]))='loop' or string(name(@*[27]))='muted' or string(name(@*[27]))='controls' or string(name(@*[27]))='poster' or string(name(@*[27]))='width' or string(name(@*[27]))='height' or string(name(@*[27]))='id' or string(name(@*[27]))='xml:lang' or string(name(@*[27]))='title' or string(name(@*[27]))='label' or string(name(@*[27]))='class' or string(name(@*[27]))='dir' or string(name(@*[27]))='role' or string(name(@*[27]))='aria-controls' or string(name(@*[27]))='aria-describedby' or string(name(@*[27]))='aria-flowto' or string(name(@*[27]))='aria-label' or string(name(@*[27]))='aria-labelledby' or string(name(@*[27]))='aria-level' or string(name(@*[27]))='aria-live' or string(name(@*[27]))='aria-orientation' or string(name(@*[27]))='aria-owns' or starts-with(name(@*[27]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 27] Invalid XML attribute in position 27 with name of <sch:value-of select="string(name(@*[27]))" />.
                    </sch:assert>
                    <sch:assert test="string-length(name(@*[28]))=0 or string(name(@*[28]))='src' or string(name(@*[28]))='crossorigin' or string(name(@*[28]))='preload' or string(name(@*[28]))='autoplay' or string(name(@*[28]))='mediagroup' or string(name(@*[28]))='loop' or string(name(@*[28]))='muted' or string(name(@*[28]))='controls' or string(name(@*[28]))='poster' or string(name(@*[28]))='width' or string(name(@*[28]))='height' or string(name(@*[28]))='id' or string(name(@*[28]))='xml:lang' or string(name(@*[28]))='title' or string(name(@*[28]))='label' or string(name(@*[28]))='class' or string(name(@*[28]))='dir' or string(name(@*[28]))='role' or string(name(@*[28]))='aria-controls' or string(name(@*[28]))='aria-describedby' or string(name(@*[28]))='aria-flowto' or string(name(@*[28]))='aria-label' or string(name(@*[28]))='aria-labelledby' or string(name(@*[28]))='aria-level' or string(name(@*[28]))='aria-live' or string(name(@*[28]))='aria-orientation' or string(name(@*[28]))='aria-owns' or starts-with(name(@*[28]), 'data-')">
                        [RULE ROOT ELEMENT (video): Assertion 28] Invalid XML attribute in position 28 with name of <sch:value-of select="string(name(@*[28]))" />.
                    </sch:assert>
                </sch:rule>

            </sch:pattern>
            <!-- RULESET ******************************************************************* -->

        </xs:appinfo>
    </xs:annotation>

    <xs:annotation>
        <xs:documentation>
            Definition of Schematron Validation Rules
            =========================================
            Author:         Colin Smythe (IMS Global, UK) and Mark McKell (IMS Global, USA)
            Date:           1st September, 2015
            Version:        1.0
            Status:         Final Release

            Description:    The set of Schematron Rules to further enforce the HTML5 features in the QTIv2.2 Information Model. The rule sets that have been defined are:

                            [RULE_SET_GENERAL] Ensure the figcaption element positioning within the figure element.

                            RULE_SET_GENERAL: Ensure the figcaption element positioning within the figure element. The set of rules are:-
                            * RULE GENERAL 1-Assertion 1 :- The figcaption must be either the first or last element in the contained sequence.

            History:        The first set of of schematron rules for the IMS QTIv2.2 specification.

        </xs:documentation>

        <xs:appinfo>
            <sch:ns uri="http://www.imsglobal.org/xsd/imsqtiv2p2_html5_v1p0" prefix="qh5" />
            <sch:title>Schematron Validation Rules for the HTML5 Features in the QTIv2.2 Specification.</sch:title>

            <!-- RULESET ******************************************************************* -->
            <sch:pattern abstract="false" id="RULE_SET_GENERAL">
                <sch:title>Ensure the figcaption element positioning within the figure element.</sch:title>

                <sch:rule abstract="false" context="//qh5:figure">
                    <sch:assert test="qh5:figcaption[position()=1 or position()=last()]">
                        [RULE GENERAL 1: Assertion 1] The figcaption must be either the first or last element in the contained sequence.<sch:value-of select="concat('The Figure identifier is: ', @id)" />
                    </sch:assert>
                </sch:rule>

            </sch:pattern>
            <!-- *************************************************************************** -->

        </xs:appinfo>
    </xs:annotation>

    <!-- Generate Global Attributes (non-assigned) ******************************************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate Global Attributes *********************************************************************** -->

    <xs:attributeGroup name="autoplay.Audio.Attr">
        <xs:attribute name="autoplay" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="controls.Audio.Attr">
        <xs:attribute name="controls" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="crossorigin.Audio.Attr">
        <xs:attribute name="crossorigin" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="anonymous" />
                    <xs:enumeration value="use-credentials" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="loop.Audio.Attr">
        <xs:attribute name="loop" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="mediagroup.Audio.Attr">
        <xs:attribute name="mediagroup" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="muted.Audio.Attr">
        <xs:attribute name="muted" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="preload.Audio.Attr">
        <xs:attribute name="preload" use="optional" default="metadata">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="none" />
                    <xs:enumeration value="auto" />
                    <xs:enumeration value="metadata" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="src.Audio.Attr">
        <xs:attribute name="src" use="optional" type="URL.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-controls.BaseHTML5.Attr">
        <xs:attribute name="aria-controls" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-describedby.BaseHTML5.Attr">
        <xs:attribute name="aria-describedby" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-flowto.BaseHTML5.Attr">
        <xs:attribute name="aria-flowto" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-label.BaseHTML5.Attr">
        <xs:attribute name="aria-label" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-labelledby.BaseHTML5.Attr">
        <xs:attribute name="aria-labelledby" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-level.BaseHTML5.Attr">
        <xs:attribute name="aria-level" use="optional" type="AriaLevelInteger.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-live.BaseHTML5.Attr">
        <xs:attribute name="aria-live" use="optional" default="off">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="off" />
                    <xs:enumeration value="polite" />
                    <xs:enumeration value="assertive" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-orientation.BaseHTML5.Attr">
        <xs:attribute name="aria-orientation" use="optional" default="horizontal">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="vertical" />
                    <xs:enumeration value="horizontal" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-owns.BaseHTML5.Attr">
        <xs:attribute name="aria-owns" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="class.BaseHTML5.Attr">
        <xs:attribute name="class" use="optional">
            <xs:simpleType>
                <xs:list itemType="StringList.Type" />
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="dataExtension.BaseHTML5.Attr">
        <xs:anyAttribute namespace = "##any" processContents = "lax" />
    </xs:attributeGroup>

    <xs:attributeGroup name="dir.BaseHTML5.Attr">
        <xs:attribute name="dir" use="optional" default="auto">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="ltr" />
                    <xs:enumeration value="rtl" />
                    <xs:enumeration value="auto" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="id.BaseHTML5.Attr">
        <xs:attribute name="id" use="optional" type="UniqueIdentifier.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="label.BaseHTML5.Attr">
        <xs:attribute name="label" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="language.BaseHTML5.Attr">
        <xs:attribute ref="xml:lang" use="optional" />
    </xs:attributeGroup>

    <xs:attributeGroup name="role.BaseHTML5.Attr">
        <xs:attribute name="role" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="article" />
                    <xs:enumeration value="columnheader" />
                    <xs:enumeration value="definition" />
                    <xs:enumeration value="directory" />
                    <xs:enumeration value="document" />
                    <xs:enumeration value="group" />
                    <xs:enumeration value="heading" />
                    <xs:enumeration value="img" />
                    <xs:enumeration value="list" />
                    <xs:enumeration value="listitem" />
                    <xs:enumeration value="math" />
                    <xs:enumeration value="note" />
                    <xs:enumeration value="presentation" />
                    <xs:enumeration value="region" />
                    <xs:enumeration value="row" />
                    <xs:enumeration value="rowgroup" />
                    <xs:enumeration value="rowheader" />
                    <xs:enumeration value="separator" />
                    <xs:enumeration value="toolbar" />
                    <xs:enumeration value="button" />
                    <xs:enumeration value="checkbox" />
                    <xs:enumeration value="gridcell" />
                    <xs:enumeration value="link" />
                    <xs:enumeration value="log" />
                    <xs:enumeration value="option" />
                    <xs:enumeration value="radio" />
                    <xs:enumeration value="slider" />
                    <xs:enumeration value="spinbutton" />
                    <xs:enumeration value="status" />
                    <xs:enumeration value="tab" />
                    <xs:enumeration value="tabpanel" />
                    <xs:enumeration value="textbox" />
                    <xs:enumeration value="timer" />
                    <xs:enumeration value="listbox" />
                    <xs:enumeration value="radiogroup" />
                    <xs:enumeration value="tablist" />
                    <xs:enumeration value="complementary" />
                    <xs:enumeration value="contentinfo" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="title.BaseHTML5.Attr">
        <xs:attribute name="title" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-controls.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-controls" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-describedby.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-describedby" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-flowto.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-flowto" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-label.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-label" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-labelledby.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-labelledby" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-level.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-level" use="optional" type="AriaLevelInteger.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-live.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-live" use="optional" default="off">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="off" />
                    <xs:enumeration value="polite" />
                    <xs:enumeration value="assertive" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-orientation.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-orientation" use="optional" default="horizontal">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="vertical" />
                    <xs:enumeration value="horizontal" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="aria-owns.BaseHTML5Empty.Attr">
        <xs:attribute name="aria-owns" use="optional" type="xs:IDREFS" />
    </xs:attributeGroup>

    <xs:attributeGroup name="class.BaseHTML5Empty.Attr">
        <xs:attribute name="class" use="optional">
            <xs:simpleType>
                <xs:list itemType="StringList.Type" />
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="dataExtension.BaseHTML5Empty.Attr">
        <xs:anyAttribute namespace = "##any" processContents = "lax" />
    </xs:attributeGroup>

    <xs:attributeGroup name="dir.BaseHTML5Empty.Attr">
        <xs:attribute name="dir" use="optional" default="auto">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="ltr" />
                    <xs:enumeration value="rtl" />
                    <xs:enumeration value="auto" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="id.BaseHTML5Empty.Attr">
        <xs:attribute name="id" use="optional" type="UniqueIdentifier.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="label.BaseHTML5Empty.Attr">
        <xs:attribute name="label" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="language.BaseHTML5Empty.Attr">
        <xs:attribute ref="xml:lang" use="optional" />
    </xs:attributeGroup>

    <xs:attributeGroup name="role.BaseHTML5Empty.Attr">
        <xs:attribute name="role" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="article" />
                    <xs:enumeration value="columnheader" />
                    <xs:enumeration value="definition" />
                    <xs:enumeration value="directory" />
                    <xs:enumeration value="document" />
                    <xs:enumeration value="group" />
                    <xs:enumeration value="heading" />
                    <xs:enumeration value="img" />
                    <xs:enumeration value="list" />
                    <xs:enumeration value="listitem" />
                    <xs:enumeration value="math" />
                    <xs:enumeration value="note" />
                    <xs:enumeration value="presentation" />
                    <xs:enumeration value="region" />
                    <xs:enumeration value="row" />
                    <xs:enumeration value="rowgroup" />
                    <xs:enumeration value="rowheader" />
                    <xs:enumeration value="separator" />
                    <xs:enumeration value="toolbar" />
                    <xs:enumeration value="button" />
                    <xs:enumeration value="checkbox" />
                    <xs:enumeration value="gridcell" />
                    <xs:enumeration value="link" />
                    <xs:enumeration value="log" />
                    <xs:enumeration value="option" />
                    <xs:enumeration value="radio" />
                    <xs:enumeration value="slider" />
                    <xs:enumeration value="spinbutton" />
                    <xs:enumeration value="status" />
                    <xs:enumeration value="tab" />
                    <xs:enumeration value="tabpanel" />
                    <xs:enumeration value="textbox" />
                    <xs:enumeration value="timer" />
                    <xs:enumeration value="listbox" />
                    <xs:enumeration value="radiogroup" />
                    <xs:enumeration value="tablist" />
                    <xs:enumeration value="complementary" />
                    <xs:enumeration value="contentinfo" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="title.BaseHTML5Empty.Attr">
        <xs:attribute name="title" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="src.Source.Attr">
        <xs:attribute name="src" use="required" type="URL.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="type.Source.Attr">
        <xs:attribute name="type" use="optional" type="MimeType.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="default.Track.Attr">
        <xs:attribute name="default" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="kind.Track.Attr">
        <xs:attribute name="kind" use="optional" default="subtitles">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="subtitles" />
                    <xs:enumeration value="captions" />
                    <xs:enumeration value="descriptions" />
                    <xs:enumeration value="chapters" />
                    <xs:enumeration value="metadata" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="src.Track.Attr">
        <xs:attribute name="src" use="required" type="URL.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="srclang.Track.Attr">
        <xs:attribute name="srclang" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="autoplay.Video.Attr">
        <xs:attribute name="autoplay" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="controls.Video.Attr">
        <xs:attribute name="controls" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="crossorigin.Video.Attr">
        <xs:attribute name="crossorigin" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="anonymous" />
                    <xs:enumeration value="use-credentials" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="height.Video.Attr">
        <xs:attribute name="height" use="optional" type="xs:nonNegativeInteger" />
    </xs:attributeGroup>

    <xs:attributeGroup name="loop.Video.Attr">
        <xs:attribute name="loop" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="mediagroup.Video.Attr">
        <xs:attribute name="mediagroup" use="optional" type="xs:normalizedString" />
    </xs:attributeGroup>

    <xs:attributeGroup name="muted.Video.Attr">
        <xs:attribute name="muted" use="optional" type="xs:boolean" />
    </xs:attributeGroup>

    <xs:attributeGroup name="poster.Video.Attr">
        <xs:attribute name="poster" use="optional" type="URL.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="preload.Video.Attr">
        <xs:attribute name="preload" use="optional" default="metadata">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="none" />
                    <xs:enumeration value="auto" />
                    <xs:enumeration value="metadata" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:attributeGroup name="src.Video.Attr">
        <xs:attribute name="src" use="optional" type="URL.Type" />
    </xs:attributeGroup>

    <xs:attributeGroup name="width.Video.Attr">
        <xs:attribute name="width" use="optional" type="xs:nonNegativeInteger" />
    </xs:attributeGroup>

    <!-- ================================================================================================== -->

    <!-- Generate Global List Types *********************************************************************** -->

    <xs:simpleType name="StringList.Type">
        <xs:restriction base="xs:string" />
    </xs:simpleType>

    <!-- ================================================================================================== -->

    <!-- Generate Namespaced extension Group  ************************************************************* -->

    <!-- ================================================================================================== -->

    <!-- Generate Special DataTypes  ********************************************************************** -->

    <xs:complexType name="EmptyPrimitiveType.Type">
        <xs:complexContent>
            <xs:restriction base="xs:anyType" />
        </xs:complexContent>
    </xs:complexType>

    <!-- ================================================================================================== -->

    <!-- Generate the enumerated simpleType declarations ************************************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate the simpleType elements based on IMS data-types (Parameter) ***************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate the simpleType elements based on IMS data-types (Derived) ******************************* -->

    <!-- ================================================================================================== -->

    <!-- Generate the simpleType elements based on IMS data-types (Union) ********************************* -->

    <!-- ================================================================================================== -->

    <!-- Generate the simpleType elements based on IMS data-types (Complex) ******************************* -->

    <!-- ================================================================================================== -->

    <!-- Generate the derived data-type elements based upon simpleType ************************************ -->

    <xs:simpleType name="AriaLevelInteger.Type">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="MimeType.Type">
        <xs:restriction base="xs:normalizedString">
            <xs:pattern value="[\p{IsBasicLatin}-[()<>@,;:\\"/\[\]?=]]+/[\p{IsBasicLatin}-[()<>@,;:\\"/\[\]?=]]+" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="URL.Type">
        <xs:restriction base="xs:normalizedString" />
    </xs:simpleType>

    <xs:simpleType name="UniqueIdentifier.Type">
        <xs:restriction base="xs:ID" />
    </xs:simpleType>

    <!-- ================================================================================================== -->

    <!-- Generate the derived data-type elements based upon derived simpleType **************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate the ComplexTypes ************************************************************************ -->

    <xs:complexType name="Article.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the permitted content for the HTML5 'article' tag. The article tag represents
                a complete, or self-contained, composition in a document, page, application, or site and  
                that is, in principle, independently distributable or reusable, e.g. in syndication. This 
                could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted co-
                mment, an interactive widget or gadget, or any other independent item of content. When ar-
                ticle tags are nested, the inner article tags represent articles that are in principle re-
                lated to the contents of the outer article. For instance, a blog entry on a site that acc-
                epts user-submitted comments could represent the comments as article elements nested with-
                in the article tag for the blog entry. Author information associated with an article tag  
                (q.v. the address tag) does not apply to nested article tags.                             
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Aside.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                 This defines the permitted content for the HTML5 'aside' tag. The aside tag represents a 
                section of a page that consists of content that is tangentially related to the content ar-
                ound the aside tag, and which could be considered separate from that content. Such sectio-
                ns are often represented as sidebars in printed typography. The tag can be used for typog-
                raphical effects like pull quotes or sidebars, for advertising, for groups of nav tags, a-
                nd for other content that is considered separate from the main content of the page.       
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Audio.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The 'audio' tag is an HTML5 feature. An audio tag represents a sound or audio stream. Con-
                tent may be provided inside the audio tag. User agents should not show this content to the
                user; it is intended for older Web browsers which do not support audio, so that legacy au-
                dio plugins can be tried, or to show text to the users of these older browsers informing  
                them of how to access the audio contents.                                                 
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:element ref="source" minOccurs="0" maxOccurs="unbounded" />
                    <xs:element ref="track" minOccurs="0" maxOccurs="unbounded" />
                </xs:sequence>
                <xs:attributeGroup ref="src.Audio.Attr" />
                <xs:attributeGroup ref="crossorigin.Audio.Attr" />
                <xs:attributeGroup ref="preload.Audio.Attr" />
                <xs:attributeGroup ref="autoplay.Audio.Attr" />
                <xs:attributeGroup ref="mediagroup.Audio.Attr" />
                <xs:attributeGroup ref="loop.Audio.Attr" />
                <xs:attributeGroup ref="muted.Audio.Attr" />
                <xs:attributeGroup ref="controls.Audio.Attr" />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="BaseHTML5.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                This is the base class for the HTML5 features that have children. This consists of a set  
                of children characteristics.                                                              
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
        </xs:sequence>
        <xs:attributeGroup ref="id.BaseHTML5.Attr" />
        <xs:attributeGroup ref="language.BaseHTML5.Attr" />
        <xs:attributeGroup ref="title.BaseHTML5.Attr" />
        <xs:attributeGroup ref="label.BaseHTML5.Attr" />
        <xs:attributeGroup ref="class.BaseHTML5.Attr" />
        <xs:attributeGroup ref="dir.BaseHTML5.Attr" />
        <xs:attributeGroup ref="role.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-controls.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-describedby.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-flowto.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-label.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-labelledby.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-level.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-live.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-orientation.BaseHTML5.Attr" />
        <xs:attributeGroup ref="aria-owns.BaseHTML5.Attr" />
        <xs:attributeGroup ref="dataExtension.BaseHTML5.Attr" />
    </xs:complexType>

    <xs:complexType name="BDI.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the content for defining bidirectional content. The bdi tag represents a span
                of text that is to be isolated from its surroundings for the purposes of bidirectional te-
                xt formatting.                                                                            
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="FigCaption.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the permitted content for the HTML5 'figcaption' tag. The 'figcaption' eleme-
                nt represents a caption or legend for the rest of the contents of the figcaption element's
                parent figure element, if any.                                                            
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Figure.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the permitted content for the HTML5 'figure' tag. The 'figure' tag represents
                some flow content, optionally with a caption, that is self-contained (like a complete sen-
                tence) and is typically referenced as a single unit from the main flow of the document.   
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:choice minOccurs = "0" maxOccurs = "unbounded">
                    <xs:element ref="figcaption" minOccurs="0" maxOccurs="1" />
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:choice>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Footer.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the permitted content for the HTML5 'footer' tag. The footer tag represents a
                footer for its nearest ancestor sectioning content or sectioning root element. A footer t-
                ypically contains information about its section such as who wrote it, links to related do-
                cuments, copyright data, and the like.                                                    
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Header.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the permitted content for the HTML5 'header' tag. The header tag represents  
                introductory content for its nearest ancestor sectioning content or sectioning root tag. A
                header typically contains a group of introductory or navigational aids.                   
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Label.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the permitted content for the HTML5 'label' tag. The label tag represents a  
                caption in a user interface. The caption can be associated with a specific form control,  
                known as the label element's labeled control, either using the for attribute, or by putti-
                ng the form control inside the label element itself. Except where otherwise specified by  
                the following rules, a label element has no labeled control.                              
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Nav.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the permitted content for the HTML5 'nav' tag. The nav tag represents a sect-
                ion of a page that links to other pages or to parts within the page: a section with navig-
                ation links.                                                                              
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RB.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This feature is a part of the HTML5 Ruby annotation. The rb tag marks the base text compo-
                nent of a ruby annotation. When it is the child of a ruby tag, it doesn't represent anyth-
                ing itself, but its parent ruby tag uses it as part of determining what it represents.    
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RP.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This feature is a part of the HTML5 Ruby annotation. The 'rp' tag is used to provide fall-
                back text to be shown by user agents that don't support ruby annotations. One widespread  
                convention is to provide parentheses around the ruby text component of a ruby annotation. 
                The contents of the rp tags are typically not displayed by user agents which do support r-
                uby annotations. An rp tag that is a child of a ruby tag represents nothing. An rp element
                whose parent tag is not a ruby tag represents its children.                               
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RT.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This feature is a part of the HTML5 Ruby annotation. The 'rt' tag marks the ruby text com-
                ponent of a ruby annotation. When it is the child of a ruby tag or of an rtc tag that is  
                itself the child of a ruby tag, it doesn't represent anything itself, but its ancestor ru-
                by tag uses it as part of determining what it represents.                                 
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RTC.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This feature is a part of the HTML5 Ruby annotation. The 'rtc' tag marks a ruby text cont-
                ainer for ruby text components in a ruby annotation. When it is the child of a ruby tag it
                doesn't represent anything itself, but its parent ruby tag uses it as part of determining 
                what it represents. An rtc tag that is not a child of a ruby tag represents the same thing
                as its children.                                                                          
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:choice>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                    </xs:choice>
                    <xs:element ref="rt" minOccurs="0" maxOccurs="unbounded" />
                </xs:choice>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Ruby.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This feature is a part of the HTML5 Ruby annotation. The ruby tag allows one or more spans
                of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of
                text presented alongside base text, primarily used in East Asian typography as a guide for
                pronunciation or to include other annotations. In Japanese, this form of typography is al-
                so known as furigana. Ruby text can appear on either side, and sometimes both sides, of t-
                he base text, and it is possible to control its position using CSS.                       
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:choice minOccurs="1" maxOccurs="1">
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="rb" minOccurs="0" maxOccurs="unbounded" />
                        </xs:choice>
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="rp" minOccurs="0" maxOccurs="1" />
                            <xs:choice minOccurs="1" maxOccurs="1">
                                <xs:element ref="rt" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="rtc" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Section.Type" abstract="false" mixed="true">
        <xs:annotation>
            <xs:documentation source="documentation">
                This defines the permitted content for the HTML5 'section' tag. The section tag represents
                a generic section of a document or application. A section, in this context, is a thematic 
                grouping of content. The theme of each section should be identified, typically by includi-
                ng a heading (h1-h6 tag) as a child of the section tag.                                   
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element ref="m2:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="m3:math" minOccurs="1" maxOccurs="1" />
                        <xs:element ref="xi:include" minOccurs="1" maxOccurs="1" />
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element ref="qti:img" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:br" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:object" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:em" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:a" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:code" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:span" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sub" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:acronym" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:big" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:tt" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:kbd" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:q" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:i" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dfn" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:abbr" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:strong" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:sup" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:var" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:small" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:samp" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:b" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:cite" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:bdo" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="bdi" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="figure" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="audio" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="video" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="label" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="article" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="aside" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="footer" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="header" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="nav" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="section" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:pre" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h1" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h2" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h3" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h4" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h5" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:h6" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:p" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:address" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:dl" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ol" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:ul" minOccurs="1" maxOccurs="1" />
                            <xs:element ref="qti:hr" minOccurs="1" maxOccurs="1" />
                            <xs:choice minOccurs="0" maxOccurs="unbounded">
                                <xs:element ref="ssml11:p" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:s" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:say-as" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:phoneme" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:sub" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:voice" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:emphasis" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:break" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:prosody" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:mark" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:audio" minOccurs="1" maxOccurs="1" />
                                <xs:element ref="ssml11:speak" minOccurs="1" maxOccurs="1" />
                            </xs:choice>
                            <xs:element ref="ruby" minOccurs="1" maxOccurs="1" />
                        </xs:choice>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Source.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The 'source' tag is an HTML5 feature. The source tag allows authors to specify multiple a-
                lternative media resources for media tags. It does not represent anything on its own.     
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5Empty.Type">
                <xs:attributeGroup ref="src.Source.Attr" />
                <xs:attributeGroup ref="type.Source.Attr" />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Track.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The 'track' tag is an HTML5 feature. The track tag allows authors to specify explicit ext-
                ernal timed text tracks for media elements. It does not represent anything on its own.    
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5Empty.Type">
                <xs:attributeGroup ref="kind.Track.Attr" />
                <xs:attributeGroup ref="src.Track.Attr" />
                <xs:attributeGroup ref="srclang.Track.Attr" />
                <xs:attributeGroup ref="default.Track.Attr" />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Video.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                The 'video' tag is an HTML5 feature. A video tag is used for playing videos or movies, and
                audio files with captions.                                                                
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="BaseHTML5.Type">
                <xs:sequence>
                    <xs:element ref="source" minOccurs="0" maxOccurs="unbounded" />
                    <xs:element ref="track" minOccurs="0" maxOccurs="unbounded" />
                </xs:sequence>
                <xs:attributeGroup ref="src.Video.Attr" />
                <xs:attributeGroup ref="crossorigin.Video.Attr" />
                <xs:attributeGroup ref="preload.Video.Attr" />
                <xs:attributeGroup ref="autoplay.Video.Attr" />
                <xs:attributeGroup ref="mediagroup.Video.Attr" />
                <xs:attributeGroup ref="loop.Video.Attr" />
                <xs:attributeGroup ref="muted.Video.Attr" />
                <xs:attributeGroup ref="controls.Video.Attr" />
                <xs:attributeGroup ref="poster.Video.Attr" />
                <xs:attributeGroup ref="width.Video.Attr" />
                <xs:attributeGroup ref="height.Video.Attr" />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <!-- ================================================================================================== -->

    <!-- Generate the SOAP Binding ComplexTypes *********************************************************** -->

    <!-- ================================================================================================== -->

    <!-- Generate the derived ComplexTypes **************************************************************** -->

    <xs:complexType name="BaseHTML5Empty.Type" abstract="false" mixed="false">
        <xs:annotation>
            <xs:documentation source="documentation">
                This is the base class for the HTML5 features that have no children tags i.e. must be emp-
                ty. This consists of a set of children characteristics.                                   
            </xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="EmptyPrimitiveType.Type">
                <xs:attributeGroup ref="id.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="language.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="title.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="label.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="class.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="dir.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="role.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-controls.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-describedby.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-flowto.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-label.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-labelledby.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-level.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-live.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-orientation.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="aria-owns.BaseHTML5Empty.Attr" />
                <xs:attributeGroup ref="dataExtension.BaseHTML5Empty.Attr" />
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <!-- ================================================================================================== -->

    <!-- Declaration of the elements (Complex) ************************************************************ -->

    <!-- ================================================================================================== -->

    <!-- Declaration of the elements (Derived) ************************************************************ -->

    <!-- ================================================================================================== -->

    <!-- Declaration of the root element(s) *************************************************************** -->

    <xs:element name="article" type="Article.Type" />
    <xs:element name="aside" type="Aside.Type" />
    <xs:element name="audio" type="Audio.Type" />
    <xs:element name="bdi" type="BDI.Type" />
    <xs:element name="figcaption" type="FigCaption.Type" />
    <xs:element name="figure" type="Figure.Type" />
    <xs:element name="footer" type="Footer.Type" />
    <xs:element name="header" type="Header.Type" />
    <xs:element name="label" type="Label.Type" />
    <xs:element name="nav" type="Nav.Type" />
    <xs:element name="rb" type="RB.Type" />
    <xs:element name="rp" type="RP.Type" />
    <xs:element name="rt" type="RT.Type" />
    <xs:element name="rtc" type="RTC.Type" />
    <xs:element name="ruby" type="Ruby.Type" />
    <xs:element name="section" type="Section.Type" />
    <xs:element name="source" type="Source.Type" />
    <xs:element name="track" type="Track.Type" />
    <xs:element name="video" type="Video.Type" />

    <!-- ================================================================================================== -->

</xs:schema>
        

toc | top

About this Document

Title: IMS Question and Test Interoperability (QTI): HTML5 Information Model and XSD Binding v2.2.1
Editors: Colin Smythe, IMS Global (UK)
Mark McKell, IMS Global (USA)
Wilbert Kraan, JISC (UK)

Co-chairs: Wilbert Kraan, JISC (UK)
Tom Hoffmann, ETS (USA)

Version: 1.0
Version Date: 1st August, 2016
Status: IMS Final Release
Summary: This is the definition of the data model and the corresponding XSD binding for the HTML5 features in QTI (HTML5 capability was new functionality added in QTIv2.2). This data model defines the HTML5-based content model supported in QTI. The data model and XSD binding is described using the IMS profile of UML to support the IMS model driven specification engineering method.

Revision Information: The first release of the IMS QTI HTML5 Information Model and XSD Binding v2.2 (new functionality added in QTIv2.2). Version 2.2.1 focused on: (a) Correction of the 'preload' attribute multiplicity (to become [0..1]) for the 'Audio' class; (b) Replace the use of the 'ElementIDList' class with the 'IDREFS' primitiveType and delete the 'ElementIDList' class; (c) The import to the QTIv2.2 XSD has been changed to QTIv2.2.1 XSD; (d) The schematron rules for the extensions of the 'language' and 'base' characterisics have been corrected to refer to 'xml:lang' and 'xml:base' respectively.
Purpose: This document is made available for adoption by the public community at large.
Document Location: IMS Public Website (Standards Download): www.imsglobal.org/question

toc | top

List of Contributors

The following individuals contributed to the development of this document:

Michael Aumock Pacific Metrics (USA)
Jerome Bogaerts O.A.T. (Luxemburgh)
Marty Christensen ACT (USA)
Jason Craft Pearson (USA)
Gary Driscoll ETS (USA)
Gaye Fedorachak ACT (USA)
Greg Gaspard Pearson (USA)
Mark Hakkinen ETS (USA)
Regina Hoag ETS (USA)
Tom Hoffmann ETS (USA)
Rob Howard NWEA (USA)
Wilbert Kraan JISC (UK)
Justin Marks NWEA (USA)
Phil McClelland Desire2Learn (Canada)
Mark McKell IMS Global (USA)
Sue Milne JISC/CETIS (UK)
Makoto Murata JEPA (Japan)
Becka Nethers NWEA (USA)
Padraig O'hiceadha HMH (UK)
Jason Pelletier Measured Progress (USA)
Craig Perry ACT (USA)
Kevin Ptak Data Recognition Corps (USA)
Michelle Richard Pearson (USA)
Madeleine Rothberg WGBH NCAM (USA)
Sharon Secretan Pearson (USA)
Farhat Siddiqui ETS (USA)
Colin Smythe IMS Global (USA)
Joseph St. George Measured Progress (USA)
Jeremiah Tanner DRC (USA)
Wyatt VanderStucken ETS (USA)
Yvonne Winklemann BPS (Germany)

toc | top

Revision History

Version No. Release Date Comments
Spec 2.2 / Final 1.0 1st September, 2015 The first formal release of QTI HTML5 v2.2 Specification. This is a combined Information Model an XSD Binding document.
Spec 2.2.1 / Final 1.0 1st August, 2016 The changes made address: (a) Correction of the 'preload' attribute multiplicity (to become [0..1]) for the 'Audio' class; (b) Replace the use of the 'ElementIDList' class with the 'IDREFS' primitiveType and delete the 'ElementIDList' class; (c) The import to the QTIv2.2 XSD has been changed to QTIv2.2.1 XSD; (d) The schematron rules for the extensions of the 'language' and 'base' characterisics have been corrected to refer to 'xml:lang' and 'xml:base' respectively.

toc | top

IMS Global Learning Consortium, Inc. ("IMS Global") is publishing the information contained in this document ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS Global makes no warranty or representation regarding the accuracy or completeness of the Specification.

This material is provided on an "As Is" and "As Available" basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

IMS Global would appreciate receiving your comments and suggestions.

Please contact IMS Global through our website at http://www.imsglobal.org.

Please refer to Document Name: IMS Question and Test Interoperability (QTI): HTML5 Information Model and XSD Binding v2.2.1

Date: 1st August, 2016

toc | top