jquery.syntax.brush.xml.js 1.14 KB
// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License.
Syntax.lib.xmlEntity={pattern:/&\w+;/g,klass:"entity"};Syntax.lib.xmlPercentEscape={pattern:/(%[0-9a-f]{2})/gi,klass:"percent-escape",only:["string"]};
Syntax.register("xml-tag",function(a){a.push({pattern:/<\/?((?:[^:\s>]+:)?)([^\s>]+)(\s[^>]*)?\/?>/g,matches:Syntax.extractMatches({klass:"namespace"},{klass:"tag-name"})});a.push({pattern:/([^=\s]+)=(".*?"|'.*?'|[^\s>]+)/g,matches:Syntax.extractMatches({klass:"attribute",only:["tag"]},{klass:"string",only:["tag"]})});a.push(Syntax.lib.xmlEntity);a.push(Syntax.lib.xmlPercentEscape);a.push(Syntax.lib.singleQuotedString);a.push(Syntax.lib.doubleQuotedString)});
Syntax.register("xml",function(a){a.push({pattern:/(<!(\[CDATA\[)([\s\S]*?)(\]\])>)/gm,matches:Syntax.extractMatches({klass:"cdata",allow:["cdata-content","cdata-tag"]},{klass:"cdata-tag"},{klass:"cdata-content"},{klass:"cdata-tag"})});a.push(Syntax.lib.xmlComment);a.push({pattern:/<[^>\-\s]([^>'"!\/;\?@\[\]^`\{\}\|]|"[^"]*"|'[^']')*[\/?]?>/g,brush:"xml-tag"});a.push(Syntax.lib.xmlEntity);a.push(Syntax.lib.xmlPercentEscape);a.push(Syntax.lib.webLink)});