1<lexer>
2 <config>
3 <name>XML</name>
4 <alias>xml</alias>
5 <filename>*.xml</filename>
6 <filename>*.xsl</filename>
7 <filename>*.rss</filename>
8 <filename>*.xslt</filename>
9 <filename>*.xsd</filename>
10 <filename>*.wsdl</filename>
11 <filename>*.wsf</filename>
12 <filename>*.svg</filename>
13 <filename>*.qrc</filename>
14 <filename>*.csproj</filename>
15 <filename>*.vcxproj</filename>
16 <filename>*.fsproj</filename>
17 <mime_type>text/xml</mime_type>
18 <mime_type>application/xml</mime_type>
19 <mime_type>image/svg+xml</mime_type>
20 <mime_type>application/rss+xml</mime_type>
21 <mime_type>application/atom+xml</mime_type>
22 <dot_all>true</dot_all>
23 </config>
24 <rules>
25 <state name="root">
26 <rule pattern="[^<&]+">
27 <token type="Text"/>
28 </rule>
29 <rule pattern="&\S*?;">
30 <token type="NameEntity"/>
31 </rule>
32 <rule pattern="\<\!\[CDATA\[.*?\]\]\>">
33 <token type="CommentPreproc"/>
34 </rule>
35 <rule pattern="<!--">
36 <token type="Comment"/>
37 <push state="comment"/>
38 </rule>
39 <rule pattern="<\?.*?\?>">
40 <token type="CommentPreproc"/>
41 </rule>
42 <rule pattern="<![^>]*>">
43 <token type="CommentPreproc"/>
44 </rule>
45 <rule pattern="<\s*[\w:.-]+">
46 <token type="NameTag"/>
47 <push state="tag"/>
48 </rule>
49 <rule pattern="<\s*/\s*[\w:.-]+\s*>">
50 <token type="NameTag"/>
51 </rule>
52 </state>
53 <state name="comment">
54 <rule pattern="[^-]+">
55 <token type="Comment"/>
56 </rule>
57 <rule pattern="-->">
58 <token type="Comment"/>
59 <pop depth="1"/>
60 </rule>
61 <rule pattern="-">
62 <token type="Comment"/>
63 </rule>
64 </state>
65 <state name="tag">
66 <rule pattern="\s+">
67 <token type="Text"/>
68 </rule>
69 <rule pattern="[\w.:-]+\s*=">
70 <token type="NameAttribute"/>
71 <push state="attr"/>
72 </rule>
73 <rule pattern="/?\s*>">
74 <token type="NameTag"/>
75 <pop depth="1"/>
76 </rule>
77 </state>
78 <state name="attr">
79 <rule pattern="\s+">
80 <token type="Text"/>
81 </rule>
82 <rule pattern="".*?"">
83 <token type="LiteralString"/>
84 <pop depth="1"/>
85 </rule>
86 <rule pattern="'.*?'">
87 <token type="LiteralString"/>
88 <pop depth="1"/>
89 </rule>
90 <rule pattern="[^\s>]+">
91 <token type="LiteralString"/>
92 <pop depth="1"/>
93 </rule>
94 </state>
95 </rules>
96</lexer>