| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE xs:schema [ |
| <!ENTITY % HTMLlat1 PUBLIC |
| "-//W3C//ENTITIES Latin 1 for XHTML//EN" |
| "../xhtml-lat1.ent"> |
| %HTMLlat1; |
| |
| <!ENTITY % HTMLsymbol PUBLIC |
| "-//W3C//ENTITIES Symbols for XHTML//EN" |
| "../xhtml-symbol.ent"> |
| %HTMLsymbol; |
| |
| <!ENTITY % HTMLspecial PUBLIC |
| "-//W3C//ENTITIES Special for XHTML//EN" |
| "../xhtml-special.ent"> |
| %HTMLspecial; |
| ]> |
| |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/1999/xhtml" |
| xmlns:xhtml="http://www.w3.org/1999/xhtml"> |
| |
| <!-- ##################################################################### --> |
| <!-- |
| (This only affects mixed-version modules; wholly HTML5 |
| modules should simply be left out of the inclusion list.) |
| --> |
| <!-- (xml:base on elements other than <html>) --> |
| <!-- ##################################################################### --> |
| |
| <xs:group name="common.elem.anything"> |
| <xs:annotation> |
| <xs:documentation>Any element from any namespace</xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:any processContents="skip"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:complexType name="common.inner.anything" mixed="true"> |
| <xs:annotation> |
| <xs:documentation>Any content from any namespace</xs:documentation> |
| </xs:annotation> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="common.elem.anything"/> |
| </xs:complexType> |
| <!-- ##################################################################### --> |
| <xs:group name="common.elem.metadata"> |
| <xs:annotation> |
| <xs:documentation>Common Element Classes #</xs:documentation> |
| </xs:annotation> |
| <xs:choice> |
| <xs:element ref="xhtml:link"/> |
| <xs:group ref="xhtml:style.elem"/> |
| <xs:group ref="xhtml:meta.name.elem"/> |
| <xs:group ref="xhtml:meta.http-equiv.refresh.elem"/> |
| <xs:group ref="xhtml:meta.http-equiv.default-style.elem"/> |
| <xs:group ref="xhtml:meta.http-equiv.content-language.elem"/> |
| <xs:group ref="xhtml:meta.charset.elem"/> |
| <xs:group ref="xhtml:script.elem"/> |
| <xs:group ref="xhtml:command.elem"/> |
| </xs:choice> |
| </xs:group> |
| <xs:group name="common.elem.phrasing"> |
| <xs:annotation> |
| <xs:documentation>Phrase Elements</xs:documentation> |
| </xs:annotation> |
| <xs:choice> |
| <xs:group ref="xhtml:a.elem.phrasing"/> |
| <xs:element ref="xhtml:em"/> |
| <xs:element ref="xhtml:strong"/> |
| <xs:element ref="xhtml:small"/> |
| <xs:element ref="xhtml:mark"/> |
| <xs:element ref="xhtml:abbr"/> |
| <xs:element ref="xhtml:dfn"/> |
| <xs:element ref="xhtml:i"/> |
| <xs:element ref="xhtml:b"/> |
| <xs:element ref="xhtml:code"/> |
| <xs:element ref="xhtml:var"/> |
| <xs:element ref="xhtml:samp"/> |
| <xs:element ref="xhtml:kbd"/> |
| <xs:element ref="xhtml:sup"/> |
| <xs:element ref="xhtml:sub"/> |
| <xs:element ref="xhtml:q"/> |
| <xs:element ref="xhtml:cite"/> |
| <xs:element ref="xhtml:span"/> |
| <xs:element ref="xhtml:bdo"/> |
| <xs:element ref="xhtml:br"/> |
| <xs:element ref="xhtml:wbr"/> |
| <xs:element ref="xhtml:s"/> |
| <xs:group ref="xhtml:ins.elem.phrasing"/> |
| <xs:group ref="xhtml:del.elem.phrasing"/> |
| <xs:element ref="xhtml:img"/> |
| <xs:element ref="xhtml:embed"/> |
| <xs:group ref="xhtml:object.elem.phrasing"/> |
| <xs:element ref="xhtml:iframe"/> |
| <xs:group ref="xhtml:map.elem.phrasing"/> |
| <xs:element ref="xhtml:area"/> |
| <xs:element ref="xhtml:ruby"/> |
| <xs:group ref="xhtml:video.elem.phrasing"/> |
| <xs:group ref="xhtml:audio.elem.phrasing"/> |
| <xs:group ref="xhtml:script.elem"/> |
| <xs:group ref="xhtml:input.elem"/> |
| <xs:element ref="xhtml:textarea"/> |
| <xs:element ref="xhtml:select"/> |
| <xs:group ref="xhtml:button.elem"/> |
| <xs:element ref="xhtml:label"/> |
| <xs:element ref="xhtml:output"/> |
| <xs:element ref="xhtml:datalist"/> |
| <xs:element ref="xhtml:keygen"/> |
| <xs:element ref="xhtml:progress"/> |
| <xs:group ref="xhtml:command.elem"/> |
| <xs:element ref="xhtml:bb"/> |
| <xs:group ref="xhtml:canvas.elem.phrasing"/> |
| <xs:element ref="xhtml:time"/> |
| <xs:element ref="xhtml:meter"/> |
| </xs:choice> |
| </xs:group> |
| <xs:group name="common.elem.flow"> |
| <xs:annotation> |
| <xs:documentation>Prose Elements</xs:documentation> |
| </xs:annotation> |
| <xs:choice> |
| <xs:group ref="common.elem.phrasing"/> |
| <xs:group ref="xhtml:a.elem.flow"/> |
| <xs:element ref="xhtml:p"/> |
| <xs:element ref="xhtml:hr"/> |
| <xs:element ref="xhtml:pre"/> |
| <xs:element ref="xhtml:ul"/> |
| <xs:element ref="xhtml:ol"/> |
| <xs:element ref="xhtml:dl"/> |
| <xs:element ref="xhtml:div"/> |
| <xs:element ref="xhtml:h1"/> |
| <xs:element ref="xhtml:h2"/> |
| <xs:element ref="xhtml:h3"/> |
| <xs:element ref="xhtml:h4"/> |
| <xs:element ref="xhtml:h5"/> |
| <xs:element ref="xhtml:h6"/> |
| <xs:element ref="xhtml:hgroup"/> |
| <xs:element ref="xhtml:address"/> |
| <xs:element ref="xhtml:blockquote"/> |
| <xs:element ref="xhtml:section"/> |
| <xs:element ref="xhtml:nav"/> |
| <xs:element ref="xhtml:article"/> |
| <xs:element ref="xhtml:aside"/> |
| <xs:element ref="xhtml:header"/> |
| <xs:element ref="xhtml:footer"/> |
| <xs:element ref="xhtml:dialog"/> |
| <xs:group ref="xhtml:ins.elem.flow"/> |
| <xs:group ref="xhtml:del.elem.flow"/> |
| <xs:group ref="xhtml:object.elem.flow"/> |
| <xs:group ref="xhtml:map.elem.flow"/> |
| <xs:group ref="xhtml:video.elem.flow"/> |
| <xs:group ref="xhtml:audio.elem.flow"/> |
| <xs:element ref="xhtml:figure"/> |
| <xs:element ref="xhtml:table"/> |
| <xs:element ref="xhtml:form"/> |
| <xs:element ref="xhtml:fieldset"/> |
| <xs:element ref="xhtml:datagrid"/> |
| <xs:element ref="xhtml:menu"/> |
| <xs:group ref="xhtml:canvas.elem.flow"/> |
| <xs:element ref="xhtml:details"/> |
| </xs:choice> |
| </xs:group> |
| <!-- ##################################################################### --> |
| <xs:group name="common.inner.metadata"> |
| <xs:annotation> |
| <xs:documentation>Common Content Models #</xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="common.elem.metadata"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="common.inner.phrasing"> |
| <xs:annotation> |
| <xs:documentation>Phrase Content</xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="common.elem.phrasing"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="common.inner.flow"> |
| <xs:annotation> |
| <xs:documentation>Prose Content</xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="common.elem.flow"/> |
| </xs:sequence> |
| </xs:group> |
| <!-- REVISIT <style scoped> --> |
| <!-- ##################################################################### --> |
| <!-- ##################################################################### --> |
| <!-- When updating, check <bdo> definition too --> |
| <xs:attributeGroup name="common.attrs"> |
| <xs:annotation> |
| <xs:documentation>Common Attributes #</xs:documentation> |
| </xs:annotation> |
| <xs:attributeGroup ref="common.attrs.basic"/> |
| <xs:attributeGroup ref="common.attrs.i18n"/> |
| <xs:attributeGroup ref="common.attrs.present"/> |
| <xs:attributeGroup ref="common.attrs.other"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="common.attrs.basic"> |
| <xs:attribute name="id" type="common.data.id"/> |
| <xs:attribute ref="xml:id"/> |
| <xs:attribute name="class" type="common.data.tokens"/> |
| <xs:attribute name="title"/> |
| <xs:attribute name="role"/> |
| <xs:attribute ref="xml:base"/> |
| <xs:attribute ref="xml:space"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="common.attrs.i18n"> |
| <xs:attribute name="dir"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="ltr"/> |
| <xs:enumeration value="rtl"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attributeGroup ref="common.attrs.language"/> |
| </xs:attributeGroup> |
| <!-- |
| This lang definition is a hack for enviroments where |
| the HTML5 parser maps lang to xml:lang. |
| Sameness check left to Schematron |
| --> |
| <xs:attributeGroup name="common.attrs.language"> |
| <xs:attribute ref="xml:lang"/> |
| <xs:attribute name="lang" type="common.data.langcode"/> |
| </xs:attributeGroup> |
| <!-- |
| common.attrs.language = |
| ( common.attrs.lang |
| | common.attrs.xmllang |
| ) |
| common.attrs.lang = |
| attribute lang { |
| common.data.langcode |
| } & HTMLonly |
| common.attrs.xmllang = |
| attribute xml:lang { |
| common.data.langcode |
| } & XMLonly |
| --> |
| <xs:attributeGroup name="common.attrs.present"> |
| <xs:attribute name="style" type="xs:string"/> |
| <xs:attribute name="tabindex" type="common.data.integer"/> |
| <xs:attribute name="accesskey" type="common.data.keylabellist"/> |
| </xs:attributeGroup> |
| <!-- REVISIT move style to a module and bundle tabindex with ARIA --> |
| <xs:attributeGroup name="common.attrs.other"> |
| <xs:attributeGroup ref="xhtml:common.attrs.scripting"/> |
| <xs:attributeGroup ref="xhtml:common.attrs.interact"/> |
| </xs:attributeGroup> |
| <!-- ##################################################################### --> |
| <xs:simpleType name="common.data.tokens"> |
| <xs:annotation> |
| <xs:documentation>Common Datatypes #</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:NMTOKENS"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.browsing-context"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.browsing-context-or-keyword"> |
| <xs:restriction base="xs:NMTOKEN"> |
| <xs:pattern value="_(blank|self|parent|top)|[A-Za-z]\c*"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.charset"> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="[uU][tT][fF]-8"/> |
| </xs:restriction> |
| </xs:simpleType> |
| |
| <xs:simpleType name="SandboxType"> |
| <xs:union> |
| <xs:simpleType> |
| <xs:restriction> |
| <xs:simpleType> |
| <xs:list> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="allow-same-origin"/> |
| <xs:enumeration value="allow-forms"/> |
| <xs:enumeration value="allow-scripts"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| <xs:maxLength value="3"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType> |
| <xs:restriction> |
| <xs:simpleType> |
| <xs:list> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="allow-same-origin"/> |
| <xs:enumeration value="allow-scripts"/> |
| <xs:enumeration value="allow-forms"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| <xs:maxLength value="3"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType> |
| <xs:restriction> |
| <xs:simpleType> |
| <xs:list> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="allow-forms"/> |
| <xs:enumeration value="allow-same-origin"/> |
| <xs:enumeration value="allow-scripts"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| <xs:maxLength value="3"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType> |
| <xs:restriction> |
| <xs:simpleType> |
| <xs:list> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="allow-forms"/> |
| <xs:enumeration value="allow-scripts"/> |
| <xs:enumeration value="allow-same-origin"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| <xs:maxLength value="3"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType> |
| <xs:restriction> |
| <xs:simpleType> |
| <xs:list> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="allow-scripts"/> |
| <xs:enumeration value="allow-same-origin"/> |
| <xs:enumeration value="allow-forms"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| <xs:maxLength value="3"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType> |
| <xs:restriction> |
| <xs:simpleType> |
| <xs:list> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="allow-scripts"/> |
| <xs:enumeration value="allow-forms"/> |
| <xs:enumeration value="allow-same-origin"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| <xs:maxLength value="3"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| |
| <!-- |
| xsd:string { |
| pattern = "()|([^_].*)|(_[bB][lL][aA][nN][kK])|(_[sS][eE][lL][fF])|(_[pP][aA][rR][eE][nN][tT])|(_[tT][oO][pP])" |
| } |
| --> |
| <xs:simpleType name="common.data.id"> |
| <xs:annotation> |
| <xs:documentation>IDs and IDREFs</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:ID"/> |
| </xs:simpleType> |
| <!-- |
| xsd:string { |
| pattern = "\S+" |
| } |
| --> |
| <xs:simpleType name="common.data.idref"> |
| <xs:restriction base="xs:ID"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.idrefs"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.name"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <!-- FIXME --> |
| <xs:simpleType name="common.data.hash-name"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <!-- |
| xsd:string { |
| pattern = "#.+" |
| } |
| --> |
| <xs:simpleType name="common.data.integer"> |
| <xs:annotation> |
| <xs:documentation>Numerical</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="-?[0-9]+"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <!-- |
| xsd:string { |
| pattern = "-?[0-9]+" |
| } |
| --> |
| <xs:simpleType name="common.data.integer.positive"> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="0*[1-9][0-9]*"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <!-- |
| xsd:string { |
| pattern = "0*[1-9][0-9]*" |
| } |
| --> |
| <xs:simpleType name="common.data.integer.non-negative"> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="[0-9]+"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <!-- |
| xsd:string { |
| pattern = "[0-9]+" |
| } |
| --> |
| <!-- |
| common.data.percent = |
| xsd:string { |
| pattern = "(100)|([1-9]?[0-9](\.[0-9]+)?)%" |
| } |
| --> |
| <xs:simpleType name="common.data.float"> |
| <xs:restriction base="xs:float"> |
| <xs:pattern value="-?[0-9]+(\.[0-9]+)?([eE]-?[0-9]+)?"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <!-- |
| xsd:string { |
| pattern = "-?[0-9]+(\.[0-9]+)?([eE]-?[0-9]+)?" |
| } |
| --> |
| <xs:simpleType name="common.data.float.positive"> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="(0*[1-9][0-9]*(\.[0-9]+)?)|([0-9]+(\.0*[1-9][0-9]*)?)([eE]-?[0-9]+)?"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <!-- |
| xsd:string { |
| pattern = "(0*[1-9][0-9]*(\.[0-9]+)?)|([0-9]+(\.0*[1-9][0-9]*)?)([eE]-?[0-9]+)?" |
| } |
| --> |
| <xs:simpleType name="common.data.float.non-negative"> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="[0-9]+(\.[0-9]+)?([eE]-?[0-9]+)?"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <!-- |
| xsd:string { |
| pattern = "[0-9]+(\.[0-9]+)?([eE]-?[0-9]+)?" |
| } |
| --> |
| <xs:simpleType name="common.data.datetime"> |
| <xs:annotation> |
| <xs:documentation>Temporal</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.date-or-time"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.uri"> |
| <xs:annotation> |
| <xs:documentation>IRIs</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:anyURI"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.uris"> |
| <xs:list itemType="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.uri.absolute"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.sizes"> |
| <xs:annotation> |
| <xs:documentation><link type='icon'> sizes</xs:documentation> |
| </xs:annotation> |
| <xs:restriction> |
| <xs:simpleType> |
| <xs:list> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="[1-9][0-9]*x[1-9][0-9]*"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:list> |
| </xs:simpleType> |
| <xs:minLength value="1"/> |
| </xs:restriction> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.mimetype"> |
| <xs:annotation> |
| <xs:documentation>MIME types</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.meta-charset"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.refresh"> |
| <xs:annotation> |
| <xs:documentation>Refresh</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.default-style"> |
| <xs:annotation> |
| <xs:documentation>Default style</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <!-- w:default-style --> |
| <xs:simpleType name="common.data.mediaquery"> |
| <xs:annotation> |
| <xs:documentation>Media Queries</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.langcode"> |
| <xs:annotation> |
| <xs:documentation>Language Codes</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:language"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.keylabellist"> |
| <xs:annotation> |
| <xs:documentation>List of Key Labels</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.microdata-identifier"> |
| <xs:annotation> |
| <xs:documentation>Microdata Identifier</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="common.data.zero"> |
| <xs:annotation> |
| <xs:documentation>Zero</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <!-- ##################################################################### --> |
| <!-- ##################################################################### --> |
| <xs:attributeGroup name="common-form.attrs.form"> |
| <xs:annotation> |
| <xs:documentation>WF2 Module Hook #</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="form" type="common.data.idref"/> |
| </xs:attributeGroup> |
| <!-- ##################################################################### --> |
| <!-- ##################################################################### --> |
| |
| <xs:element name="html"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:html.inner"> |
| <xs:attributeGroup ref="xhtml:html.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="html.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="manifest" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:complexType name="html.inner"> |
| <xs:sequence> |
| <xs:element ref="xhtml:head"/> |
| <xs:element ref="xhtml:body"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="head"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:head.inner"> |
| <xs:attributeGroup ref="xhtml:head.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="head.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <!-- |
| head.attrs.profile = |
| attribute profile { |
| common.data.uris #REVISIT should these be absolute (zero or more) |
| } |
| --> |
| <xs:complexType name="head.inner"> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xhtml:title"/> |
| <xs:element ref="xhtml:base"/> |
| <xs:group ref="common.inner.metadata"/> |
| </xs:choice> |
| </xs:complexType> |
| <!-- |
| head.inner = |
| ( meta.elem.encoding? |
| , ( title.elem |
| & base.elem? # REVISIT need a non-schema checker or Schematron |
| & common.inner.metadata |
| ) |
| ) |
| --> |
| <xs:element name="body"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:body.inner"> |
| <xs:attributeGroup ref="xhtml:body.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="body.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="onafterprint" type="xs:string"/> |
| <xs:attribute name="onbeforeprint" type="xs:string"/> |
| <xs:attribute name="onbeforeunload" type="xs:string"/> |
| <xs:attribute name="onhashchange" type="xs:string"/> |
| <xs:attribute name="onmessage" type="xs:string"/> |
| <xs:attribute name="onoffline" type="xs:string"/> |
| <xs:attribute name="ononline" type="xs:string"/> |
| <xs:attribute name="onpopstate" type="xs:string"/> |
| <xs:attribute name="onredo" type="xs:string"/> |
| <xs:attribute name="onresize" type="xs:string"/> |
| <xs:attribute name="onstorage" type="xs:string"/> |
| <xs:attribute name="onundo" type="xs:string"/> |
| <xs:attribute name="onunload" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:complexType name="body.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:element name="title"> |
| <xs:complexType mixed="true"> |
| <xs:attributeGroup ref="xhtml:title.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="title.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:element name="base"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:base.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="base.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="href" type="common.data.uri"/> |
| <xs:attribute name="target" type="common.data.browsing-context-or-keyword"/> |
| </xs:attributeGroup> |
| <xs:element name="link"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:link.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:attributeGroup name="link.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:shared-hyperlink.attrs.href"/> |
| <xs:attributeGroup ref="xhtml:shared-hyperlink.attrs.rel"/> |
| <xs:attribute name="hreflang" type="common.data.langcode"/> |
| <xs:attribute name="media" type="common.data.mediaquery"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="sizes"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="style.elem"> |
| <xs:annotation> |
| <xs:documentation>Global Style: <style></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="style"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:style.inner"> |
| <xs:attributeGroup ref="xhtml:style.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="style.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="media" type="common.data.mediaquery"/> |
| </xs:attributeGroup> |
| <xs:complexType name="style.inner"> |
| <xs:complexContent> |
| <xs:extension base="common.inner.anything"/> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:group name="style.elem.scoped"> |
| <xs:annotation> |
| <xs:documentation>Scoped Style: <style scoped></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="style"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:style.inner"> |
| <xs:attributeGroup ref="xhtml:style.scoped.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="style.scoped.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="media" type="common.data.mediaquery"/> |
| <xs:attributeGroup ref="xhtml:style.attrs.scoped"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="style.attrs.scoped"> |
| <xs:attribute name="scoped" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="scoped"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| |
| <xs:element name="meta"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:common.attrs"/> |
| <xs:attributeGroup ref="xhtml:meta.name.attrs"/> |
| <xs:attributeGroup ref="xhtml:meta.http-equiv.refresh.attrs"/> |
| <xs:attributeGroup ref="xhtml:meta.charset.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:group name="meta.name.elem"> |
| <xs:annotation> |
| <xs:documentation>Name-Value Metadata: <meta name></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="meta"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="meta.name.attrs"> |
| <xs:attributeGroup ref="xhtml:meta.name.attrs.name"/> |
| <xs:attributeGroup ref="xhtml:meta.name.attrs.content"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="meta.name.attrs.name"> |
| <xs:attribute name="name" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="meta.name.attrs.content"> |
| <xs:attribute name="content" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:group name="meta.http-equiv.refresh.elem"> |
| <xs:annotation> |
| <xs:documentation>"refresh" pragma directive: <meta http-equiv='refresh'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="meta"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="meta.http-equiv.refresh.attrs"> |
| <xs:attribute name="http-equiv" type="xs:string"/> |
| </xs:attributeGroup> |
| <!-- |
| not quite right per spec |
| if the definition is |
| reused in another language |
| --> |
| <xs:group name="meta.http-equiv.default-style.elem"> |
| <xs:annotation> |
| <xs:documentation>"default-style" pragma directive: <meta http-equiv='default-style'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="meta"/> |
| </xs:sequence> |
| </xs:group> |
| <!-- |
| not quite right per spec |
| if the definition is |
| reused in another language |
| --> |
| <xs:group name="meta.http-equiv.content-language.elem"> |
| <xs:annotation> |
| <xs:documentation>"content-language" pragma directive: <meta http-equiv='content-language'> (obsolete)</xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="meta"/> |
| </xs:sequence> |
| </xs:group> |
| <!-- |
| not quite right per spec |
| if the definition is |
| reused in another language |
| --> |
| <xs:group name="meta.charset.elem"> |
| <xs:annotation> |
| <xs:documentation>Inline Character Encoding Statement for HTML: <meta charset></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="meta"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="meta.charset.attrs"> |
| <xs:attributeGroup ref="xhtml:meta.charset.attrs.charset"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="meta.charset.attrs.charset"> |
| <xs:attribute name="charset" type="common.data.charset"/> |
| </xs:attributeGroup> |
| |
| <!-- ##################################################################### --> |
| <xs:group name="a.elem.phrasing"> |
| <xs:annotation> |
| <xs:documentation>RELAX NG Schema for HTML 5: Phrase Markup #</xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="a"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:a.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:a.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="a.elem.flow"> |
| <xs:sequence> |
| <xs:element name="a"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:a.inner.flow"> |
| <xs:attributeGroup ref="xhtml:a.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="a.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="name" type="common.data.id"/> |
| <xs:attribute name="href" type="common.data.uri"/> |
| <xs:attribute name="target" type="common.data.browsing-context-or-keyword"/> |
| <xs:attribute name="rel" type="common.data.tokens"/> |
| <xs:attribute name="hreflang" type="common.data.langcode"/> |
| <xs:attribute name="media" type="common.data.mediaquery"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="ping" type="common.data.uris"/> |
| </xs:attributeGroup> |
| <xs:complexType name="a.inner.phrasing" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:complexType name="a.inner.flow" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:attributeGroup name="shared-hyperlink.attrs.href"> |
| <xs:annotation> |
| <xs:documentation>Shared hyperlink attributes</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="href" use="required" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="shared-hyperlink.attrs.rel"> |
| <xs:attribute name="rel" use="required" type="common.data.tokens"/> |
| </xs:attributeGroup> |
| <xs:element name="em"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:em.inner"> |
| <xs:attributeGroup ref="xhtml:em.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="em.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="em.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="strong"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:strong.inner"> |
| <xs:attributeGroup ref="xhtml:strong.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="strong.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="strong.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="small"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:small.inner"> |
| <xs:attributeGroup ref="xhtml:small.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="small.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="small.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="mark"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:mark.inner"> |
| <xs:attributeGroup ref="xhtml:mark.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="mark.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="mark.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="abbr"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:abbr.inner"> |
| <xs:attributeGroup ref="xhtml:abbr.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="abbr.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="abbr.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="dfn"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:dfn.inner"> |
| <xs:attributeGroup ref="xhtml:dfn.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="dfn.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="dfn.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="i"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:i.inner"> |
| <xs:attributeGroup ref="xhtml:i.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="i.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="i.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="b"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:b.inner"> |
| <xs:attributeGroup ref="xhtml:b.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="b.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="b.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="code"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:code.inner"> |
| <xs:attributeGroup ref="xhtml:code.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="code.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="code.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="var"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:var.inner"> |
| <xs:attributeGroup ref="xhtml:var.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="var.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="var.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="samp"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:samp.inner"> |
| <xs:attributeGroup ref="xhtml:samp.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="samp.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="samp.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="kbd"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:kbd.inner"> |
| <xs:attributeGroup ref="xhtml:kbd.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="kbd.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="kbd.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="sup"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:sup.inner"> |
| <xs:attributeGroup ref="xhtml:sup.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="sup.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="sup.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="sub"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:sub.inner"> |
| <xs:attributeGroup ref="xhtml:sub.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="sub.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="sub.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="q"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:q.inner"> |
| <xs:attributeGroup ref="xhtml:q.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="q.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="cite" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:complexType name="q.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="cite"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:cite.inner"> |
| <xs:attributeGroup ref="xhtml:cite.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="cite.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="cite.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="span"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:span.inner"> |
| <xs:attributeGroup ref="xhtml:span.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="span.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="span.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <!-- REVISIT allow ol and ul? --> |
| <xs:element name="bdo"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:bdo.inner"> |
| <xs:attributeGroup ref="xhtml:bdo.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="bdo.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <!-- dir required in Schematron --> |
| <xs:complexType name="bdo.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="br"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:br.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="wbr"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:common.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="s"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:common.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:attributeGroup name="br.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| |
| <!-- ##################################################################### --> |
| <xs:element name="p"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:p.inner"> |
| <xs:attributeGroup ref="xhtml:p.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="p.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="p.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <!-- REVISIT lists in span? --> |
| <xs:element name="hr"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:hr.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="hr.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <!-- ##################################################################### --> |
| <xs:element name="pre"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:pre.inner"> |
| <xs:attributeGroup ref="xhtml:pre.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="pre.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="pre.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <!-- ##################################################################### --> |
| <xs:element name="ul"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:ul.inner"> |
| <xs:attributeGroup ref="xhtml:ul.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="ul.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="ul.inner"> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="xhtml:li.elem"/> |
| </xs:complexType> |
| <xs:group name="li.elem"> |
| <xs:annotation> |
| <xs:documentation>Unordered List Item: <li></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="li"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:li.inner"> |
| <xs:attributeGroup ref="xhtml:li.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="li.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="li.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:element name="ol"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:ol.inner"> |
| <xs:attributeGroup ref="xhtml:ol.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="ol.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="start" type="common.data.integer"/> |
| <xs:attribute name="reversed"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="reversed"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="ol.attrs.reversed"> |
| <xs:attribute name="reversed" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="reversed"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:complexType name="ol.inner"> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="xhtml:oli.elem"/> |
| </xs:complexType> |
| <xs:group name="oli.elem"> |
| <xs:annotation> |
| <xs:documentation>Ordered List Item: <li></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="li"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:oli.inner"> |
| <xs:attributeGroup ref="xhtml:oli.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="oli.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="value" type="common.data.integer"/> |
| </xs:attributeGroup> |
| <xs:complexType name="oli.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <!-- ##################################################################### --> |
| <xs:element name="dl"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:dl.inner"> |
| <xs:attributeGroup ref="xhtml:dl.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="dl.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="dl.inner"> |
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> |
| <xs:element maxOccurs="unbounded" ref="xhtml:dt"/> |
| <xs:group maxOccurs="unbounded" ref="xhtml:dd.elem"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="dt"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:dt.inner"> |
| <xs:attributeGroup ref="xhtml:dt.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="dt.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="dt.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:group name="dd.elem"> |
| <xs:annotation> |
| <xs:documentation>Definition Description: <dd></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="dd"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:dd.inner"> |
| <xs:attributeGroup ref="xhtml:dd.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="dd.elem.phrasing"> |
| <xs:sequence> |
| <xs:element name="dd"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:dd.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:dd.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="dd.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="dd.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:complexType name="dd.inner.phrasing" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <!-- ##################################################################### --> |
| <xs:element name="div"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:div.inner"> |
| <xs:attributeGroup ref="xhtml:div.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="div.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="div.inner" mixed="true"> |
| <xs:sequence> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="xhtml:style.elem.scoped"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="legend"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:legend.inner"> |
| <xs:attributeGroup ref="xhtml:legend.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="figcaption"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:figcaption.inner"> |
| <xs:attributeGroup ref="xhtml:figcaption.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="legend.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="legend.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| |
| <!-- ##################################################################### --> |
| <xs:element name="h1"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:h1.inner"> |
| <xs:attributeGroup ref="xhtml:h1.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="h1.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="h1.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="h2"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:h2.inner"> |
| <xs:attributeGroup ref="xhtml:h2.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="h2.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="h2.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="h3"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:h3.inner"> |
| <xs:attributeGroup ref="xhtml:h3.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="h3.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="h3.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="h4"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:h4.inner"> |
| <xs:attributeGroup ref="xhtml:h4.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="h4.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="h4.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="h5"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:h5.inner"> |
| <xs:attributeGroup ref="xhtml:h5.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="h5.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="h5.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="h6"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:h6.inner"> |
| <xs:attributeGroup ref="xhtml:h6.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="h6.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="h6.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="hgroup"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:hgroup.inner"> |
| <xs:attributeGroup ref="xhtml:hgroup.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="hgroup.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="hgroup.inner"> |
| <xs:choice maxOccurs="unbounded"> |
| <xs:element ref="xhtml:h1"/> |
| <xs:element ref="xhtml:h2"/> |
| <xs:element ref="xhtml:h3"/> |
| <xs:element ref="xhtml:h4"/> |
| <xs:element ref="xhtml:h5"/> |
| <xs:element ref="xhtml:h6"/> |
| </xs:choice> |
| </xs:complexType> |
| <!-- ##################################################################### --> |
| <xs:element name="address"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:address.inner"> |
| <xs:attributeGroup ref="xhtml:address.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="address.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="address.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <!-- ##################################################################### --> |
| <xs:element name="blockquote"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:blockquote.inner"> |
| <xs:attributeGroup ref="xhtml:blockquote.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="blockquote.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="cite" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:complexType name="blockquote.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| |
| <xs:complexType name="figcaption.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:attributeGroup name="figcaption.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| |
| <!-- ##################################################################### --> |
| <xs:element name="section"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:section.inner"> |
| <xs:attributeGroup ref="xhtml:section.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="section.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="section.inner" mixed="true"> |
| <xs:sequence> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="xhtml:style.elem.scoped"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="nav"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:nav.inner"> |
| <xs:attributeGroup ref="xhtml:nav.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="nav.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="nav.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:element name="article"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:article.inner"> |
| <xs:attributeGroup ref="xhtml:article.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="article.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="pubdate" type="common.data.datetime"/> |
| </xs:attributeGroup> |
| <xs:complexType name="article.inner" mixed="true"> |
| <xs:sequence> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="xhtml:style.elem"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="aside"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:aside.inner"> |
| <xs:attributeGroup ref="xhtml:aside.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="aside.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="aside.inner" mixed="true"> |
| <xs:sequence> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="xhtml:style.elem"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="header"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:header.inner"> |
| <xs:attributeGroup ref="xhtml:header.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="header.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="header.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:element name="footer"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:footer.inner"> |
| <xs:attributeGroup ref="xhtml:footer.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="footer.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="footer.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:element name="dialog"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:dialog.inner"> |
| <xs:attributeGroup ref="xhtml:dialog.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="dialog.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="dialog.inner"> |
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xhtml:dt"/> |
| <xs:group ref="xhtml:dd.elem"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <!-- ##################################################################### --> |
| <xs:attributeGroup name="edit.attrs.cite"> |
| <xs:annotation> |
| <xs:documentation>RELAX NG Schema for HTML 5: Revision Annotations #</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="cite" use="required" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:group name="ins.elem.flow"> |
| <xs:annotation> |
| <xs:documentation>Inserts: <ins></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="ins"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:ins.inner.flow"> |
| <xs:attributeGroup ref="xhtml:ins.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="ins.elem.phrasing"> |
| <xs:sequence> |
| <xs:element name="ins"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:ins.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:ins.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="ins.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="cite" type="common.data.uri"/> |
| <xs:attribute name="datetime" type="common.data.datetime"/> |
| </xs:attributeGroup> |
| <xs:complexType name="ins.inner.flow" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:complexType name="ins.inner.phrasing" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:group name="del.elem.flow"> |
| <xs:annotation> |
| <xs:documentation>Deletions: <del></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="del"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:del.inner.flow"> |
| <xs:attributeGroup ref="xhtml:del.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="del.elem.phrasing"> |
| <xs:sequence> |
| <xs:element name="del"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:del.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:del.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="del.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="cite" type="common.data.uri"/> |
| <xs:attribute name="datetime" type="common.data.datetime"/> |
| </xs:attributeGroup> |
| <xs:complexType name="del.inner.flow" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:complexType name="del.inner.phrasing" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| |
| <!-- ##################################################################### --> |
| <xs:element name="img"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:img.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="img.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:img.attrs.src"/> |
| <xs:attribute name="alt"/> |
| <xs:attribute name="height" type="common.data.integer.non-negative"/> |
| <xs:attribute name="width" type="common.data.integer.non-negative"/> |
| <xs:attribute name="usemap" type="common.data.hash-name"/> |
| <xs:attribute name="ismap"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="ismap"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="border" type="common.data.zero"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="img.attrs.src"> |
| <xs:attribute name="src" use="required" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:element name="embed"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:embed.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="embed.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="src" type="common.data.uri"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="height" type="common.data.integer.positive"/> |
| <xs:attribute name="width" type="common.data.integer.positive"/> |
| <xs:attributeGroup ref="xhtml:embed.attrs.other"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="embed.attrs.other"> |
| <xs:anyAttribute namespace="##local" processContents="skip"/> |
| </xs:attributeGroup> |
| <xs:group name="object.elem.flow"> |
| <xs:annotation> |
| <xs:documentation>Generic Objects: <object></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="object"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:object.inner.flow"> |
| <xs:attributeGroup ref="xhtml:object.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="object.elem.phrasing"> |
| <xs:sequence> |
| <xs:element name="object"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:object.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:object.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="object.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="data" type="common.data.uri"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="height" type="common.data.integer.positive"/> |
| <xs:attribute name="width" type="common.data.integer.positive"/> |
| <xs:attribute name="usemap" type="common.data.hash-name"/> |
| <xs:attribute name="name" type="common.data.browsing-context"/> |
| <xs:attributeGroup ref="common-form.attrs.form"/> |
| </xs:attributeGroup> |
| <xs:complexType name="object.inner.flow" mixed="true"> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:param"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:complexType name="object.inner.phrasing" mixed="true"> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:param"/> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="param"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:param.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="param.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:param.attrs.name"/> |
| <xs:attributeGroup ref="xhtml:param.attrs.value"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="param.attrs.name"> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="param.attrs.value"> |
| <xs:attribute name="value" use="required" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:element name="iframe"> |
| <xs:complexType mixed="true"> |
| <xs:attributeGroup ref="xhtml:iframe.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="iframe.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="src" type="common.data.uri"/> |
| <xs:attribute name="name" type="common.data.browsing-context"/> |
| <xs:attribute name="width" type="common.data.integer.positive"/> |
| <xs:attribute name="height" type="common.data.integer.positive"/> |
| <xs:attribute name="sandbox" type="SandboxType"/> |
| <xs:attribute name="seamless"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="seamless"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="srcdoc" type="xs:string"/> |
| </xs:attributeGroup> |
| |
| <xs:group name="map.elem.flow"> |
| <xs:annotation> |
| <xs:documentation>Map Definition: <map></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="map"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:map.inner.flow"> |
| <xs:attributeGroup ref="xhtml:map.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="map.elem.phrasing"> |
| <xs:sequence> |
| <xs:element name="map"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:map.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:map.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="map.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:map.attrs.name"/> |
| </xs:attributeGroup> |
| <!-- REVISIT make id required in Schematron --> |
| <xs:attributeGroup name="map.attrs.name"> |
| <xs:attribute name="name" use="required" type="common.data.name"/> |
| </xs:attributeGroup> |
| <xs:complexType name="map.inner.flow" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:complexType name="map.inner.phrasing" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="area"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:area.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="area.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="alt"/> |
| <xs:attribute name="href" type="common.data.uri"/> |
| <xs:attribute name="target" type="common.data.browsing-context-or-keyword"/> |
| <xs:attribute name="ping" type="common.data.uris"/> |
| <xs:attribute name="rel" type="common.data.tokens"/> |
| <xs:attribute name="media" type="common.data.mediaquery"/> |
| <xs:attribute name="hreflang" type="common.data.langcode"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attributeGroup ref="xhtml:area.attrs.shape"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="area.attrs.shape"> |
| <xs:attribute name="shape" type="xs:string"/> |
| <xs:attribute name="coords" type="xs:string"/> |
| </xs:attributeGroup> |
| |
| <!-- ##################################################################### --> |
| <xs:element name="ruby"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:ruby.inner"> |
| <xs:attributeGroup ref="xhtml:ruby.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="ruby.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="ruby.inner" mixed="true"> |
| <xs:sequence maxOccurs="unbounded"> |
| <xs:group ref="common.inner.phrasing"/> |
| <xs:choice> |
| <xs:element ref="xhtml:rt"/> |
| <xs:sequence> |
| <xs:group ref="xhtml:rp.elem.start"/> |
| <xs:element ref="xhtml:rt"/> |
| <xs:group ref="xhtml:rp.elem.end"/> |
| </xs:sequence> |
| </xs:choice> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="rt"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:rt.inner"> |
| <xs:attributeGroup ref="xhtml:rt.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="rt.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="rt.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:group name="rp.elem.start"> |
| <xs:annotation> |
| <xs:documentation>Ruby Parenthesis: <rp></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="rp"> |
| <xs:complexType> |
| <xs:simpleContent> |
| <xs:extension base="xhtml:rp.inner.start"> |
| <xs:attributeGroup ref="xhtml:rp.attrs"/> |
| </xs:extension> |
| </xs:simpleContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="rp.elem.end"> |
| <xs:sequence> |
| <xs:element name="rp"> |
| <xs:complexType> |
| <xs:simpleContent> |
| <xs:extension base="xhtml:rp.inner.end"> |
| <xs:attributeGroup ref="xhtml:rp.attrs"/> |
| </xs:extension> |
| </xs:simpleContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="rp.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:simpleType name="rp.inner.start"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="rp.inner.end"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| |
| <!-- ##################################################################### --> |
| <!-- src not included --> |
| <xs:attributeGroup name="media.attrs"> |
| <xs:annotation> |
| <xs:documentation>RELAX NG Schema for HTML 5: Advanced Embedded Content #</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="autoplay"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autoplay"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autobuffer"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autobuffer"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="controls"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="controls"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="loop"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="loop"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:element name="source"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:source.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="source.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:source.attrs.src"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="media" type="common.data.mediaquery"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="source.attrs.src"> |
| <xs:attribute name="src" use="required" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:complexType name="media.source" mixed="true"> |
| <xs:annotation> |
| <xs:documentation>Media Source</xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:source"/> |
| </xs:sequence> |
| <xs:attribute name="src" type="common.data.uri"/> |
| </xs:complexType> |
| <xs:attributeGroup name="media.attrs.src"> |
| <xs:attribute name="src" use="required" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:group name="video.elem.flow"> |
| <xs:annotation> |
| <xs:documentation>Video: <video></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="video"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:video.inner.flow"> |
| <xs:attributeGroup ref="xhtml:video.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="video.elem.phrasing"> |
| <xs:sequence> |
| <xs:element name="video"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:video.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:video.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="video.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:media.attrs"/> |
| <xs:attribute name="poster" type="common.data.uri"/> |
| <xs:attribute name="height" type="common.data.integer.positive"/> |
| <xs:attribute name="width" type="common.data.integer.positive"/> |
| </xs:attributeGroup> |
| <xs:complexType name="video.inner.flow" mixed="true"> |
| <xs:complexContent> |
| <xs:extension base="xhtml:media.source"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType name="video.inner.phrasing" mixed="true"> |
| <xs:complexContent> |
| <xs:extension base="xhtml:media.source"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:group name="audio.elem.flow"> |
| <xs:annotation> |
| <xs:documentation>Audio: <audio></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="audio"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:audio.inner.flow"> |
| <xs:attributeGroup ref="xhtml:audio.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="audio.elem.phrasing"> |
| <xs:sequence> |
| <xs:element name="audio"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:audio.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:audio.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="audio.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:media.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="audio.inner.flow" mixed="true"> |
| <xs:complexContent> |
| <xs:extension base="xhtml:media.source"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType name="audio.inner.phrasing" mixed="true"> |
| <xs:complexContent> |
| <xs:extension base="xhtml:media.source"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:element name="figure"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:figure.inner"> |
| <xs:attributeGroup ref="xhtml:figure.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="figure.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="figure.inner" mixed="true"> |
| <xs:choice> |
| <xs:sequence> |
| <xs:element ref="xhtml:legend"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| <xs:sequence> |
| <xs:group ref="common.inner.flow"/> |
| <xs:element minOccurs="0" ref="xhtml:legend"/> |
| </xs:sequence> |
| <xs:sequence> |
| <xs:element ref="xhtml:figcaption"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| <xs:sequence> |
| <xs:group ref="common.inner.flow"/> |
| <xs:element minOccurs="0" ref="xhtml:figcaption"/> |
| </xs:sequence> |
| </xs:choice> |
| </xs:complexType> |
| |
| <xs:element name="script"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:script.inner.embedded"> |
| <xs:attributeGroup ref="xhtml:script.attrs.embedded"/> |
| <xs:attributeGroup ref="xhtml:script.attrs.imported"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- ##################################################################### --> |
| <xs:group name="script.elem.embedded"> |
| <xs:annotation> |
| <xs:documentation>RELAX NG Schema for HTML 5: Core Scripting #</xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="script"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="script.attrs.embedded"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="language" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:group name="script.elem.imported"> |
| <xs:sequence> |
| <xs:element ref="script"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="script.attrs.imported"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:script.attrs.src"/> |
| <xs:attribute name="defer"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="defer"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="async"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="async"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="type" type="common.data.mimetype"/> |
| <xs:attribute name="charset" type="common.data.charset"/> |
| <xs:attribute name="language" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="script.attrs.src"> |
| <xs:attribute name="src" use="optional" type="common.data.uri"/> |
| </xs:attributeGroup> |
| <xs:complexType name="script.inner.embedded"> |
| <xs:complexContent> |
| <xs:extension base="common.inner.anything"/> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:group name="script.elem"> |
| <xs:choice> |
| <xs:group ref="xhtml:script.elem.embedded"/> |
| <xs:group ref="xhtml:script.elem.imported"/> |
| </xs:choice> |
| </xs:group> |
| <xs:group name="noscript.inner.head"> |
| <xs:sequence> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xhtml:link"/> |
| <xs:group ref="xhtml:meta.http-equiv.default-style.elem"/> |
| <xs:group ref="xhtml:meta.http-equiv.refresh.elem"/> |
| <xs:group ref="xhtml:style.elem"/> |
| </xs:choice> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="noscript.inner.phrasing"> |
| <xs:sequence> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="noscript.inner.flow"> |
| <xs:sequence> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="noscript.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <!-- ##################################################################### --> |
| <xs:attributeGroup name="common.attrs.scripting"> |
| <xs:annotation> |
| <xs:documentation>Event Handler Attribute Definitions</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="onabort" type="xs:string"/> |
| <xs:attribute name="onblur" type="xs:string"/> |
| <xs:attribute name="oncanplay" type="xs:string"/> |
| <xs:attribute name="oncanplaythrough" type="xs:string"/> |
| <xs:attribute name="onchange" type="xs:string"/> |
| <xs:attribute name="onclick" type="xs:string"/> |
| <xs:attribute name="oncontextmenu" type="xs:string"/> |
| <xs:attribute name="ondblclick" type="xs:string"/> |
| <xs:attribute name="ondrag" type="xs:string"/> |
| <xs:attribute name="ondragend" type="xs:string"/> |
| <xs:attribute name="ondragenter" type="xs:string"/> |
| <xs:attribute name="ondragleave" type="xs:string"/> |
| <xs:attribute name="ondragover" type="xs:string"/> |
| <xs:attribute name="ondragstart" type="xs:string"/> |
| <xs:attribute name="ondrop" type="xs:string"/> |
| <xs:attribute name="ondurationchange" type="xs:string"/> |
| <xs:attribute name="onemptied" type="xs:string"/> |
| <xs:attribute name="onended" type="xs:string"/> |
| <xs:attribute name="onerror" type="xs:string"/> |
| <xs:attribute name="onfocus" type="xs:string"/> |
| <xs:attribute name="onformchange" type="xs:string"/> |
| <xs:attribute name="onforminput" type="xs:string"/> |
| <xs:attribute name="oninput" type="xs:string"/> |
| <xs:attribute name="oninvalid" type="xs:string"/> |
| <xs:attribute name="onkeydown" type="xs:string"/> |
| <xs:attribute name="onkeypress" type="xs:string"/> |
| <xs:attribute name="onkeyup" type="xs:string"/> |
| <xs:attribute name="onload" type="xs:string"/> |
| <xs:attribute name="onloadeddata" type="xs:string"/> |
| <xs:attribute name="onloadedmetadata" type="xs:string"/> |
| <xs:attribute name="onloadstart" type="xs:string"/> |
| <xs:attribute name="onmousedown" type="xs:string"/> |
| <xs:attribute name="onmousemove" type="xs:string"/> |
| <xs:attribute name="onmouseout" type="xs:string"/> |
| <xs:attribute name="onmouseover" type="xs:string"/> |
| <xs:attribute name="onmouseup" type="xs:string"/> |
| <xs:attribute name="onmousewheel" type="xs:string"/> |
| <xs:attribute name="onpause" type="xs:string"/> |
| <xs:attribute name="onplay" type="xs:string"/> |
| <xs:attribute name="onplaying" type="xs:string"/> |
| <xs:attribute name="onprogress" type="xs:string"/> |
| <xs:attribute name="onratechange" type="xs:string"/> |
| <xs:attribute name="onreadystatechange" type="xs:string"/> |
| <xs:attribute name="onscroll" type="xs:string"/> |
| <xs:attribute name="onseeked" type="xs:string"/> |
| <xs:attribute name="onseeking" type="xs:string"/> |
| <xs:attribute name="onselect" type="xs:string"/> |
| <xs:attribute name="onshow" type="xs:string"/> |
| <xs:attribute name="onstalled" type="xs:string"/> |
| <xs:attribute name="onsubmit" type="xs:string"/> |
| <xs:attribute name="onsuspend" type="xs:string"/> |
| <xs:attribute name="ontimeupdate" type="xs:string"/> |
| <xs:attribute name="onvolumechange" type="xs:string"/> |
| <xs:attribute name="onwaiting" type="xs:string"/> |
| </xs:attributeGroup> |
| |
| <!-- ##################################################################### --> |
| <xs:attributeGroup name="tables.attrs.alignment"> |
| <xs:annotation> |
| <xs:documentation>RELAX NG Schema for HTML 5: Tables #</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="align"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="left"/> |
| <xs:enumeration value="center"/> |
| <xs:enumeration value="right"/> |
| <xs:enumeration value="justify"/> |
| <xs:enumeration value="char"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="char"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:pattern value="."/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="valign"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="top"/> |
| <xs:enumeration value="middle"/> |
| <xs:enumeration value="bottom"/> |
| <xs:enumeration value="baseline"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:element name="table"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:table.inner"> |
| <xs:attributeGroup ref="xhtml:table.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="table.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="summary" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:complexType name="table.inner"> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="xhtml:caption"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:colgroup"/> |
| <xs:element minOccurs="0" ref="xhtml:thead"/> |
| <xs:choice> |
| <xs:sequence> |
| <xs:element ref="xhtml:tfoot"/> |
| <xs:choice> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:tbody"/> |
| <xs:element maxOccurs="unbounded" ref="xhtml:tr"/> |
| </xs:choice> |
| </xs:sequence> |
| <xs:sequence> |
| <xs:choice> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:tbody"/> |
| <xs:element maxOccurs="unbounded" ref="xhtml:tr"/> |
| </xs:choice> |
| <xs:element minOccurs="0" ref="xhtml:tfoot"/> |
| </xs:sequence> |
| </xs:choice> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="caption"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:caption.inner"> |
| <xs:attributeGroup ref="xhtml:caption.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="caption.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="caption.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <!-- ##################################################################### --> |
| <xs:element name="colgroup"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:colgroup.inner"> |
| <xs:attributeGroup ref="xhtml:colgroup.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="colgroup.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="colgroup.inner"> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:col"/> |
| </xs:sequence> |
| <xs:attribute name="span" type="common.data.integer.positive"/> |
| </xs:complexType> |
| <xs:element name="col"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:col.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="col.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="span" type="common.data.integer.positive"/> |
| </xs:attributeGroup> |
| <xs:element name="thead"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:thead.inner"> |
| <xs:attributeGroup ref="xhtml:thead.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="thead.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="thead.inner"> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:tr"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="tfoot"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:tfoot.inner"> |
| <xs:attributeGroup ref="xhtml:tfoot.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="tfoot.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="tfoot.inner"> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:tr"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="tbody"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:tbody.inner"> |
| <xs:attributeGroup ref="xhtml:tbody.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="tbody.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="tbody.inner"> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:tr"/> |
| </xs:sequence> |
| </xs:complexType> |
| <!-- ##################################################################### --> |
| <xs:element name="tr"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:tr.inner"> |
| <xs:attributeGroup ref="xhtml:tr.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="tr.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="tr.inner"> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xhtml:td"/> |
| <xs:element ref="xhtml:th"/> |
| </xs:choice> |
| </xs:complexType> |
| <xs:attributeGroup name="tables.attrs.cell-structure"> |
| <xs:annotation> |
| <xs:documentation>Common Table Cell Attributes</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="colspan" type="common.data.integer.positive"/> |
| <xs:attribute name="rowspan" type="common.data.integer.non-negative"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="tables.attrs.define-headers"> |
| <xs:attribute name="scope"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="row"/> |
| <xs:enumeration value="col"/> |
| <xs:enumeration value="rowgroup"/> |
| <xs:enumeration value="colgroup"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:element name="td"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:td.inner"> |
| <xs:attributeGroup ref="xhtml:td.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="td.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:tables.attrs.cell-structure"/> |
| <xs:attribute name="headers" type="common.data.idrefs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="td.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:element name="th"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:th.inner"> |
| <xs:attributeGroup ref="xhtml:th.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="th.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:tables.attrs.cell-structure"/> |
| <xs:attribute name="scope"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="row"/> |
| <xs:enumeration value="col"/> |
| <xs:enumeration value="rowgroup"/> |
| <xs:enumeration value="colgroup"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="headers" type="common.data.idrefs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="th.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| |
| <!-- ##################################################################### --> |
| <xs:simpleType name="form.data.mimetypelist"> |
| <xs:annotation> |
| <xs:documentation>RELAX NG Schema for HTML 5: Datatypes related to forms #</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.charsetlist"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <!-- |
| FIXME should be a "a space- and/or comma-delimited |
| list of charset values" |
| --> |
| <xs:simpleType name="form.data.pattern"> |
| <xs:annotation> |
| <xs:documentation>ECMAScript Regular Expression</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.datetime-local"> |
| <xs:annotation> |
| <xs:documentation>Temporal</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.date"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.month"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.week"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.time"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.emailaddress"> |
| <xs:annotation> |
| <xs:documentation>Email</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.emailaddresslist"> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="form.data.color"> |
| <xs:annotation> |
| <xs:documentation>Color</xs:documentation> |
| </xs:annotation> |
| <xs:restriction base="xs:string"/> |
| </xs:simpleType> |
| |
| <!-- ##################################################################### --> |
| <xs:attributeGroup name="common-form.attrs"> |
| <xs:annotation> |
| <xs:documentation>RELAX NG Schema for HTML 5: Web Forms 1.0 markup #</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="name" type="xs:string"/> |
| <xs:attribute name="disabled"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="disabled"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attributeGroup ref="common-form.attrs.form"/> |
| </xs:attributeGroup> |
| |
| <!-- REVISIT tabindex goes in common.attrs --> |
| <xs:attributeGroup name="input.attrs.checked"> |
| <xs:annotation> |
| <xs:documentation>Shared attributes for <input></xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="checked"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="checked"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| |
| <xs:element name="input"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:input.text.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.password.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.checkbox.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.radio.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.button.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.submit.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.reset.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.file.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.hidden.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.image.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.datetime.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.datetime-local.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.date.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.month.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.time.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.week.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.number.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.range.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.email.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.url.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.search.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.tel.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.color.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:group name="input.text.elem"> |
| <xs:annotation> |
| <xs:documentation>Text Field: <input type='text'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.text.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="maxlength" type="common.data.integer.positive"/> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="size" type="common.data.integer.positive"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="pattern" type="xhtml:form.data.pattern"/> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="placeholder" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:group name="input.elem"> |
| <xs:choice> |
| <xs:group ref="xhtml:input.text.elem"/> |
| <xs:group ref="xhtml:input.password.elem"/> |
| <xs:group ref="xhtml:input.checkbox.elem"/> |
| <xs:group ref="xhtml:input.radio.elem"/> |
| <xs:group ref="xhtml:input.button.elem"/> |
| <xs:group ref="xhtml:input.submit.elem"/> |
| <xs:group ref="xhtml:input.reset.elem"/> |
| <xs:group ref="xhtml:input.file.elem"/> |
| <xs:group ref="xhtml:input.hidden.elem"/> |
| <xs:group ref="xhtml:input.image.elem"/> |
| <xs:group ref="xhtml:input.datetime.elem"/> |
| <xs:group ref="xhtml:input.datetime-local.elem"/> |
| <xs:group ref="xhtml:input.date.elem"/> |
| <xs:group ref="xhtml:input.month.elem"/> |
| <xs:group ref="xhtml:input.time.elem"/> |
| <xs:group ref="xhtml:input.week.elem"/> |
| <xs:group ref="xhtml:input.number.elem"/> |
| <xs:group ref="xhtml:input.range.elem"/> |
| <xs:group ref="xhtml:input.email.elem"/> |
| <xs:group ref="xhtml:input.url.elem"/> |
| <xs:group ref="xhtml:input.search.elem"/> |
| <xs:group ref="xhtml:input.tel.elem"/> |
| <xs:group ref="xhtml:input.color.elem"/> |
| </xs:choice> |
| </xs:group> |
| <xs:group name="input.password.elem"> |
| <xs:annotation> |
| <xs:documentation>Password Field: <input type='password'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.password.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="maxlength" type="common.data.integer.positive"/> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="size" type="common.data.integer.positive"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="pattern" type="xhtml:form.data.pattern"/> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="placeholder" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="input.attrs.type"> |
| <xs:attribute name="type"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="text"/> |
| <xs:enumeration value="password"/> |
| <xs:enumeration value="checkbox"/> |
| <xs:enumeration value="radio"/> |
| <xs:enumeration value="button"/> |
| <xs:enumeration value="submit"/> |
| <xs:enumeration value="reset"/> |
| <xs:enumeration value="file"/> |
| <xs:enumeration value="hidden"/> |
| <xs:enumeration value="image"/> |
| <xs:enumeration value="datetime"/> |
| <xs:enumeration value="datetime-local"/> |
| <xs:enumeration value="date"/> |
| <xs:enumeration value="month"/> |
| <xs:enumeration value="time"/> |
| <xs:enumeration value="week"/> |
| <xs:enumeration value="number"/> |
| <xs:enumeration value="range"/> |
| <xs:enumeration value="email"/> |
| <xs:enumeration value="url"/> |
| <xs:enumeration value="search"/> |
| <xs:enumeration value="tel"/> |
| <xs:enumeration value="color"/> |
| |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="input.checkbox.elem"> |
| <xs:annotation> |
| <xs:documentation>Checkbox: <input type='checkbox'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.checkbox.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="checked"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="checked"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="input.radio.elem"> |
| <xs:annotation> |
| <xs:documentation>Radiobutton: <input type='radio'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.radio.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="checked"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="checked"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="input.button.elem"> |
| <xs:annotation> |
| <xs:documentation>Scripting Hook Button: <input type='button'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.button.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <!-- REVISIT should this be enabled by a scripting module only? --> |
| <xs:group name="input.submit.elem"> |
| <xs:annotation> |
| <xs:documentation>Submit Button: <input type='submit'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.submit.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="formaction" type="common.data.uri"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="formenctype" type="xhtml:shared-form.attrs.formenctype.data"/> |
| <xs:attribute name="formmethod" type="xhtml:shared-form.attrs.formmethod.data"/> |
| <xs:attribute name="formtarget" type="common.data.browsing-context-or-keyword"/> |
| <xs:attribute name="formnovalidate"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="formnovalidate"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="input.reset.elem"> |
| <xs:annotation> |
| <xs:documentation>Reset Button: <input type='reset'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.reset.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <!-- REVISIT does reset make sense outside a form? --> |
| <xs:group name="input.file.elem"> |
| <xs:annotation> |
| <xs:documentation>File Upload: <input type='file'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.file.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="accept" type="xhtml:form.data.mimetypelist"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="multiple"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="multiple"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="input.hidden.elem"> |
| <xs:annotation> |
| <xs:documentation>Hidden String: <input type='hidden'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.hidden.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="value" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:group name="input.image.elem"> |
| <xs:annotation> |
| <xs:documentation>Image Submit Button: <input type='image'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.image.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attributeGroup ref="xhtml:input.image.attrs.alt"/> |
| <xs:attribute name="src" type="common.data.uri"/> |
| <xs:attribute name="formaction" type="common.data.uri"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="formenctype" type="xhtml:shared-form.attrs.formenctype.data"/> |
| <xs:attribute name="formmethod" type="xhtml:shared-form.attrs.formmethod.data"/> |
| <xs:attribute name="formtarget" type="common.data.browsing-context-or-keyword"/> |
| <xs:attribute name="formnovalidate"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="formnovalidate"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="height" type="common.data.integer.positive"/> |
| <xs:attribute name="width" type="common.data.integer.positive"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="input.image.attrs.alt"> |
| <xs:attribute name="alt" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:element name="textarea"> |
| <xs:complexType mixed="true"> |
| <xs:attributeGroup ref="xhtml:textarea.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="textarea.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="maxlength" type="common.data.integer.positive"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="placeholder" type="xs:string"/> |
| <xs:attribute name="rows" type="common.data.integer.positive"/> |
| <xs:attribute name="wrap" type="xs:string"/> |
| <xs:attribute name="cols" type="common.data.integer.positive"/> |
| </xs:attributeGroup> |
| <!-- This is ugly. --> |
| <!-- |
| Due to limitations with interleave, handling single/multiple selection |
| enforcement in RELAX NG seems to be possible but really awkward. |
| Tried it. Leaving it to Schematron. |
| --> |
| <xs:element name="option"> |
| <xs:complexType mixed="true"> |
| <xs:attributeGroup ref="xhtml:option.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="option.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="disabled"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="disabled"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="selected"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="selected"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="label" type="xs:string"/> |
| <xs:attribute name="value" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:element name="optgroup"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:optgroup.inner"> |
| <xs:attributeGroup ref="xhtml:optgroup.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="optgroup.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:optgroup.attrs.label"/> |
| <xs:attribute name="disabled"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="disabled"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="optgroup.attrs.label"> |
| <xs:attribute name="label" use="required" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:complexType name="optgroup.inner"> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="xhtml:option"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="select"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:select.inner"> |
| <xs:attributeGroup ref="xhtml:select.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="select.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attribute name="size" type="common.data.integer.positive"/> |
| <xs:attribute name="multiple"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="multiple"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:complexType name="select.inner"> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xhtml:optgroup"/> |
| <xs:element ref="xhtml:option"/> |
| </xs:choice> |
| </xs:complexType> |
| <xs:complexType name="button.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| |
| <xs:element name="button"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:button.inner"> |
| <xs:attributeGroup ref="xhtml:button.submit.attrs"/> |
| <xs:attributeGroup ref="xhtml:button.reset.attrs"/> |
| <xs:attributeGroup ref="xhtml:button.button.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:group name="button.submit.elem"> |
| <xs:annotation> |
| <xs:documentation>Complex Submit Button: <button type='submit'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="button"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="button.submit.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="button.attrs.type"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="formaction" type="common.data.uri"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="formenctype" type="xhtml:shared-form.attrs.formenctype.data"/> |
| <xs:attribute name="formmethod" type="xhtml:shared-form.attrs.formmethod.data"/> |
| <xs:attribute name="formtarget" type="common.data.browsing-context-or-keyword"/> |
| <xs:attribute name="formnovalidate"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="formnovalidate"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="button.elem"> |
| <xs:choice> |
| <xs:group ref="xhtml:button.submit.elem"/> |
| <xs:group ref="xhtml:button.reset.elem"/> |
| <xs:group ref="xhtml:button.button.elem"/> |
| </xs:choice> |
| </xs:group> |
| <xs:group name="button.reset.elem"> |
| <xs:annotation> |
| <xs:documentation>Complex Reset Button: <button type='reset'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="button"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="button.reset.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:button.attrs.type"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="button.attrs.type"> |
| <xs:attribute name="type"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="submit"/> |
| <xs:enumeration value="reset"/> |
| <xs:enumeration value="button"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="button.button.elem"> |
| <xs:annotation> |
| <xs:documentation>Complex Push Button: <button type='button'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="button"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="button.button.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:button.attrs.type"/> |
| <xs:attribute name="value" type="xs:string"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:element name="form"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:form.inner"> |
| <xs:attributeGroup ref="xhtml:form.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="form.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="action" type="common.data.uri"/> |
| <xs:attribute name="method" type="xhtml:form.attrs.method.data"/> |
| <xs:attribute name="enctype" type="xhtml:form.attrs.enctype.data"/> |
| <xs:attribute name="name" type="xs:string"/> |
| <xs:attribute name="accept-charset" type="xhtml:form.data.charsetlist"/> |
| <xs:attribute name="novalidate"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="novalidate"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="target" type="common.data.browsing-context-or-keyword"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:simpleType name="form.attrs.method.data"> |
| <xs:union> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| <xs:simpleType name="form.attrs.enctype.data"> |
| <xs:union memberTypes="xs:string"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:union> |
| </xs:simpleType> |
| <xs:complexType name="form.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:element name="fieldset"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:fieldset.inner"> |
| <xs:attributeGroup ref="xhtml:fieldset.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="fieldset.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="fieldset.inner" mixed="true"> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="xhtml:legend"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="label"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:label.inner"> |
| <xs:attributeGroup ref="xhtml:label.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="label.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="for" type="common.data.idref"/> |
| <xs:attributeGroup ref="common-form.attrs.form"/> |
| </xs:attributeGroup> |
| <xs:complexType name="label.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:simpleType name="shared-form.attrs.formenctype.data"> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| <xs:simpleType name="shared-form.attrs.formmethod.data"> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| <xs:group name="input.datetime.elem"> |
| <xs:annotation> |
| <xs:documentation>Global Date and Time: <input type='datetime'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.datetime.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="min" type="common.data.datetime"/> |
| <xs:attribute name="max" type="common.data.datetime"/> |
| <xs:attribute name="step"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="common.data.datetime"/> |
| </xs:attributeGroup> |
| <xs:group name="input.datetime-local.elem"> |
| <xs:annotation> |
| <xs:documentation>Date and Time with No Time Zone Information: <input type='datetime-local'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.datetime-local.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="min" type="xhtml:form.data.datetime-local"/> |
| <xs:attribute name="max" type="xhtml:form.data.datetime-local"/> |
| <xs:attribute name="step"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="xhtml:form.data.datetime-local"/> |
| </xs:attributeGroup> |
| <xs:group name="input.date.elem"> |
| <xs:annotation> |
| <xs:documentation>Date: <input type='date'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.date.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="min" type="xhtml:form.data.date"/> |
| <xs:attribute name="max" type="xhtml:form.data.date"/> |
| <xs:attribute name="step"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="xhtml:form.data.date"/> |
| </xs:attributeGroup> |
| <xs:group name="input.month.elem"> |
| <xs:annotation> |
| <xs:documentation>Year and Month: <input type='month'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.month.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="min" type="xhtml:form.data.month"/> |
| <xs:attribute name="max" type="xhtml:form.data.month"/> |
| <xs:attribute name="step"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="xhtml:form.data.month"/> |
| </xs:attributeGroup> |
| <xs:group name="input.time.elem"> |
| <xs:annotation> |
| <xs:documentation>Time without Time Zone Information: <input type='time'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.time.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="min" type="xhtml:form.data.time"/> |
| <xs:attribute name="max" type="xhtml:form.data.time"/> |
| <xs:attribute name="step"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="xhtml:form.data.time"/> |
| </xs:attributeGroup> |
| <xs:group name="input.week.elem"> |
| <xs:annotation> |
| <xs:documentation>Year and Week: <input type='week'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.week.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="min" type="xhtml:form.data.week"/> |
| <xs:attribute name="max" type="xhtml:form.data.week"/> |
| <xs:attribute name="step"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="xhtml:form.data.week"/> |
| </xs:attributeGroup> |
| <xs:group name="input.number.elem"> |
| <xs:annotation> |
| <xs:documentation>Number: <input type='number'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.number.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="min" type="common.data.float"/> |
| <xs:attribute name="max" type="common.data.float"/> |
| <xs:attribute name="step"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="common.data.float"/> |
| </xs:attributeGroup> |
| <xs:group name="input.range.elem"> |
| <xs:annotation> |
| <xs:documentation>Imprecise Number: <input type='range'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.range.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="min" type="common.data.float"/> |
| <xs:attribute name="max" type="common.data.float"/> |
| <xs:attribute name="step"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="value" type="common.data.float"/> |
| </xs:attributeGroup> |
| <xs:group name="input.email.elem"> |
| <xs:annotation> |
| <xs:documentation>Email Address: <input type='email'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.email.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="maxlength" type="common.data.integer.positive"/> |
| <xs:attribute name="pattern" type="xhtml:form.data.pattern"/> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="size" type="common.data.integer.positive"/> |
| <xs:attribute name="placeholder" type="xs:string"/> |
| <xs:attribute name="value"> |
| <xs:simpleType> |
| <xs:union memberTypes="xhtml:form.data.emailaddresslist xhtml:form.data.emailaddress"/> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="multiple"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="multiple"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="input.url.elem"> |
| <xs:annotation> |
| <xs:documentation>IRI: <input type='url'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.url.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="maxlength" type="common.data.integer.positive"/> |
| <xs:attribute name="pattern" type="xhtml:form.data.pattern"/> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="size" type="common.data.integer.positive"/> |
| <xs:attribute name="placeholder" type="xs:string"/> |
| <xs:attribute name="value"> |
| <xs:simpleType> |
| <xs:union memberTypes="xs:string"/> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="input.search.elem"> |
| <xs:annotation> |
| <xs:documentation>Search: <input type='search'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.search.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="maxlength" type="common.data.integer.positive"/> |
| <xs:attribute name="pattern" type="xhtml:form.data.pattern"/> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="size" type="common.data.integer.positive"/> |
| <xs:attribute name="placeholder" type="xs:string"/> |
| <xs:attribute name="value" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:group name="input.tel.elem"> |
| <xs:annotation> |
| <xs:documentation>Telephone Number: <input type='tel'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.tel.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="maxlength" type="common.data.integer.positive"/> |
| <xs:attribute name="pattern" type="xhtml:form.data.pattern"/> |
| <xs:attribute name="readonly"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="readonly"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="required"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="size" type="common.data.integer.positive"/> |
| <xs:attribute name="placeholder" type="xs:string"/> |
| <xs:attribute name="value" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:group name="input.color.elem"> |
| <xs:annotation> |
| <xs:documentation>Color: <input type='color'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="input"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="input.color.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| <xs:attributeGroup ref="xhtml:input.attrs.type"/> |
| <xs:attribute name="autocomplete"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="on"/> |
| <xs:enumeration value="off"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="list" type="common.data.idref"/> |
| <xs:attribute name="value" type="xhtml:form.data.color"/> |
| </xs:attributeGroup> |
| <xs:element name="output"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:output.inner"> |
| <xs:attributeGroup ref="xhtml:output.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="output.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="name" type="xs:string"/> |
| <xs:attributeGroup ref="common-form.attrs.form"/> |
| <xs:attribute name="for" type="common.data.idrefs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="output.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="datalist"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:datalist.inner"> |
| <xs:attributeGroup ref="xhtml:datalist.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:complexType name="datalist.inner" mixed="true"> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="xhtml:option"/> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:choice> |
| </xs:complexType> |
| <xs:attributeGroup name="datalist.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:element name="keygen"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:keygen.attrs"/> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="keygen.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="challenge" type="xs:string"/> |
| <xs:attribute name="keytype" type="xs:string"/> |
| <xs:attribute name="autofocus"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="autofocus"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attributeGroup ref="xhtml:common-form.attrs"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="common.attrs.interact"> |
| <xs:annotation> |
| <xs:documentation>RELAX NG Schema for HTML 5: Web Application Features #</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="contextmenu" type="common.data.idref"/> |
| <xs:attribute name="contenteditable"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="draggable"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="hidden"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="hidden"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="spellcheck"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="common.attrs.contenteditable"> |
| <xs:annotation> |
| <xs:documentation>Editable Content: contenteditable</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="contenteditable"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="common.attrs.draggable"> |
| <xs:annotation> |
| <xs:documentation>Draggable Element: draggable</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="draggable"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="common.attrs.hidden"> |
| <xs:annotation> |
| <xs:documentation>Hidden Element: hidden</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="hidden"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="hidden"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="common.attrs.spellcheck"> |
| <xs:annotation> |
| <xs:documentation>Spellchecking and grammar checking: spellcheck</xs:documentation> |
| </xs:annotation> |
| <xs:attribute name="spellcheck"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true"/> |
| <xs:enumeration value="false"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:element name="progress"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:progress.inner"> |
| <xs:attributeGroup ref="xhtml:progress.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="progress.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="value" type="common.data.float.non-negative"/> |
| <xs:attribute name="max" type="common.data.float.positive"/> |
| </xs:attributeGroup> |
| <xs:complexType name="progress.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <!-- Cannot enforce textContent format here --> |
| <xs:element name="datagrid"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:datagrid.inner"> |
| <xs:attributeGroup ref="xhtml:datagrid.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="datagrid.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="multiple"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="multiple"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="disabled"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="disabled"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:complexType name="datagrid.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| |
| <xs:element name="command"> |
| <xs:complexType> |
| <xs:attributeGroup ref="xhtml:command.command.attrs"/> |
| <xs:attributeGroup ref="xhtml:command.radio.attrs"/> |
| <xs:attributeGroup ref="xhtml:command.checkbox.attrs"/> |
| |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:group name="command.command.elem"> |
| <xs:annotation> |
| <xs:documentation>Command with an associated action: <command type='command'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="command"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="command.command.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="command.attrs.type"/> |
| <xs:attributeGroup ref="xhtml:common-command.attrs"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="command.attrs.type"> |
| <xs:attribute name="type"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="radio"/> |
| <xs:enumeration value="command"/> |
| <xs:enumeration value="checkbox"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:group name="command.elem"> |
| <xs:choice> |
| <xs:group ref="xhtml:command.command.elem"/> |
| <xs:group ref="xhtml:command.radio.elem"/> |
| <xs:group ref="xhtml:command.checkbox.elem"/> |
| </xs:choice> |
| </xs:group> |
| <xs:group name="command.radio.elem"> |
| <xs:annotation> |
| <xs:documentation>Selection of one item from a list of items: <command type='radio'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="command"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="command.radio.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:command.attrs.type"/> |
| <xs:attributeGroup ref="xhtml:command.radio.attrs.radiogroup"/> |
| <xs:attribute name="checked"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="checked"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attributeGroup ref="xhtml:common-command.attrs"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="command.radio.attrs.radiogroup"> |
| <xs:attribute name="radiogroup" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:group name="command.checkbox.elem"> |
| <xs:annotation> |
| <xs:documentation>State or option that can be toggled: <command type='checkbox'></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element ref="command"/> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="command.checkbox.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attributeGroup ref="xhtml:command.attrs.type"/> |
| <xs:attribute name="checked"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="checked"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attributeGroup ref="xhtml:common-command.attrs"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="common-command.attrs"> |
| <xs:attribute name="label" type="xs:string"/> |
| <xs:attribute name="icon" type="common.data.uri"/> |
| <xs:attribute name="disabled"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="disabled"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:element name="bb"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:bb.inner"> |
| <xs:attributeGroup ref="xhtml:bb.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="bb.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="type" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="bb.attrs.type"> |
| <xs:attribute name="type"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="makeapp"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:complexType name="bb.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="menu"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:menu.inner"> |
| <xs:attributeGroup ref="xhtml:menu.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="menu.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="type"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="toolbar"/> |
| <xs:enumeration value="context"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="label" type="xs:string"/> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="menu.attrs.type"> |
| <xs:attribute name="type"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="toolbar"/> |
| <xs:enumeration value="context"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:complexType name="menu.inner" mixed="true"> |
| <xs:choice> |
| <xs:group minOccurs="0" maxOccurs="unbounded" ref="xhtml:mli.elem"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:choice> |
| </xs:complexType> |
| <!-- REVISIT allow nested menus --> |
| <xs:group name="mli.elem"> |
| <xs:annotation> |
| <xs:documentation>Menu Item: <li></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="li"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:mli.inner"> |
| <xs:attributeGroup ref="xhtml:mli.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="mli.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| </xs:attributeGroup> |
| <xs:complexType name="mli.inner" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:group name="canvas.elem.flow"> |
| <xs:annotation> |
| <xs:documentation>Canvas for Dynamic Graphics: <canvas></xs:documentation> |
| </xs:annotation> |
| <xs:sequence> |
| <xs:element name="canvas"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:canvas.inner.flow"> |
| <xs:attributeGroup ref="xhtml:canvas.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="canvas.elem.phrasing"> |
| <xs:sequence> |
| <xs:element name="canvas"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:canvas.inner.phrasing"> |
| <xs:attributeGroup ref="xhtml:canvas.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:attributeGroup name="canvas.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="height" type="common.data.integer.non-negative"/> |
| <xs:attribute name="width" type="common.data.integer.non-negative"/> |
| </xs:attributeGroup> |
| <xs:complexType name="canvas.inner.flow" mixed="true"> |
| <xs:group ref="common.inner.flow"/> |
| </xs:complexType> |
| <xs:complexType name="canvas.inner.phrasing" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <xs:element name="details"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:details.inner"> |
| <xs:attributeGroup ref="xhtml:details.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="details.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="open"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="open"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:attributeGroup name="details.attrs.open"> |
| <xs:attribute name="open"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="open"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:attributeGroup> |
| <xs:complexType name="details.inner" mixed="true"> |
| <xs:sequence> |
| <xs:element ref="xhtml:legend"/> |
| <xs:group ref="common.inner.flow"/> |
| </xs:sequence> |
| </xs:complexType> |
| <xs:element name="time"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:time.inner"> |
| <xs:attributeGroup ref="xhtml:time.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="time.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="datetime" type="common.data.date-or-time"/> |
| </xs:attributeGroup> |
| <xs:complexType name="time.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| <!-- Cannot enforce textContent format here --> |
| <xs:element name="meter"> |
| <xs:complexType> |
| <xs:complexContent> |
| <xs:extension base="xhtml:meter.inner"> |
| <xs:attributeGroup ref="xhtml:meter.attrs"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| </xs:element> |
| <xs:attributeGroup name="meter.attrs"> |
| <xs:attributeGroup ref="common.attrs"/> |
| <xs:attribute name="value" type="common.data.float"/> |
| <xs:attribute name="min" type="common.data.float"/> |
| <xs:attribute name="low" type="common.data.float"/> |
| <xs:attribute name="high" type="common.data.float"/> |
| <xs:attribute name="max" type="common.data.float"/> |
| <xs:attribute name="optimum" type="common.data.float"/> |
| </xs:attributeGroup> |
| |
| <xs:complexType name="meter.inner" mixed="true"> |
| <xs:group ref="common.inner.phrasing"/> |
| </xs:complexType> |
| |
| <xs:attribute name="id" type="xs:NCName"/> |
| <xs:attribute name="base" type="common.data.uri"/> |
| <xs:attribute name="space"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="preserve"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="lang" type="common.data.langcode"/> |
| </xs:schema> |
| |