<Comment>/* </Comment><Keyword>kate:</Keyword><Comment> </Comment><Variable>hl</Variable><String> CartoCSS</String><br/>
<Comment>   This file contains some content coming from</Comment><br/>
<Comment>   https://github.com/gravitystorm/openstreetmap-carto</Comment><br/>
<Comment>   with CC0 license. This file is just for testing</Comment><br/>
<Comment>   katepart highlighting engine.</Comment><br/>
<Comment>   */</Comment><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Comment>/* This is</Comment><br/>
<Comment>a multiline comment. */</Comment><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Comment>// This is a single-line comment.</Comment><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Layer ID>#world</Layer ID><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Comment>// various styles to define colors (all except the color function are rendered the same way):</Comment><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Comment>// Numbers are always treated as floating-point and highlighted. This syntax</Comment><br/>
<Mapnik Symbolizer Parameter>    polygon-opacity</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>50%</Number><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Comment>// is equivalent to</Comment><br/>
<Mapnik Symbolizer Parameter>    polygon-opacity</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>0.5</Number><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Comment>// This is a coma-separated list of numbers:</Comment><br/>
<Mapnik Symbolizer Parameter>    line-dasharray</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>6</Number><Operator>,</Operator><Number>3</Number><Operator>,</Operator><Number>2</Number><Operator>,</Operator><Number>3</Number><Operator>,</Operator><Number>2</Number><Operator>,</Operator><Number>3</Number><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Comment>// Also function calls are possible. Function calls like “url” get special highlighting:</Comment><br/>
<Mapnik Symbolizer Parameter>    shield-file</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Function>url</Function><Operator>(</Operator><Expression String>"myfile.svg"</Expression String><Operator>);</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Comment>// Within function calls, strings can contains fields like [width] which get special highlighting:</Comment><br/>
<Mapnik Symbolizer Parameter>    shield-file</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Function>url</Function><Operator>(</Operator><Expression String>"symbols/shields/motorway_</Expression String><Data Field>[width]</Data Field><Expression String>x</Expression String><Data Field>[height]</Data Field><Expression String>.svg"</Expression String><Operator>);</Operator><br/>
<Mapnik Symbolizer Parameter>    polygon-fill</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Color>white</Color><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// List of known colors</Comment><br/>
<Mapnik Symbolizer Parameter>    polygon-fill</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Color>#ffffff</Color><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// Six-digit hex color</Comment><br/>
<Mapnik Symbolizer Parameter>    polygon-fill</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Color>#fff</Color><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// Three-digit hex color</Comment><br/>
<Mapnik Symbolizer Parameter>    polygon-fill</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> #ffff</Keyword><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// Invalid hex color</Comment><br/>
<Mapnik Symbolizer Parameter>    polygon-fill</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Function>rgba</Function><Operator>(</Operator><Number>255</Number><Operator>,</Operator><Number>255</Number><Operator>,</Operator><Number>255</Number><Operator>,</Operator><Number>1</Number><Operator>);</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// define a color by a special function</Comment><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Comment>// everything else is simply interpreted as keyword:</Comment><br/>
<Mapnik Symbolizer Parameter>    line-clip</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> false</Keyword><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>    line-clip</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> abcdef</Keyword><Operator>;</Operator><br/>
<Operator>}</Operator><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Comment>// You can define macros called “CartoCSS variables” with arbitrary values and types.</Comment><br/>
<Comment>// They do not behave much like variable, but more like macros.</Comment><br/>
<CartoCSS Variable>@myvariable</CartoCSS Variable><Operator>:</Operator><Keyword> </Keyword><Number>15</Number><Operator>;</Operator><br/>
<CartoCSS Variable>@myvariable</CartoCSS Variable><Operator>:</Operator><Keyword> </Keyword><Color>#123456</Color><Operator>;</Operator><br/>
<CartoCSS Variable>@myvariable</CartoCSS Variable><Operator>:</Operator><Keyword> </Keyword><Color>white</Color><Operator>;</Operator><br/>
<CartoCSS Variable>@myothervariable</CartoCSS Variable><Operator>:</Operator><Keyword> </Keyword><CartoCSS Variable>@myvariable</CartoCSS Variable><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// this variable gets defined by the value of another variable</Comment><br/>
<CartoCSS Variable>@myvariable</CartoCSS Variable><Operator>:</Operator><Keyword> </Keyword><Function>darken</Function><Operator>(</Operator><Color>white</Color><Operator>,</Operator><Keyword> </Keyword><Number>5%</Number><Operator>);</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// A variable defined by the result of a function. The function “darken” gets special highlighting.</Comment><br/>
<Comment>// Variables can also contain strings:</Comment><br/>
<CartoCSS Variable>@myvariable</CartoCSS Variable><Operator>:</Operator><Keyword> </Keyword><Expression String>'abc'</Expression String><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Comment>// These variables can be used later as values</Comment><br/>
<Layer ID>#world</Layer ID><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>    polygon-fill</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><CartoCSS Variable>@myvariable</CartoCSS Variable><Operator>;</Operator><br/>
<Operator>}</Operator><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Comment>/* Typically, in MSS files you declare filters like “#world[zoom >= 17]”</Comment><br/>
<Comment>followed by curly braces with parameters like “size” for Mapnik symbolizers like “text”. */</Comment><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Comment>// Each Mapnik symbolizer parameter can be on its own line:</Comment><br/>
<Layer ID>#world</Layer ID><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>17</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>  text-wrap-width</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>20</Number><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>  text-size</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>11</Number><Operator>;</Operator><br/>
<Operator>}</Operator><br/>
<Comment>// Or you can put various of them into the same line:</Comment><br/>
<Layer ID>#world</Layer ID><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>19</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><Mapnik Symbolizer Parameter> text-wrap-width</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>20</Number><Operator>;</Operator><Mapnik Symbolizer Parameter> text-size</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>11</Number><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>}</Operator><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Comment>// It is allowed to omit the final “;” for the last Mapnik symbolizer parameter within a block:</Comment><br/>
<Layer ID>#world</Layer ID><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>19</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><Mapnik Symbolizer Parameter> text-wrap-width</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>20</Number><Operator>;</Operator><Mapnik Symbolizer Parameter> text-size</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>11</Number><Keyword> </Keyword><Operator>}</Operator><br/>
<Comment>// Also after an omitted final “;” the following code is nevertheless highlighted correctly:</Comment><br/>
<Layer ID>#world</Layer ID><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>19</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><Mapnik Symbolizer Parameter> text-wrap-width</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>20</Number><Operator>;</Operator><Mapnik Symbolizer Parameter> text-size</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>11</Number><Keyword> </Keyword><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>}</Operator><br/>
<Comment>// “null” and “zoom” are special keywords within filters, and highlighted as such:</Comment><br/>
<Operator>[</Operator><Data Field>"name" </Data Field><Operator>!=</Operator><Keyword> null</Keyword><Operator>][</Operator><Data Field>"ref" </Data Field><Operator>=</Operator><Keyword> null</Keyword><Operator>][</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>19</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><Mapnik Symbolizer Parameter> text-wrap-width</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>20</Number><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>}</Operator><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Layer ID>#admin-low-zoom</Layer ID><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator><</Operator><Keyword> </Keyword><Number>11</Number><Operator>]</Operator><Mapnik Symbolizer Parameter>, </Mapnik Symbolizer Parameter><Comment>// You can make coma-separated lists of various filters</Comment><br/>
<Layer ID>#admin-mid-zoom</Layer ID><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>11</Number><Operator>][</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator><</Operator><Keyword> </Keyword><Number>13</Number><Operator>]</Operator><Mapnik Symbolizer Parameter>, </Mapnik Symbolizer Parameter><Comment>// like this one.</Comment><br/>
<Layer ID>#admin-high-zoom</Layer ID><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>13</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>  </Mapnik Symbolizer Parameter><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>=</Operator><Keyword> </Keyword><Number>15</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// “zoom” has special behaviour within filters and gets its own highlighting</Comment><br/>
<Mapnik Symbolizer Parameter>  </Mapnik Symbolizer Parameter><Operator>[</Operator><Data Field>admin_level </Data Field><Operator>=</Operator><Keyword> </Keyword><Normal String>'2'</Normal String><Operator>]</Operator><Mapnik Symbolizer Parameter>, </Mapnik Symbolizer Parameter><Comment>// data fields like “admin_level” can be referenced by their name and get highlighting as data fields</Comment><br/>
<Mapnik Symbolizer Parameter>  </Mapnik Symbolizer Parameter><Operator>[</Operator><Data Field>"admin_level" </Data Field><Operator>=</Operator><Keyword> </Keyword><Normal String>'2'</Normal String><Operator>]</Operator><Mapnik Symbolizer Parameter>, </Mapnik Symbolizer Parameter><Comment>// data fields like “admin_level” can be referenced by their name in quotes and get highlighting as data fields</Comment><br/>
<Mapnik Symbolizer Parameter>  </Mapnik Symbolizer Parameter><Operator>[</Operator><Data Field>admin_level </Data Field><Operator>=</Operator><Keyword> </Keyword><Normal String>'3'</Normal String><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>4</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>      </Mapnik Symbolizer Parameter><Comment>// You can create additional “Named instances” of Mapnik symbolizers by adding a “myname/” before the symbolizer.</Comment><br/>
<Mapnik Symbolizer Parameter>      </Mapnik Symbolizer Parameter><Comment>// The name of the named instance gets special highlighting:</Comment><br/>
<Mapnik Symbolizer Parameter>      </Mapnik Symbolizer Parameter><Named instances>background/</Named instances><Mapnik Symbolizer Parameter>line-color</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Color>white</Color><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>      line-color</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><CartoCSS Variable>@admin-boundaries</CartoCSS Variable><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Operator>}</Operator><br/>
<Mapnik Symbolizer Parameter>  </Mapnik Symbolizer Parameter><Operator>}</Operator><br/>
<Operator>}</Operator><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Layer ID>#admin-mid-zoom</Layer ID><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>11</Number><Operator>][</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator><</Operator><Keyword> </Keyword><Number>13</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>  </Mapnik Symbolizer Parameter><Operator>[</Operator><Data Field>admin_level </Data Field><Operator>=</Operator><Keyword> </Keyword><Normal String>'abc'</Normal String><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// The string 'abc' is highlighted as a verbatim string, not as an expression string.</Comment><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Operator>[</Operator><Keyword>zoom</Keyword><Data Field> </Data Field><Operator>>=</Operator><Keyword> </Keyword><Number>4</Number><Operator>]</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>      text-name</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Data Field>[test]</Data Field><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// simplified reference to the value of the data field “test”</Comment><br/>
<Mapnik Symbolizer Parameter>      text-name</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Expression String>"</Expression String><Data Field>[test]</Data Field><Expression String>"</Expression String><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// another reference to the data field “test”, this time within an expression string</Comment><br/>
<Mapnik Symbolizer Parameter>      </Mapnik Symbolizer Parameter><Comment>// A rather complex expression string that will do some math; @zoom is a special runtime value (in spite</Comment><br/>
<Mapnik Symbolizer Parameter>      </Mapnik Symbolizer Parameter><Comment>// of the @ it has nothing to do with ordinary variables):</Comment><br/>
<Mapnik Symbolizer Parameter>      text-size</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Expression String>"(</Expression String><Data Field>[way_area]</Data Field><Expression String>*pow(4,</Expression String><Mapnik Render-Time Variable>@zoom</Mapnik Render-Time Variable><Expression String>)/24505740000)"</Expression String><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>      </Mapnik Symbolizer Parameter><Comment>// Here the same thing as simple expression:</Comment><br/>
<Mapnik Symbolizer Parameter>      </Mapnik Symbolizer Parameter><Comment>// Note that @zoom now is highlighted in another color, because in this context it does not reference to a</Comment><br/>
<Mapnik Symbolizer Parameter>      </Mapnik Symbolizer Parameter><Comment>// runtime variable anymore, but to an ordinary CartoCSS variable:</Comment><br/>
<Mapnik Symbolizer Parameter>      text-size</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Operator>(</Operator><Data Field>[way_area]</Data Field><Operator>*</Operator><Function>pow</Function><Operator>(</Operator><Number>4</Number><Operator>,</Operator><CartoCSS Variable>@zoom</CartoCSS Variable><Operator>)/</Operator><Number>24505740000</Number><Operator>);</Operator><br/>
<Mapnik Symbolizer Parameter>      text-name</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Expression String>"</Expression String><Normal String>'Value: '</Normal String><Data Field>[test]</Data Field><Expression String>"</Expression String><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// A verbatim string 'Value: ' as part of an expression string.</Comment><br/>
<Mapnik Symbolizer Parameter>      text-name</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Expression String>'</Expression String><Normal String>"Value: "</Normal String><Data Field>[test]</Data Field><Expression String>'</Expression String><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// " and ' are interchangeable. The outer is always the expression string and the inner the verbatim string.</Comment><br/>
<Mapnik Symbolizer Parameter>      text-name</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Expression String>"</Expression String><Data Field>[field]</Data Field><Expression String>\n"</Expression String><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// Expression strings however do not have escape sequences, so \n gets no special highlighting here. [field] however is highlighted as data field.</Comment><br/>
<Mapnik Symbolizer Parameter>      text-name</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Expression String>"</Expression String><Data Field>[field]</Data Field><Expression String>+</Expression String><Normal String>'</Normal String><Escape Sequenze>\n</Escape Sequenze><Normal String>'</Normal String><Expression String>+</Expression String><Data Field>[otherfield]</Data Field><Expression String>"</Expression String><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// Inner strings, here the single-quoted string, are normal strings and highlight escape sequences like \n.</Comment><br/>
<Mapnik Symbolizer Parameter>      text-name</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Expression String>"</Expression String><Data Field>[field]</Data Field><Expression String>+</Expression String><Normal String>'[testfield]'</Normal String><Expression String>+</Expression String><Data Field>[otherfield]</Data Field><Expression String>"</Expression String><Operator>;</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// Inner strings, here the single-quoted string, are normal strings and do not highlight any fields like [testfield].</Comment><br/>
<Mapnik Symbolizer Parameter>      text-name</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Data Field>[name]</Data Field><Keyword> </Keyword><Operator>+</Operator><Keyword> </Keyword><Operator>/*</Operator><Keyword> Comments are not allowed within expressions</Keyword><Operator>,</Operator><Keyword> so no special comment highlighting here. </Keyword><Operator>*/</Operator><Keyword> </Keyword><Expression String>"\n"</Expression String><Keyword> </Keyword><Operator>+</Operator><Keyword> </Keyword><Data Field>[ref]</Data Field><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Operator>}</Operator><br/>
<Mapnik Symbolizer Parameter>  </Mapnik Symbolizer Parameter><Operator>}</Operator><br/>
<Operator>}</Operator><br/>
<Mapnik Symbolizer Parameter></Mapnik Symbolizer Parameter><br/>
<Class>.nature</Class><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Comment>// .nature references a class, which is similar to a layer like #nature, so both are rendered the same way</Comment><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Attachment>::fill</Attachment><Mapnik Symbolizer Parameter> </Mapnik Symbolizer Parameter><Operator>{</Operator><br/>
<Mapnik Symbolizer Parameter>        </Mapnik Symbolizer Parameter><Comment>/* The :: syntax defined “attachments” (a sort of sub-layer within normal layers), here “::fill”.</Comment><br/>
<Comment>        Everything that is defined within an attachment is applied in the order of the first occurrence</Comment><br/>
<Comment>        of the attachment, instead of following the normal appliance order. Therefore attachments are</Comment><br/>
<Comment>        highlighted as dsControlFlow by default. */</Comment><br/>
<Mapnik Symbolizer Parameter>        opacity</Mapnik Symbolizer Parameter><Operator>:</Operator><Keyword> </Keyword><Number>0.05</Number><Operator>;</Operator><br/>
<Mapnik Symbolizer Parameter>    </Mapnik Symbolizer Parameter><Operator>}</Operator><br/>
<Operator>}</Operator><br/>
