var metadataElements = { head: {}, title: {}, base: { href: {type: "url", customGetter: true}, target: "string", }, link: { // Conforming href: "url", crossOrigin: {type: "enum", keywords: ["anonymous", "use-credentials"], nonCanon:{"": "anonymous"}, isNullable: true, defaultVal: null, invalidVal: "anonymous"}, rel: "string", as: { type: "enum", keywords: ["fetch", "audio", "document", "embed", "font", "image", "manifest", "object", "report", "script", "sharedworker", "style", "track", "video", "worker", "xslt"], defaultVal: "", invalidVal: "" }, relList: {type: "tokenlist", domAttrName: "rel"}, media: "string", nonce: "string", integrity: "string", hreflang: "string", type: "string", sizes: "settable tokenlist", referrerPolicy: {type: "enum", keywords: ["", "no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "strict-origin", "origin-when-cross-origin", "strict-origin-when-cross-origin", "unsafe-url"]}, // Obsolete charset: "string", rev: "string", target: "string", }, meta: { // Conforming name: "string", httpEquiv: {type: "string", domAttrName: "http-equiv"}, content: "string", media: "string", // Obsolete scheme: "string", }, style: { media: "string", nonce: "string", type: "string", }, }; mergeElements(metadataElements);