begin switch to validator.nu for HTML5
This commit is contained in:
parent
65354129d2
commit
f92bed5dbb
43
Makefile
43
Makefile
|
@ -30,8 +30,8 @@ DESTDIR?=www-export
|
|||
|
||||
### Ressourcen ###
|
||||
# XSLT-Stylesheets:
|
||||
STYLE=xsl/xhtml.xsl
|
||||
DS_STYLE=xsl/datenspuren/xhtml.xsl
|
||||
STYLE=xsl/html5.xsl
|
||||
DS_STYLE=xsl/datenspuren/html5.xsl
|
||||
# Document-Type-Definition:
|
||||
DTD:=dtd/c3d2web.dtd
|
||||
# XML-Katalog (Pfad zu den DTDs) - wird benötigt vom Validator
|
||||
|
@ -72,16 +72,15 @@ SEARCH_TMPL:=build/cgi-bin/search.html
|
|||
NEWSITEMS:=$(wildcard content/news/*.xml)
|
||||
CLEAN=$(CONTENT) $(NEWSFILES) $(WWW_CCC_DE_UPDATES) $(CALENDAR_SUMMARY) $(DS_PAGES)
|
||||
|
||||
NOVALID_IGNORE:=false
|
||||
NOVALID:=false
|
||||
|
||||
define xml_process
|
||||
$(VALIDATOR) $(VFLAGS_IN) $<
|
||||
$(PROCESSOR) $(PFLAGS) -o $@ $(STYLE) $<
|
||||
$(VALIDATOR) $(VFLAGS_OUT) $@ || $(NOVALID_IGNORE) || \
|
||||
$(NOVALID) || $(VALIDATOR) $(VFLAGS_OUT) $@ || \
|
||||
{ touch -m -t 197001010000 Makefile $@ ; exit 1 ; }
|
||||
endef
|
||||
|
||||
|
||||
### Defaults ###
|
||||
|
||||
.PHONY: www
|
||||
|
@ -96,34 +95,40 @@ $(DATESTAMP):
|
|||
$(RM) $(wildcard build/.stamp-*)
|
||||
touch $@
|
||||
|
||||
.PHONY: html5-validate
|
||||
html5-validate: www
|
||||
for file in `find $< -name *.html`; do \
|
||||
curl -d @$file< -H "Content-Type: text/html; charset=UTF-8" 'http://validator.nu/?out=text&preset=http://s.validator.nu/xhtml5-aria-rdf-svg-mathml.rnc+http://s.validator.nu/html5/assertions.sch+http://c.validator.nu/all/' \
|
||||
done
|
||||
|
||||
### Regeln für den XSLT-Prozess ###
|
||||
|
||||
build/%.html : VFLAGS_OUT=$(VFLAGS) --relaxng html5-syntax/html5.rng
|
||||
build/%.html : NOVALID:=true
|
||||
build/news.html: $(WWW_CCC_DE_UPDATES) $(CALENDAR_SUMMARY) $(DATESTAMP)
|
||||
build/news-rss.xml : STYLE=xsl/rss.xsl
|
||||
build/news-rss.xml : NOVALID_IGNORE:=true
|
||||
build/news-rss.xml : NOVALID:=true
|
||||
build/news-rss.xml : PFLAGS+=--stringparam prefix ""
|
||||
build/news-rss.xml : VFLAGS_OUT=$(VFLAGS) --schema xsd/rss20.xsd
|
||||
build/news-atom.xml : STYLE=xsl/atom.xsl
|
||||
build/news-atom.xml : NOVALID_IGNORE:=true
|
||||
build/news-atom.xml : NOVALID:=true
|
||||
build/news-atom.xml : PFLAGS+=--stringparam prefix ""
|
||||
build/news-atom.xml : VFLAGS_OUT=$(VFLAGS) --relaxng xsd/atom.rng
|
||||
build/podcast.xml : STYLE=xsl/podcast.xsl
|
||||
build/podcast.xml : NOVALID_IGNORE:=true
|
||||
build/podcast.xml : NOVALID:=true
|
||||
build/podcast.xml : VFLAGS_OUT=$(VFLAGS) --schema xsd/rss20.xsd
|
||||
build/podcast.xml: xsl/podcast.xsl # Does not work with $(STYLE) - why?
|
||||
build/pentaradio.xml : STYLE=xsl/podcast.xsl
|
||||
build/pentaradio.xml : NOVALID_IGNORE:=true
|
||||
build/pentaradio.xml : NOVALID:=true
|
||||
build/pentaradio.xml : VFLAGS_OUT=$(VFLAGS) --schema xsd/rss20.xsd
|
||||
build/pentaradio.xml : PFLAGS+=--stringparam selection pentaradio
|
||||
build/pentaradio.xml: xsl/podcast.xsl # Does not work with $(STYLE) - why?
|
||||
build/pentacast.xml : STYLE=xsl/podcast.xsl
|
||||
build/pentacast.xml : NOVALID_IGNORE:=true
|
||||
build/pentacast.xml : NOVALID:=true
|
||||
build/pentacast.xml : VFLAGS_OUT=$(VFLAGS) --schema xsd/rss20.xsd
|
||||
build/pentacast.xml : PFLAGS+=--stringparam selection pentacast
|
||||
build/pentacast.xml: xsl/podcast.xsl # Does not work with $(STYLE) - why?
|
||||
build/pentamusic.xml : STYLE=xsl/podcast.xsl
|
||||
build/pentamusic.xml : NOVALID_IGNORE:=true
|
||||
build/pentamusic.xml : NOVALID:=true
|
||||
build/pentamusic.xml : VFLAGS_OUT=$(VFLAGS) --schema xsd/rss20.xsd
|
||||
build/pentamusic.xml : PFLAGS+=--stringparam selection pentamusic
|
||||
build/pentamusic.xml: xsl/podcast.xsl # Does not work with $(STYLE) - why?
|
||||
|
@ -137,7 +142,7 @@ $(NEWSFILES): news.xml $(NAVIGATION) $(STYLE)
|
|||
|
||||
# Calendar
|
||||
$(CALENDAR_SUMMARY) : STYLE=xsl/calendar-summary.xsl
|
||||
$(CALENDAR_SUMMARY) : NOVALID_IGNORE:=true
|
||||
$(CALENDAR_SUMMARY) : NOVALID:=true
|
||||
$(CALENDAR_SUMMARY) : VFLAGS_IN=$(VFLAGS)
|
||||
$(CALENDAR_SUMMARY): content/events.xml news.xml
|
||||
$(call xml_process)
|
||||
|
@ -154,7 +159,7 @@ build/xcal.xml: $(CALENDAR_SUMMARY) $(STYLE)
|
|||
|
||||
# iCal
|
||||
build/ical.ics : STYLE=xsl/ical.xsl
|
||||
build/ical.ics : NOVALID_IGNORE:=true
|
||||
build/ical.ics : NOVALID:=true
|
||||
build/ical.ics : VFLAGS_IN=$(VFLAGS)
|
||||
build/ical.ics : VFLAGS_OUT=$(VFLAGS)
|
||||
build/ical.ics: $(CALENDAR_SUMMARY) $(STYLE)
|
||||
|
@ -162,7 +167,7 @@ build/ical.ics: $(CALENDAR_SUMMARY) $(STYLE)
|
|||
|
||||
# Remind
|
||||
build/reminders : STYLE=xsl/remind.xsl
|
||||
build/reminders : NOVALID_IGNORE:=true
|
||||
build/reminders : NOVALID:=true
|
||||
build/reminders : VFLAGS_IN=$(VFLAGS)
|
||||
build/reminders : VFLAGS_OUT=$(VFLAGS)
|
||||
build/reminders: $(CALENDAR_SUMMARY) $(STYLE)
|
||||
|
@ -170,8 +175,8 @@ build/reminders: $(CALENDAR_SUMMARY) $(STYLE)
|
|||
|
||||
# Playlists
|
||||
build/%.xspf : VFLAGS_OUT=$(VFLAGS) --relaxng xsd/xspf-1_0.5.rng
|
||||
build/%.m3u : NOVALID_IGNORE:=true
|
||||
build/%.pls : NOVALID_IGNORE:=true
|
||||
build/%.m3u : NOVALID:=true
|
||||
build/%.pls : NOVALID:=true
|
||||
|
||||
# Pages:
|
||||
build/%.html: content/pages/%.xml $(STYLE) $(NAVIGATION) $(WWW_CCC_DE_UPDATES) $(CALENDAR_SUMMARY) $(DATESTAMP) news.xml
|
||||
|
@ -194,11 +199,11 @@ build/datenspuren/%.html: content/datenspuren/%.xml $(DS_STYLE) news.xml $(DS_SC
|
|||
build/datenspuren/schedule.html : content/static/datenspuren/fahrplan/index.de.html
|
||||
|
||||
build/datenspuren/news-rss.xml : STYLE=xsl/rss.xsl
|
||||
build/datenspuren/news-rss.xml : NOVALID_IGNORE:=true
|
||||
build/datenspuren/news-rss.xml : NOVALID:=true
|
||||
build/datenspuren/news-rss.xml : PFLAGS+=--stringparam prefix ds09-
|
||||
build/datenspuren/news-rss.xml : VFLAGS_OUT=$(VFLAGS) --schema xsd/rss20.xsd
|
||||
build/datenspuren/news-atom.xml : STYLE=xsl/atom.xsl
|
||||
build/datenspuren/news-atom.xml : NOVALID_IGNORE:=true
|
||||
build/datenspuren/news-atom.xml : NOVALID:=true
|
||||
build/datenspuren/news-atom.xml : PFLAGS+=--stringparam prefix ds09-
|
||||
build/datenspuren/news-atom.xml : VFLAGS_OUT=$(VFLAGS) --relaxng xsd/atom.rng
|
||||
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
The RELAX NG Schema for (X)HTML 5 is licensed under the MIT open source license.
|
||||
The following legal notice applies to all files in this directory:
|
||||
|
||||
Copyright (c) 2005-2007 Elika J. Etemad (fantasai) and Henri Sivonen (hsivonen)
|
||||
Copyright (c) 2007-2008 Mozilla Foundation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
|
@ -1,437 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common.attrs.interact" combine="interleave">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Web Application Features #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Additions to Common Attributes</a:documentation>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="common.attrs.contextmenu"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.contenteditable"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.draggable"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.hidden"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.spellcheck"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.other" combine="interleave">
|
||||
<ref name="common.attrs.interact"/>
|
||||
</define>
|
||||
<define name="common.attrs.contextmenu">
|
||||
<a:documentation>Context Menu: contextmenu</a:documentation>
|
||||
<attribute name="contextmenu">
|
||||
<ref name="common.data.idref"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.contenteditable">
|
||||
<a:documentation>Editable Content: contenteditable</a:documentation>
|
||||
<attribute name="contenteditable">
|
||||
<choice>
|
||||
<value type="string">true</value>
|
||||
<value type="string">false</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.draggable">
|
||||
<a:documentation>Draggable Element: draggable</a:documentation>
|
||||
<attribute name="draggable">
|
||||
<choice>
|
||||
<value type="string">true</value>
|
||||
<value type="string">false</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.hidden">
|
||||
<a:documentation>Hidden Element: hidden</a:documentation>
|
||||
<attribute name="hidden">
|
||||
<choice>
|
||||
<value type="string">hidden</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.spellcheck">
|
||||
<a:documentation>Spellchecking and grammar checking: spellcheck</a:documentation>
|
||||
<attribute name="spellcheck">
|
||||
<choice>
|
||||
<value type="string">true</value>
|
||||
<value type="string">false</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="html.attrs.manifest">
|
||||
<a:documentation>Application Cache: manifest</a:documentation>
|
||||
<attribute name="manifest">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="html.attrs" combine="interleave">
|
||||
<optional>
|
||||
<ref name="html.attrs.manifest"/>
|
||||
</optional>
|
||||
</define>
|
||||
<define name="progress.elem">
|
||||
<a:documentation>Progess Indicator: <progress></a:documentation>
|
||||
<element name="progress">
|
||||
<interleave>
|
||||
<ref name="progress.inner"/>
|
||||
<ref name="progress.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="progress.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="progress.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="progress.attrs.max"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="progress.attrs.value">
|
||||
<attribute name="value">
|
||||
<ref name="common.data.float.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="progress.attrs.max">
|
||||
<attribute name="max">
|
||||
<ref name="common.data.float.positive"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="progress.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<!-- Cannot enforce textContent format here -->
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="progress.elem"/>
|
||||
</define>
|
||||
<define name="command.command.elem">
|
||||
<a:documentation>Command with an associated action: <command type='command'></a:documentation>
|
||||
<element name="command">
|
||||
<interleave>
|
||||
<ref name="command.inner"/>
|
||||
<ref name="command.command.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="command.command.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="command.command.attrs.type"/>
|
||||
</optional>
|
||||
<ref name="common-command.attrs"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="command.command.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">command</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.elem">
|
||||
<ref name="command.command.elem"/>
|
||||
</define>
|
||||
<define name="command.radio.elem">
|
||||
<a:documentation>Selection of one item from a list of items: <command type='radio'></a:documentation>
|
||||
<element name="command">
|
||||
<interleave>
|
||||
<ref name="command.inner"/>
|
||||
<ref name="command.radio.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="command.radio.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<interleave>
|
||||
<ref name="command.radio.attrs.type"/>
|
||||
<ref name="command.radio.attrs.radiogroup"/>
|
||||
<optional>
|
||||
<!-- REVISIT taking liberties here -->
|
||||
<ref name="command.radio.attrs.checked"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<ref name="common-command.attrs"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="command.radio.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">radio</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.radio.attrs.radiogroup">
|
||||
<attribute name="radiogroup">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT need special format here? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.radio.attrs.checked">
|
||||
<attribute name="checked">
|
||||
<choice>
|
||||
<value type="string">checked</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.elem" combine="choice">
|
||||
<ref name="command.radio.elem"/>
|
||||
</define>
|
||||
<define name="command.checkbox.elem">
|
||||
<a:documentation>State or option that can be toggled: <command type='checkbox'></a:documentation>
|
||||
<element name="command">
|
||||
<interleave>
|
||||
<ref name="command.inner"/>
|
||||
<ref name="command.checkbox.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="command.checkbox.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<interleave>
|
||||
<ref name="command.checkbox.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="command.checkbox.attrs.checked"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<ref name="common-command.attrs"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="command.checkbox.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">checkbox</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.checkbox.attrs.checked">
|
||||
<attribute name="checked">
|
||||
<choice>
|
||||
<value type="string">checked</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.elem" combine="choice">
|
||||
<ref name="command.checkbox.elem"/>
|
||||
</define>
|
||||
<define name="common-command.attrs">
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="command.attrs.label"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="command.attrs.icon"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="command.attrs.disabled"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="command.attrs.label">
|
||||
<attribute name="label">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.attrs.icon">
|
||||
<attribute name="icon">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.attrs.disabled">
|
||||
<attribute name="disabled">
|
||||
<choice>
|
||||
<value type="string">disabled</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="command.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<interleave>
|
||||
<ref name="command.elem"/>
|
||||
<ref name="nonHTMLizable"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="command.elem"/>
|
||||
</define>
|
||||
<define name="menu.elem">
|
||||
<a:documentation>Menu: <menu></a:documentation>
|
||||
<element name="menu">
|
||||
<interleave>
|
||||
<ref name="menu.inner"/>
|
||||
<ref name="menu.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="menu.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="menu.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="menu.attrs.label"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="menu.attrs.type">
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value type="string">toolbar</value>
|
||||
<value type="string">context</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="menu.attrs.label">
|
||||
<attribute name="label">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="menu.inner">
|
||||
<choice>
|
||||
<zeroOrMore>
|
||||
<ref name="mli.elem"/>
|
||||
</zeroOrMore>
|
||||
<ref name="common.inner.flow"/>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="menu.elem"/>
|
||||
</define>
|
||||
<!-- REVISIT allow nested menus -->
|
||||
<define name="mli.elem">
|
||||
<a:documentation>Menu Item: <li></a:documentation>
|
||||
<element name="li">
|
||||
<interleave>
|
||||
<ref name="mli.inner"/>
|
||||
<ref name="mli.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="mli.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="mli.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="canvas.elem.flow">
|
||||
<a:documentation>Canvas for Dynamic Graphics: <canvas></a:documentation>
|
||||
<element name="canvas">
|
||||
<interleave>
|
||||
<ref name="canvas.inner.flow"/>
|
||||
<ref name="canvas.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="canvas.elem.phrasing">
|
||||
<element name="canvas">
|
||||
<interleave>
|
||||
<ref name="canvas.inner.phrasing"/>
|
||||
<ref name="canvas.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="canvas.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="canvas.attrs.height"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="canvas.attrs.width"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="canvas.attrs.height">
|
||||
<attribute name="height">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="canvas.attrs.width">
|
||||
<attribute name="width">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="canvas.inner.flow">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="canvas.inner.phrasing">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="canvas.elem.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="canvas.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="details.elem">
|
||||
<a:documentation>Additional On-Demand Information: <details></a:documentation>
|
||||
<element name="details">
|
||||
<interleave>
|
||||
<ref name="details.inner"/>
|
||||
<ref name="details.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="details.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="details.attrs.open"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="details.attrs.open">
|
||||
<attribute name="open">
|
||||
<choice>
|
||||
<value type="string">open</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="details.inner">
|
||||
<optional>
|
||||
<ref name="summary.elem"/>
|
||||
</optional>
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="details.elem"/>
|
||||
</define>
|
||||
<define name="summary.elem">
|
||||
<a:documentation>Caption/summary for details element: <summary></a:documentation>
|
||||
<element name="summary">
|
||||
<interleave>
|
||||
<ref name="summary.inner"/>
|
||||
<ref name="summary.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="summary.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="summary.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
</grammar>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,337 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="p.elem">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Basic Prose Markup #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Paragraph-Level</a:documentation>
|
||||
<a:documentation>Paragraph: <p></a:documentation>
|
||||
<element name="p">
|
||||
<interleave>
|
||||
<ref name="p.inner"/>
|
||||
<ref name="p.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="p.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="p.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<!-- REVISIT lists in span? -->
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="p.elem"/>
|
||||
</define>
|
||||
<define name="hr.elem">
|
||||
<a:documentation>Hint Transition: <hr></a:documentation>
|
||||
<element name="hr">
|
||||
<interleave>
|
||||
<ref name="hr.inner"/>
|
||||
<ref name="hr.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="hr.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="hr.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="hr.elem"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="pre.elem">
|
||||
<a:documentation>Preformatting Blocks</a:documentation>
|
||||
<a:documentation>Preformatted Text: <pre></a:documentation>
|
||||
<element name="pre">
|
||||
<interleave>
|
||||
<ref name="pre.inner"/>
|
||||
<ref name="pre.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="pre.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="pre.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="pre.elem"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="ul.elem">
|
||||
<a:documentation>Simple Lists</a:documentation>
|
||||
<a:documentation>Unordered List: <ul></a:documentation>
|
||||
<element name="ul">
|
||||
<interleave>
|
||||
<ref name="ul.inner"/>
|
||||
<ref name="ul.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="ul.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="ul.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="li.elem"/>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="ul.elem"/>
|
||||
</define>
|
||||
<define name="li.elem">
|
||||
<a:documentation>Unordered List Item: <li></a:documentation>
|
||||
<element name="li">
|
||||
<interleave>
|
||||
<ref name="li.inner"/>
|
||||
<ref name="li.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="li.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.listitem"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="li.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="ol.elem">
|
||||
<a:documentation>Ordered List: <ol></a:documentation>
|
||||
<element name="ol">
|
||||
<interleave>
|
||||
<ref name="ol.inner"/>
|
||||
<ref name="ol.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="ol.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="ol.attrs.start"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="ol.attrs.reversed"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="ol.attrs.start">
|
||||
<attribute name="start">
|
||||
<ref name="common.data.integer"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="ol.attrs.reversed">
|
||||
<attribute name="reversed">
|
||||
<choice>
|
||||
<value type="string">reversed</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="ol.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="oli.elem"/>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="ol.elem"/>
|
||||
</define>
|
||||
<define name="oli.elem">
|
||||
<a:documentation>Ordered List Item: <li></a:documentation>
|
||||
<element name="li">
|
||||
<interleave>
|
||||
<ref name="oli.inner"/>
|
||||
<ref name="oli.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="oli.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="oli.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.listitem"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="oli.attrs.value">
|
||||
<attribute name="value">
|
||||
<ref name="common.data.integer"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="oli.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="dl.elem">
|
||||
<a:documentation>Definition Lists</a:documentation>
|
||||
<a:documentation>Definition List: <dl></a:documentation>
|
||||
<element name="dl">
|
||||
<interleave>
|
||||
<ref name="dl.inner"/>
|
||||
<ref name="dl.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="dl.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="dl.inner">
|
||||
<zeroOrMore>
|
||||
<oneOrMore>
|
||||
<ref name="dt.elem"/>
|
||||
</oneOrMore>
|
||||
<oneOrMore>
|
||||
<ref name="dd.elem"/>
|
||||
</oneOrMore>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="dl.elem"/>
|
||||
</define>
|
||||
<define name="dt.elem">
|
||||
<a:documentation>Definition Term: <dt></a:documentation>
|
||||
<element name="dt">
|
||||
<interleave>
|
||||
<ref name="dt.inner"/>
|
||||
<ref name="dt.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="dt.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="dt.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="dd.elem">
|
||||
<a:documentation>Definition Description: <dd></a:documentation>
|
||||
<element name="dd">
|
||||
<interleave>
|
||||
<ref name="dd.inner"/>
|
||||
<ref name="dd.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="dd.elem.phrasing">
|
||||
<element name="dd">
|
||||
<interleave>
|
||||
<ref name="dd.inner.phrasing"/>
|
||||
<ref name="dd.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="dd.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="dd.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="dd.inner.phrasing">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="div.elem">
|
||||
<a:documentation>Miscellaneous Elements</a:documentation>
|
||||
<a:documentation>Generic Container: <div></a:documentation>
|
||||
<element name="div">
|
||||
<interleave>
|
||||
<ref name="div.inner"/>
|
||||
<ref name="div.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="div.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="div.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="style.elem.scoped"/>
|
||||
</zeroOrMore>
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="div.elem"/>
|
||||
</define>
|
||||
<define name="legend.elem">
|
||||
<a:documentation>Title or Explanatory Caption: <legend></a:documentation>
|
||||
<element name="legend">
|
||||
<interleave>
|
||||
<ref name="legend.inner"/>
|
||||
<ref name="legend.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="legend.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="legend.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,536 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="XMLonly">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Common Definitions #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation> Language Parameters - redefine in inclusion block as necessary #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>HTML vs. XHTML restrictions</a:documentation>
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="HTMLonly">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<!--
|
||||
(This only affects mixed-version modules; wholly HTML5
|
||||
modules should simply be left out of the inclusion list.)
|
||||
-->
|
||||
<define name="v5only">
|
||||
<a:documentation>HTML 4 Compatibility - set to notAllowed to disallow markup introduced in HTML 5</a:documentation>
|
||||
<empty/>
|
||||
</define>
|
||||
<!-- (xml:base on elements other than <html>) -->
|
||||
<define name="nonRoundtrippable">
|
||||
<a:documentation>HTML Compatibility Switches - set to notAllowed to disallow</a:documentation>
|
||||
<a:documentation>XML features that can't be roundtripped HTML <-> XHTML</a:documentation>
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="nonHTMLizable">
|
||||
<a:documentation>XML features that can't be serialized as HTML</a:documentation>
|
||||
<empty/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common.attr.anything">
|
||||
<a:documentation> Wildcards #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Any attribute from any namespace</a:documentation>
|
||||
<zeroOrMore>
|
||||
<attribute>
|
||||
<anyName/>
|
||||
</attribute>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="common.elem.anything">
|
||||
<a:documentation>Any element from any namespace</a:documentation>
|
||||
<element>
|
||||
<anyName/>
|
||||
<interleave>
|
||||
<ref name="common.inner.anything"/>
|
||||
<ref name="common.attr.anything"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="common.inner.anything">
|
||||
<a:documentation>Any content from any namespace</a:documentation>
|
||||
<interleave>
|
||||
<text/>
|
||||
<zeroOrMore>
|
||||
<ref name="common.elem.anything"/>
|
||||
</zeroOrMore>
|
||||
</interleave>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common.elem.metadata">
|
||||
<a:documentation> Common Element Classes #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Metadata Elements</a:documentation>
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing">
|
||||
<a:documentation>Phrase Elements</a:documentation>
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.elem.flow">
|
||||
<a:documentation>Prose Elements</a:documentation>
|
||||
<ref name="common.elem.phrasing"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common.inner.metadata">
|
||||
<a:documentation> Common Content Models #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Metadata Content</a:documentation>
|
||||
<zeroOrMore>
|
||||
<ref name="common.elem.metadata"/>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="common.inner.phrasing">
|
||||
<a:documentation>Phrase Content</a:documentation>
|
||||
<interleave>
|
||||
<text/>
|
||||
<zeroOrMore>
|
||||
<ref name="common.elem.phrasing"/>
|
||||
</zeroOrMore>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.inner.flow">
|
||||
<a:documentation>Prose Content</a:documentation>
|
||||
<interleave>
|
||||
<text/>
|
||||
<zeroOrMore>
|
||||
<ref name="common.elem.flow"/>
|
||||
</zeroOrMore>
|
||||
</interleave>
|
||||
</define>
|
||||
<!-- REVISIT <style scoped> -->
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<!-- When updating, check <bdo> definition too -->
|
||||
<define name="common.attrs">
|
||||
<a:documentation> Common Attributes #</a:documentation>
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.basic">
|
||||
<interleave>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.id"/>
|
||||
<ref name="common.attrs.xml-id"/>
|
||||
</choice>
|
||||
</optional>
|
||||
<optional>
|
||||
<!-- REVISIT assuming only either one is allowed -->
|
||||
<ref name="common.attrs.class"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.title"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.base"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.space"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.id">
|
||||
<attribute name="id">
|
||||
<ref name="common.data.id"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.xml-id">
|
||||
<interleave>
|
||||
<attribute name="xml:id">
|
||||
<data type="NCName"/>
|
||||
</attribute>
|
||||
<ref name="XMLonly"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.class">
|
||||
<attribute name="class">
|
||||
<ref name="common.data.tokens"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.title">
|
||||
<attribute name="title"/>
|
||||
</define>
|
||||
<define name="common.attrs.base">
|
||||
<interleave>
|
||||
<ref name="common.attrs.xmlbase"/>
|
||||
<ref name="nonRoundtrippable"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.xmlbase">
|
||||
<interleave>
|
||||
<attribute name="xml:base">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
<ref name="XMLonly"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.space">
|
||||
<ref name="common.attrs.xmlspace"/>
|
||||
</define>
|
||||
<define name="common.attrs.xmlspace">
|
||||
<interleave>
|
||||
<attribute name="xml:space">
|
||||
<value type="string" datatypeLibrary="">preserve</value>
|
||||
<!-- REVISIT this is not allowed per spec -->
|
||||
</attribute>
|
||||
<ref name="XMLonly"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.i18n">
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="common.attrs.dir"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.language"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.dir">
|
||||
<attribute name="dir">
|
||||
<choice>
|
||||
<value type="string">ltr</value>
|
||||
<value type="string">rtl</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<!--
|
||||
This lang definition is a hack for enviroments where
|
||||
the HTML5 parser maps lang to xml:lang.
|
||||
Sameness check left to Schematron
|
||||
-->
|
||||
<define name="common.attrs.language">
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="common.attrs.xmllang"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.lang"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.lang">
|
||||
<interleave>
|
||||
<attribute name="lang">
|
||||
<ref name="common.data.langcode"/>
|
||||
</attribute>
|
||||
<ref name="XMLonly"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.xmllang">
|
||||
<attribute name="xml:lang">
|
||||
<ref name="common.data.langcode"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<!--
|
||||
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
|
||||
-->
|
||||
<define name="common.attrs.present">
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="common.attrs.style"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.tabindex"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.accesskey"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.style">
|
||||
<attribute name="style">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.tabindex">
|
||||
<attribute name="tabindex">
|
||||
<ref name="common.data.integer"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<!-- REVISIT move style to a module and bundle tabindex with ARIA -->
|
||||
<define name="common.attrs.accesskey">
|
||||
<attribute name="accesskey">
|
||||
<ref name="common.data.keylabellist"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.other">
|
||||
<empty/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common.data.tokens">
|
||||
<a:documentation> Common Datatypes #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Names and Tokens</a:documentation>
|
||||
<list>
|
||||
<zeroOrMore>
|
||||
<data type="token" datatypeLibrary=""/>
|
||||
</zeroOrMore>
|
||||
</list>
|
||||
</define>
|
||||
<define name="common.data.browsing-context">
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="common.data.browsing-context-or-keyword">
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "()|([^_].*)|(_[bB][lL][aA][nN][kK])|(_[sS][eE][lL][fF])|(_[pP][aA][rR][eE][nN][tT])|(_[tT][oO][pP])"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.id">
|
||||
<a:documentation>IDs and IDREFs</a:documentation>
|
||||
<data type="ID"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "\S+"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.idref">
|
||||
<data type="IDREF"/>
|
||||
</define>
|
||||
<define name="common.data.idrefs">
|
||||
<data type="IDREFS"/>
|
||||
</define>
|
||||
<define name="common.data.name">
|
||||
<data type="ID"/>
|
||||
</define>
|
||||
<!-- FIXME -->
|
||||
<define name="common.data.hash-name">
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "#.+"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.integer">
|
||||
<a:documentation>Numerical</a:documentation>
|
||||
<data type="integer"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "-?[0-9]+"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.integer.positive">
|
||||
<data type="positiveInteger"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "0*[1-9][0-9]*"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.integer.non-negative">
|
||||
<data type="nonNegativeInteger"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "[0-9]+"
|
||||
}
|
||||
-->
|
||||
<!--
|
||||
common.data.percent =
|
||||
xsd:string {
|
||||
pattern = "(100)|([1-9]?[0-9](\.[0-9]+)?)%"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.float">
|
||||
<data type="float"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "-?[0-9]+(\.[0-9]+)?([eE]-?[0-9]+)?"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.float.positive">
|
||||
<data type="float"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "(0*[1-9][0-9]*(\.[0-9]+)?)|([0-9]+(\.0*[1-9][0-9]*)?)([eE]-?[0-9]+)?"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.float.non-negative">
|
||||
<data type="float"/>
|
||||
</define>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "[0-9]+(\.[0-9]+)?([eE]-?[0-9]+)?"
|
||||
}
|
||||
-->
|
||||
<define name="common.data.datetime">
|
||||
<a:documentation>Temporal</a:documentation>
|
||||
<data type="dateTime"/>
|
||||
</define>
|
||||
<define name="common.data.date-or-time">
|
||||
<data type="date"/>
|
||||
</define>
|
||||
<define name="common.data.uri">
|
||||
<a:documentation>IRIs</a:documentation>
|
||||
<choice>
|
||||
<value type="string"/>
|
||||
<data type="anyURI"/>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="common.data.uris">
|
||||
<list>
|
||||
<zeroOrMore>
|
||||
<data type="anyURI"/>
|
||||
</zeroOrMore>
|
||||
</list>
|
||||
</define>
|
||||
<define name="common.data.uri.absolute">
|
||||
<data type="anyURI"/>
|
||||
</define>
|
||||
<define name="common.data.sizes">
|
||||
<a:documentation><link type='icon'> sizes</a:documentation>
|
||||
<!-- list { w:sizes } -->
|
||||
<list>
|
||||
<oneOrMore>
|
||||
<data type="string">
|
||||
<param name="pattern">[1-9][0-9]*x[1-9][0-9]*</param>
|
||||
</data>
|
||||
</oneOrMore>
|
||||
</list>
|
||||
</define>
|
||||
<define name="common.data.mimetype">
|
||||
<a:documentation>MIME types</a:documentation>
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="common.data.charset">
|
||||
<a:documentation>Encodings</a:documentation>
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="common.data.meta-charset">
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="common.data.refresh">
|
||||
<a:documentation>Refresh</a:documentation>
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="common.data.default-style">
|
||||
<a:documentation>Default style</a:documentation>
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</define>
|
||||
<!-- w:default-style -->
|
||||
<define name="common.data.mediaquery">
|
||||
<a:documentation>Media Queries</a:documentation>
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="common.data.langcode">
|
||||
<a:documentation>Language Codes</a:documentation>
|
||||
<choice>
|
||||
<value type="string"/>
|
||||
<data type="language"/>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="common.data.keylabellist">
|
||||
<a:documentation>List of Key Labels</a:documentation>
|
||||
<data type="anyType"/>
|
||||
</define>
|
||||
<define name="common.data.microdata-identifier">
|
||||
<a:documentation>Microdata Identifier</a:documentation>
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="common.data.zero">
|
||||
<a:documentation>Zero</a:documentation>
|
||||
<data type="anyType"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common-form.attrs.form">
|
||||
<a:documentation> WF2 Module Hook #</a:documentation>
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common.attrs.aria">
|
||||
<a:documentation> ARIA Module Hooks #</a:documentation>
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.button">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.input">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.region">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.group">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.th">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.structure">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.link">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.listitem">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.img">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.implicit.select">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.application">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.banner">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.complementary">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.contentinfo">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.main">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.navigation">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.search">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<!-- per ARIA spec: article, document, and note are not actually landmarks -->
|
||||
<define name="common.attrs.aria.landmark.article">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.document">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="common.attrs.aria.landmark.note">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,687 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="script.elem.embedded">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Core Scripting #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Scripting Elements</a:documentation>
|
||||
<a:documentation>Inline Scripts: <script></a:documentation>
|
||||
<element name="script">
|
||||
<interleave>
|
||||
<ref name="script.inner.embedded"/>
|
||||
<ref name="script.attrs.embedded"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="script.attrs.embedded">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="script.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="script.attrs.language"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<!-- restricted in Schematron -->
|
||||
</define>
|
||||
<define name="script.elem.imported">
|
||||
<element name="script">
|
||||
<interleave>
|
||||
<ref name="script.inner.imported"/>
|
||||
<ref name="script.attrs.imported"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="script.attrs.imported">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="script.attrs.src"/>
|
||||
<optional>
|
||||
<ref name="script.attrs.defer"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="script.attrs.async"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="script.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="script.attrs.charset"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="script.attrs.language"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<!-- restricted in Schematron -->
|
||||
</define>
|
||||
<define name="script.attrs.src">
|
||||
<attribute name="src">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="script.attrs.defer">
|
||||
<attribute name="defer">
|
||||
<choice>
|
||||
<value type="string">defer</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="script.attrs.async">
|
||||
<interleave>
|
||||
<attribute name="async">
|
||||
<choice>
|
||||
<value type="string">async</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
<ref name="v5only"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="script.attrs.type">
|
||||
<attribute name="type">
|
||||
<ref name="common.data.mimetype"/>
|
||||
<!-- XXX without charset parameter! -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="script.attrs.charset">
|
||||
<attribute name="charset">
|
||||
<ref name="common.data.charset"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="script.attrs.language">
|
||||
<attribute name="language">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="script.inner.embedded">
|
||||
<ref name="common.inner.anything"/>
|
||||
</define>
|
||||
<define name="script.inner.imported">
|
||||
<ref name="common.inner.anything"/>
|
||||
</define>
|
||||
<define name="script.elem">
|
||||
<choice>
|
||||
<ref name="script.elem.embedded"/>
|
||||
<ref name="script.elem.imported"/>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="script.elem"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="script.elem"/>
|
||||
</define>
|
||||
<define name="noscript.elem.head">
|
||||
<a:documentation>Fallback Unscripted Content: <noscript></a:documentation>
|
||||
<interleave>
|
||||
<element name="noscript">
|
||||
<interleave>
|
||||
<ref name="noscript.inner.head"/>
|
||||
<ref name="noscript.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
<ref name="HTMLonly"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="noscript.inner.head">
|
||||
<zeroOrMore>
|
||||
<choice>
|
||||
<ref name="link.elem"/>
|
||||
<ref name="meta.http-equiv.default-style.elem"/>
|
||||
<ref name="meta.http-equiv.refresh.elem"/>
|
||||
<ref name="style.elem"/>
|
||||
</choice>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="noscript.elem.phrasing">
|
||||
<interleave>
|
||||
<element name="noscript">
|
||||
<interleave>
|
||||
<ref name="noscript.inner.phrasing"/>
|
||||
<ref name="noscript.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
<ref name="HTMLonly"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="noscript.inner.phrasing">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="noscript.elem.flow">
|
||||
<interleave>
|
||||
<element name="noscript">
|
||||
<interleave>
|
||||
<ref name="noscript.inner.flow"/>
|
||||
<ref name="noscript.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
<ref name="HTMLonly"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="noscript.inner.flow">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="noscript.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="noscript.elem.head"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="noscript.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="noscript.elem.flow"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common.attrs.scripting" combine="interleave">
|
||||
<a:documentation>Event Handler Attribute Definitions</a:documentation>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onabort"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onblur"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.oncanplay"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.oncanplaythrough"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onchange"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onclick"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.oncontextmenu"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondblclick"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondrag"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondragend"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondragenter"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondragleave"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondragover"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondragstart"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondrop"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ondurationchange"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onemptied"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onended"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onerror"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onfocus"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onformchange"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onforminput"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.oninput"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.oninvalid"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onkeydown"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onkeypress"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onkeyup"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onload"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onloadeddata"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onloadedmetadata"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onloadstart"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onmousedown"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onmousemove"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onmouseout"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onmouseover"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onmouseup"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onmousewheel"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onpause"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onplay"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onplaying"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onprogress"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onratechange"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onreadystatechange"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onscroll"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onseeked"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onseeking"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onselect"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onshow"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onstalled"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onsubmit"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onsuspend"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.ontimeupdate"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onvolumechange"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="scripting.attr.onwaiting"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.other" combine="interleave">
|
||||
<ref name="common.attrs.scripting"/>
|
||||
</define>
|
||||
<define name="scripting.attr.onabort">
|
||||
<attribute name="onabort">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onblur">
|
||||
<attribute name="onblur">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.oncanplay">
|
||||
<attribute name="oncanplay">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.oncanplaythrough">
|
||||
<attribute name="oncanplaythrough">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onchange">
|
||||
<attribute name="onchange">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onclick">
|
||||
<attribute name="onclick">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.oncontextmenu">
|
||||
<attribute name="oncontextmenu">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondblclick">
|
||||
<attribute name="ondblclick">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondrag">
|
||||
<attribute name="ondrag">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondragend">
|
||||
<attribute name="ondragend">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondragenter">
|
||||
<attribute name="ondragenter">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondragleave">
|
||||
<attribute name="ondragleave">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondragover">
|
||||
<attribute name="ondragover">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondragstart">
|
||||
<attribute name="ondragstart">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondrop">
|
||||
<attribute name="ondrop">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ondurationchange">
|
||||
<attribute name="ondurationchange">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onemptied">
|
||||
<attribute name="onemptied">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onended">
|
||||
<attribute name="onended">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onerror">
|
||||
<attribute name="onerror">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onfocus">
|
||||
<attribute name="onfocus">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onformchange">
|
||||
<attribute name="onformchange">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onforminput">
|
||||
<attribute name="onforminput">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.oninput">
|
||||
<attribute name="oninput">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.oninvalid">
|
||||
<attribute name="oninvalid">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onkeydown">
|
||||
<attribute name="onkeydown">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onkeypress">
|
||||
<attribute name="onkeypress">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onkeyup">
|
||||
<attribute name="onkeyup">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onload">
|
||||
<attribute name="onload">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onloadeddata">
|
||||
<attribute name="onloadeddata">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onloadedmetadata">
|
||||
<attribute name="onloadedmetadata">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onloadstart">
|
||||
<attribute name="onloadstart">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onmousedown">
|
||||
<attribute name="onmousedown">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onmousemove">
|
||||
<attribute name="onmousemove">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onmouseout">
|
||||
<attribute name="onmouseout">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onmouseover">
|
||||
<attribute name="onmouseover">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onmouseup">
|
||||
<attribute name="onmouseup">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onmousewheel">
|
||||
<attribute name="onmousewheel">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onpause">
|
||||
<attribute name="onpause">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onplay">
|
||||
<attribute name="onplay">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onplaying">
|
||||
<attribute name="onplaying">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onprogress">
|
||||
<attribute name="onprogress">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onratechange">
|
||||
<attribute name="onratechange">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onreadystatechange">
|
||||
<attribute name="onreadystatechange">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onscroll">
|
||||
<attribute name="onscroll">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onseeked">
|
||||
<attribute name="onseeked">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onseeking">
|
||||
<attribute name="onseeking">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onselect">
|
||||
<attribute name="onselect">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onshow">
|
||||
<attribute name="onshow">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onstalled">
|
||||
<attribute name="onstalled">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onsubmit">
|
||||
<attribute name="onsubmit">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onsuspend">
|
||||
<attribute name="onsuspend">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.ontimeupdate">
|
||||
<attribute name="ontimeupdate">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onvolumechange">
|
||||
<attribute name="onvolumechange">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.onwaiting">
|
||||
<attribute name="onwaiting">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
</grammar>
|
||||
<!--
|
||||
scripting.attr.common =
|
||||
( scripting.attr.mouse
|
||||
& scripting.attr.keyboard
|
||||
& scripting.attr.focus
|
||||
)
|
||||
|
||||
scripting.attr.mouse =
|
||||
( scripting.attr.mouse.click?
|
||||
& scripting.attr.mouse.dblclick?
|
||||
& scripting.attr.mouse.down?
|
||||
& scripting.attr.mouse.up?
|
||||
& scripting.attr.mouse.over?
|
||||
& scripting.attr.mouse.move?
|
||||
& scripting.attr.mouse.out?
|
||||
)
|
||||
scripting.attr.mouse.click =
|
||||
attribute onclick { string }
|
||||
scripting.attr.mouse.dblclick =
|
||||
attribute ondblclick { string }
|
||||
scripting.attr.mouse.down =
|
||||
attribute onmousedown { string }
|
||||
scripting.attr.mouse.up =
|
||||
attribute onmouseup { string }
|
||||
scripting.attr.mouse.over =
|
||||
attribute onmouseover { string }
|
||||
scripting.attr.mouse.move =
|
||||
attribute onmousemove { string }
|
||||
scripting.attr.mouse.out =
|
||||
attribute onmouseout { string }
|
||||
|
||||
scripting.attr.keyboard =
|
||||
( scripting.attr.keyboard.press?
|
||||
& scripting.attr.keyboard.down?
|
||||
& scripting.attr.keyboard.up?
|
||||
)
|
||||
scripting.attr.keyboard.press =
|
||||
attribute onkeypress { string }
|
||||
scripting.attr.keyboard.down =
|
||||
attribute onkeydown { string }
|
||||
scripting.attr.keyboard.up =
|
||||
attribute onkeyup { string }
|
||||
|
||||
|
||||
scripting.attr.focus =
|
||||
( scripting.attr.focus.gain?
|
||||
& scripting.attr.focus.lose?
|
||||
)
|
||||
scripting.attr.focus.gain =
|
||||
attribute onfocus { string }
|
||||
scripting.attr.focus.lose =
|
||||
attribute onblur { string }
|
||||
|
||||
scripting.attr.loading =
|
||||
( scripting.attr.loading.load?
|
||||
& scripting.attr.loading.unload?
|
||||
)
|
||||
scripting.attr.loading.load =
|
||||
attribute onload { string }
|
||||
scripting.attr.loading.unload =
|
||||
attribute onunload { string }
|
||||
-->
|
||||
<!--
|
||||
#####################################################################
|
||||
Event Handler Attribute Assignments
|
||||
-->
|
||||
<!-- body.attrs &= scripting.attr.loading -->
|
|
@ -1,114 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="time.elem">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Static Data Markup #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Time: <time></a:documentation>
|
||||
<element name="time">
|
||||
<interleave>
|
||||
<ref name="time.inner"/>
|
||||
<ref name="time.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="time.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="time.attrs.datetime"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="time.attrs.pubdate"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="time.attrs.datetime">
|
||||
<attribute name="datetime">
|
||||
<ref name="common.data.date-or-time"/>
|
||||
<!-- REVISIT check format -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="time.attrs.pubdate">
|
||||
<attribute name="pubdate">
|
||||
<choice>
|
||||
<value type="string">pubdate</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="time.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<!-- Cannot enforce textContent format here -->
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="time.elem"/>
|
||||
</define>
|
||||
<define name="meter.elem">
|
||||
<a:documentation>Scalar Gauge: <meter></a:documentation>
|
||||
<element name="meter">
|
||||
<interleave>
|
||||
<ref name="meter.inner"/>
|
||||
<ref name="meter.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="meter.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="meter.attrs.value"/>
|
||||
<optional>
|
||||
<ref name="meter.attrs.min"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="meter.attrs.low"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="meter.attrs.high"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="meter.attrs.max"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="meter.attrs.optimum"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meter.attrs.value">
|
||||
<attribute name="value">
|
||||
<ref name="common.data.float"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meter.attrs.min">
|
||||
<attribute name="min">
|
||||
<ref name="common.data.float"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meter.attrs.low">
|
||||
<attribute name="low">
|
||||
<ref name="common.data.float"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meter.attrs.high">
|
||||
<attribute name="high">
|
||||
<ref name="common.data.float"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meter.attrs.max">
|
||||
<attribute name="max">
|
||||
<ref name="common.data.float"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meter.attrs.optimum">
|
||||
<attribute name="optimum">
|
||||
<ref name="common.data.float"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meter.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<!-- Cannot enforce textContent format here -->
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="meter.elem"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,974 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="img.elem">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Embedded Content #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>
|
||||
Replaced Content</a:documentation>
|
||||
<a:documentation>Images: <img></a:documentation>
|
||||
<element name="img">
|
||||
<interleave>
|
||||
<ref name="img.inner"/>
|
||||
<ref name="img.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="img.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="img.attrs.src"/>
|
||||
<optional>
|
||||
<ref name="img.attrs.alt"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="img.attrs.height"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="img.attrs.width"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="img.attrs.usemap"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="img.attrs.ismap"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="img.attrs.border"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<!-- obsolete -->
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="img.attrs.src">
|
||||
<attribute name="src">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="img.attrs.alt">
|
||||
<attribute name="alt"/>
|
||||
</define>
|
||||
<define name="img.attrs.height">
|
||||
<attribute name="height">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="img.attrs.width">
|
||||
<attribute name="width">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="img.attrs.usemap">
|
||||
<attribute name="usemap">
|
||||
<ref name="common.data.hash-name"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="img.attrs.ismap">
|
||||
<attribute name="ismap">
|
||||
<choice>
|
||||
<value type="string">ismap</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="img.attrs.border">
|
||||
<attribute name="border">
|
||||
<ref name="common.data.zero"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="img.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="img.elem"/>
|
||||
</define>
|
||||
<define name="embed.elem">
|
||||
<a:documentation>Plug-ins: <embed></a:documentation>
|
||||
<element name="embed">
|
||||
<interleave>
|
||||
<ref name="embed.inner"/>
|
||||
<ref name="embed.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="embed.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="embed.attrs.src"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="embed.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="embed.attrs.height"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="embed.attrs.width"/>
|
||||
</optional>
|
||||
<zeroOrMore>
|
||||
<ref name="embed.attrs.other"/>
|
||||
</zeroOrMore>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="embed.attrs.src">
|
||||
<attribute name="src">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="embed.attrs.type">
|
||||
<attribute name="type">
|
||||
<ref name="common.data.mimetype"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="embed.attrs.height">
|
||||
<attribute name="height">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="embed.attrs.width">
|
||||
<attribute name="width">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="embed.attrs.other">
|
||||
<!-- REVISIT common.attrs -->
|
||||
<attribute>
|
||||
<nsName ns="">
|
||||
<except>
|
||||
<name>src</name>
|
||||
<name>type</name>
|
||||
<name>height</name>
|
||||
<name>width</name>
|
||||
<name>id</name>
|
||||
<name>class</name>
|
||||
<name>title</name>
|
||||
<name>dir</name>
|
||||
<name>lang</name>
|
||||
<name>style</name>
|
||||
<name>tabindex</name>
|
||||
<name>contextmenu</name>
|
||||
<name>contenteditable</name>
|
||||
<name>draggable</name>
|
||||
<name>hidden</name>
|
||||
<name>onabort</name>
|
||||
<name>onblur</name>
|
||||
<name>oncanplay</name>
|
||||
<name>oncanplaythrough</name>
|
||||
<name>onchange</name>
|
||||
<name>onclick</name>
|
||||
<name>oncontextmenu</name>
|
||||
<name>ondblclick</name>
|
||||
<name>ondrag</name>
|
||||
<name>ondragend</name>
|
||||
<name>ondragenter</name>
|
||||
<name>ondragleave</name>
|
||||
<name>ondragover</name>
|
||||
<name>ondragstart</name>
|
||||
<name>ondrop</name>
|
||||
<name>ondurationchange</name>
|
||||
<name>onemptied</name>
|
||||
<name>onended</name>
|
||||
<name>onerror</name>
|
||||
<name>onfocus</name>
|
||||
<name>onformchange</name>
|
||||
<name>onforminput</name>
|
||||
<name>oninput</name>
|
||||
<name>oninvalid</name>
|
||||
<name>onkeydown</name>
|
||||
<name>onkeypress</name>
|
||||
<name>onkeyup</name>
|
||||
<name>onload</name>
|
||||
<name>onloadeddata</name>
|
||||
<name>onloadedmetadata</name>
|
||||
<name>onloadstart</name>
|
||||
<name>onmousedown</name>
|
||||
<name>onmousemove</name>
|
||||
<name>onmouseout</name>
|
||||
<name>onmouseover</name>
|
||||
<name>onmouseup</name>
|
||||
<name>onmousewheel</name>
|
||||
<name>onpause</name>
|
||||
<name>onplay</name>
|
||||
<name>onplaying</name>
|
||||
<name>onprogress</name>
|
||||
<name>onratechange</name>
|
||||
<name>onreadystatechange</name>
|
||||
<name>onscroll</name>
|
||||
<name>onseeked</name>
|
||||
<name>onseeking</name>
|
||||
<name>onselect</name>
|
||||
<name>onshow</name>
|
||||
<name>onstalled</name>
|
||||
<name>onsubmit</name>
|
||||
<name>onsuspend</name>
|
||||
<name>ontimeupdate</name>
|
||||
<name>onvolumechange</name>
|
||||
<name>onwaiting</name>
|
||||
<name>onafterprint</name>
|
||||
<name>onbeforeprint</name>
|
||||
<name>onbeforeunload</name>
|
||||
<name>onhashchange</name>
|
||||
<name>onmessage</name>
|
||||
<name>onoffline</name>
|
||||
<name>ononline</name>
|
||||
<name>onpopstate</name>
|
||||
<name>onredo</name>
|
||||
<name>onresize</name>
|
||||
<name>onstorage</name>
|
||||
<name>onundo</name>
|
||||
<name>onunload</name>
|
||||
<name>role</name>
|
||||
<name>aria-atomic</name>
|
||||
<name>aria-busy</name>
|
||||
<name>aria-controls</name>
|
||||
<name>aria-describedby</name>
|
||||
<name>aria-disabled</name>
|
||||
<name>aria-dropeffect</name>
|
||||
<name>aria-flowto</name>
|
||||
<name>aria-grabbed</name>
|
||||
<name>aria-haspopup</name>
|
||||
<name>aria-hidden</name>
|
||||
<name>aria-invalid</name>
|
||||
<name>aria-label</name>
|
||||
<name>aria-labelledby</name>
|
||||
<name>aria-live</name>
|
||||
<name>aria-owns</name>
|
||||
<name>aria-relevant</name>
|
||||
<name>aria-required</name>
|
||||
<name>spellcheck</name>
|
||||
<name>accesskey</name>
|
||||
<name>itemref</name>
|
||||
<name>itemprop</name>
|
||||
<name>itemscope</name>
|
||||
<name>itemtype</name>
|
||||
<name>itemid</name>
|
||||
<name>name</name>
|
||||
<name>align</name>
|
||||
</except>
|
||||
</nsName>
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="embed.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="embed.elem"/>
|
||||
</define>
|
||||
<define name="object.elem.flow">
|
||||
<a:documentation>Generic Objects: <object></a:documentation>
|
||||
<element name="object">
|
||||
<interleave>
|
||||
<ref name="object.inner.flow"/>
|
||||
<ref name="object.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="object.elem.phrasing">
|
||||
<element name="object">
|
||||
<interleave>
|
||||
<ref name="object.inner.phrasing"/>
|
||||
<ref name="object.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="object.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<choice>
|
||||
<interleave>
|
||||
<ref name="object.attrs.data"/>
|
||||
<optional>
|
||||
<ref name="object.attrs.type"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<ref name="object.attrs.type"/>
|
||||
</choice>
|
||||
<optional>
|
||||
<!--
|
||||
& object.attrs.classid?
|
||||
& object.attrs.codebase?
|
||||
& object.attrs.codetype?
|
||||
-->
|
||||
<ref name="object.attrs.height"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="object.attrs.width"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="object.attrs.usemap"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="object.attrs.name"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common-form.attrs.form"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="object.attrs.data">
|
||||
<attribute name="data">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="object.attrs.type">
|
||||
<attribute name="type">
|
||||
<ref name="common.data.mimetype"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="object.attrs.height">
|
||||
<attribute name="height">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="object.attrs.width">
|
||||
<attribute name="width">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="object.attrs.usemap">
|
||||
<attribute name="usemap">
|
||||
<ref name="common.data.hash-name"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="object.attrs.name">
|
||||
<attribute name="name">
|
||||
<ref name="common.data.browsing-context"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="object.inner.flow">
|
||||
<zeroOrMore>
|
||||
<ref name="param.elem"/>
|
||||
</zeroOrMore>
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="object.inner.phrasing">
|
||||
<zeroOrMore>
|
||||
<ref name="param.elem"/>
|
||||
</zeroOrMore>
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="object.elem.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="object.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="param.elem">
|
||||
<a:documentation>Initialization Parameters: <param></a:documentation>
|
||||
<element name="param">
|
||||
<interleave>
|
||||
<ref name="param.inner"/>
|
||||
<ref name="param.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="param.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="param.attrs.name"/>
|
||||
<ref name="param.attrs.value"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="param.attrs.name">
|
||||
<attribute name="name">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="param.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="param.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="iframe.elem">
|
||||
<a:documentation>Inline Frame: <iframe></a:documentation>
|
||||
<element name="iframe">
|
||||
<interleave>
|
||||
<ref name="iframe.inner"/>
|
||||
<ref name="iframe.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="iframe.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="iframe.attrs.src"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="iframe.attrs.name"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="iframe.attrs.width"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="iframe.attrs.height"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="iframe.attrs.sandbox"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="iframe.attrs.seamless"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="iframe.attrs.src">
|
||||
<attribute name="src">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="iframe.attrs.name">
|
||||
<attribute name="name">
|
||||
<ref name="common.data.browsing-context"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="iframe.attrs.height">
|
||||
<attribute name="height">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="iframe.attrs.width">
|
||||
<attribute name="width">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="iframe.attrs.seamless">
|
||||
<interleave>
|
||||
<attribute name="seamless">
|
||||
<choice>
|
||||
<value type="string">seamless</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
<ref name="v5only"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="iframe.attrs.sandbox">
|
||||
<interleave>
|
||||
<attribute name="sandbox">
|
||||
<choice>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
</list>
|
||||
<list>
|
||||
<optional>
|
||||
<value type="string">allow-scripts</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-forms</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-same-origin</value>
|
||||
</optional>
|
||||
<optional>
|
||||
<value type="string">allow-top-navigation</value>
|
||||
</optional>
|
||||
</list>
|
||||
</choice>
|
||||
</attribute>
|
||||
<ref name="v5only"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="iframe.inner">
|
||||
<text/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="iframe.elem"/>
|
||||
</define>
|
||||
<define name="map.elem.flow">
|
||||
<a:documentation>
|
||||
Image Maps</a:documentation>
|
||||
<a:documentation>Map Definition: <map></a:documentation>
|
||||
<element name="map">
|
||||
<interleave>
|
||||
<ref name="map.inner.flow"/>
|
||||
<ref name="map.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="map.elem.phrasing">
|
||||
<element name="map">
|
||||
<interleave>
|
||||
<ref name="map.inner.phrasing"/>
|
||||
<ref name="map.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="map.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="map.attrs.name"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<!-- REVISIT make id required in Schematron -->
|
||||
<define name="map.attrs.name">
|
||||
<attribute name="name">
|
||||
<ref name="common.data.name"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="map.inner.flow">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="map.inner.phrasing">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="map.elem.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="map.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="area.elem">
|
||||
<a:documentation>Map Area Definition: <area></a:documentation>
|
||||
<element name="area">
|
||||
<interleave>
|
||||
<ref name="area.inner"/>
|
||||
<ref name="area.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="area.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<interleave>
|
||||
<ref name="area.attrs.alt"/>
|
||||
<ref name="shared-hyperlink.attrs.href"/>
|
||||
</interleave>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.target"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.ping"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.rel"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.media"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.hreflang"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="area.attrs.shape"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="area.attrs.alt">
|
||||
<attribute name="alt"/>
|
||||
</define>
|
||||
<define name="area.attrs.shape">
|
||||
<choice>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="area.attrs.shape.rect"/>
|
||||
</optional>
|
||||
<ref name="area.attrs.coords.rect"/>
|
||||
</interleave>
|
||||
<interleave>
|
||||
<ref name="area.attrs.shape.circle"/>
|
||||
<ref name="area.attrs.coords.circle"/>
|
||||
</interleave>
|
||||
<interleave>
|
||||
<ref name="area.attrs.shape.poly"/>
|
||||
<ref name="area.attrs.coords.poly"/>
|
||||
</interleave>
|
||||
<ref name="area.attrs.shape.default"/>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="area.attrs.shape.rect">
|
||||
<attribute name="shape">
|
||||
<value type="string">rect</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="area.attrs.coords.rect">
|
||||
<attribute name="coords">
|
||||
<data type="token"/>
|
||||
<!--
|
||||
xsd:token {
|
||||
pattern = "-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+"
|
||||
}
|
||||
-->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="area.attrs.shape.circle">
|
||||
<attribute name="shape">
|
||||
<value type="string">circle</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="area.attrs.coords.circle">
|
||||
<attribute name="coords">
|
||||
<data type="token"/>
|
||||
<!--
|
||||
xsd:token {
|
||||
pattern = "-?[0-9]+,-?[0-9]+,[0-9]+"
|
||||
}
|
||||
-->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="area.attrs.shape.poly">
|
||||
<attribute name="shape">
|
||||
<value type="string">poly</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="area.attrs.coords.poly">
|
||||
<attribute name="coords">
|
||||
<data type="token"/>
|
||||
<!--
|
||||
xsd:token {
|
||||
pattern = "-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+,-?[0-9]+(,-?[0-9]+,-?[0-9]+)*"
|
||||
}
|
||||
-->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="area.attrs.shape.default">
|
||||
<attribute name="shape">
|
||||
<value type="string">default</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="area.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="area.elem"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,53 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="form.data.mimetypelist">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Datatypes related to forms #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>MIME types</a:documentation>
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="form.data.charsetlist">
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<!--
|
||||
FIXME should be a "a space- and/or comma-delimited
|
||||
list of charset values"
|
||||
-->
|
||||
<define name="form.data.pattern">
|
||||
<a:documentation>ECMAScript Regular Expression</a:documentation>
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="form.data.datetime-local">
|
||||
<a:documentation>Temporal</a:documentation>
|
||||
<data type="dateTime"/>
|
||||
</define>
|
||||
<define name="form.data.date">
|
||||
<data type="date"/>
|
||||
</define>
|
||||
<define name="form.data.month">
|
||||
<data type="short"/>
|
||||
</define>
|
||||
<define name="form.data.week">
|
||||
<data type="short"/>
|
||||
</define>
|
||||
<define name="form.data.time">
|
||||
<data type="time"/>
|
||||
</define>
|
||||
<define name="form.data.emailaddress">
|
||||
<a:documentation>Email</a:documentation>
|
||||
<data type="string"/>
|
||||
</define>
|
||||
<define name="form.data.emailaddresslist">
|
||||
<data type="anyType"/>
|
||||
</define>
|
||||
<define name="form.data.color">
|
||||
<a:documentation>Color</a:documentation>
|
||||
<data type="token"/>
|
||||
</define>
|
||||
</grammar>
|
||||
<!--
|
||||
xsd:string {
|
||||
pattern = "#[a-fA-F0-9]{6}"
|
||||
}
|
||||
-->
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar ns="http://www.w3.org/1999/xhtml" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<include href="common.rng">
|
||||
<a:documentation> RELAX NG Schema for HTML 5 #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<!--
|
||||
To validate an HTML 5 document, you must first validate against #
|
||||
this schema and then ALSO validate against assertions.sch #
|
||||
-->
|
||||
<a:documentation>HTML flavor RELAX NG schemas can only be used after the #
|
||||
document has been transformed to well-formed XML. #
|
||||
- Insert closing slashes in all empty element tags #
|
||||
- Insert all optional start and end tags #
|
||||
- Add xmlns "http://www.w3.org/1999/xhtml" #
|
||||
- Properly escape <script> and <style> CDATA #
|
||||
- Parse and transform all HTML-only entities to numeric #
|
||||
character references #
|
||||
Obviously, syntax-checking involving these features cannot be #
|
||||
done by the RELAX NG schema and must be checked, along with the #
|
||||
<!DOCTYPE> requirement, by some other application. #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Schema Framework & Parameters</a:documentation>
|
||||
<!-- XHTML flavor # -->
|
||||
<define name="XMLonly">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<define name="HTMLonly">
|
||||
<empty/>
|
||||
</define>
|
||||
<!-- HTML 4 compat # -->
|
||||
<define name="v5only">
|
||||
<empty/>
|
||||
</define>
|
||||
<!-- HTML-serializability # -->
|
||||
<define name="nonHTMLizable">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<!-- HTML-roundtrippability # -->
|
||||
<define name="nonRoundtrippable">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
</include>
|
||||
<!-- ##################################################################### -->
|
||||
<start>
|
||||
<a:documentation>Language Definitions</a:documentation>
|
||||
<ref name="html.elem"/>
|
||||
</start>
|
||||
<include href="meta.rng"/>
|
||||
<include href="phrase.rng"/>
|
||||
<include href="block.rng"/>
|
||||
<include href="sectional.rng"/>
|
||||
<include href="structural.rng"/>
|
||||
<include href="revision.rng"/>
|
||||
<include href="embed.rng"/>
|
||||
<include href="ruby.rng"/>
|
||||
<include href="media.rng"/>
|
||||
<include href="core-scripting.rng"/>
|
||||
<include href="tables.rng"/>
|
||||
<include href="form-datatypes.rng"/>
|
||||
<include href="web-forms.rng"/>
|
||||
<include href="web-forms2.rng"/>
|
||||
<include href="applications.rng"/>
|
||||
<include href="data.rng"/>
|
||||
</grammar>
|
|
@ -1,73 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar ns="http://www.w3.org/1999/xhtml" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<start>
|
||||
<a:documentation> RELAX NG Schema for (X)HTML 5: Exclusions #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>This file is unmaintained. Please use assertions.sch instead.</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Schema Framework & Parameters</a:documentation>
|
||||
<ref name="normal.elem.all-inclusive"/>
|
||||
</start>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="normal.attr.anything">
|
||||
<a:documentation> Normal Element Patterns</a:documentation>
|
||||
<a:documentation>Any attribute from any namespace</a:documentation>
|
||||
<zeroOrMore>
|
||||
<attribute>
|
||||
<anyName/>
|
||||
</attribute>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="normal.elem.all">
|
||||
<a:documentation>Any element from any namespace except exceptional elements,
|
||||
but allowing those elements as descendants</a:documentation>
|
||||
<element>
|
||||
<anyName>
|
||||
<except>
|
||||
<name>dfn</name>
|
||||
</except>
|
||||
</anyName>
|
||||
<ref name="normal.elem.all-inclusive"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="normal.elem.all-inclusive">
|
||||
<a:documentation>Any element from any namespace including exceptional elements</a:documentation>
|
||||
<choice>
|
||||
<ref name="wildcard.elem.exclude-all"/>
|
||||
<ref name="dfn.elem.exclude-self"/>
|
||||
</choice>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<!--
|
||||
exclude all exceptional elements from the name classes;
|
||||
list them explicitly in content models instead
|
||||
-->
|
||||
<define name="normal.elem.exclude-dfn">
|
||||
<a:documentation> Exclusion Element Patterns</a:documentation>
|
||||
<element>
|
||||
<anyName>
|
||||
<except>
|
||||
<name>dfn</name>
|
||||
</except>
|
||||
</anyName>
|
||||
<ref name="normal.elem.exclude-dfn"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="dfn.elem.exclude-self">
|
||||
<element name="dfn">
|
||||
<interleave>
|
||||
<ref name="normal.attr.anything"/>
|
||||
<ref name="normal.elem.exclude-dfn"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<!-- FIXME this part was cut off - - hsivonen -->
|
||||
<define name="wildcard.elem.exclude-all">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
</grammar>
|
||||
<!-- FIXME no nested forms in HTML-serializable docs -->
|
||||
<!-- FIXME no nested labels -->
|
||||
<!-- FIXME no blockquote inside header or footer -->
|
||||
<!-- FIXME exactly one hn in header -->
|
|
@ -1,258 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<!-- src not included -->
|
||||
<define name="media.attrs">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Advanced Embedded Content #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Attributes Common to Media Elements</a:documentation>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="media.attrs.autoplay"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="media.attrs.preload"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="media.attrs.controls"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="media.attrs.loop"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="media.attrs.autoplay">
|
||||
<attribute name="autoplay">
|
||||
<choice>
|
||||
<value type="string">autoplay</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="media.attrs.preload">
|
||||
<attribute name="preload">
|
||||
<choice>
|
||||
<value type="string">none</value>
|
||||
<value type="string">metadata</value>
|
||||
<value type="string">auto</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="media.attrs.controls">
|
||||
<attribute name="controls">
|
||||
<choice>
|
||||
<value type="string">controls</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="media.attrs.loop">
|
||||
<attribute name="loop">
|
||||
<choice>
|
||||
<value type="string">loop</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="source.elem">
|
||||
<a:documentation>Source: <source></a:documentation>
|
||||
<element name="source">
|
||||
<interleave>
|
||||
<ref name="source.inner"/>
|
||||
<ref name="source.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="source.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="source.attrs.src"/>
|
||||
<optional>
|
||||
<ref name="source.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="source.attrs.media"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="source.attrs.src">
|
||||
<attribute name="src">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="source.attrs.type">
|
||||
<attribute name="type">
|
||||
<ref name="common.data.mimetype"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="source.attrs.media">
|
||||
<attribute name="media">
|
||||
<ref name="common.data.mediaquery"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="source.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="media.source">
|
||||
<a:documentation>Media Source</a:documentation>
|
||||
<choice>
|
||||
<ref name="media.attrs.src"/>
|
||||
<zeroOrMore>
|
||||
<ref name="source.elem"/>
|
||||
</zeroOrMore>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="media.attrs.src">
|
||||
<attribute name="src">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="video.elem.flow">
|
||||
<a:documentation>Video: <video></a:documentation>
|
||||
<element name="video">
|
||||
<interleave>
|
||||
<ref name="video.inner.flow"/>
|
||||
<ref name="video.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="video.elem.phrasing">
|
||||
<element name="video">
|
||||
<interleave>
|
||||
<ref name="video.inner.phrasing"/>
|
||||
<ref name="video.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="video.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="media.attrs"/>
|
||||
<optional>
|
||||
<ref name="video.attrs.poster"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="video.attrs.height"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="video.attrs.width"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="video.attrs.poster">
|
||||
<attribute name="poster">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="video.attrs.height">
|
||||
<attribute name="height">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="video.attrs.width">
|
||||
<attribute name="width">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="video.inner.flow">
|
||||
<ref name="media.source"/>
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="video.inner.phrasing">
|
||||
<ref name="media.source"/>
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="video.elem.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="video.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="audio.elem.flow">
|
||||
<a:documentation>Audio: <audio></a:documentation>
|
||||
<element name="audio">
|
||||
<interleave>
|
||||
<ref name="audio.inner.flow"/>
|
||||
<ref name="audio.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="audio.elem.phrasing">
|
||||
<element name="audio">
|
||||
<interleave>
|
||||
<ref name="audio.inner.phrasing"/>
|
||||
<ref name="audio.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="audio.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="media.attrs"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="audio.inner.flow">
|
||||
<ref name="media.source"/>
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="audio.inner.phrasing">
|
||||
<ref name="media.source"/>
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="audio.elem.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="audio.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="figure.elem">
|
||||
<a:documentation>Captioned Content: <figure></a:documentation>
|
||||
<element name="figure">
|
||||
<interleave>
|
||||
<ref name="figure.inner"/>
|
||||
<ref name="figure.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="figure.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.img"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="figure.inner">
|
||||
<choice>
|
||||
<group>
|
||||
<ref name="figcaption.elem"/>
|
||||
<ref name="common.inner.flow"/>
|
||||
</group>
|
||||
<group>
|
||||
<ref name="common.inner.flow"/>
|
||||
<optional>
|
||||
<ref name="figcaption.elem"/>
|
||||
</optional>
|
||||
</group>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="figure.elem"/>
|
||||
</define>
|
||||
<define name="figcaption.elem">
|
||||
<a:documentation>Figure caption: <figcaption></a:documentation>
|
||||
<element name="figcaption">
|
||||
<interleave>
|
||||
<ref name="figcaption.inner"/>
|
||||
<ref name="figcaption.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="figcaption.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="figcaption.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,568 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="html.elem">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Global Structure & Metadata #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Root Element: <html></a:documentation>
|
||||
<element name="html">
|
||||
<interleave>
|
||||
<ref name="html.inner"/>
|
||||
<ref name="html.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="html.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="html.inner">
|
||||
<ref name="head.elem"/>
|
||||
<ref name="body.elem"/>
|
||||
</define>
|
||||
<define name="head.elem">
|
||||
<a:documentation>Metadata Container: <head></a:documentation>
|
||||
<element name="head">
|
||||
<interleave>
|
||||
<ref name="head.inner"/>
|
||||
<ref name="head.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="head.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
<!-- & head.attrs.profile? -->
|
||||
</define>
|
||||
<!--
|
||||
head.attrs.profile =
|
||||
attribute profile {
|
||||
common.data.uris #REVISIT should these be absolute (zero or more)
|
||||
}
|
||||
-->
|
||||
<define name="head.inner">
|
||||
<interleave>
|
||||
<ref name="title.elem"/>
|
||||
<optional>
|
||||
<ref name="base.elem"/>
|
||||
</optional>
|
||||
<!-- REVISIT need a non-schema checker or Schematron -->
|
||||
<ref name="common.inner.metadata"/>
|
||||
</interleave>
|
||||
<!-- Limit encoding decl position in Schematron -->
|
||||
</define>
|
||||
<!--
|
||||
head.inner =
|
||||
( meta.elem.encoding?
|
||||
, ( title.elem
|
||||
& base.elem? # REVISIT need a non-schema checker or Schematron
|
||||
& common.inner.metadata
|
||||
)
|
||||
)
|
||||
-->
|
||||
<define name="body.elem">
|
||||
<a:documentation>Content Container: <body></a:documentation>
|
||||
<element name="body">
|
||||
<interleave>
|
||||
<ref name="body.inner"/>
|
||||
<ref name="body.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="body.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria.landmark.application"/>
|
||||
<ref name="common.attrs.aria.landmark.document"/>
|
||||
<ref name="common.attrs.aria.implicit.structure"/>
|
||||
</choice>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onafterprint"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onbeforeprint"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onbeforeunload"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onhashchange"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onmessage"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onoffline"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.ononline"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onpopstate"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onredo"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onresize"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onstorage"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onundo"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="body.attrs.onunload"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="body.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="body.attrs.onafterprint">
|
||||
<attribute name="onafterprint">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onbeforeprint">
|
||||
<attribute name="onbeforeprint">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onbeforeunload">
|
||||
<attribute name="onbeforeunload">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onhashchange">
|
||||
<attribute name="onhashchange">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onmessage">
|
||||
<attribute name="onmessage">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onoffline">
|
||||
<attribute name="onoffline">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.ononline">
|
||||
<attribute name="ononline">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onpopstate">
|
||||
<attribute name="onpopstate">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onredo">
|
||||
<attribute name="onredo">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onresize">
|
||||
<attribute name="onresize">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onstorage">
|
||||
<attribute name="onstorage">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onundo">
|
||||
<attribute name="onundo">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="body.attrs.onunload">
|
||||
<attribute name="onunload">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="title.elem">
|
||||
<a:documentation>Document Title: <title></a:documentation>
|
||||
<element name="title">
|
||||
<interleave>
|
||||
<ref name="title.inner"/>
|
||||
<ref name="title.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="title.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="title.inner">
|
||||
<text/>
|
||||
</define>
|
||||
<define name="base.elem">
|
||||
<a:documentation>Base URI: <base></a:documentation>
|
||||
<element name="base">
|
||||
<interleave>
|
||||
<ref name="base.inner"/>
|
||||
<ref name="base.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="base.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<choice>
|
||||
<interleave>
|
||||
<ref name="base.attrs.href"/>
|
||||
<optional>
|
||||
<ref name="base.attrs.target"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<ref name="base.attrs.target"/>
|
||||
</choice>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="base.attrs.href">
|
||||
<attribute name="href">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="base.attrs.target">
|
||||
<attribute name="target">
|
||||
<ref name="common.data.browsing-context-or-keyword"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="base.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="link.elem">
|
||||
<a:documentation>Global Relationships: <link></a:documentation>
|
||||
<element name="link">
|
||||
<interleave>
|
||||
<ref name="link.inner"/>
|
||||
<ref name="link.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="link.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="shared-hyperlink.attrs.href"/>
|
||||
<ref name="shared-hyperlink.attrs.rel"/>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.hreflang"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.media"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="link.attrs.sizes"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<!-- link.attrs.title included in common.attrs -->
|
||||
</define>
|
||||
<define name="link.attrs.sizes">
|
||||
<attribute name="sizes">
|
||||
<choice>
|
||||
<value type="string">any</value>
|
||||
<ref name="common.data.sizes"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="link.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="link.elem"/>
|
||||
</define>
|
||||
<define name="style.elem">
|
||||
<a:documentation>Global Style: <style></a:documentation>
|
||||
<element name="style">
|
||||
<interleave>
|
||||
<ref name="style.inner"/>
|
||||
<ref name="style.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="style.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="style.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="style.attrs.media"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<!-- style.attrs.title included in common.attrs -->
|
||||
</define>
|
||||
<define name="style.attrs.type">
|
||||
<attribute name="type">
|
||||
<ref name="common.data.mimetype"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="style.attrs.media">
|
||||
<attribute name="media">
|
||||
<ref name="common.data.mediaquery"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="style.inner">
|
||||
<ref name="common.inner.anything"/>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="style.elem"/>
|
||||
</define>
|
||||
<define name="style.elem.scoped">
|
||||
<a:documentation>Scoped Style: <style scoped></a:documentation>
|
||||
<element name="style">
|
||||
<interleave>
|
||||
<ref name="style.inner"/>
|
||||
<ref name="style.scoped.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="style.scoped.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="style.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="style.attrs.media"/>
|
||||
</optional>
|
||||
<ref name="style.attrs.scoped"/>
|
||||
</interleave>
|
||||
<!-- style.attrs.title included in common.attrs -->
|
||||
</define>
|
||||
<define name="style.attrs.scoped">
|
||||
<attribute name="scoped">
|
||||
<choice>
|
||||
<value type="string">scoped</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meta.name.elem">
|
||||
<a:documentation>Name-Value Metadata: <meta name></a:documentation>
|
||||
<element name="meta">
|
||||
<interleave>
|
||||
<ref name="meta.inner"/>
|
||||
<ref name="meta.name.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="meta.name.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
<ref name="meta.name.attrs.name"/>
|
||||
<ref name="meta.name.attrs.content"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meta.name.attrs.name">
|
||||
<attribute name="name">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meta.name.attrs.content">
|
||||
<attribute name="content">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meta.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="meta.name.elem"/>
|
||||
</define>
|
||||
<define name="meta.http-equiv.refresh.elem">
|
||||
<a:documentation>"refresh" pragma directive: <meta http-equiv='refresh'></a:documentation>
|
||||
<element name="meta">
|
||||
<interleave>
|
||||
<ref name="meta.inner"/>
|
||||
<ref name="meta.http-equiv.refresh.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="meta.http-equiv.refresh.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
<ref name="meta.http-equiv.attrs.http-equiv.refresh"/>
|
||||
<ref name="meta.http-equiv.attrs.content.refresh"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meta.http-equiv.attrs.http-equiv.refresh">
|
||||
<attribute name="http-equiv">
|
||||
<value type="string">refresh</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meta.http-equiv.attrs.content.refresh">
|
||||
<attribute name="content">
|
||||
<ref name="common.data.refresh"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="meta.http-equiv.refresh.elem"/>
|
||||
</define>
|
||||
<!--
|
||||
not quite right per spec
|
||||
if the definition is
|
||||
reused in another language
|
||||
-->
|
||||
<define name="meta.http-equiv.default-style.elem">
|
||||
<a:documentation>"default-style" pragma directive: <meta http-equiv='default-style'></a:documentation>
|
||||
<element name="meta">
|
||||
<interleave>
|
||||
<ref name="meta.inner"/>
|
||||
<ref name="meta.http-equiv.default-style.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="meta.http-equiv.default-style.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
<ref name="meta.http-equiv.attrs.http-equiv.default-style"/>
|
||||
<ref name="meta.http-equiv.attrs.content.default-style"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meta.http-equiv.attrs.http-equiv.default-style">
|
||||
<attribute name="http-equiv">
|
||||
<value type="string">default-style</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meta.http-equiv.attrs.content.default-style">
|
||||
<attribute name="content">
|
||||
<ref name="common.data.default-style"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="meta.http-equiv.default-style.elem"/>
|
||||
</define>
|
||||
<!--
|
||||
not quite right per spec
|
||||
if the definition is
|
||||
reused in another language
|
||||
-->
|
||||
<define name="meta.http-equiv.content-language.elem">
|
||||
<a:documentation>"content-language" pragma directive: <meta http-equiv='content-language'> (obsolete)</a:documentation>
|
||||
<element name="meta">
|
||||
<interleave>
|
||||
<ref name="meta.inner"/>
|
||||
<ref name="meta.http-equiv.content-language.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="meta.http-equiv.content-language.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
<ref name="meta.http-equiv.attrs.http-equiv.content-language"/>
|
||||
<ref name="meta.http-equiv.attrs.content.content-language"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meta.http-equiv.attrs.http-equiv.content-language">
|
||||
<attribute name="http-equiv">
|
||||
<value type="string">content-language</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meta.http-equiv.attrs.content.content-language">
|
||||
<attribute name="content">
|
||||
<ref name="common.data.langcode"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="meta.http-equiv.content-language.elem"/>
|
||||
</define>
|
||||
<!--
|
||||
not quite right per spec
|
||||
if the definition is
|
||||
reused in another language
|
||||
-->
|
||||
<define name="meta.charset.elem">
|
||||
<a:documentation>Inline Character Encoding Statement for HTML: <meta charset></a:documentation>
|
||||
<element name="meta">
|
||||
<interleave>
|
||||
<ref name="meta.inner"/>
|
||||
<ref name="meta.charset.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="meta.charset.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
<ref name="meta.charset.attrs.charset"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meta.charset.attrs.charset">
|
||||
<attribute name="charset">
|
||||
<choice>
|
||||
<interleave>
|
||||
<ref name="common.data.charset"/>
|
||||
<ref name="HTMLonly"/>
|
||||
</interleave>
|
||||
<interleave>
|
||||
<data type="string" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
||||
<param name="pattern">[uU][tT][fF]-8</param>
|
||||
</data>
|
||||
<ref name="XMLonly"/>
|
||||
</interleave>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meta.http-equiv.content-type.elem">
|
||||
<a:documentation>Inline Character Encoding Statement for HTML: <meta http-equiv='content-type'></a:documentation>
|
||||
<interleave>
|
||||
<element name="meta">
|
||||
<interleave>
|
||||
<ref name="meta.inner"/>
|
||||
<ref name="meta.http-equiv.content-type.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
<ref name="HTMLonly"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meta.http-equiv.content-type.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
<ref name="meta.http-equiv.attrs.http-equiv.content-type"/>
|
||||
<ref name="meta.http-equiv.attrs.content.content-type"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meta.http-equiv.attrs.http-equiv.content-type">
|
||||
<attribute name="http-equiv">
|
||||
<value type="string">content-type</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="meta.http-equiv.attrs.content.content-type">
|
||||
<attribute name="content">
|
||||
<ref name="common.data.meta-charset"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<choice>
|
||||
<ref name="meta.charset.elem"/>
|
||||
<ref name="meta.http-equiv.content-type.elem"/>
|
||||
</choice>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,145 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common.attrs.microdata">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Microdata #</a:documentation>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemref"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemprop"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemscope"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemtype"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemid"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.attrs.microdata.itemref">
|
||||
<attribute name="itemref">
|
||||
<ref name="common.data.idrefs"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.microdata.itemprop">
|
||||
<attribute name="itemprop">
|
||||
<ref name="common.data.microdata-identifier"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.microdata.itemscope">
|
||||
<attribute name="itemscope">
|
||||
<choice>
|
||||
<value type="string">itemscope</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.microdata.itemtype">
|
||||
<attribute name="itemtype">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs.microdata.itemid">
|
||||
<attribute name="itemid">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.attrs" combine="interleave">
|
||||
<ref name="common.attrs.microdata"/>
|
||||
</define>
|
||||
<define name="link.elem.phrasing">
|
||||
<element name="link">
|
||||
<interleave>
|
||||
<ref name="link.inner"/>
|
||||
<ref name="link.phrasing.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="link.phrasing.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
<ref name="common.attrs.microdata.itemprop"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemref"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemscope"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemtype"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemid"/>
|
||||
</optional>
|
||||
<ref name="shared-hyperlink.attrs.href"/>
|
||||
<ref name="shared-hyperlink.attrs.rel"/>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.hreflang"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.media"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="link.attrs.sizes"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<!-- link.attrs.title included in common.attrs -->
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="link.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="meta.itemprop.elem">
|
||||
<a:documentation>Property Metadata: <meta itemprop></a:documentation>
|
||||
<element name="meta">
|
||||
<interleave>
|
||||
<ref name="meta.inner"/>
|
||||
<ref name="meta.itemprop.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="meta.itemprop.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs.basic"/>
|
||||
<ref name="common.attrs.i18n"/>
|
||||
<ref name="common.attrs.present"/>
|
||||
<ref name="common.attrs.other"/>
|
||||
<ref name="common.attrs.microdata.itemprop"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemref"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemscope"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemtype"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.microdata.itemid"/>
|
||||
</optional>
|
||||
<ref name="meta.itemprop.attrs.content"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="meta.itemprop.attrs.content">
|
||||
<attribute name="content">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common.elem.metadata" combine="choice">
|
||||
<ref name="meta.itemprop.elem"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="meta.itemprop.elem"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,560 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="a.elem.phrasing">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Phrase Markup #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Contextual Hyperlink: <a></a:documentation>
|
||||
<element name="a">
|
||||
<interleave>
|
||||
<ref name="a.inner.phrasing"/>
|
||||
<ref name="a.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="a.elem.flow">
|
||||
<element name="a">
|
||||
<interleave>
|
||||
<ref name="a.inner.flow"/>
|
||||
<ref name="a.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="a.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="a.attrs.name"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.href"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.target"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.rel"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.hreflang"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.media"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-hyperlink.attrs.ping"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.link"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="a.attrs.name">
|
||||
<attribute name="name">
|
||||
<ref name="common.data.id"/>
|
||||
<!-- XXX not what the spec says -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="a.inner.phrasing">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="a.inner.flow">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="a.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="a.elem.flow"/>
|
||||
</define>
|
||||
<define name="shared-hyperlink.attrs.href">
|
||||
<a:documentation>Shared hyperlink attributes</a:documentation>
|
||||
<attribute name="href">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-hyperlink.attrs.target">
|
||||
<attribute name="target">
|
||||
<ref name="common.data.browsing-context-or-keyword"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-hyperlink.attrs.rel">
|
||||
<attribute name="rel">
|
||||
<ref name="common.data.tokens"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-hyperlink.attrs.hreflang">
|
||||
<attribute name="hreflang">
|
||||
<ref name="common.data.langcode"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-hyperlink.attrs.media">
|
||||
<attribute name="media">
|
||||
<ref name="common.data.mediaquery"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-hyperlink.attrs.type">
|
||||
<attribute name="type">
|
||||
<ref name="common.data.mimetype"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-hyperlink.attrs.ping">
|
||||
<interleave>
|
||||
<attribute name="ping">
|
||||
<ref name="common.data.uris"/>
|
||||
</attribute>
|
||||
<ref name="v5only"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="em.elem">
|
||||
<a:documentation>Emphatic Stress: <em></a:documentation>
|
||||
<element name="em">
|
||||
<interleave>
|
||||
<ref name="em.inner"/>
|
||||
<ref name="em.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="em.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="em.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="em.elem"/>
|
||||
</define>
|
||||
<define name="strong.elem">
|
||||
<a:documentation>Strong Importance: <strong></a:documentation>
|
||||
<element name="strong">
|
||||
<interleave>
|
||||
<ref name="strong.inner"/>
|
||||
<ref name="strong.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="strong.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="strong.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="strong.elem"/>
|
||||
</define>
|
||||
<define name="small.elem">
|
||||
<a:documentation>Small Print and Side Comments: <small></a:documentation>
|
||||
<element name="small">
|
||||
<interleave>
|
||||
<ref name="small.inner"/>
|
||||
<ref name="small.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="small.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="small.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="small.elem"/>
|
||||
</define>
|
||||
<define name="mark.elem">
|
||||
<a:documentation>Marked (Highlighted) Text: <mark></a:documentation>
|
||||
<interleave>
|
||||
<element name="mark">
|
||||
<interleave>
|
||||
<ref name="mark.inner"/>
|
||||
<ref name="mark.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
<ref name="v5only"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="mark.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="mark.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="mark.elem"/>
|
||||
</define>
|
||||
<define name="abbr.elem">
|
||||
<a:documentation>Abbreviation: <abbr></a:documentation>
|
||||
<element name="abbr">
|
||||
<interleave>
|
||||
<ref name="abbr.inner"/>
|
||||
<ref name="abbr.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="abbr.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<!-- abbr.attrs.title included in common.attrs -->
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="abbr.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="abbr.elem"/>
|
||||
</define>
|
||||
<define name="dfn.elem">
|
||||
<a:documentation>Defining Instance: <dfn></a:documentation>
|
||||
<element name="dfn">
|
||||
<interleave>
|
||||
<ref name="dfn.inner"/>
|
||||
<ref name="dfn.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="dfn.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<!-- dfn.attrs.title included in common.attrs -->
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="dfn.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="dfn.elem"/>
|
||||
</define>
|
||||
<define name="i.elem">
|
||||
<a:documentation>Italic: <i></a:documentation>
|
||||
<element name="i">
|
||||
<interleave>
|
||||
<ref name="i.inner"/>
|
||||
<ref name="i.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="i.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="i.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="i.elem"/>
|
||||
</define>
|
||||
<define name="b.elem">
|
||||
<a:documentation>Bold: <b></a:documentation>
|
||||
<element name="b">
|
||||
<interleave>
|
||||
<ref name="b.inner"/>
|
||||
<ref name="b.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="b.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="b.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="b.elem"/>
|
||||
</define>
|
||||
<define name="code.elem">
|
||||
<a:documentation>Code Fragment: <code></a:documentation>
|
||||
<element name="code">
|
||||
<interleave>
|
||||
<ref name="code.inner"/>
|
||||
<ref name="code.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="code.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="code.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="code.elem"/>
|
||||
</define>
|
||||
<define name="var.elem">
|
||||
<a:documentation>Variable or Placeholder: <var></a:documentation>
|
||||
<element name="var">
|
||||
<interleave>
|
||||
<ref name="var.inner"/>
|
||||
<ref name="var.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="var.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="var.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="var.elem"/>
|
||||
</define>
|
||||
<define name="samp.elem">
|
||||
<a:documentation>(Sample) Output: <samp></a:documentation>
|
||||
<element name="samp">
|
||||
<interleave>
|
||||
<ref name="samp.inner"/>
|
||||
<ref name="samp.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="samp.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="samp.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="samp.elem"/>
|
||||
</define>
|
||||
<define name="kbd.elem">
|
||||
<a:documentation>User Input: <kbd></a:documentation>
|
||||
<element name="kbd">
|
||||
<interleave>
|
||||
<ref name="kbd.inner"/>
|
||||
<ref name="kbd.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="kbd.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="kbd.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="kbd.elem"/>
|
||||
</define>
|
||||
<define name="sup.elem">
|
||||
<a:documentation>Superscript: <sup></a:documentation>
|
||||
<element name="sup">
|
||||
<interleave>
|
||||
<ref name="sup.inner"/>
|
||||
<ref name="sup.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="sup.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="sup.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="sup.elem"/>
|
||||
</define>
|
||||
<define name="sub.elem">
|
||||
<a:documentation>Subscript: <sub></a:documentation>
|
||||
<element name="sub">
|
||||
<interleave>
|
||||
<ref name="sub.inner"/>
|
||||
<ref name="sub.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="sub.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="sub.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="sub.elem"/>
|
||||
</define>
|
||||
<define name="q.elem">
|
||||
<a:documentation>Quotation: <q></a:documentation>
|
||||
<element name="q">
|
||||
<interleave>
|
||||
<ref name="q.inner"/>
|
||||
<ref name="q.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="q.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="q.attrs.cite"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="q.attrs.cite">
|
||||
<attribute name="cite">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="q.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="q.elem"/>
|
||||
</define>
|
||||
<define name="cite.elem">
|
||||
<a:documentation>Title of Work: <cite></a:documentation>
|
||||
<element name="cite">
|
||||
<interleave>
|
||||
<ref name="cite.inner"/>
|
||||
<ref name="cite.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="cite.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="cite.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="cite.elem"/>
|
||||
</define>
|
||||
<define name="span.elem">
|
||||
<a:documentation>Generic Span: <span></a:documentation>
|
||||
<element name="span">
|
||||
<interleave>
|
||||
<ref name="span.inner"/>
|
||||
<ref name="span.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="span.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="span.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<!-- REVISIT allow ol and ul? -->
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="span.elem"/>
|
||||
</define>
|
||||
<define name="bdo.elem">
|
||||
<a:documentation>Bidirectional Override: <bdo></a:documentation>
|
||||
<element name="bdo">
|
||||
<interleave>
|
||||
<ref name="bdo.inner"/>
|
||||
<ref name="bdo.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="bdo.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<!-- dir required in Schematron -->
|
||||
<define name="bdo.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="bdo.elem"/>
|
||||
</define>
|
||||
<define name="br.elem">
|
||||
<a:documentation>Line Break: <br></a:documentation>
|
||||
<element name="br">
|
||||
<interleave>
|
||||
<ref name="br.inner"/>
|
||||
<ref name="br.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="br.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="br.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="br.elem"/>
|
||||
</define>
|
||||
<define name="wbr.elem">
|
||||
<a:documentation>Line-break opportunity: <wbr></a:documentation>
|
||||
<element name="wbr">
|
||||
<interleave>
|
||||
<ref name="wbr.inner"/>
|
||||
<ref name="wbr.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="wbr.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="wbr.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="wbr.elem"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,97 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="edit.attrs.cite">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Revision Annotations #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Common Attributes</a:documentation>
|
||||
<attribute name="cite">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="edit.attrs.datetime">
|
||||
<attribute name="datetime">
|
||||
<ref name="common.data.datetime"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="ins.elem.flow">
|
||||
<a:documentation>Inserts: <ins></a:documentation>
|
||||
<element name="ins">
|
||||
<interleave>
|
||||
<ref name="ins.inner.flow"/>
|
||||
<ref name="ins.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="ins.elem.phrasing">
|
||||
<element name="ins">
|
||||
<interleave>
|
||||
<ref name="ins.inner.phrasing"/>
|
||||
<ref name="ins.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="ins.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="edit.attrs.cite"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="edit.attrs.datetime"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="ins.inner.flow">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="ins.inner.phrasing">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="ins.elem.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="ins.elem.phrasing"/>
|
||||
</define>
|
||||
<define name="del.elem.flow">
|
||||
<a:documentation>Deletions: <del></a:documentation>
|
||||
<element name="del">
|
||||
<interleave>
|
||||
<ref name="del.inner.flow"/>
|
||||
<ref name="del.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="del.elem.phrasing">
|
||||
<element name="del">
|
||||
<interleave>
|
||||
<ref name="del.inner.phrasing"/>
|
||||
<ref name="del.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="del.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="edit.attrs.cite"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="edit.attrs.datetime"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="del.inner.flow">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="del.inner.phrasing">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="del.elem.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="del.elem.phrasing"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,80 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="ruby.elem">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Ruby #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation/>
|
||||
<a:documentation>Ruby Annotation: <ruby></a:documentation>
|
||||
<element name="ruby">
|
||||
<interleave>
|
||||
<ref name="ruby.inner"/>
|
||||
<ref name="ruby.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="ruby.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="ruby.inner">
|
||||
<oneOrMore>
|
||||
<ref name="common.inner.phrasing"/>
|
||||
<choice>
|
||||
<ref name="rt.elem"/>
|
||||
<group>
|
||||
<ref name="rp.elem"/>
|
||||
<ref name="rt.elem"/>
|
||||
<ref name="rp.elem"/>
|
||||
</group>
|
||||
</choice>
|
||||
</oneOrMore>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="ruby.elem"/>
|
||||
</define>
|
||||
<define name="rt.elem">
|
||||
<a:documentation>Ruby Text: <rt></a:documentation>
|
||||
<element name="rt">
|
||||
<interleave>
|
||||
<ref name="rt.inner"/>
|
||||
<ref name="rt.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="rt.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="rt.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="rp.elem">
|
||||
<a:documentation>Ruby Parenthesis: <rp></a:documentation>
|
||||
<element name="rp">
|
||||
<interleave>
|
||||
<ref name="rp.inner"/>
|
||||
<ref name="rp.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="rp.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="rp.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,236 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="h1.elem">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Sectioning Markup #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Headings</a:documentation>
|
||||
<a:documentation>Heading (Rank 1): <h1></a:documentation>
|
||||
<element name="h1">
|
||||
<interleave>
|
||||
<ref name="h1.inner"/>
|
||||
<ref name="h1.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="h1.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.structure"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="h1.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="h1.elem"/>
|
||||
</define>
|
||||
<define name="h2.elem">
|
||||
<a:documentation>Heading (Rank 2): <h2></a:documentation>
|
||||
<element name="h2">
|
||||
<interleave>
|
||||
<ref name="h2.inner"/>
|
||||
<ref name="h2.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="h2.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.structure"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="h2.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="h2.elem"/>
|
||||
</define>
|
||||
<define name="h3.elem">
|
||||
<a:documentation>Heading (Rank 3): <h3></a:documentation>
|
||||
<element name="h3">
|
||||
<interleave>
|
||||
<ref name="h3.inner"/>
|
||||
<ref name="h3.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="h3.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.structure"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="h3.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="h3.elem"/>
|
||||
</define>
|
||||
<define name="h4.elem">
|
||||
<a:documentation>Heading (Rank 4): <h4></a:documentation>
|
||||
<element name="h4">
|
||||
<interleave>
|
||||
<ref name="h4.inner"/>
|
||||
<ref name="h4.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="h4.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.structure"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="h4.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="h4.elem"/>
|
||||
</define>
|
||||
<define name="h5.elem">
|
||||
<a:documentation>Heading (Rank 5): <h5></a:documentation>
|
||||
<element name="h5">
|
||||
<interleave>
|
||||
<ref name="h5.inner"/>
|
||||
<ref name="h5.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="h5.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.structure"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="h5.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="h5.elem"/>
|
||||
</define>
|
||||
<define name="h6.elem">
|
||||
<a:documentation>Heading (Rank 6): <h6></a:documentation>
|
||||
<element name="h6">
|
||||
<interleave>
|
||||
<ref name="h6.inner"/>
|
||||
<ref name="h6.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="h6.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.structure"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="h6.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="h6.elem"/>
|
||||
</define>
|
||||
<define name="hgroup.elem">
|
||||
<a:documentation>Heading Group: <hgroup></a:documentation>
|
||||
<element name="hgroup">
|
||||
<interleave>
|
||||
<ref name="hgroup.inner"/>
|
||||
<ref name="hgroup.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="hgroup.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.structure"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="hgroup.inner">
|
||||
<oneOrMore>
|
||||
<choice>
|
||||
<ref name="h1.elem"/>
|
||||
<ref name="h2.elem"/>
|
||||
<ref name="h3.elem"/>
|
||||
<ref name="h4.elem"/>
|
||||
<ref name="h5.elem"/>
|
||||
<ref name="h6.elem"/>
|
||||
</choice>
|
||||
</oneOrMore>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="hgroup.elem"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="address.elem">
|
||||
<a:documentation>Section Meta</a:documentation>
|
||||
<a:documentation>Contact Info: <address></a:documentation>
|
||||
<element name="address">
|
||||
<interleave>
|
||||
<ref name="address.inner"/>
|
||||
<ref name="address.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="address.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="address.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="address.elem"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="blockquote.elem">
|
||||
<a:documentation>Quotations </a:documentation>
|
||||
<a:documentation>Block Quotes: <blockquote></a:documentation>
|
||||
<element name="blockquote">
|
||||
<interleave>
|
||||
<ref name="blockquote.inner"/>
|
||||
<ref name="blockquote.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="blockquote.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="blockquote.attrs.cite"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="blockquote.attrs.cite">
|
||||
<attribute name="cite">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="blockquote.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="blockquote.elem"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,176 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="section.elem">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Block Markup Added in HTML5 #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Section: <section></a:documentation>
|
||||
<element name="section">
|
||||
<interleave>
|
||||
<ref name="section.inner"/>
|
||||
<ref name="section.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="section.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="section.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="style.elem.scoped"/>
|
||||
</zeroOrMore>
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="section.elem"/>
|
||||
</define>
|
||||
<define name="nav.elem">
|
||||
<a:documentation>Navigational Links: <nav></a:documentation>
|
||||
<element name="nav">
|
||||
<interleave>
|
||||
<ref name="nav.inner"/>
|
||||
<ref name="nav.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="nav.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
<ref name="common.attrs.aria.landmark.navigation"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="nav.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="nav.elem"/>
|
||||
</define>
|
||||
<define name="article.elem">
|
||||
<a:documentation>Article: <article></a:documentation>
|
||||
<element name="article">
|
||||
<interleave>
|
||||
<ref name="article.inner"/>
|
||||
<ref name="article.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="article.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
<ref name="common.attrs.aria.landmark.article"/>
|
||||
<ref name="common.attrs.aria.landmark.main"/>
|
||||
<ref name="common.attrs.aria.landmark.document"/>
|
||||
<ref name="common.attrs.aria.landmark.application"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="article.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="style.elem"/>
|
||||
</zeroOrMore>
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="article.elem"/>
|
||||
</define>
|
||||
<define name="aside.elem">
|
||||
<a:documentation>Tangential Aside: <aside></a:documentation>
|
||||
<element name="aside">
|
||||
<interleave>
|
||||
<ref name="aside.inner"/>
|
||||
<ref name="aside.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="aside.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
<ref name="common.attrs.aria.landmark.complementary"/>
|
||||
<ref name="common.attrs.aria.landmark.search"/>
|
||||
<ref name="common.attrs.aria.landmark.note"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="aside.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="style.elem"/>
|
||||
</zeroOrMore>
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="aside.elem"/>
|
||||
</define>
|
||||
<define name="header.elem">
|
||||
<a:documentation>Header: <header></a:documentation>
|
||||
<element name="header">
|
||||
<interleave>
|
||||
<ref name="header.inner"/>
|
||||
<ref name="header.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="header.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
<ref name="common.attrs.aria.landmark.banner"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="header.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="header.elem"/>
|
||||
</define>
|
||||
<define name="footer.elem">
|
||||
<a:documentation>Footer: <footer></a:documentation>
|
||||
<element name="footer">
|
||||
<interleave>
|
||||
<ref name="footer.inner"/>
|
||||
<ref name="footer.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="footer.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
<ref name="common.attrs.aria.landmark.contentinfo"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="footer.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="footer.elem"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,378 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="tables.attrs.alignment">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Tables #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Table Envelope</a:documentation>
|
||||
<a:documentation>Table Datatypes</a:documentation>
|
||||
<!--
|
||||
tables.data.multilen =
|
||||
( common.data.integer.positive
|
||||
| common.data.percent
|
||||
| xsd:token { pattern = "[0-9]+\*" } #REVISIT should this one be string?
|
||||
)
|
||||
-->
|
||||
<a:documentation>Table Alignment Attributes</a:documentation>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="tables.attrs.align"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="tables.attrs.char"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="tables.attrs.valign"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="tables.attrs.align">
|
||||
<attribute name="align">
|
||||
<choice>
|
||||
<value type="string">left</value>
|
||||
<value type="string">center</value>
|
||||
<value type="string">right</value>
|
||||
<value type="string">justify</value>
|
||||
<value type="string">char</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="tables.attrs.char">
|
||||
<attribute name="char">
|
||||
<data type="string" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
||||
<param name="pattern">.</param>
|
||||
</data>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="tables.attrs.valign">
|
||||
<attribute name="valign">
|
||||
<choice>
|
||||
<value type="string">top</value>
|
||||
<value type="string">middle</value>
|
||||
<value type="string">bottom</value>
|
||||
<value type="string">baseline</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="table.elem">
|
||||
<a:documentation>Data Table: <table></a:documentation>
|
||||
<element name="table">
|
||||
<interleave>
|
||||
<ref name="table.inner"/>
|
||||
<ref name="table.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="table.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="table.attrs.summary"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<!-- obsolete -->
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="table.attrs.summary">
|
||||
<attribute name="summary">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="table.inner">
|
||||
<optional>
|
||||
<ref name="caption.elem"/>
|
||||
</optional>
|
||||
<zeroOrMore>
|
||||
<ref name="colgroup.elem"/>
|
||||
</zeroOrMore>
|
||||
<optional>
|
||||
<ref name="thead.elem"/>
|
||||
</optional>
|
||||
<choice>
|
||||
<group>
|
||||
<ref name="tfoot.elem"/>
|
||||
<choice>
|
||||
<zeroOrMore>
|
||||
<ref name="tbody.elem"/>
|
||||
</zeroOrMore>
|
||||
<oneOrMore>
|
||||
<ref name="tr.elem"/>
|
||||
</oneOrMore>
|
||||
</choice>
|
||||
</group>
|
||||
<group>
|
||||
<choice>
|
||||
<zeroOrMore>
|
||||
<ref name="tbody.elem"/>
|
||||
</zeroOrMore>
|
||||
<oneOrMore>
|
||||
<ref name="tr.elem"/>
|
||||
</oneOrMore>
|
||||
</choice>
|
||||
<optional>
|
||||
<ref name="tfoot.elem"/>
|
||||
</optional>
|
||||
</group>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="table.elem"/>
|
||||
</define>
|
||||
<define name="caption.elem">
|
||||
<a:documentation>Table Caption: <caption></a:documentation>
|
||||
<element name="caption">
|
||||
<interleave>
|
||||
<ref name="caption.inner"/>
|
||||
<ref name="caption.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="caption.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="caption.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="colgroup.elem">
|
||||
<a:documentation>Table Super Structure</a:documentation>
|
||||
<a:documentation>Table Column Group: <colgroup></a:documentation>
|
||||
<element name="colgroup">
|
||||
<interleave>
|
||||
<ref name="colgroup.inner"/>
|
||||
<ref name="colgroup.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="colgroup.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="colgroup.attrs.span">
|
||||
<attribute name="span">
|
||||
<ref name="common.data.integer.positive"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="colgroup.inner">
|
||||
<choice>
|
||||
<zeroOrMore>
|
||||
<ref name="col.elem"/>
|
||||
</zeroOrMore>
|
||||
<optional>
|
||||
<ref name="colgroup.attrs.span"/>
|
||||
</optional>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="col.elem">
|
||||
<a:documentation>Table Column: <col></a:documentation>
|
||||
<element name="col">
|
||||
<interleave>
|
||||
<ref name="col.inner"/>
|
||||
<ref name="col.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="col.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="col.attrs.span"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="col.attrs.span">
|
||||
<attribute name="span">
|
||||
<ref name="common.data.integer.positive"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="col.inner">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="thead.elem">
|
||||
<a:documentation>Table Header Row Group</a:documentation>
|
||||
<element name="thead">
|
||||
<interleave>
|
||||
<ref name="thead.inner"/>
|
||||
<ref name="thead.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="thead.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="thead.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="tr.elem"/>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="tfoot.elem">
|
||||
<a:documentation>Table Footer Row Group</a:documentation>
|
||||
<element name="tfoot">
|
||||
<interleave>
|
||||
<ref name="tfoot.inner"/>
|
||||
<ref name="tfoot.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="tfoot.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="tfoot.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="tr.elem"/>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="tbody.elem">
|
||||
<a:documentation>Table Row Group</a:documentation>
|
||||
<element name="tbody">
|
||||
<interleave>
|
||||
<ref name="tbody.inner"/>
|
||||
<ref name="tbody.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="tbody.attrs">
|
||||
<ref name="common.attrs"/>
|
||||
</define>
|
||||
<define name="tbody.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="tr.elem"/>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<!-- ##################################################################### -->
|
||||
<define name="tr.elem">
|
||||
<a:documentation>Cell Structure</a:documentation>
|
||||
<a:documentation>Table Row</a:documentation>
|
||||
<element name="tr">
|
||||
<interleave>
|
||||
<ref name="tr.inner"/>
|
||||
<ref name="tr.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="tr.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="tr.inner">
|
||||
<zeroOrMore>
|
||||
<choice>
|
||||
<ref name="td.elem"/>
|
||||
<ref name="th.elem"/>
|
||||
</choice>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="tables.attrs.cell-structure">
|
||||
<a:documentation>Common Table Cell Attributes</a:documentation>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="tables.attrs.colspan"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="tables.attrs.rowspan"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="tables.attrs.colspan">
|
||||
<attribute name="colspan">
|
||||
<ref name="common.data.integer.positive"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="tables.attrs.rowspan">
|
||||
<attribute name="rowspan">
|
||||
<ref name="common.data.integer.non-negative"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="tables.attrs.access-headers">
|
||||
<optional>
|
||||
<ref name="tables.attrs.headers"/>
|
||||
</optional>
|
||||
</define>
|
||||
<define name="tables.attrs.headers">
|
||||
<attribute name="headers">
|
||||
<ref name="common.data.idrefs"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="tables.attrs.define-headers">
|
||||
<optional>
|
||||
<ref name="tables.attrs.scope"/>
|
||||
</optional>
|
||||
</define>
|
||||
<define name="tables.attrs.scope">
|
||||
<attribute name="scope">
|
||||
<choice>
|
||||
<value type="string">row</value>
|
||||
<value type="string">col</value>
|
||||
<value type="string">rowgroup</value>
|
||||
<value type="string">colgroup</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="tables.attrs.abbr">
|
||||
<attribute name="abbr"/>
|
||||
</define>
|
||||
<define name="td.elem">
|
||||
<a:documentation>Table Data Cell: <td></a:documentation>
|
||||
<element name="td">
|
||||
<interleave>
|
||||
<ref name="td.inner"/>
|
||||
<ref name="td.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="td.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="tables.attrs.cell-structure"/>
|
||||
<optional>
|
||||
<ref name="tables.attrs.headers"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<!-- & tables.attrs.alignment -->
|
||||
<ref name="common.attrs.aria"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="td.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="th.elem">
|
||||
<a:documentation>Table Header Cells: <th></a:documentation>
|
||||
<element name="th">
|
||||
<interleave>
|
||||
<ref name="th.inner"/>
|
||||
<ref name="th.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="th.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="tables.attrs.cell-structure"/>
|
||||
<optional>
|
||||
<ref name="tables.attrs.scope"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="tables.attrs.headers"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<!-- & tables.attrs.alignment -->
|
||||
<ref name="common.attrs.aria.implicit.th"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="th.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,39 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<!-- RELAX NG Schema for HTML 5: Warnings -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<schema xmlns='http://www.ascc.net/xml/schematron'>
|
||||
<ns prefix='h' uri='http://www.w3.org/1999/xhtml'/>
|
||||
<pattern name="Warnings for HTML5 attributes that are obsolete but conforming">
|
||||
<rule context='h:meta'>
|
||||
<report test='translate(@http-equiv,"CONTELAGUA", "contelagua")="content-language"' role='warning'>
|
||||
Using the “meta” element to specify the document-wide default language is obsolete.
|
||||
Consider specifying the language on the root element instead.
|
||||
</report>
|
||||
</rule>
|
||||
<rule context='h:img'>
|
||||
<report test='@border' role='warning'>
|
||||
The “border” attribute on the “img” element is obsolete.
|
||||
Consider specifying “img { border: 0; }“ in CSS instead.
|
||||
</report>
|
||||
</rule>
|
||||
<rule context='h:script[translate(@language, "JAVSCRIPT", "javscript")="javascript"]'>
|
||||
<report test='not(@type) or translate(@type, "EXJAVSCRIPT", "exjavscript")="text/javascript"' role='warning'>
|
||||
The “language” attribute on the “script” element is obsolete. You can safely omit it.
|
||||
</report>
|
||||
</rule>
|
||||
<rule context='h:a'>
|
||||
<report test='@name' role='warning'>
|
||||
The “name” attribute on the “a” element is obsolete. Consider putting an
|
||||
“id” attribute on the nearest container instead.
|
||||
</report>
|
||||
</rule>
|
||||
<rule context='h:table'>
|
||||
<report test='@summary' role='warning'>
|
||||
The “summary” attribute on the “a” element is obsolete.
|
||||
Consider describing the structure of complex tables in a “caption” element
|
||||
or in a paragraph, and pointing to the paragraph using the “aria-describedby” attribute.
|
||||
</report>
|
||||
</rule>
|
||||
</pattern>
|
||||
</schema>
|
|
@ -1,42 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="">
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<define name="scripting.attr.form.select">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Web Forms 1.0 Scripting #</a:documentation>
|
||||
<attribute name="onselect">
|
||||
<data type="string"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.form.change">
|
||||
<attribute name="onchange">
|
||||
<data type="string"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<!--
|
||||
input.text.attrs &=
|
||||
( scripting.attr.form.select?
|
||||
)
|
||||
-->
|
||||
<!--
|
||||
shared-form.attrs &=
|
||||
( scripting.attr.form.change?
|
||||
)
|
||||
-->
|
||||
<!--
|
||||
form.attrs &=
|
||||
( scripting.attr.form.reset?
|
||||
& scripting.attr.form.submit?
|
||||
)
|
||||
-->
|
||||
<define name="scripting.attr.form.submit">
|
||||
<attribute name="onsubmit">
|
||||
<data type="string"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.form.reset">
|
||||
<attribute name="onreset">
|
||||
<data type="string"/>
|
||||
</attribute>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,853 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<define name="common-form.attrs">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Web Forms 1.0 markup #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Shared attributes for form controls</a:documentation>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="common-form.attrs.name"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common-form.attrs.disabled"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common-form.attrs.name">
|
||||
<attribute name="name">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT should this be restricted somehow? No & and = perhaps? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="common-form.attrs.disabled">
|
||||
<attribute name="disabled">
|
||||
<choice>
|
||||
<value type="string">disabled</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-form.attrs.readonly">
|
||||
<attribute name="readonly">
|
||||
<choice>
|
||||
<value type="string">readonly</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-form.attrs.maxlength">
|
||||
<attribute name="maxlength">
|
||||
<ref name="common.data.integer.positive"/>
|
||||
<!-- REVISIT should this be non-negative? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="shared-form.attrs.size">
|
||||
<attribute name="size">
|
||||
<ref name="common.data.integer.positive"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<!-- REVISIT tabindex goes in common.attrs -->
|
||||
<define name="input.attrs.checked">
|
||||
<a:documentation>Shared attributes for <input></a:documentation>
|
||||
<attribute name="checked">
|
||||
<choice>
|
||||
<value type="string">checked</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.text.elem">
|
||||
<a:documentation>Text Field: <input type='text'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.text.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.text.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<optional>
|
||||
<ref name="input.text.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-form.attrs.maxlength"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-form.attrs.readonly"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-form.attrs.size"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="input.text.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.input"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.text.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">text</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.text.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT "nominally" free of line breaks? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem">
|
||||
<ref name="input.text.elem"/>
|
||||
</define>
|
||||
<define name="input.password.elem">
|
||||
<a:documentation>Password Field: <input type='password'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.password.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.password.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.password.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="shared-form.attrs.maxlength"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-form.attrs.readonly"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="shared-form.attrs.size"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="input.password.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.input"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.password.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">password</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.password.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT "nominally" free of line breaks? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.password.elem"/>
|
||||
</define>
|
||||
<define name="input.checkbox.elem">
|
||||
<a:documentation>Checkbox: <input type='checkbox'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.checkbox.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.checkbox.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.checkbox.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="input.attrs.checked"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="input.checkbox.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.input"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.checkbox.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">checkbox</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.checkbox.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT require non-empty value? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.checkbox.elem"/>
|
||||
</define>
|
||||
<define name="input.radio.elem">
|
||||
<a:documentation>Radiobutton: <input type='radio'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.radio.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.radio.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.radio.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="input.attrs.checked"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="input.radio.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.input"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.radio.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">radio</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.radio.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT require non-empty value? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.radio.elem"/>
|
||||
</define>
|
||||
<define name="input.button.elem">
|
||||
<a:documentation>Scripting Hook Button: <input type='button'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.button.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.button.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.button.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="input.button.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.button"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.button.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">button</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.button.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT require non-empty value? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.button.elem"/>
|
||||
</define>
|
||||
<!-- REVISIT should this be enabled by a scripting module only? -->
|
||||
<define name="input.submit.elem">
|
||||
<a:documentation>Submit Button: <input type='submit'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.submit.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.submit.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.submit.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="input.submit.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.button"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.submit.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">submit</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.submit.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT require non-empty value? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.submit.elem"/>
|
||||
</define>
|
||||
<define name="input.reset.elem">
|
||||
<a:documentation>Reset Button: <input type='reset'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.reset.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.reset.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.reset.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="input.reset.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.button"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.reset.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">reset</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.reset.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- REVISIT require non-empty value? -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.reset.elem"/>
|
||||
</define>
|
||||
<!-- REVISIT does reset make sense outside a form? -->
|
||||
<define name="input.file.elem">
|
||||
<a:documentation>File Upload: <input type='file'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.file.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.file.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.file.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="input.file.attrs.accept"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.input"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.file.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">file</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.file.attrs.accept">
|
||||
<attribute name="accept">
|
||||
<ref name="form.data.mimetypelist"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.file.elem"/>
|
||||
</define>
|
||||
<define name="input.hidden.elem">
|
||||
<a:documentation>Hidden String: <input type='hidden'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.hidden.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.hidden.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.hidden.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="input.hidden.attrs.value"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.hidden.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">hidden</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.hidden.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.hidden.elem"/>
|
||||
</define>
|
||||
<define name="input.image.elem">
|
||||
<a:documentation>Image Submit Button: <input type='image'></a:documentation>
|
||||
<element name="input">
|
||||
<ref name="input.image.attrs"/>
|
||||
</element>
|
||||
</define>
|
||||
<define name="input.image.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="input.image.attrs.type"/>
|
||||
<ref name="input.image.attrs.alt"/>
|
||||
<optional>
|
||||
<ref name="input.image.attrs.src"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.button"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="input.image.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">image</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.image.attrs.alt">
|
||||
<attribute name="alt">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
<!-- XXX non-empty -->
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.image.attrs.src">
|
||||
<attribute name="src">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="input.elem" combine="choice">
|
||||
<ref name="input.image.elem"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="input.elem"/>
|
||||
</define>
|
||||
<define name="textarea.elem">
|
||||
<a:documentation>Text Area: <textarea></a:documentation>
|
||||
<element name="textarea">
|
||||
<interleave>
|
||||
<ref name="textarea.inner"/>
|
||||
<ref name="textarea.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="textarea.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<optional>
|
||||
<ref name="shared-form.attrs.readonly"/>
|
||||
</optional>
|
||||
<ref name="textarea.attrs.rows-and-cols-wf1"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.input"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<!-- FIXME onfocus, onblur, onselect,onchange -->
|
||||
</define>
|
||||
<!-- This is ugly. -->
|
||||
<define name="textarea.attrs.rows-and-cols-wf1">
|
||||
<ref name="textarea.attrs.rows-and-cols-wf1.inner"/>
|
||||
</define>
|
||||
<define name="textarea.attrs.rows-and-cols-wf1.inner">
|
||||
<interleave>
|
||||
<ref name="textarea.attrs.cols"/>
|
||||
<ref name="textarea.attrs.rows"/>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="textarea.attrs.cols">
|
||||
<attribute name="cols">
|
||||
<ref name="common.data.integer.positive"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="textarea.attrs.rows">
|
||||
<attribute name="rows">
|
||||
<ref name="common.data.integer.positive"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="textarea.inner">
|
||||
<text/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="textarea.elem"/>
|
||||
</define>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<define name="option.elem">
|
||||
<a:documentation>Select menu option: <option selected></a:documentation>
|
||||
<element name="option">
|
||||
<interleave>
|
||||
<ref name="option.inner"/>
|
||||
<ref name="option.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="option.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common-form.attrs.disabled"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="option.attrs.selected"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="option.attrs.label"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="option.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.input"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="option.attrs.selected">
|
||||
<attribute name="selected">
|
||||
<choice>
|
||||
<value type="string">selected</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="option.attrs.label">
|
||||
<attribute name="label">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="option.attrs.value">
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="option.inner">
|
||||
<text/>
|
||||
</define>
|
||||
<define name="optgroup.elem">
|
||||
<a:documentation>Option Group: <optgroup></a:documentation>
|
||||
<element name="optgroup">
|
||||
<interleave>
|
||||
<ref name="optgroup.inner"/>
|
||||
<ref name="optgroup.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="optgroup.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="optgroup.attrs.label"/>
|
||||
<optional>
|
||||
<ref name="common-form.attrs.disabled"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="optgroup.attrs.label">
|
||||
<attribute name="label">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="optgroup.inner">
|
||||
<zeroOrMore>
|
||||
<ref name="option.elem"/>
|
||||
</zeroOrMore>
|
||||
</define>
|
||||
<define name="select.elem">
|
||||
<a:documentation>Selection Menu: <select></a:documentation>
|
||||
<element name="select">
|
||||
<interleave>
|
||||
<ref name="select.inner"/>
|
||||
<ref name="select.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="select.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<optional>
|
||||
<ref name="select.attrs.size"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="select.attrs.multiple"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
<!-- FIXME onfocus, onblur, onchange -->
|
||||
</define>
|
||||
<define name="select.attrs.size">
|
||||
<attribute name="size">
|
||||
<ref name="common.data.integer.positive"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="select.attrs.multiple">
|
||||
<attribute name="multiple">
|
||||
<choice>
|
||||
<value type="string">multiple</value>
|
||||
<value type="string"/>
|
||||
</choice>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="select.inner">
|
||||
<interleave>
|
||||
<zeroOrMore>
|
||||
<ref name="optgroup.elem"/>
|
||||
</zeroOrMore>
|
||||
<zeroOrMore>
|
||||
<ref name="option.elem"/>
|
||||
</zeroOrMore>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="select.elem"/>
|
||||
</define>
|
||||
<define name="button.attrs.value">
|
||||
<a:documentation>Shared Definitions for Complex Button</a:documentation>
|
||||
<attribute name="value">
|
||||
<data type="string" datatypeLibrary=""/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="button.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<define name="button.submit.elem">
|
||||
<a:documentation>Complex Submit Button: <button type='submit'></a:documentation>
|
||||
<element name="button">
|
||||
<interleave>
|
||||
<ref name="button.inner"/>
|
||||
<ref name="button.submit.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="button.submit.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<optional>
|
||||
<ref name="button.submit.attrs.type"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="button.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.button"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="button.submit.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">submit</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="button.elem">
|
||||
<ref name="button.submit.elem"/>
|
||||
</define>
|
||||
<define name="button.reset.elem">
|
||||
<a:documentation>Complex Reset Button: <button type='reset'></a:documentation>
|
||||
<element name="button">
|
||||
<interleave>
|
||||
<ref name="button.inner"/>
|
||||
<ref name="button.reset.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="button.reset.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="button.reset.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="button.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<!-- REVISIT I guess this still affects the DOM -->
|
||||
<ref name="common.attrs.aria.implicit.button"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="button.reset.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">reset</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="button.elem" combine="choice">
|
||||
<ref name="button.reset.elem"/>
|
||||
</define>
|
||||
<define name="button.button.elem">
|
||||
<a:documentation>Complex Push Button: <button type='button'></a:documentation>
|
||||
<element name="button">
|
||||
<interleave>
|
||||
<ref name="button.inner"/>
|
||||
<ref name="button.button.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="button.button.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<ref name="common-form.attrs"/>
|
||||
<ref name="button.button.attrs.type"/>
|
||||
<optional>
|
||||
<ref name="button.attrs.value"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<!-- REVISIT I guess this still affects the DOM -->
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.button"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="button.button.attrs.type">
|
||||
<attribute name="type">
|
||||
<value type="string">button</value>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="button.elem" combine="choice">
|
||||
<ref name="button.button.elem"/>
|
||||
</define>
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="button.elem"/>
|
||||
</define>
|
||||
<define name="form.elem">
|
||||
<a:documentation>Form: <form></a:documentation>
|
||||
<element name="form">
|
||||
<interleave>
|
||||
<ref name="form.inner"/>
|
||||
<ref name="form.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="form.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="form.attrs.action"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<!-- REVISIT Should this be required anyway? -->
|
||||
<ref name="form.attrs.method"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="form.attrs.enctype"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common-form.attrs.name"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="form.attrs.accept-charset"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<choice>
|
||||
<ref name="common.attrs.aria"/>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</choice>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="form.attrs.action">
|
||||
<attribute name="action">
|
||||
<ref name="common.data.uri"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="form.attrs.method">
|
||||
<attribute name="method">
|
||||
<ref name="form.attrs.method.data"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="form.attrs.method.data">
|
||||
<choice>
|
||||
<value type="string">get</value>
|
||||
<value type="string">post</value>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="form.attrs.enctype">
|
||||
<attribute name="enctype">
|
||||
<ref name="form.attrs.enctype.data"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="form.attrs.enctype.data">
|
||||
<choice>
|
||||
<value type="string">application/x-www-form-urlencoded</value>
|
||||
<value type="string">multipart/form-data</value>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="form.attrs.accept-charset">
|
||||
<attribute name="accept-charset">
|
||||
<ref name="form.data.charsetlist"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="form.inner">
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="form.elem"/>
|
||||
</define>
|
||||
<define name="fieldset.elem">
|
||||
<a:documentation>Fieldset: <fieldset></a:documentation>
|
||||
<element name="fieldset">
|
||||
<interleave>
|
||||
<ref name="fieldset.inner"/>
|
||||
<ref name="fieldset.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="fieldset.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.group"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="fieldset.inner">
|
||||
<optional>
|
||||
<ref name="legend.elem"/>
|
||||
</optional>
|
||||
<!-- REVISIT should this be required? -->
|
||||
<ref name="common.inner.flow"/>
|
||||
</define>
|
||||
<define name="common.elem.flow" combine="choice">
|
||||
<ref name="fieldset.elem"/>
|
||||
</define>
|
||||
<define name="label.elem">
|
||||
<a:documentation>Label: <label></a:documentation>
|
||||
<element name="label">
|
||||
<interleave>
|
||||
<ref name="label.inner"/>
|
||||
<ref name="label.attrs"/>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
<define name="label.attrs">
|
||||
<interleave>
|
||||
<ref name="common.attrs"/>
|
||||
<optional>
|
||||
<ref name="label.attrs.for"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="common.attrs.aria.implicit.region"/>
|
||||
</optional>
|
||||
</interleave>
|
||||
</define>
|
||||
<define name="label.attrs.for">
|
||||
<attribute name="for">
|
||||
<ref name="common.data.idref"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="label.inner">
|
||||
<ref name="common.inner.phrasing"/>
|
||||
</define>
|
||||
<!-- REVISIT making obvious guess -->
|
||||
<define name="common.elem.phrasing" combine="choice">
|
||||
<ref name="label.elem"/>
|
||||
</define>
|
||||
</grammar>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="">
|
||||
<!-- ##################################################################### -->
|
||||
<!-- ##################################################################### -->
|
||||
<define name="scripting.attr.form.formchange">
|
||||
<a:documentation> RELAX NG Schema for HTML 5: Web Forms 2.0 Scripting #</a:documentation>
|
||||
<attribute name="onformchange">
|
||||
<data type="string"/>
|
||||
</attribute>
|
||||
</define>
|
||||
<define name="scripting.attr.form.forminput">
|
||||
<attribute name="onforminput">
|
||||
<data type="string"/>
|
||||
</attribute>
|
||||
</define>
|
||||
</grammar>
|
||||
<!--
|
||||
output.attrs &=
|
||||
( scripting.attr.form.formchange?
|
||||
& scripting.attr.form.forminput?
|
||||
& scripting.attr.form.change?
|
||||
)
|
||||
-->
|
File diff suppressed because it is too large
Load Diff
|
@ -1,46 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<grammar ns="http://www.w3.org/1999/xhtml" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
<!-- ##################################################################### -->
|
||||
<include href="common.rng">
|
||||
<a:documentation> RELAX NG Schema for XHTML 5 #</a:documentation>
|
||||
<!-- ##################################################################### -->
|
||||
<!--
|
||||
To validate an XHTML 5 document, you must first validate against #
|
||||
this schema and then ALSO validate against assertions.sch #
|
||||
-->
|
||||
<!-- ##################################################################### -->
|
||||
<a:documentation>Schema Framework & Parameters</a:documentation>
|
||||
<!-- XHTML flavor # -->
|
||||
<define name="XMLonly">
|
||||
<empty/>
|
||||
</define>
|
||||
<define name="HTMLonly">
|
||||
<notAllowed/>
|
||||
</define>
|
||||
<!-- HTML 4 compat # -->
|
||||
<define name="v5only">
|
||||
<empty/>
|
||||
</define>
|
||||
</include>
|
||||
<!-- ##################################################################### -->
|
||||
<start>
|
||||
<a:documentation>Language Definitions</a:documentation>
|
||||
<ref name="html.elem"/>
|
||||
</start>
|
||||
<include href="meta.rng"/>
|
||||
<include href="phrase.rng"/>
|
||||
<include href="block.rng"/>
|
||||
<include href="sectional.rng"/>
|
||||
<include href="structural.rng"/>
|
||||
<include href="revision.rng"/>
|
||||
<include href="embed.rng"/>
|
||||
<include href="ruby.rng"/>
|
||||
<include href="media.rng"/>
|
||||
<include href="core-scripting.rng"/>
|
||||
<include href="tables.rng"/>
|
||||
<include href="form-datatypes.rng"/>
|
||||
<include href="web-forms.rng"/>
|
||||
<include href="web-forms2.rng"/>
|
||||
<include href="applications.rng"/>
|
||||
<include href="data.rng"/>
|
||||
</grammar>
|
|
@ -16,7 +16,7 @@
|
|||
</xsl:template>
|
||||
|
||||
<xsl:template name="header">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta charset="utf-8" />
|
||||
<meta name="description" content="<<</>> c3d2, der Erfahrungsaustauschkreis aus dem sächsischen Dresden" />
|
||||
<meta name="keywords" content="c3d2 ccc dresden sachsen hacker" />
|
||||
<meta name="robots" content="index,follow" />
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
<xsl:include href="calendar.xsl" />
|
||||
|
||||
<xsl:output method="xml"
|
||||
version="1.0"
|
||||
encoding="utf-8"
|
||||
indent="yes"/>
|
||||
|
||||
|
@ -58,7 +57,6 @@
|
|||
<xsl:variable name="issearchpage" select="$title = 'Suche'" />
|
||||
|
||||
<xsl:element name="html">
|
||||
<xsl:attribute name="lang">de</xsl:attribute>
|
||||
<xsl:attribute name="xml:lang">de</xsl:attribute>
|
||||
<xsl:element name="head">
|
||||
<xsl:call-template name="header" />
|
Loading…
Reference in New Issue