ace/src/XML.js
2010-04-12 09:23:46 +02:00

96 lines
No EOL
1.3 KiB
JavaScript

(function() {
window.XML = {};
// regexp must not have capturing parentheses
// regexps are ordered -> the first match is used
XML.RULES = {
start :
[
{
token: "text",
regex: "<\\!\\[CDATA\\[",
next: "cdata"
},
{
token: "xml_pe",
regex: "<\\?.*?\\?>"
},
{
token: "comment",
regex: "<\\!--",
next: "comment"
},
{
token: "text", // opening tag
regex: "<",
next: "tag"
},
{
token: "text",
regex: "\\s+"
},
{
token: "text",
regex: ".+"
}
],
tag:
[
{
token: "text",
regex: ">",
next: "start"
},
{
token: "keyword",
regex: "[-_a-zA-Z0-9:]+"
},
{
token: "text",
regex: "\\s+"
},
{
token: "string",
regex: '".*?"'
},
{
token: "string",
regex: "'.*?'"
}
],
cdata:
[
{
token: "text",
regex: "\\]\\]>",
next: "start"
},
{
token: "text",
regex: "\\s+"
},
{
token: "text",
regex: ".+"
}
],
comment:
[
{
token: "comment",
regex: ".*?-->",
next: "start"
},
{
token: "comment",
regex: ".+"
}
]
};
})();