mirror of
https://github.com/tvytlx/ai-agent-deep-dive.git
synced 2026-04-04 16:14:50 +08:00
Add extracted source directory and README navigation
This commit is contained in:
348
extracted-source/node_modules/parse5-htmlparser2-tree-adapter/lib/index.js
generated
vendored
Normal file
348
extracted-source/node_modules/parse5-htmlparser2-tree-adapter/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,348 @@
|
||||
'use strict';
|
||||
|
||||
const doctype = require('parse5/lib/common/doctype');
|
||||
const { DOCUMENT_MODE } = require('parse5/lib/common/html');
|
||||
|
||||
//Conversion tables for DOM Level1 structure emulation
|
||||
const nodeTypes = {
|
||||
element: 1,
|
||||
text: 3,
|
||||
cdata: 4,
|
||||
comment: 8
|
||||
};
|
||||
|
||||
const nodePropertyShorthands = {
|
||||
tagName: 'name',
|
||||
childNodes: 'children',
|
||||
parentNode: 'parent',
|
||||
previousSibling: 'prev',
|
||||
nextSibling: 'next',
|
||||
nodeValue: 'data'
|
||||
};
|
||||
|
||||
//Node
|
||||
class Node {
|
||||
constructor(props) {
|
||||
for (const key of Object.keys(props)) {
|
||||
this[key] = props[key];
|
||||
}
|
||||
}
|
||||
|
||||
get firstChild() {
|
||||
const children = this.children;
|
||||
|
||||
return (children && children[0]) || null;
|
||||
}
|
||||
|
||||
get lastChild() {
|
||||
const children = this.children;
|
||||
|
||||
return (children && children[children.length - 1]) || null;
|
||||
}
|
||||
|
||||
get nodeType() {
|
||||
return nodeTypes[this.type] || nodeTypes.element;
|
||||
}
|
||||
}
|
||||
|
||||
Object.keys(nodePropertyShorthands).forEach(key => {
|
||||
const shorthand = nodePropertyShorthands[key];
|
||||
|
||||
Object.defineProperty(Node.prototype, key, {
|
||||
get: function() {
|
||||
return this[shorthand] || null;
|
||||
},
|
||||
set: function(val) {
|
||||
this[shorthand] = val;
|
||||
return val;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//Node construction
|
||||
exports.createDocument = function() {
|
||||
return new Node({
|
||||
type: 'root',
|
||||
name: 'root',
|
||||
parent: null,
|
||||
prev: null,
|
||||
next: null,
|
||||
children: [],
|
||||
'x-mode': DOCUMENT_MODE.NO_QUIRKS
|
||||
});
|
||||
};
|
||||
|
||||
exports.createDocumentFragment = function() {
|
||||
return new Node({
|
||||
type: 'root',
|
||||
name: 'root',
|
||||
parent: null,
|
||||
prev: null,
|
||||
next: null,
|
||||
children: []
|
||||
});
|
||||
};
|
||||
|
||||
exports.createElement = function(tagName, namespaceURI, attrs) {
|
||||
const attribs = Object.create(null);
|
||||
const attribsNamespace = Object.create(null);
|
||||
const attribsPrefix = Object.create(null);
|
||||
|
||||
for (let i = 0; i < attrs.length; i++) {
|
||||
const attrName = attrs[i].name;
|
||||
|
||||
attribs[attrName] = attrs[i].value;
|
||||
attribsNamespace[attrName] = attrs[i].namespace;
|
||||
attribsPrefix[attrName] = attrs[i].prefix;
|
||||
}
|
||||
|
||||
return new Node({
|
||||
type: tagName === 'script' || tagName === 'style' ? tagName : 'tag',
|
||||
name: tagName,
|
||||
namespace: namespaceURI,
|
||||
attribs: attribs,
|
||||
'x-attribsNamespace': attribsNamespace,
|
||||
'x-attribsPrefix': attribsPrefix,
|
||||
children: [],
|
||||
parent: null,
|
||||
prev: null,
|
||||
next: null
|
||||
});
|
||||
};
|
||||
|
||||
exports.createCommentNode = function(data) {
|
||||
return new Node({
|
||||
type: 'comment',
|
||||
data: data,
|
||||
parent: null,
|
||||
prev: null,
|
||||
next: null
|
||||
});
|
||||
};
|
||||
|
||||
const createTextNode = function(value) {
|
||||
return new Node({
|
||||
type: 'text',
|
||||
data: value,
|
||||
parent: null,
|
||||
prev: null,
|
||||
next: null
|
||||
});
|
||||
};
|
||||
|
||||
//Tree mutation
|
||||
const appendChild = (exports.appendChild = function(parentNode, newNode) {
|
||||
const prev = parentNode.children[parentNode.children.length - 1];
|
||||
|
||||
if (prev) {
|
||||
prev.next = newNode;
|
||||
newNode.prev = prev;
|
||||
}
|
||||
|
||||
parentNode.children.push(newNode);
|
||||
newNode.parent = parentNode;
|
||||
});
|
||||
|
||||
const insertBefore = (exports.insertBefore = function(parentNode, newNode, referenceNode) {
|
||||
const insertionIdx = parentNode.children.indexOf(referenceNode);
|
||||
const prev = referenceNode.prev;
|
||||
|
||||
if (prev) {
|
||||
prev.next = newNode;
|
||||
newNode.prev = prev;
|
||||
}
|
||||
|
||||
referenceNode.prev = newNode;
|
||||
newNode.next = referenceNode;
|
||||
|
||||
parentNode.children.splice(insertionIdx, 0, newNode);
|
||||
newNode.parent = parentNode;
|
||||
});
|
||||
|
||||
exports.setTemplateContent = function(templateElement, contentElement) {
|
||||
appendChild(templateElement, contentElement);
|
||||
};
|
||||
|
||||
exports.getTemplateContent = function(templateElement) {
|
||||
return templateElement.children[0];
|
||||
};
|
||||
|
||||
exports.setDocumentType = function(document, name, publicId, systemId) {
|
||||
const data = doctype.serializeContent(name, publicId, systemId);
|
||||
let doctypeNode = null;
|
||||
|
||||
for (let i = 0; i < document.children.length; i++) {
|
||||
if (document.children[i].type === 'directive' && document.children[i].name === '!doctype') {
|
||||
doctypeNode = document.children[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (doctypeNode) {
|
||||
doctypeNode.data = data;
|
||||
doctypeNode['x-name'] = name;
|
||||
doctypeNode['x-publicId'] = publicId;
|
||||
doctypeNode['x-systemId'] = systemId;
|
||||
} else {
|
||||
appendChild(
|
||||
document,
|
||||
new Node({
|
||||
type: 'directive',
|
||||
name: '!doctype',
|
||||
data: data,
|
||||
'x-name': name,
|
||||
'x-publicId': publicId,
|
||||
'x-systemId': systemId
|
||||
})
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
exports.setDocumentMode = function(document, mode) {
|
||||
document['x-mode'] = mode;
|
||||
};
|
||||
|
||||
exports.getDocumentMode = function(document) {
|
||||
return document['x-mode'];
|
||||
};
|
||||
|
||||
exports.detachNode = function(node) {
|
||||
if (node.parent) {
|
||||
const idx = node.parent.children.indexOf(node);
|
||||
const prev = node.prev;
|
||||
const next = node.next;
|
||||
|
||||
node.prev = null;
|
||||
node.next = null;
|
||||
|
||||
if (prev) {
|
||||
prev.next = next;
|
||||
}
|
||||
|
||||
if (next) {
|
||||
next.prev = prev;
|
||||
}
|
||||
|
||||
node.parent.children.splice(idx, 1);
|
||||
node.parent = null;
|
||||
}
|
||||
};
|
||||
|
||||
exports.insertText = function(parentNode, text) {
|
||||
const lastChild = parentNode.children[parentNode.children.length - 1];
|
||||
|
||||
if (lastChild && lastChild.type === 'text') {
|
||||
lastChild.data += text;
|
||||
} else {
|
||||
appendChild(parentNode, createTextNode(text));
|
||||
}
|
||||
};
|
||||
|
||||
exports.insertTextBefore = function(parentNode, text, referenceNode) {
|
||||
const prevNode = parentNode.children[parentNode.children.indexOf(referenceNode) - 1];
|
||||
|
||||
if (prevNode && prevNode.type === 'text') {
|
||||
prevNode.data += text;
|
||||
} else {
|
||||
insertBefore(parentNode, createTextNode(text), referenceNode);
|
||||
}
|
||||
};
|
||||
|
||||
exports.adoptAttributes = function(recipient, attrs) {
|
||||
for (let i = 0; i < attrs.length; i++) {
|
||||
const attrName = attrs[i].name;
|
||||
|
||||
if (typeof recipient.attribs[attrName] === 'undefined') {
|
||||
recipient.attribs[attrName] = attrs[i].value;
|
||||
recipient['x-attribsNamespace'][attrName] = attrs[i].namespace;
|
||||
recipient['x-attribsPrefix'][attrName] = attrs[i].prefix;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//Tree traversing
|
||||
exports.getFirstChild = function(node) {
|
||||
return node.children[0];
|
||||
};
|
||||
|
||||
exports.getChildNodes = function(node) {
|
||||
return node.children;
|
||||
};
|
||||
|
||||
exports.getParentNode = function(node) {
|
||||
return node.parent;
|
||||
};
|
||||
|
||||
exports.getAttrList = function(element) {
|
||||
const attrList = [];
|
||||
|
||||
for (const name in element.attribs) {
|
||||
attrList.push({
|
||||
name: name,
|
||||
value: element.attribs[name],
|
||||
namespace: element['x-attribsNamespace'][name],
|
||||
prefix: element['x-attribsPrefix'][name]
|
||||
});
|
||||
}
|
||||
|
||||
return attrList;
|
||||
};
|
||||
|
||||
//Node data
|
||||
exports.getTagName = function(element) {
|
||||
return element.name;
|
||||
};
|
||||
|
||||
exports.getNamespaceURI = function(element) {
|
||||
return element.namespace;
|
||||
};
|
||||
|
||||
exports.getTextNodeContent = function(textNode) {
|
||||
return textNode.data;
|
||||
};
|
||||
|
||||
exports.getCommentNodeContent = function(commentNode) {
|
||||
return commentNode.data;
|
||||
};
|
||||
|
||||
exports.getDocumentTypeNodeName = function(doctypeNode) {
|
||||
return doctypeNode['x-name'];
|
||||
};
|
||||
|
||||
exports.getDocumentTypeNodePublicId = function(doctypeNode) {
|
||||
return doctypeNode['x-publicId'];
|
||||
};
|
||||
|
||||
exports.getDocumentTypeNodeSystemId = function(doctypeNode) {
|
||||
return doctypeNode['x-systemId'];
|
||||
};
|
||||
|
||||
//Node types
|
||||
exports.isTextNode = function(node) {
|
||||
return node.type === 'text';
|
||||
};
|
||||
|
||||
exports.isCommentNode = function(node) {
|
||||
return node.type === 'comment';
|
||||
};
|
||||
|
||||
exports.isDocumentTypeNode = function(node) {
|
||||
return node.type === 'directive' && node.name === '!doctype';
|
||||
};
|
||||
|
||||
exports.isElementNode = function(node) {
|
||||
return !!node.attribs;
|
||||
};
|
||||
|
||||
// Source code location
|
||||
exports.setNodeSourceCodeLocation = function(node, location) {
|
||||
node.sourceCodeLocation = location;
|
||||
};
|
||||
|
||||
exports.getNodeSourceCodeLocation = function(node) {
|
||||
return node.sourceCodeLocation;
|
||||
};
|
||||
|
||||
exports.updateNodeSourceCodeLocation = function(node, endLocation) {
|
||||
node.sourceCodeLocation = Object.assign(node.sourceCodeLocation, endLocation);
|
||||
};
|
||||
162
extracted-source/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/doctype.js
generated
vendored
Normal file
162
extracted-source/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/doctype.js
generated
vendored
Normal file
@@ -0,0 +1,162 @@
|
||||
'use strict';
|
||||
|
||||
const { DOCUMENT_MODE } = require('./html');
|
||||
|
||||
//Const
|
||||
const VALID_DOCTYPE_NAME = 'html';
|
||||
const VALID_SYSTEM_ID = 'about:legacy-compat';
|
||||
const QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';
|
||||
|
||||
const QUIRKS_MODE_PUBLIC_ID_PREFIXES = [
|
||||
'+//silmaril//dtd html pro v0r11 19970101//',
|
||||
'-//as//dtd html 3.0 aswedit + extensions//',
|
||||
'-//advasoft ltd//dtd html 3.0 aswedit + extensions//',
|
||||
'-//ietf//dtd html 2.0 level 1//',
|
||||
'-//ietf//dtd html 2.0 level 2//',
|
||||
'-//ietf//dtd html 2.0 strict level 1//',
|
||||
'-//ietf//dtd html 2.0 strict level 2//',
|
||||
'-//ietf//dtd html 2.0 strict//',
|
||||
'-//ietf//dtd html 2.0//',
|
||||
'-//ietf//dtd html 2.1e//',
|
||||
'-//ietf//dtd html 3.0//',
|
||||
'-//ietf//dtd html 3.2 final//',
|
||||
'-//ietf//dtd html 3.2//',
|
||||
'-//ietf//dtd html 3//',
|
||||
'-//ietf//dtd html level 0//',
|
||||
'-//ietf//dtd html level 1//',
|
||||
'-//ietf//dtd html level 2//',
|
||||
'-//ietf//dtd html level 3//',
|
||||
'-//ietf//dtd html strict level 0//',
|
||||
'-//ietf//dtd html strict level 1//',
|
||||
'-//ietf//dtd html strict level 2//',
|
||||
'-//ietf//dtd html strict level 3//',
|
||||
'-//ietf//dtd html strict//',
|
||||
'-//ietf//dtd html//',
|
||||
'-//metrius//dtd metrius presentational//',
|
||||
'-//microsoft//dtd internet explorer 2.0 html strict//',
|
||||
'-//microsoft//dtd internet explorer 2.0 html//',
|
||||
'-//microsoft//dtd internet explorer 2.0 tables//',
|
||||
'-//microsoft//dtd internet explorer 3.0 html strict//',
|
||||
'-//microsoft//dtd internet explorer 3.0 html//',
|
||||
'-//microsoft//dtd internet explorer 3.0 tables//',
|
||||
'-//netscape comm. corp.//dtd html//',
|
||||
'-//netscape comm. corp.//dtd strict html//',
|
||||
"-//o'reilly and associates//dtd html 2.0//",
|
||||
"-//o'reilly and associates//dtd html extended 1.0//",
|
||||
"-//o'reilly and associates//dtd html extended relaxed 1.0//",
|
||||
'-//sq//dtd html 2.0 hotmetal + extensions//',
|
||||
'-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//',
|
||||
'-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//',
|
||||
'-//spyglass//dtd html 2.0 extended//',
|
||||
'-//sun microsystems corp.//dtd hotjava html//',
|
||||
'-//sun microsystems corp.//dtd hotjava strict html//',
|
||||
'-//w3c//dtd html 3 1995-03-24//',
|
||||
'-//w3c//dtd html 3.2 draft//',
|
||||
'-//w3c//dtd html 3.2 final//',
|
||||
'-//w3c//dtd html 3.2//',
|
||||
'-//w3c//dtd html 3.2s draft//',
|
||||
'-//w3c//dtd html 4.0 frameset//',
|
||||
'-//w3c//dtd html 4.0 transitional//',
|
||||
'-//w3c//dtd html experimental 19960712//',
|
||||
'-//w3c//dtd html experimental 970421//',
|
||||
'-//w3c//dtd w3 html//',
|
||||
'-//w3o//dtd w3 html 3.0//',
|
||||
'-//webtechs//dtd mozilla html 2.0//',
|
||||
'-//webtechs//dtd mozilla html//'
|
||||
];
|
||||
|
||||
const QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = QUIRKS_MODE_PUBLIC_ID_PREFIXES.concat([
|
||||
'-//w3c//dtd html 4.01 frameset//',
|
||||
'-//w3c//dtd html 4.01 transitional//'
|
||||
]);
|
||||
|
||||
const QUIRKS_MODE_PUBLIC_IDS = ['-//w3o//dtd w3 html strict 3.0//en//', '-/w3c/dtd html 4.0 transitional/en', 'html'];
|
||||
const LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];
|
||||
|
||||
const LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = LIMITED_QUIRKS_PUBLIC_ID_PREFIXES.concat([
|
||||
'-//w3c//dtd html 4.01 frameset//',
|
||||
'-//w3c//dtd html 4.01 transitional//'
|
||||
]);
|
||||
|
||||
//Utils
|
||||
function enquoteDoctypeId(id) {
|
||||
const quote = id.indexOf('"') !== -1 ? "'" : '"';
|
||||
|
||||
return quote + id + quote;
|
||||
}
|
||||
|
||||
function hasPrefix(publicId, prefixes) {
|
||||
for (let i = 0; i < prefixes.length; i++) {
|
||||
if (publicId.indexOf(prefixes[i]) === 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//API
|
||||
exports.isConforming = function(token) {
|
||||
return (
|
||||
token.name === VALID_DOCTYPE_NAME &&
|
||||
token.publicId === null &&
|
||||
(token.systemId === null || token.systemId === VALID_SYSTEM_ID)
|
||||
);
|
||||
};
|
||||
|
||||
exports.getDocumentMode = function(token) {
|
||||
if (token.name !== VALID_DOCTYPE_NAME) {
|
||||
return DOCUMENT_MODE.QUIRKS;
|
||||
}
|
||||
|
||||
const systemId = token.systemId;
|
||||
|
||||
if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {
|
||||
return DOCUMENT_MODE.QUIRKS;
|
||||
}
|
||||
|
||||
let publicId = token.publicId;
|
||||
|
||||
if (publicId !== null) {
|
||||
publicId = publicId.toLowerCase();
|
||||
|
||||
if (QUIRKS_MODE_PUBLIC_IDS.indexOf(publicId) > -1) {
|
||||
return DOCUMENT_MODE.QUIRKS;
|
||||
}
|
||||
|
||||
let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;
|
||||
|
||||
if (hasPrefix(publicId, prefixes)) {
|
||||
return DOCUMENT_MODE.QUIRKS;
|
||||
}
|
||||
|
||||
prefixes =
|
||||
systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;
|
||||
|
||||
if (hasPrefix(publicId, prefixes)) {
|
||||
return DOCUMENT_MODE.LIMITED_QUIRKS;
|
||||
}
|
||||
}
|
||||
|
||||
return DOCUMENT_MODE.NO_QUIRKS;
|
||||
};
|
||||
|
||||
exports.serializeContent = function(name, publicId, systemId) {
|
||||
let str = '!DOCTYPE ';
|
||||
|
||||
if (name) {
|
||||
str += name;
|
||||
}
|
||||
|
||||
if (publicId) {
|
||||
str += ' PUBLIC ' + enquoteDoctypeId(publicId);
|
||||
} else if (systemId) {
|
||||
str += ' SYSTEM';
|
||||
}
|
||||
|
||||
if (systemId !== null) {
|
||||
str += ' ' + enquoteDoctypeId(systemId);
|
||||
}
|
||||
|
||||
return str;
|
||||
};
|
||||
272
extracted-source/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/html.js
generated
vendored
Normal file
272
extracted-source/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/lib/common/html.js
generated
vendored
Normal file
@@ -0,0 +1,272 @@
|
||||
'use strict';
|
||||
|
||||
const NS = (exports.NAMESPACES = {
|
||||
HTML: 'http://www.w3.org/1999/xhtml',
|
||||
MATHML: 'http://www.w3.org/1998/Math/MathML',
|
||||
SVG: 'http://www.w3.org/2000/svg',
|
||||
XLINK: 'http://www.w3.org/1999/xlink',
|
||||
XML: 'http://www.w3.org/XML/1998/namespace',
|
||||
XMLNS: 'http://www.w3.org/2000/xmlns/'
|
||||
});
|
||||
|
||||
exports.ATTRS = {
|
||||
TYPE: 'type',
|
||||
ACTION: 'action',
|
||||
ENCODING: 'encoding',
|
||||
PROMPT: 'prompt',
|
||||
NAME: 'name',
|
||||
COLOR: 'color',
|
||||
FACE: 'face',
|
||||
SIZE: 'size'
|
||||
};
|
||||
|
||||
exports.DOCUMENT_MODE = {
|
||||
NO_QUIRKS: 'no-quirks',
|
||||
QUIRKS: 'quirks',
|
||||
LIMITED_QUIRKS: 'limited-quirks'
|
||||
};
|
||||
|
||||
const $ = (exports.TAG_NAMES = {
|
||||
A: 'a',
|
||||
ADDRESS: 'address',
|
||||
ANNOTATION_XML: 'annotation-xml',
|
||||
APPLET: 'applet',
|
||||
AREA: 'area',
|
||||
ARTICLE: 'article',
|
||||
ASIDE: 'aside',
|
||||
|
||||
B: 'b',
|
||||
BASE: 'base',
|
||||
BASEFONT: 'basefont',
|
||||
BGSOUND: 'bgsound',
|
||||
BIG: 'big',
|
||||
BLOCKQUOTE: 'blockquote',
|
||||
BODY: 'body',
|
||||
BR: 'br',
|
||||
BUTTON: 'button',
|
||||
|
||||
CAPTION: 'caption',
|
||||
CENTER: 'center',
|
||||
CODE: 'code',
|
||||
COL: 'col',
|
||||
COLGROUP: 'colgroup',
|
||||
|
||||
DD: 'dd',
|
||||
DESC: 'desc',
|
||||
DETAILS: 'details',
|
||||
DIALOG: 'dialog',
|
||||
DIR: 'dir',
|
||||
DIV: 'div',
|
||||
DL: 'dl',
|
||||
DT: 'dt',
|
||||
|
||||
EM: 'em',
|
||||
EMBED: 'embed',
|
||||
|
||||
FIELDSET: 'fieldset',
|
||||
FIGCAPTION: 'figcaption',
|
||||
FIGURE: 'figure',
|
||||
FONT: 'font',
|
||||
FOOTER: 'footer',
|
||||
FOREIGN_OBJECT: 'foreignObject',
|
||||
FORM: 'form',
|
||||
FRAME: 'frame',
|
||||
FRAMESET: 'frameset',
|
||||
|
||||
H1: 'h1',
|
||||
H2: 'h2',
|
||||
H3: 'h3',
|
||||
H4: 'h4',
|
||||
H5: 'h5',
|
||||
H6: 'h6',
|
||||
HEAD: 'head',
|
||||
HEADER: 'header',
|
||||
HGROUP: 'hgroup',
|
||||
HR: 'hr',
|
||||
HTML: 'html',
|
||||
|
||||
I: 'i',
|
||||
IMG: 'img',
|
||||
IMAGE: 'image',
|
||||
INPUT: 'input',
|
||||
IFRAME: 'iframe',
|
||||
|
||||
KEYGEN: 'keygen',
|
||||
|
||||
LABEL: 'label',
|
||||
LI: 'li',
|
||||
LINK: 'link',
|
||||
LISTING: 'listing',
|
||||
|
||||
MAIN: 'main',
|
||||
MALIGNMARK: 'malignmark',
|
||||
MARQUEE: 'marquee',
|
||||
MATH: 'math',
|
||||
MENU: 'menu',
|
||||
META: 'meta',
|
||||
MGLYPH: 'mglyph',
|
||||
MI: 'mi',
|
||||
MO: 'mo',
|
||||
MN: 'mn',
|
||||
MS: 'ms',
|
||||
MTEXT: 'mtext',
|
||||
|
||||
NAV: 'nav',
|
||||
NOBR: 'nobr',
|
||||
NOFRAMES: 'noframes',
|
||||
NOEMBED: 'noembed',
|
||||
NOSCRIPT: 'noscript',
|
||||
|
||||
OBJECT: 'object',
|
||||
OL: 'ol',
|
||||
OPTGROUP: 'optgroup',
|
||||
OPTION: 'option',
|
||||
|
||||
P: 'p',
|
||||
PARAM: 'param',
|
||||
PLAINTEXT: 'plaintext',
|
||||
PRE: 'pre',
|
||||
|
||||
RB: 'rb',
|
||||
RP: 'rp',
|
||||
RT: 'rt',
|
||||
RTC: 'rtc',
|
||||
RUBY: 'ruby',
|
||||
|
||||
S: 's',
|
||||
SCRIPT: 'script',
|
||||
SECTION: 'section',
|
||||
SELECT: 'select',
|
||||
SOURCE: 'source',
|
||||
SMALL: 'small',
|
||||
SPAN: 'span',
|
||||
STRIKE: 'strike',
|
||||
STRONG: 'strong',
|
||||
STYLE: 'style',
|
||||
SUB: 'sub',
|
||||
SUMMARY: 'summary',
|
||||
SUP: 'sup',
|
||||
|
||||
TABLE: 'table',
|
||||
TBODY: 'tbody',
|
||||
TEMPLATE: 'template',
|
||||
TEXTAREA: 'textarea',
|
||||
TFOOT: 'tfoot',
|
||||
TD: 'td',
|
||||
TH: 'th',
|
||||
THEAD: 'thead',
|
||||
TITLE: 'title',
|
||||
TR: 'tr',
|
||||
TRACK: 'track',
|
||||
TT: 'tt',
|
||||
|
||||
U: 'u',
|
||||
UL: 'ul',
|
||||
|
||||
SVG: 'svg',
|
||||
|
||||
VAR: 'var',
|
||||
|
||||
WBR: 'wbr',
|
||||
|
||||
XMP: 'xmp'
|
||||
});
|
||||
|
||||
exports.SPECIAL_ELEMENTS = {
|
||||
[NS.HTML]: {
|
||||
[$.ADDRESS]: true,
|
||||
[$.APPLET]: true,
|
||||
[$.AREA]: true,
|
||||
[$.ARTICLE]: true,
|
||||
[$.ASIDE]: true,
|
||||
[$.BASE]: true,
|
||||
[$.BASEFONT]: true,
|
||||
[$.BGSOUND]: true,
|
||||
[$.BLOCKQUOTE]: true,
|
||||
[$.BODY]: true,
|
||||
[$.BR]: true,
|
||||
[$.BUTTON]: true,
|
||||
[$.CAPTION]: true,
|
||||
[$.CENTER]: true,
|
||||
[$.COL]: true,
|
||||
[$.COLGROUP]: true,
|
||||
[$.DD]: true,
|
||||
[$.DETAILS]: true,
|
||||
[$.DIR]: true,
|
||||
[$.DIV]: true,
|
||||
[$.DL]: true,
|
||||
[$.DT]: true,
|
||||
[$.EMBED]: true,
|
||||
[$.FIELDSET]: true,
|
||||
[$.FIGCAPTION]: true,
|
||||
[$.FIGURE]: true,
|
||||
[$.FOOTER]: true,
|
||||
[$.FORM]: true,
|
||||
[$.FRAME]: true,
|
||||
[$.FRAMESET]: true,
|
||||
[$.H1]: true,
|
||||
[$.H2]: true,
|
||||
[$.H3]: true,
|
||||
[$.H4]: true,
|
||||
[$.H5]: true,
|
||||
[$.H6]: true,
|
||||
[$.HEAD]: true,
|
||||
[$.HEADER]: true,
|
||||
[$.HGROUP]: true,
|
||||
[$.HR]: true,
|
||||
[$.HTML]: true,
|
||||
[$.IFRAME]: true,
|
||||
[$.IMG]: true,
|
||||
[$.INPUT]: true,
|
||||
[$.LI]: true,
|
||||
[$.LINK]: true,
|
||||
[$.LISTING]: true,
|
||||
[$.MAIN]: true,
|
||||
[$.MARQUEE]: true,
|
||||
[$.MENU]: true,
|
||||
[$.META]: true,
|
||||
[$.NAV]: true,
|
||||
[$.NOEMBED]: true,
|
||||
[$.NOFRAMES]: true,
|
||||
[$.NOSCRIPT]: true,
|
||||
[$.OBJECT]: true,
|
||||
[$.OL]: true,
|
||||
[$.P]: true,
|
||||
[$.PARAM]: true,
|
||||
[$.PLAINTEXT]: true,
|
||||
[$.PRE]: true,
|
||||
[$.SCRIPT]: true,
|
||||
[$.SECTION]: true,
|
||||
[$.SELECT]: true,
|
||||
[$.SOURCE]: true,
|
||||
[$.STYLE]: true,
|
||||
[$.SUMMARY]: true,
|
||||
[$.TABLE]: true,
|
||||
[$.TBODY]: true,
|
||||
[$.TD]: true,
|
||||
[$.TEMPLATE]: true,
|
||||
[$.TEXTAREA]: true,
|
||||
[$.TFOOT]: true,
|
||||
[$.TH]: true,
|
||||
[$.THEAD]: true,
|
||||
[$.TITLE]: true,
|
||||
[$.TR]: true,
|
||||
[$.TRACK]: true,
|
||||
[$.UL]: true,
|
||||
[$.WBR]: true,
|
||||
[$.XMP]: true
|
||||
},
|
||||
[NS.MATHML]: {
|
||||
[$.MI]: true,
|
||||
[$.MO]: true,
|
||||
[$.MN]: true,
|
||||
[$.MS]: true,
|
||||
[$.MTEXT]: true,
|
||||
[$.ANNOTATION_XML]: true
|
||||
},
|
||||
[NS.SVG]: {
|
||||
[$.TITLE]: true,
|
||||
[$.FOREIGN_OBJECT]: true,
|
||||
[$.DESC]: true
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user