shBrushXml

NAML documentation   Watch a video
   Usages of this macro
... in syntax_highlighter.naml
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<macro name="shBrushXml">
  <n.javascript_response
Macro
Requires: servlet
/>
  <![CDATA[
dp.sh.Brushes.Xml=function()
{this.CssClass='dp-xml';this.Style='.dp-xml  .cdata { color: #ff1493; }'+'.dp-xml .tag, .dp-xml .tag-name { color:  #069; font-weight: bold; }'+'.dp-xml .attribute { color: red;  }'+'.dp-xml .attribute-value { color: blue; }';}
dp.sh.Brushes.Xml.prototype=new   dp.sh.Highlighter();dp.sh.Brushes.Xml.Aliases=['xml','xhtml','xslt','html','xhtml'];dp.sh.Brushes.Xml.prototype.ProcessRegexList=function()
{function push(array,value)
{array[array.length]=value;}
var  index=0;var match=null;var regex=null;this.GetMatches(new  RegExp('(\&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\&gt;|>)','gm'),'cdata');this.GetMatches(new   RegExp('(\&lt;|<)!--\\s*.*?\\s*--(\&gt;|>)','gm'),'comments');regex=new   RegExp('([:\\w-\.]+)\\s*=\\s*(".*?"|\'.*?\'|\\w+)*|(\\w+)','gm');while((match=regex.exec(this.code))!=null)
{if(match[1]==null)
{continue;}
push(this.matches,new dp.sh.Match(match[1],match.index,'attribute'));if(match[2]!=undefined)
{push(this.matches,new dp.sh.Match(match[2],match.index+match[0].indexOf(match[2]),'attribute-value'));}}
this.GetMatches(new   RegExp('(\&lt;|<)/*\\?*(?!\\!)|/*\\?*(\&gt;|>)','gm'),'tag');regex=new   RegExp('(?:\&lt;|<)/*\\?*\\s*([:\\w-\.]+)','gm');while((match=regex.exec(this.code))!=null)
{push(this.matches,new dp.sh.Match(match[1],match.index+match[0].indexOf(match[1]),'tag-name'));}}
]]>
</macro>