| // Up-to-date as of 2013-04-09. |
| var miscElements = { |
| // "The root element" section |
| html: { |
| // Obsolete |
| version: "string", |
| }, |
| |
| // "Scripting" section |
| script: { |
| src: "url", |
| type: "string", |
| charset: "string", |
| // TODO: async attribute (complicated). |
| defer: "boolean", |
| crossOrigin: {type: "enum", keywords: ["anonymous", "use-credentials"], nonCanon:{"": "anonymous"}}, |
| }, |
| noscript: {}, |
| |
| // "Edits" section |
| ins: { |
| cite: "url", |
| dateTime: "string", |
| }, |
| del: { |
| cite: "url", |
| dateTime: "string", |
| }, |
| |
| // "Interactive elements" section |
| details: { |
| open: "boolean", |
| }, |
| summary: {}, |
| menu: { |
| // Conforming |
| //TODO: check that missing value default is popup if parent's type is popup |
| type: {type: "enum", keywords:["popup", "toolbar"], defaultVal: "toolbar"}, |
| label: "string", |
| |
| // Obsolete |
| compact: "boolean", |
| }, |
| menuitem: { |
| type: {type: "enum", keywords: ["command", "checkbox", "radio"], defaultVal: "command"}, |
| label: "string", |
| icon: "url", |
| disabled: "boolean", |
| checked: "boolean", |
| radiogroup: "string", |
| "default": "boolean", |
| }, |
| dialog: { |
| open: "boolean", |
| }, |
| |
| // Global attributes should exist even on unknown elements |
| undefinedelement: {}, |
| }; |
| |
| mergeElements(miscElements); |