relaxng.applications.rnc Maven / Gradle / Ivy
The newest version!
datatypes w = "http://whattf.org/datatype-draft"
# #####################################################################
## RELAX NG Schema for HTML 5: Web Application Features #
# #####################################################################
## Additions to Common Attributes
common.attrs.interact &=
( common.attrs.contextmenu?
& common.attrs.contenteditable?
& common.attrs.draggable?
& common.attrs.dropzone?
& common.attrs.hidden?
& common.attrs.spellcheck?
)
common.attrs.other &= common.attrs.interact
## Context Menu: contextmenu
common.attrs.contextmenu =
attribute contextmenu {
common.data.idref
}
## Editable Content: contenteditable
common.attrs.contenteditable =
attribute contenteditable {
w:string "true" | w:string "false" | w:string ""
}
## Draggable Element: draggable
common.attrs.draggable =
attribute draggable {
w:string "true" | w:string "false"
}
## Dropzone: dropzone
common.attrs.dropzone =
attribute dropzone {
list {
( xsd:string { pattern = "[sS][tT][rR][iI][nN][gG]:.+" }
| xsd:string { pattern = "[fF][iI][lL][eE]:.+" }
)*
,
( w:string "copy"
| w:string "move"
| w:string "link"
)?
,
( xsd:string { pattern = "[sS][tT][rR][iI][nN][gG]:.+" }
| xsd:string { pattern = "[fF][iI][lL][eE]:.+" }
)*
}
}
## Hidden Element: hidden
common.attrs.hidden =
attribute hidden {
w:string "hidden" | w:string ""
}
## Spellchecking and grammar checking: spellcheck
common.attrs.spellcheck =
attribute spellcheck{
w:string "true" | w:string "false" | w:string ""
}
## Application Cache: manifest
html.attrs.manifest =
attribute manifest {
common.data.uri.non-empty
}
html.attrs &= html.attrs.manifest?
## Progess Indicator: