You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.0 KiB
JavaScript
88 lines
2.0 KiB
JavaScript
7 years ago
|
require("./core");
|
||
|
var types = require("../lib/types");
|
||
|
var def = types.Type.def;
|
||
|
var or = types.Type.or;
|
||
|
var builtin = types.builtInTypes;
|
||
|
var isString = builtin.string;
|
||
|
var isBoolean = builtin.boolean;
|
||
|
|
||
|
// Note that none of these types are buildable because the Mozilla Parser
|
||
|
// API doesn't specify any builder functions, and nobody uses E4X anymore.
|
||
|
|
||
|
def("XMLDefaultDeclaration")
|
||
|
.bases("Declaration")
|
||
|
.field("namespace", def("Expression"));
|
||
|
|
||
|
def("XMLAnyName").bases("Expression");
|
||
|
|
||
|
def("XMLQualifiedIdentifier")
|
||
|
.bases("Expression")
|
||
|
.field("left", or(def("Identifier"), def("XMLAnyName")))
|
||
|
.field("right", or(def("Identifier"), def("Expression")))
|
||
|
.field("computed", isBoolean);
|
||
|
|
||
|
def("XMLFunctionQualifiedIdentifier")
|
||
|
.bases("Expression")
|
||
|
.field("right", or(def("Identifier"), def("Expression")))
|
||
|
.field("computed", isBoolean);
|
||
|
|
||
|
def("XMLAttributeSelector")
|
||
|
.bases("Expression")
|
||
|
.field("attribute", def("Expression"));
|
||
|
|
||
|
def("XMLFilterExpression")
|
||
|
.bases("Expression")
|
||
|
.field("left", def("Expression"))
|
||
|
.field("right", def("Expression"));
|
||
|
|
||
|
def("XMLElement")
|
||
|
.bases("XML", "Expression")
|
||
|
.field("contents", [def("XML")]);
|
||
|
|
||
|
def("XMLList")
|
||
|
.bases("XML", "Expression")
|
||
|
.field("contents", [def("XML")]);
|
||
|
|
||
|
def("XML").bases("Node");
|
||
|
|
||
|
def("XMLEscape")
|
||
|
.bases("XML")
|
||
|
.field("expression", def("Expression"));
|
||
|
|
||
|
def("XMLText")
|
||
|
.bases("XML")
|
||
|
.field("text", isString);
|
||
|
|
||
|
def("XMLStartTag")
|
||
|
.bases("XML")
|
||
|
.field("contents", [def("XML")]);
|
||
|
|
||
|
def("XMLEndTag")
|
||
|
.bases("XML")
|
||
|
.field("contents", [def("XML")]);
|
||
|
|
||
|
def("XMLPointTag")
|
||
|
.bases("XML")
|
||
|
.field("contents", [def("XML")]);
|
||
|
|
||
|
def("XMLName")
|
||
|
.bases("XML")
|
||
|
.field("contents", or(isString, [def("XML")]));
|
||
|
|
||
|
def("XMLAttribute")
|
||
|
.bases("XML")
|
||
|
.field("value", isString);
|
||
|
|
||
|
def("XMLCdata")
|
||
|
.bases("XML")
|
||
|
.field("contents", isString);
|
||
|
|
||
|
def("XMLComment")
|
||
|
.bases("XML")
|
||
|
.field("contents", isString);
|
||
|
|
||
|
def("XMLProcessingInstruction")
|
||
|
.bases("XML")
|
||
|
.field("target", isString)
|
||
|
.field("contents", or(isString, null));
|