5. Mapfile Schema

The full Mapfile schema is shown below. It can also be downloaded directly from this link - mapfile.json. The schema stores minVersion and maxVersion properties in a metadata object for each keyword. This allow Mapfiles to be validated against older or newer releases of MapServer to see if they are still valid.

The Mapfile schema shown below is planned to be proposed as an official Mapfile language schema, subject to voting by the MapServer PSC (Project Steering Committee). Further details on the schema are outlined in the draft RFC (Request for Comment) at MS RFC 123: Mapfile JSON Schema.

5.1. Exporting the Schema

The schema can be exported via the command-line using the following syntax:

mappyfile schema mapfile-schema-7-6.json --version=7.6

The schema can be exported using Python, as shown in the example below:

import json
from mappyfile.validator import Validator

validator = Validator()
jsn = validator.get_versioned_schema(version=8.0)
print(json.dumps(jsn, indent=4))

5.2. Creating a Mappyfile Object with Defaults

import json
import mappyfile

m = mappyfile.create("map", version=8.0)
print(json.dumps(m, indent=4, sort_keys=True))
mappyfile.dumps(m)
{
    "additionalProperties": false, 
    "type": "object", 
    "$schema": "http://json-schema.org/schema#", 
    "patternProperties": {
        "^__[a-z]+__$": {}
    }, 
    "properties": {
        "projection": {
            "oneOf": [
                {
                    "minItems": 1, 
                    "items": {
                        "type": "string"
                    }, 
                    "type": "array"
                }, 
                {
                    "enum": [
                        "auto"
                    ]
                }
            ]
        }, 
        "reference": {
            "additionalProperties": false, 
            "type": "object", 
            "patternProperties": {
                "^__[a-z]+__$": {}
            }, 
            "properties": {
                "status": {
                    "enum": [
                        "on", 
                        "off"
                    ], 
                    "type": "string"
                }, 
                "color": {
                    "oneOf": [
                        {
                            "minItems": 3, 
                            "items": {
                                "minimum": -1, 
                                "type": "number", 
                                "maximum": 255
                            }, 
                            "type": "array", 
                            "maxItems": 3
                        }, 
                        {
                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                            "type": "string", 
                            "example": "#aa33cc"
                        }
                    ]
                }, 
                "image": {
                    "type": "string", 
                    "description": "filename"
                }, 
                "markersize": {
                    "type": "integer"
                }, 
                "__type__": {
                    "enum": [
                        "reference"
                    ]
                }, 
                "outlinecolor": {
                    "oneOf": [
                        {
                            "minItems": 3, 
                            "items": {
                                "minimum": -1, 
                                "type": "number", 
                                "maximum": 255
                            }, 
                            "type": "array", 
                            "maxItems": 3
                        }, 
                        {
                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                            "type": "string", 
                            "example": "#aa33cc"
                        }
                    ]
                }, 
                "maxboxsize": {
                    "type": "integer"
                }, 
                "extent": {
                    "minItems": 4, 
                    "items": {
                        "type": "number"
                    }, 
                    "type": "array", 
                    "maxItems": 4
                }, 
                "marker": {
                    "oneOf": [
                        {
                            "type": "integer"
                        }, 
                        {
                            "type": "string"
                        }
                    ]
                }, 
                "include": {
                    "items": {
                        "type": "string"
                    }, 
                    "type": "array"
                }, 
                "minboxsize": {
                    "type": "integer"
                }, 
                "size": {
                    "minItems": 2, 
                    "items": {
                        "type": "integer"
                    }, 
                    "type": "array", 
                    "maxItems": 2
                }
            }
        }, 
        "defresolution": {
            "type": "number", 
            "metadata": {
                "minVersion": 5.6
            }
        }, 
        "symbols": {
            "items": {
                "additionalProperties": false, 
                "type": "object", 
                "patternProperties": {
                    "^__[a-z]+__$": {}
                }, 
                "properties": {
                    "include": {
                        "items": {
                            "type": "string"
                        }, 
                        "type": "array"
                    }, 
                    "anchorpoint": {
                        "minItems": 2, 
                        "items": [
                            {
                                "minimum": 0, 
                                "type": "number", 
                                "maximum": 1
                            }
                        ], 
                        "type": "array", 
                        "maxItems": 2, 
                        "metadata": {
                            "minVersion": 6.2
                        }
                    }, 
                    "name": {
                        "type": "string"
                    }, 
                    "__type__": {
                        "enum": [
                            "symbol"
                        ]
                    }, 
                    "image": {
                        "type": "string"
                    }, 
                    "character": {
                        "oneOf": [
                            {
                                "minLength": 1, 
                                "type": "string", 
                                "maxLength": 1
                            }, 
                            {
                                "pattern": "^&#[0-9]+;$", 
                                "type": "string", 
                                "example": "➜"
                            }
                        ]
                    }, 
                    "antialias": {
                        "type": "boolean", 
                        "metadata": {
                            "maxVersion": 7.6
                        }
                    }, 
                    "points": {
                        "items": {
                            "items": {
                                "minItems": 2, 
                                "type": "number", 
                                "maxItems": 2
                            }, 
                            "type": "array"
                        }, 
                        "type": "array"
                    }, 
                    "backgroundcolor": {
                        "oneOf": [
                            {
                                "minItems": 3, 
                                "items": {
                                    "minimum": -1, 
                                    "type": "number", 
                                    "maximum": 255
                                }, 
                                "type": "array", 
                                "maxItems": 3
                            }, 
                            {
                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                "type": "string", 
                                "example": "#aa33cc"
                            }
                        ]
                    }, 
                    "font": {
                        "type": "string"
                    }, 
                    "type": {
                        "enum": [
                            "ellipse", 
                            "hatch", 
                            "pixmap", 
                            "svg", 
                            "truetype", 
                            "vector"
                        ]
                    }, 
                    "transparent": {
                        "type": "integer", 
                        "metadata": {
                            "maxVersion": 7.6
                        }
                    }, 
                    "filled": {
                        "type": "boolean"
                    }
                }
            }, 
            "type": "array"
        }, 
        "outputformats": {
            "items": {
                "additionalProperties": false, 
                "type": "object", 
                "patternProperties": {
                    "^__[a-z]+__$": {}
                }, 
                "properties": {
                    "mimetype": {
                        "type": "string"
                    }, 
                    "__comments__": {
                        "type": "object"
                    }, 
                    "extension": {
                        "type": "string"
                    }, 
                    "__type__": {
                        "enum": [
                            "outputformat"
                        ]
                    }, 
                    "__position__": {
                        "type": "object"
                    }, 
                    "driver": {
                        "type": "string"
                    }, 
                    "formatoption": {
                        "items": {
                            "type": "string"
                        }, 
                        "type": "array"
                    }, 
                    "imagemode": {
                        "additionalProperties": false, 
                        "enum": [
                            "pc256", 
                            "rgb", 
                            "rgba", 
                            "byte", 
                            "int16", 
                            "float32", 
                            "feature"
                        ], 
                        "type": "string"
                    }, 
                    "include": {
                        "items": {
                            "type": "string"
                        }, 
                        "type": "array"
                    }, 
                    "transparent": {
                        "enum": [
                            "on", 
                            "off"
                        ], 
                        "type": "string"
                    }, 
                    "name": {
                        "type": "string"
                    }
                }
            }, 
            "type": "array"
        }, 
        "transparent": {
            "allOf": [
                {
                    "enum": [
                        "on", 
                        "off"
                    ], 
                    "type": "string"
                }
            ], 
            "metadata": {
                "maxVersion": 7.6
            }
        }, 
        "imagetype": {
            "default": "png", 
            "type": "string"
        }, 
        "size": {
            "default": [
                -1, 
                -1
            ], 
            "items": {
                "type": "integer"
            }, 
            "type": "array", 
            "minItems": 2, 
            "maxItems": 2
        }, 
        "layers": {
            "items": {
                "additionalProperties": false, 
                "type": "object", 
                "required": [
                    "type"
                ], 
                "patternProperties": {
                    "^__[a-z]+__$": {}
                }, 
                "properties": {
                    "toleranceunits": {
                        "enum": [
                            "pixels", 
                            "feet", 
                            "inches", 
                            "kilometers", 
                            "meters", 
                            "miles", 
                            "nauticalmiles", 
                            "dd"
                        ]
                    }, 
                    "tilesrs": {
                        "type": "string"
                    }, 
                    "opacity": {
                        "type": "integer", 
                        "metadata": {
                            "maxVersion": 7.6
                        }
                    }, 
                    "features": {
                        "items": {
                            "additionalProperties": false, 
                            "type": "object", 
                            "patternProperties": {
                                "^__[a-z]+__$": {}
                            }, 
                            "properties": {
                                "items": {
                                    "type": "string"
                                }, 
                                "__type__": {
                                    "enum": [
                                        "feature"
                                    ]
                                }, 
                                "points": {
                                    "oneOf": [
                                        {
                                            "items": {
                                                "items": {
                                                    "items": {
                                                        "minItems": 2, 
                                                        "type": "number", 
                                                        "maxItems": 2
                                                    }, 
                                                    "type": "array"
                                                }, 
                                                "type": "array"
                                            }, 
                                            "type": "array"
                                        }, 
                                        {
                                            "items": {
                                                "items": {
                                                    "minItems": 2, 
                                                    "type": "number", 
                                                    "maxItems": 2
                                                }, 
                                                "type": "array"
                                            }, 
                                            "type": "array"
                                        }
                                    ]
                                }, 
                                "text": {
                                    "type": "string"
                                }, 
                                "include": {
                                    "items": {
                                        "type": "string"
                                    }, 
                                    "type": "array"
                                }, 
                                "wkt": {
                                    "type": "string"
                                }
                            }
                        }, 
                        "type": "array"
                    }, 
                    "labelitem": {
                        "type": "string"
                    }, 
                    "encoding": {
                        "type": "string", 
                        "metadata": {
                            "minVersion": 7.0
                        }
                    }, 
                    "maxfeatures": {
                        "type": "integer"
                    }, 
                    "maxscaledenom": {
                        "type": "number", 
                        "metadata": {
                            "minVersion": 5.0
                        }
                    }, 
                    "maxscale": {
                        "type": "number", 
                        "metadata": {
                            "maxVersion": 5.0
                        }
                    }, 
                    "connectiontype": {
                        "enum": [
                            "contour", 
                            "kerneldensity", 
                            "idw", 
                            "local", 
                            "ogr", 
                            "oraclespatial", 
                            "plugin", 
                            "postgis", 
                            "sde", 
                            "union", 
                            "uvraster", 
                            "wfs", 
                            "wms", 
                            "mygis"
                        ]
                    }, 
                    "labelminscale": {
                        "type": "number", 
                        "metadata": {
                            "maxVersion": 5.0
                        }
                    }, 
                    "cluster": {
                        "allOf": [
                            {
                                "additionalProperties": false, 
                                "type": "object", 
                                "patternProperties": {
                                    "^__[a-z]+__$": {}
                                }, 
                                "properties": {
                                    "group": {
                                        "anyOf": [
                                            {
                                                "type": "string"
                                            }, 
                                            {
                                                "pattern": "^\\((.*?)\\)$", 
                                                "type": "string", 
                                                "description": "expression"
                                            }, 
                                            {
                                                "pattern": "^/(.*?)/$", 
                                                "type": "string", 
                                                "description": "regex"
                                            }
                                        ]
                                    }, 
                                    "buffer": {
                                        "type": "number"
                                    }, 
                                    "region": {
                                        "oneOf": [
                                            {
                                                "pattern": "^rectangle$", 
                                                "type": "string"
                                            }, 
                                            {
                                                "pattern": "^ellipse$", 
                                                "type": "string"
                                            }
                                        ]
                                    }, 
                                    "__type__": {
                                        "enum": [
                                            "cluster"
                                        ]
                                    }, 
                                    "filter": {
                                        "anyOf": [
                                            {
                                                "type": "string"
                                            }, 
                                            {
                                                "pattern": "^\\((.*?)\\)$", 
                                                "type": "string", 
                                                "description": "expression"
                                            }, 
                                            {
                                                "pattern": "^/(.*?)/$", 
                                                "type": "string", 
                                                "description": "regex"
                                            }
                                        ]
                                    }, 
                                    "include": {
                                        "items": {
                                            "type": "string"
                                        }, 
                                        "type": "array"
                                    }, 
                                    "maxdistance": {
                                        "type": "number"
                                    }
                                }
                            }
                        ], 
                        "metadata": {
                            "minVersion": 6.0
                        }
                    }, 
                    "joins": {
                        "items": {
                            "additionalProperties": false, 
                            "type": "object", 
                            "patternProperties": {
                                "^__[a-z]+__$": {}
                            }, 
                            "properties": {
                                "from": {
                                    "type": "string"
                                }, 
                                "name": {
                                    "type": "string"
                                }, 
                                "footer": {
                                    "type": "string", 
                                    "description": "filename"
                                }, 
                                "__type__": {
                                    "enum": [
                                        "join"
                                    ]
                                }, 
                                "connectiontype": {
                                    "additionalProperties": false, 
                                    "enum": [
                                        "csv", 
                                        "mysql", 
                                        "postgresql"
                                    ], 
                                    "type": "string"
                                }, 
                                "header": {
                                    "type": "string", 
                                    "description": "filename"
                                }, 
                                "connection": {
                                    "type": "string"
                                }, 
                                "template": {
                                    "type": "string", 
                                    "description": "filename"
                                }, 
                                "table": {
                                    "type": "string"
                                }, 
                                "include": {
                                    "items": {
                                        "type": "string"
                                    }, 
                                    "type": "array"
                                }, 
                                "type": {
                                    "additionalProperties": false, 
                                    "enum": [
                                        "one-to-one", 
                                        "one-to-many"
                                    ], 
                                    "type": "string"
                                }, 
                                "to": {
                                    "type": "string"
                                }
                            }
                        }, 
                        "type": "array"
                    }, 
                    "minscaledenom": {
                        "type": "number", 
                        "metadata": {
                            "minVersion": 5.0
                        }
                    }, 
                    "projection": {
                        "oneOf": [
                            {
                                "minItems": 1, 
                                "items": {
                                    "type": "string"
                                }, 
                                "type": "array"
                            }, 
                            {
                                "enum": [
                                    "auto"
                                ]
                            }
                        ]
                    }, 
                    "postlabelcache": {
                        "type": "boolean"
                    }, 
                    "labelmaxscale": {
                        "type": "number", 
                        "metadata": {
                            "maxVersion": 5.0
                        }
                    }, 
                    "group": {
                        "type": "string"
                    }, 
                    "dump": {
                        "oneOf": [
                            {
                                "type": "boolean"
                            }, 
                            {
                                "enum": [
                                    "on", 
                                    "off"
                                ], 
                                "type": "string"
                            }
                        ], 
                        "metadata": {
                            "maxVersion": 7.6
                        }
                    }, 
                    "footer": {
                        "type": "string"
                    }, 
                    "filteritem": {
                        "type": "string"
                    }, 
                    "mingeowidth": {
                        "type": "number", 
                        "metadata": {
                            "minVersion": 5.4
                        }
                    }, 
                    "labelrequires": {
                        "type": "string"
                    }, 
                    "__type__": {
                        "enum": [
                            "layer"
                        ]
                    }, 
                    "transform": {
                        "oneOf": [
                            {
                                "type": "boolean"
                            }, 
                            {
                                "enum": [
                                    "ul", 
                                    "uc", 
                                    "ur", 
                                    "cl", 
                                    "cc", 
                                    "cr", 
                                    "ll", 
                                    "lc", 
                                    "lr"
                                ]
                            }
                        ]
                    }, 
                    "labelcache": {
                        "enum": [
                            "on", 
                            "off"
                        ], 
                        "type": "string"
                    }, 
                    "labelangleitem": {
                        "type": "string", 
                        "metadata": {
                            "maxVersion": 5.6
                        }
                    }, 
                    "metadata": {
                        "additionalProperties": true, 
                        "type": "object", 
                        "properties": {}
                    }, 
                    "classgroup": {
                        "type": "string"
                    }, 
                    "template": {
                        "type": "string"
                    }, 
                    "units": {
                        "default": "meters", 
                        "enum": [
                            "dd", 
                            "feet", 
                            "inches", 
                            "kilometers", 
                            "meters", 
                            "miles", 
                            "nauticalmiles", 
                            "percentages", 
                            "pixels"
                        ]
                    }, 
                    "geomtransform": {
                        "anyOf": [
                            {
                                "type": "string"
                            }, 
                            {
                                "pattern": "^\\((.*?)\\)$", 
                                "type": "string"
                            }
                        ], 
                        "metadata": {
                            "minVersion": 6.4
                        }
                    }, 
                    "include": {
                        "items": {
                            "type": "string"
                        }, 
                        "type": "array"
                    }, 
                    "type": {
                        "enum": [
                            "chart", 
                            "circle", 
                            "line", 
                            "point", 
                            "polygon", 
                            "raster", 
                            "query", 
                            "annotation"
                        ]
                    }, 
                    "labelmaxscaledenom": {
                        "type": "number", 
                        "metadata": {
                            "minVersion": 5.0
                        }
                    }, 
                    "status": {
                        "default": "off", 
                        "enum": [
                            "on", 
                            "off", 
                            "default"
                        ], 
                        "type": "string"
                    }, 
                    "utfdata": {
                        "type": "string", 
                        "metadata": {
                            "minVersion": 7.0
                        }
                    }, 
                    "processing": {
                        "items": {
                            "type": "string"
                        }, 
                        "type": "array"
                    }, 
                    "classitem": {
                        "type": "string"
                    }, 
                    "header": {
                        "type": "string"
                    }, 
                    "symbolscaledenom": {
                        "type": "number"
                    }, 
                    "scaletokens": {
                        "items": {
                            "additionalProperties": false, 
                            "type": "object", 
                            "patternProperties": {
                                "^__[a-z]+__$": {}
                            }, 
                            "properties": {
                                "__type__": {
                                    "enum": [
                                        "scaletoken"
                                    ]
                                }, 
                                "include": {
                                    "items": {
                                        "type": "string"
                                    }, 
                                    "type": "array"
                                }, 
                                "values": {
                                    "additionalProperties": true, 
                                    "type": "object", 
                                    "properties": {}
                                }, 
                                "name": {
                                    "type": "string"
                                }
                            }
                        }, 
                        "type": "array", 
                        "metadata": {
                            "minVersion": 6.4
                        }
                    }, 
                    "connectionoptions": {
                        "allOf": [
                            {
                                "additionalProperties": true, 
                                "type": "object", 
                                "properties": {}, 
                                "metadata": {
                                    "minVersion": 7.6
                                }
                            }
                        ], 
                        "metadata": {
                            "minVersion": 7.6
                        }
                    }, 
                    "grid": {
                        "additionalProperties": false, 
                        "type": "object", 
                        "patternProperties": {
                            "^__[a-z]+__$": {}
                        }, 
                        "properties": {
                            "minarcs": {
                                "default": 16, 
                                "type": "number"
                            }, 
                            "include": {
                                "items": {
                                    "type": "string"
                                }, 
                                "type": "array"
                            }, 
                            "labelformat": {
                                "additionalProperties": true, 
                                "enum": [
                                    "dd", 
                                    "ddmm", 
                                    "ddmmss"
                                ], 
                                "type": "string"
                            }, 
                            "__type__": {
                                "enum": [
                                    "grid"
                                ]
                            }, 
                            "maxinterval": {
                                "type": "number"
                            }, 
                            "minsubdivide": {
                                "type": "number"
                            }, 
                            "mininterval": {
                                "type": "number"
                            }, 
                            "maxsubdivide": {
                                "default": 256, 
                                "type": "number"
                            }, 
                            "maxarcs": {
                                "type": "number"
                            }
                        }
                    }, 
                    "extent": {
                        "minItems": 4, 
                        "items": {
                            "type": "number"
                        }, 
                        "type": "array", 
                        "maxItems": 4
                    }, 
                    "tileitem": {
                        "default": "location", 
                        "type": "string"
                    }, 
                    "minscale": {
                        "type": "number", 
                        "metadata": {
                            "maxVersion": 5.0
                        }
                    }, 
                    "labelminscaledenom": {
                        "type": "number", 
                        "metadata": {
                            "minVersion": 5.0
                        }
                    }, 
                    "data": {
                        "items": {
                            "type": "string"
                        }, 
                        "type": "array"
                    }, 
                    "utfitem": {
                        "type": "string", 
                        "metadata": {
                            "minVersion": 7.0
                        }
                    }, 
                    "maxgeowidth": {
                        "type": "number", 
                        "metadata": {
                            "minVersion": 5.4
                        }
                    }, 
                    "name": {
                        "type": "string"
                    }, 
                    "__comments__": {
                        "type": "object"
                    }, 
                    "sizeunits": {
                        "enum": [
                            "feet", 
                            "inches", 
                            "kilometers", 
                            "meters", 
                            "miles", 
                            "nauticalmiles", 
                            "pixels"
                        ]
                    }, 
                    "tolerance": {
                        "type": "number"
                    }, 
                    "plugin": {
                        "type": "string"
                    }, 
                    "styleitem": {
                        "type": "string"
                    }, 
                    "mask": {
                        "type": "string", 
                        "metadata": {
                            "minVersion": 6.2
                        }
                    }, 
                    "offsite": {
                        "oneOf": [
                            {
                                "minItems": 3, 
                                "items": {
                                    "minimum": -1, 
                                    "type": "number", 
                                    "maximum": 255
                                }, 
                                "type": "array", 
                                "maxItems": 3
                            }, 
                            {
                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                "type": "string", 
                                "example": "#aa33cc"
                            }
                        ]
                    }, 
                    "filter": {
                        "anyOf": [
                            {
                                "type": "string"
                            }, 
                            {
                                "pattern": "^\\((.*?)\\)$", 
                                "type": "string", 
                                "description": "expression"
                            }, 
                            {
                                "pattern": "^/(.*?)/$", 
                                "type": "string", 
                                "description": "regex"
                            }
                        ]
                    }, 
                    "connection": {
                        "type": "string"
                    }, 
                    "classes": {
                        "items": {
                            "additionalProperties": false, 
                            "type": "object", 
                            "patternProperties": {
                                "^__[a-z]+__$": {}
                            }, 
                            "properties": {
                                "status": {
                                    "enum": [
                                        "on", 
                                        "off"
                                    ], 
                                    "type": "string"
                                }, 
                                "color": {
                                    "allOf": [
                                        {
                                            "oneOf": [
                                                {
                                                    "minItems": 3, 
                                                    "items": {
                                                        "minimum": -1, 
                                                        "type": "number", 
                                                        "maximum": 255
                                                    }, 
                                                    "type": "array", 
                                                    "maxItems": 3
                                                }, 
                                                {
                                                    "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                    "type": "string", 
                                                    "example": "#aa33cc"
                                                }
                                            ]
                                        }
                                    ], 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "text": {
                                    "anyOf": [
                                        {
                                            "type": "string"
                                        }, 
                                        {
                                            "pattern": "^\\((.*?)\\)$", 
                                            "type": "string", 
                                            "description": "expression"
                                        }, 
                                        {
                                            "pattern": "^/(.*?)/$", 
                                            "type": "string", 
                                            "description": "regex"
                                        }
                                    ]
                                }, 
                                "labels": {
                                    "items": {
                                        "additionalProperties": false, 
                                        "type": "object", 
                                        "patternProperties": {
                                            "^__[a-z]+__$": {}
                                        }, 
                                        "properties": {
                                            "size": {
                                                "default": 10, 
                                                "anyOf": [
                                                    {
                                                        "type": "integer"
                                                    }, 
                                                    {
                                                        "additionalProperties": false, 
                                                        "enum": [
                                                            "tiny", 
                                                            "small", 
                                                            "medium", 
                                                            "large", 
                                                            "giant"
                                                        ], 
                                                        "type": "string"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.0
                                                        }
                                                    }, 
                                                    {
                                                        "allOf": [
                                                            {
                                                                "anyOf": [
                                                                    {
                                                                        "type": "string"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\((.*?)\\)$", 
                                                                        "type": "string", 
                                                                        "description": "expression"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^/(.*?)/$", 
                                                                        "type": "string", 
                                                                        "description": "regex"
                                                                    }
                                                                ]
                                                            }
                                                        ], 
                                                        "metadata": {
                                                            "minVersion": 7.6
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "force": {
                                                "oneOf": [
                                                    {
                                                        "type": "boolean"
                                                    }, 
                                                    {
                                                        "enum": [
                                                            "group"
                                                        ], 
                                                        "metadata": {
                                                            "minVersion": 6.2
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "encoding": {
                                                "type": "string", 
                                                "metadata": {
                                                    "maxVersion": 7.6
                                                }
                                            }, 
                                            "color": {
                                                "oneOf": [
                                                    {
                                                        "oneOf": [
                                                            {
                                                                "minItems": 3, 
                                                                "items": {
                                                                    "minimum": -1, 
                                                                    "type": "number", 
                                                                    "maximum": 255
                                                                }, 
                                                                "type": "array", 
                                                                "maxItems": 3
                                                            }, 
                                                            {
                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                "type": "string", 
                                                                "example": "#aa33cc"
                                                            }
                                                        ]
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.0
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "text": {
                                                "oneOf": [
                                                    {
                                                        "anyOf": [
                                                            {
                                                                "type": "string"
                                                            }, 
                                                            {
                                                                "pattern": "^\\((.*?)\\)$", 
                                                                "type": "string", 
                                                                "description": "expression"
                                                            }, 
                                                            {
                                                                "pattern": "^/(.*?)/$", 
                                                                "type": "string", 
                                                                "description": "regex"
                                                            }
                                                        ]
                                                    }
                                                ], 
                                                "metadata": {
                                                    "minVersion": 6.2
                                                }
                                            }, 
                                            "minsize": {
                                                "type": "integer"
                                            }, 
                                            "repeatdistance": {
                                                "default": 0, 
                                                "type": "integer", 
                                                "metadata": {
                                                    "minVersion": 5.6
                                                }
                                            }, 
                                            "wrap": {
                                                "minLength": 1, 
                                                "type": "string", 
                                                "maxLength": 1
                                            }, 
                                            "font": {
                                                "anyOf": [
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.6
                                                        }
                                                    }, 
                                                    {
                                                        "type": "string"
                                                    }
                                                ]
                                            }, 
                                            "minscaledenom": {
                                                "type": "number", 
                                                "metadata": {
                                                    "minVersion": 5.4
                                                }
                                            }, 
                                            "outlinecolor": {
                                                "oneOf": [
                                                    {
                                                        "oneOf": [
                                                            {
                                                                "minItems": 3, 
                                                                "items": {
                                                                    "minimum": -1, 
                                                                    "type": "number", 
                                                                    "maximum": 255
                                                                }, 
                                                                "type": "array", 
                                                                "maxItems": 3
                                                            }, 
                                                            {
                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                "type": "string", 
                                                                "example": "#aa33cc"
                                                            }
                                                        ]
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.0
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "angle": {
                                                "oneOf": [
                                                    {
                                                        "additionalProperties": false, 
                                                        "enum": [
                                                            "auto", 
                                                            "auto2", 
                                                            "follow"
                                                        ], 
                                                        "type": "string"
                                                    }, 
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.0
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "__type__": {
                                                "enum": [
                                                    "label"
                                                ]
                                            }, 
                                            "partials": {
                                                "type": "boolean"
                                            }, 
                                            "priority": {
                                                "oneOf": [
                                                    {
                                                        "type": "integer"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }
                                                ], 
                                                "metadata": {
                                                    "minVersion": 5.0
                                                }
                                            }, 
                                            "maxsize": {
                                                "type": "integer"
                                            }, 
                                            "mindistance": {
                                                "type": "integer"
                                            }, 
                                            "outlinewidth": {
                                                "type": "integer"
                                            }, 
                                            "include": {
                                                "items": {
                                                    "type": "string"
                                                }, 
                                                "type": "array"
                                            }, 
                                            "type": {
                                                "additionalProperties": false, 
                                                "enum": [
                                                    "bitmap", 
                                                    "truetype"
                                                ], 
                                                "type": "string"
                                            }, 
                                            "styles": {
                                                "items": {
                                                    "additionalProperties": false, 
                                                    "type": "object", 
                                                    "patternProperties": {
                                                        "^__[a-z]+__$": {}
                                                    }, 
                                                    "properties": {
                                                        "polaroffset": {
                                                            "items": {
                                                                "minItems": 2, 
                                                                "oneOf": [
                                                                    {
                                                                        "type": "number"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute"
                                                                    }
                                                                ], 
                                                                "maxItems": 2
                                                            }, 
                                                            "type": "array", 
                                                            "metadata": {
                                                                "minVersion": 6.2
                                                            }
                                                        }, 
                                                        "color": {
                                                            "oneOf": [
                                                                {
                                                                    "oneOf": [
                                                                        {
                                                                            "minItems": 3, 
                                                                            "items": {
                                                                                "minimum": -1, 
                                                                                "type": "number", 
                                                                                "maximum": 255
                                                                            }, 
                                                                            "type": "array", 
                                                                            "maxItems": 3
                                                                        }, 
                                                                        {
                                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                            "type": "string", 
                                                                            "example": "#aa33cc"
                                                                        }
                                                                    ]
                                                                }, 
                                                                {
                                                                    "pattern": "^\\[(.*?)\\]$", 
                                                                    "type": "string", 
                                                                    "description": "attribute", 
                                                                    "metadata": {
                                                                        "minVersion": 5.0
                                                                    }
                                                                }
                                                            ]
                                                        }, 
                                                        "minwidth": {
                                                            "type": "number"
                                                        }, 
                                                        "minscaledenom": {
                                                            "type": "number"
                                                        }, 
                                                        "size": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "number"
                                                                }, 
                                                                {
                                                                    "pattern": "^\\[(.*?)\\]$", 
                                                                    "type": "string", 
                                                                    "description": "attribute", 
                                                                    "metadata": {
                                                                        "minVersion": 5.0
                                                                    }
                                                                }
                                                            ]
                                                        }, 
                                                        "angle": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "number"
                                                                }, 
                                                                {
                                                                    "pattern": "^\\[(.*?)\\]$", 
                                                                    "type": "string", 
                                                                    "description": "attribute"
                                                                }, 
                                                                {
                                                                    "enum": [
                                                                        "auto"
                                                                    ]
                                                                }
                                                            ]
                                                        }, 
                                                        "maxwidth": {
                                                            "type": "number"
                                                        }, 
                                                        "linecap": {
                                                            "enum": [
                                                                "butt", 
                                                                "round", 
                                                                "square"
                                                            ], 
                                                            "metadata": {
                                                                "minVersion": 6.0
                                                            }
                                                        }, 
                                                        "__type__": {
                                                            "enum": [
                                                                "style"
                                                            ]
                                                        }, 
                                                        "width": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "number"
                                                                }, 
                                                                {
                                                                    "pattern": "^\\[(.*?)\\]$", 
                                                                    "type": "string", 
                                                                    "description": "attribute", 
                                                                    "metadata": {
                                                                        "minVersion": 5.4
                                                                    }
                                                                }
                                                            ]
                                                        }, 
                                                        "maxsize": {
                                                            "type": "number"
                                                        }, 
                                                        "geomtransform": {
                                                            "oneOf": [
                                                                {
                                                                    "enum": [
                                                                        "bbox", 
                                                                        "centroid", 
                                                                        "end", 
                                                                        "labelpnt", 
                                                                        "labelpoly", 
                                                                        "start", 
                                                                        "vertices"
                                                                    ]
                                                                }, 
                                                                {
                                                                    "pattern": "^\\((.*?)\\)$", 
                                                                    "type": "string", 
                                                                    "description": "expression"
                                                                }
                                                            ], 
                                                            "metadata": {
                                                                "minVersion": 5.4
                                                            }
                                                        }, 
                                                        "outlinewidth": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "number"
                                                                }, 
                                                                {
                                                                    "pattern": "^\\[(.*?)\\]$", 
                                                                    "type": "string", 
                                                                    "description": "attribute"
                                                                }
                                                            ], 
                                                            "metadata": {
                                                                "minVersion": 5.4
                                                            }
                                                        }, 
                                                        "include": {
                                                            "items": {
                                                                "type": "string"
                                                            }, 
                                                            "type": "array"
                                                        }, 
                                                        "opacity": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "integer"
                                                                }, 
                                                                {
                                                                    "pattern": "^\\[(.*?)\\]$", 
                                                                    "type": "string", 
                                                                    "description": "attribute", 
                                                                    "metadata": {
                                                                        "minVersion": 5.6
                                                                    }
                                                                }
                                                            ]
                                                        }, 
                                                        "symbol": {
                                                            "oneOf": [
                                                                {
                                                                    "type": "string"
                                                                }, 
                                                                {
                                                                    "type": "number"
                                                                }, 
                                                                {
                                                                    "additionalProperties": false, 
                                                                    "type": "object", 
                                                                    "patternProperties": {
                                                                        "^__[a-z]+__$": {}
                                                                    }, 
                                                                    "properties": {
                                                                        "include": {
                                                                            "items": {
                                                                                "type": "string"
                                                                            }, 
                                                                            "type": "array"
                                                                        }, 
                                                                        "anchorpoint": {
                                                                            "minItems": 2, 
                                                                            "items": [
                                                                                {
                                                                                    "minimum": 0, 
                                                                                    "type": "number", 
                                                                                    "maximum": 1
                                                                                }
                                                                            ], 
                                                                            "type": "array", 
                                                                            "maxItems": 2, 
                                                                            "metadata": {
                                                                                "minVersion": 6.2
                                                                            }
                                                                        }, 
                                                                        "name": {
                                                                            "type": "string"
                                                                        }, 
                                                                        "__type__": {
                                                                            "enum": [
                                                                                "symbol"
                                                                            ]
                                                                        }, 
                                                                        "image": {
                                                                            "type": "string"
                                                                        }, 
                                                                        "character": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "minLength": 1, 
                                                                                    "type": "string", 
                                                                                    "maxLength": 1
                                                                                }, 
                                                                                {
                                                                                    "pattern": "^&#[0-9]+;$", 
                                                                                    "type": "string", 
                                                                                    "example": "➜"
                                                                                }
                                                                            ]
                                                                        }, 
                                                                        "antialias": {
                                                                            "type": "boolean", 
                                                                            "metadata": {
                                                                                "maxVersion": 7.6
                                                                            }
                                                                        }, 
                                                                        "points": {
                                                                            "items": {
                                                                                "items": {
                                                                                    "minItems": 2, 
                                                                                    "type": "number", 
                                                                                    "maxItems": 2
                                                                                }, 
                                                                                "type": "array"
                                                                            }, 
                                                                            "type": "array"
                                                                        }, 
                                                                        "backgroundcolor": {
                                                                            "oneOf": [
                                                                                {
                                                                                    "minItems": 3, 
                                                                                    "items": {
                                                                                        "minimum": -1, 
                                                                                        "type": "number", 
                                                                                        "maximum": 255
                                                                                    }, 
                                                                                    "type": "array", 
                                                                                    "maxItems": 3
                                                                                }, 
                                                                                {
                                                                                    "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                                    "type": "string", 
                                                                                    "example": "#aa33cc"
                                                                                }
                                                                            ]
                                                                        }, 
                                                                        "font": {
                                                                            "type": "string"
                                                                        }, 
                                                                        "type": {
                                                                            "enum": [
                                                                                "ellipse", 
                                                                                "hatch", 
                                                                                "pixmap", 
                                                                                "svg", 
                                                                                "truetype", 
                                                                                "vector"
                                                                            ]
                                                                        }, 
                                                                        "transparent": {
                                                                            "type": "integer", 
                                                                            "metadata": {
                                                                                "maxVersion": 7.6
                                                                            }
                                                                        }, 
                                                                        "filled": {
                                                                            "type": "boolean"
                                                                        }
                                                                    }
                                                                }
                                                            ]
                                                        }, 
                                                        "linejoinmaxsize": {
                                                            "type": "integer", 
                                                            "metadata": {
                                                                "minVersion": 6.0
                                                            }
                                                        }, 
                                                        "antialias": {
                                                            "type": "boolean", 
                                                            "metadata": {
                                                                "maxVersion": 7.6
                                                            }
                                                        }, 
                                                        "gap": {
                                                            "type": "number", 
                                                            "metadata": {
                                                                "minVersion": 6.0
                                                            }
                                                        }, 
                                                        "backgroundcolor": {
                                                            "allOf": [
                                                                {
                                                                    "oneOf": [
                                                                        {
                                                                            "minItems": 3, 
                                                                            "items": {
                                                                                "minimum": -1, 
                                                                                "type": "number", 
                                                                                "maximum": 255
                                                                            }, 
                                                                            "type": "array", 
                                                                            "maxItems": 3
                                                                        }, 
                                                                        {
                                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                            "type": "string", 
                                                                            "example": "#aa33cc"
                                                                        }
                                                                    ]
                                                                }
                                                            ], 
                                                            "metadata": {
                                                                "maxVersion": 7.6
                                                            }
                                                        }, 
                                                        "offset": {
                                                            "items": {
                                                                "minItems": 2, 
                                                                "oneOf": [
                                                                    {
                                                                        "type": "number"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute"
                                                                    }
                                                                ], 
                                                                "maxItems": 2
                                                            }, 
                                                            "type": "array"
                                                        }, 
                                                        "linejoin": {
                                                            "enum": [
                                                                "round", 
                                                                "miter", 
                                                                "bevel", 
                                                                "none"
                                                            ], 
                                                            "metadata": {
                                                                "minVersion": 6.0
                                                            }
                                                        }, 
                                                        "rangeitem": {
                                                            "pattern": "^\\[(.*?)\\]$", 
                                                            "type": "string", 
                                                            "description": "attribute"
                                                        }, 
                                                        "colorrange": {
                                                            "oneOf": [
                                                                {
                                                                    "minItems": 6, 
                                                                    "items": {
                                                                        "type": "integer"
                                                                    }, 
                                                                    "type": "array", 
                                                                    "maxItems": 6
                                                                }, 
                                                                {
                                                                    "minItems": 2, 
                                                                    "items": {
                                                                        "type": "string"
                                                                    }, 
                                                                    "type": "array", 
                                                                    "maxItems": 2
                                                                }
                                                            ]
                                                        }, 
                                                        "minsize": {
                                                            "type": "number"
                                                        }, 
                                                        "initialgap": {
                                                            "type": "number", 
                                                            "metadata": {
                                                                "minVersion": 6.2
                                                            }
                                                        }, 
                                                        "datarange": {
                                                            "minItems": 2, 
                                                            "items": {
                                                                "type": "number"
                                                            }, 
                                                            "type": "array", 
                                                            "maxItems": 2
                                                        }, 
                                                        "maxscaledenom": {
                                                            "type": "number", 
                                                            "metadata": {
                                                                "minVersion": 5.0
                                                            }
                                                        }, 
                                                        "angleitem": {
                                                            "type": "string", 
                                                            "metadata": {
                                                                "maxVersion": 7.6
                                                            }
                                                        }, 
                                                        "pattern": {
                                                            "allOf": [
                                                                {
                                                                    "items": {
                                                                        "items": {
                                                                            "minItems": 2, 
                                                                            "type": "number", 
                                                                            "maxItems": 2
                                                                        }, 
                                                                        "type": "array"
                                                                    }, 
                                                                    "type": "array"
                                                                }
                                                            ], 
                                                            "metadata": {
                                                                "minVersion": 6.0
                                                            }
                                                        }, 
                                                        "outlinecolor": {
                                                            "oneOf": [
                                                                {
                                                                    "oneOf": [
                                                                        {
                                                                            "minItems": 3, 
                                                                            "items": {
                                                                                "minimum": -1, 
                                                                                "type": "number", 
                                                                                "maximum": 255
                                                                            }, 
                                                                            "type": "array", 
                                                                            "maxItems": 3
                                                                        }, 
                                                                        {
                                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                            "type": "string", 
                                                                            "example": "#aa33cc"
                                                                        }
                                                                    ]
                                                                }, 
                                                                {
                                                                    "pattern": "^\\[(.*?)\\]$", 
                                                                    "type": "string", 
                                                                    "description": "attribute", 
                                                                    "metadata": {
                                                                        "minVersion": 5.0
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    }
                                                }, 
                                                "type": "array"
                                            }, 
                                            "buffer": {
                                                "type": "integer"
                                            }, 
                                            "antialias": {
                                                "type": "boolean"
                                            }, 
                                            "backgroundshadowsize": {
                                                "allOf": [
                                                    {
                                                        "items": {
                                                            "items": {
                                                                "minItems": 2, 
                                                                "type": "number", 
                                                                "maxItems": 2
                                                            }, 
                                                            "type": "array"
                                                        }, 
                                                        "type": "array"
                                                    }
                                                ], 
                                                "metadata": {
                                                    "minVersion": 6.0
                                                }
                                            }, 
                                            "shadowcolor": {
                                                "oneOf": [
                                                    {
                                                        "minItems": 3, 
                                                        "items": {
                                                            "minimum": -1, 
                                                            "type": "number", 
                                                            "maximum": 255
                                                        }, 
                                                        "type": "array", 
                                                        "maxItems": 3
                                                    }, 
                                                    {
                                                        "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                        "type": "string", 
                                                        "example": "#aa33cc"
                                                    }
                                                ]
                                            }, 
                                            "backgroundcolor": {
                                                "allOf": [
                                                    {
                                                        "oneOf": [
                                                            {
                                                                "minItems": 3, 
                                                                "items": {
                                                                    "minimum": -1, 
                                                                    "type": "number", 
                                                                    "maximum": 255
                                                                }, 
                                                                "type": "array", 
                                                                "maxItems": 3
                                                            }, 
                                                            {
                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                "type": "string", 
                                                                "example": "#aa33cc"
                                                            }
                                                        ]
                                                    }
                                                ], 
                                                "metadata": {
                                                    "maxVersion": 6.0
                                                }
                                            }, 
                                            "offset": {
                                                "default": [
                                                    0, 
                                                    0
                                                ], 
                                                "oneOf": [
                                                    {
                                                        "minItems": 2, 
                                                        "items": {
                                                            "type": "number"
                                                        }, 
                                                        "type": "array", 
                                                        "maxItems": 2
                                                    }, 
                                                    {
                                                        "minItems": 2, 
                                                        "items": {
                                                            "pattern": "^\\[(.*?)\\]$", 
                                                            "type": "string", 
                                                            "description": "attribute"
                                                        }, 
                                                        "type": "array", 
                                                        "maxItems": 2, 
                                                        "metadata": {
                                                            "minVersion": 7.6
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "backgroundshadowcolor": {
                                                "allOf": [
                                                    {
                                                        "oneOf": [
                                                            {
                                                                "minItems": 3, 
                                                                "items": {
                                                                    "minimum": -1, 
                                                                    "type": "number", 
                                                                    "maximum": 255
                                                                }, 
                                                                "type": "array", 
                                                                "maxItems": 3
                                                            }, 
                                                            {
                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                "type": "string", 
                                                                "example": "#aa33cc"
                                                            }
                                                        ]
                                                    }
                                                ], 
                                                "metadata": {
                                                    "maxVersion": 6.0
                                                }
                                            }, 
                                            "minfeaturesize": {
                                                "oneOf": [
                                                    {
                                                        "enum": [
                                                            "auto"
                                                        ]
                                                    }, 
                                                    {
                                                        "type": "integer"
                                                    }
                                                ]
                                            }, 
                                            "maxoverlapangle": {
                                                "type": "number", 
                                                "metadata": {
                                                    "minVersion": 6.0
                                                }
                                            }, 
                                            "shadowsize": {
                                                "default": [
                                                    1, 
                                                    1
                                                ], 
                                                "oneOf": [
                                                    {
                                                        "minItems": 2, 
                                                        "items": {
                                                            "type": "integer"
                                                        }, 
                                                        "type": "array", 
                                                        "maxItems": 2
                                                    }, 
                                                    {
                                                        "minItems": 2, 
                                                        "items": [
                                                            {
                                                                "type": "integer"
                                                            }, 
                                                            {
                                                                "pattern": "^\\[(.*?)\\]$", 
                                                                "type": "string", 
                                                                "description": "attribute"
                                                            }
                                                        ], 
                                                        "type": "array", 
                                                        "maxItems": 2, 
                                                        "metadata": {
                                                            "minVersion": 6.0
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "align": {
                                                "oneOf": [
                                                    {
                                                        "additionalProperties": false, 
                                                        "enum": [
                                                            "left", 
                                                            "center", 
                                                            "right"
                                                        ], 
                                                        "type": "string"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }
                                                ], 
                                                "metadata": {
                                                    "minVersion": 5.4
                                                }
                                            }, 
                                            "maxscaledenom": {
                                                "type": "number", 
                                                "metadata": {
                                                    "minVersion": 5.4
                                                }
                                            }, 
                                            "maxlength": {
                                                "type": "integer", 
                                                "metadata": {
                                                    "minVersion": 5.4
                                                }
                                            }, 
                                            "position": {
                                                "default": "cc", 
                                                "oneOf": [
                                                    {
                                                        "enum": [
                                                            "auto"
                                                        ]
                                                    }, 
                                                    {
                                                        "enum": [
                                                            "ul", 
                                                            "uc", 
                                                            "ur", 
                                                            "cl", 
                                                            "cc", 
                                                            "cr", 
                                                            "ll", 
                                                            "lc", 
                                                            "lr"
                                                        ]
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }
                                                ]
                                            }, 
                                            "expression": {
                                                "allOf": [
                                                    {
                                                        "anyOf": [
                                                            {
                                                                "type": "string"
                                                            }, 
                                                            {
                                                                "pattern": "^\\((.*?)\\)$", 
                                                                "type": "string", 
                                                                "description": "expression"
                                                            }, 
                                                            {
                                                                "pattern": "^/(.*?)/$", 
                                                                "type": "string", 
                                                                "description": "regex"
                                                            }
                                                        ]
                                                    }
                                                ], 
                                                "metadata": {
                                                    "minVersion": 6.2
                                                }
                                            }
                                        }
                                    }, 
                                    "type": "array"
                                }, 
                                "maxscale": {
                                    "type": "number", 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "minsize": {
                                    "type": "integer", 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "minscaledenom": {
                                    "type": "number"
                                }, 
                                "outlinecolor": {
                                    "allOf": [
                                        {
                                            "oneOf": [
                                                {
                                                    "minItems": 3, 
                                                    "items": {
                                                        "minimum": -1, 
                                                        "type": "number", 
                                                        "maximum": 255
                                                    }, 
                                                    "type": "array", 
                                                    "maxItems": 3
                                                }, 
                                                {
                                                    "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                    "type": "string", 
                                                    "example": "#aa33cc"
                                                }
                                            ]
                                        }
                                    ], 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "group": {
                                    "type": "string"
                                }, 
                                "title": {
                                    "type": "string"
                                }, 
                                "__type__": {
                                    "enum": [
                                        "class"
                                    ]
                                }, 
                                "maxsize": {
                                    "type": "integer", 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "template": {
                                    "type": "string", 
                                    "description": "filename"
                                }, 
                                "size": {
                                    "type": "integer", 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "leader": {
                                    "allOf": [
                                        {
                                            "additionalProperties": false, 
                                            "type": "object", 
                                            "patternProperties": {
                                                "^__[a-z]+__$": {}
                                            }, 
                                            "properties": {
                                                "styles": {
                                                    "minItems": 1, 
                                                    "items": {
                                                        "additionalProperties": false, 
                                                        "type": "object", 
                                                        "patternProperties": {
                                                            "^__[a-z]+__$": {}
                                                        }, 
                                                        "properties": {
                                                            "polaroffset": {
                                                                "items": {
                                                                    "minItems": 2, 
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "number"
                                                                        }, 
                                                                        {
                                                                            "pattern": "^\\[(.*?)\\]$", 
                                                                            "type": "string", 
                                                                            "description": "attribute"
                                                                        }
                                                                    ], 
                                                                    "maxItems": 2
                                                                }, 
                                                                "type": "array", 
                                                                "metadata": {
                                                                    "minVersion": 6.2
                                                                }
                                                            }, 
                                                            "color": {
                                                                "oneOf": [
                                                                    {
                                                                        "oneOf": [
                                                                            {
                                                                                "minItems": 3, 
                                                                                "items": {
                                                                                    "minimum": -1, 
                                                                                    "type": "number", 
                                                                                    "maximum": 255
                                                                                }, 
                                                                                "type": "array", 
                                                                                "maxItems": 3
                                                                            }, 
                                                                            {
                                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                                "type": "string", 
                                                                                "example": "#aa33cc"
                                                                            }
                                                                        ]
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute", 
                                                                        "metadata": {
                                                                            "minVersion": 5.0
                                                                        }
                                                                    }
                                                                ]
                                                            }, 
                                                            "minwidth": {
                                                                "type": "number"
                                                            }, 
                                                            "minscaledenom": {
                                                                "type": "number"
                                                            }, 
                                                            "size": {
                                                                "oneOf": [
                                                                    {
                                                                        "type": "number"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute", 
                                                                        "metadata": {
                                                                            "minVersion": 5.0
                                                                        }
                                                                    }
                                                                ]
                                                            }, 
                                                            "angle": {
                                                                "oneOf": [
                                                                    {
                                                                        "type": "number"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute"
                                                                    }, 
                                                                    {
                                                                        "enum": [
                                                                            "auto"
                                                                        ]
                                                                    }
                                                                ]
                                                            }, 
                                                            "maxwidth": {
                                                                "type": "number"
                                                            }, 
                                                            "linecap": {
                                                                "enum": [
                                                                    "butt", 
                                                                    "round", 
                                                                    "square"
                                                                ], 
                                                                "metadata": {
                                                                    "minVersion": 6.0
                                                                }
                                                            }, 
                                                            "__type__": {
                                                                "enum": [
                                                                    "style"
                                                                ]
                                                            }, 
                                                            "width": {
                                                                "oneOf": [
                                                                    {
                                                                        "type": "number"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute", 
                                                                        "metadata": {
                                                                            "minVersion": 5.4
                                                                        }
                                                                    }
                                                                ]
                                                            }, 
                                                            "maxsize": {
                                                                "type": "number"
                                                            }, 
                                                            "geomtransform": {
                                                                "oneOf": [
                                                                    {
                                                                        "enum": [
                                                                            "bbox", 
                                                                            "centroid", 
                                                                            "end", 
                                                                            "labelpnt", 
                                                                            "labelpoly", 
                                                                            "start", 
                                                                            "vertices"
                                                                        ]
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\((.*?)\\)$", 
                                                                        "type": "string", 
                                                                        "description": "expression"
                                                                    }
                                                                ], 
                                                                "metadata": {
                                                                    "minVersion": 5.4
                                                                }
                                                            }, 
                                                            "outlinewidth": {
                                                                "oneOf": [
                                                                    {
                                                                        "type": "number"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute"
                                                                    }
                                                                ], 
                                                                "metadata": {
                                                                    "minVersion": 5.4
                                                                }
                                                            }, 
                                                            "include": {
                                                                "items": {
                                                                    "type": "string"
                                                                }, 
                                                                "type": "array"
                                                            }, 
                                                            "opacity": {
                                                                "oneOf": [
                                                                    {
                                                                        "type": "integer"
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute", 
                                                                        "metadata": {
                                                                            "minVersion": 5.6
                                                                        }
                                                                    }
                                                                ]
                                                            }, 
                                                            "symbol": {
                                                                "oneOf": [
                                                                    {
                                                                        "type": "string"
                                                                    }, 
                                                                    {
                                                                        "type": "number"
                                                                    }, 
                                                                    {
                                                                        "additionalProperties": false, 
                                                                        "type": "object", 
                                                                        "patternProperties": {
                                                                            "^__[a-z]+__$": {}
                                                                        }, 
                                                                        "properties": {
                                                                            "include": {
                                                                                "items": {
                                                                                    "type": "string"
                                                                                }, 
                                                                                "type": "array"
                                                                            }, 
                                                                            "anchorpoint": {
                                                                                "minItems": 2, 
                                                                                "items": [
                                                                                    {
                                                                                        "minimum": 0, 
                                                                                        "type": "number", 
                                                                                        "maximum": 1
                                                                                    }
                                                                                ], 
                                                                                "type": "array", 
                                                                                "maxItems": 2, 
                                                                                "metadata": {
                                                                                    "minVersion": 6.2
                                                                                }
                                                                            }, 
                                                                            "name": {
                                                                                "type": "string"
                                                                            }, 
                                                                            "__type__": {
                                                                                "enum": [
                                                                                    "symbol"
                                                                                ]
                                                                            }, 
                                                                            "image": {
                                                                                "type": "string"
                                                                            }, 
                                                                            "character": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "minLength": 1, 
                                                                                        "type": "string", 
                                                                                        "maxLength": 1
                                                                                    }, 
                                                                                    {
                                                                                        "pattern": "^&#[0-9]+;$", 
                                                                                        "type": "string", 
                                                                                        "example": "➜"
                                                                                    }
                                                                                ]
                                                                            }, 
                                                                            "antialias": {
                                                                                "type": "boolean", 
                                                                                "metadata": {
                                                                                    "maxVersion": 7.6
                                                                                }
                                                                            }, 
                                                                            "points": {
                                                                                "items": {
                                                                                    "items": {
                                                                                        "minItems": 2, 
                                                                                        "type": "number", 
                                                                                        "maxItems": 2
                                                                                    }, 
                                                                                    "type": "array"
                                                                                }, 
                                                                                "type": "array"
                                                                            }, 
                                                                            "backgroundcolor": {
                                                                                "oneOf": [
                                                                                    {
                                                                                        "minItems": 3, 
                                                                                        "items": {
                                                                                            "minimum": -1, 
                                                                                            "type": "number", 
                                                                                            "maximum": 255
                                                                                        }, 
                                                                                        "type": "array", 
                                                                                        "maxItems": 3
                                                                                    }, 
                                                                                    {
                                                                                        "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                                        "type": "string", 
                                                                                        "example": "#aa33cc"
                                                                                    }
                                                                                ]
                                                                            }, 
                                                                            "font": {
                                                                                "type": "string"
                                                                            }, 
                                                                            "type": {
                                                                                "enum": [
                                                                                    "ellipse", 
                                                                                    "hatch", 
                                                                                    "pixmap", 
                                                                                    "svg", 
                                                                                    "truetype", 
                                                                                    "vector"
                                                                                ]
                                                                            }, 
                                                                            "transparent": {
                                                                                "type": "integer", 
                                                                                "metadata": {
                                                                                    "maxVersion": 7.6
                                                                                }
                                                                            }, 
                                                                            "filled": {
                                                                                "type": "boolean"
                                                                            }
                                                                        }
                                                                    }
                                                                ]
                                                            }, 
                                                            "linejoinmaxsize": {
                                                                "type": "integer", 
                                                                "metadata": {
                                                                    "minVersion": 6.0
                                                                }
                                                            }, 
                                                            "antialias": {
                                                                "type": "boolean", 
                                                                "metadata": {
                                                                    "maxVersion": 7.6
                                                                }
                                                            }, 
                                                            "gap": {
                                                                "type": "number", 
                                                                "metadata": {
                                                                    "minVersion": 6.0
                                                                }
                                                            }, 
                                                            "backgroundcolor": {
                                                                "allOf": [
                                                                    {
                                                                        "oneOf": [
                                                                            {
                                                                                "minItems": 3, 
                                                                                "items": {
                                                                                    "minimum": -1, 
                                                                                    "type": "number", 
                                                                                    "maximum": 255
                                                                                }, 
                                                                                "type": "array", 
                                                                                "maxItems": 3
                                                                            }, 
                                                                            {
                                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                                "type": "string", 
                                                                                "example": "#aa33cc"
                                                                            }
                                                                        ]
                                                                    }
                                                                ], 
                                                                "metadata": {
                                                                    "maxVersion": 7.6
                                                                }
                                                            }, 
                                                            "offset": {
                                                                "items": {
                                                                    "minItems": 2, 
                                                                    "oneOf": [
                                                                        {
                                                                            "type": "number"
                                                                        }, 
                                                                        {
                                                                            "pattern": "^\\[(.*?)\\]$", 
                                                                            "type": "string", 
                                                                            "description": "attribute"
                                                                        }
                                                                    ], 
                                                                    "maxItems": 2
                                                                }, 
                                                                "type": "array"
                                                            }, 
                                                            "linejoin": {
                                                                "enum": [
                                                                    "round", 
                                                                    "miter", 
                                                                    "bevel", 
                                                                    "none"
                                                                ], 
                                                                "metadata": {
                                                                    "minVersion": 6.0
                                                                }
                                                            }, 
                                                            "rangeitem": {
                                                                "pattern": "^\\[(.*?)\\]$", 
                                                                "type": "string", 
                                                                "description": "attribute"
                                                            }, 
                                                            "colorrange": {
                                                                "oneOf": [
                                                                    {
                                                                        "minItems": 6, 
                                                                        "items": {
                                                                            "type": "integer"
                                                                        }, 
                                                                        "type": "array", 
                                                                        "maxItems": 6
                                                                    }, 
                                                                    {
                                                                        "minItems": 2, 
                                                                        "items": {
                                                                            "type": "string"
                                                                        }, 
                                                                        "type": "array", 
                                                                        "maxItems": 2
                                                                    }
                                                                ]
                                                            }, 
                                                            "minsize": {
                                                                "type": "number"
                                                            }, 
                                                            "initialgap": {
                                                                "type": "number", 
                                                                "metadata": {
                                                                    "minVersion": 6.2
                                                                }
                                                            }, 
                                                            "datarange": {
                                                                "minItems": 2, 
                                                                "items": {
                                                                    "type": "number"
                                                                }, 
                                                                "type": "array", 
                                                                "maxItems": 2
                                                            }, 
                                                            "maxscaledenom": {
                                                                "type": "number", 
                                                                "metadata": {
                                                                    "minVersion": 5.0
                                                                }
                                                            }, 
                                                            "angleitem": {
                                                                "type": "string", 
                                                                "metadata": {
                                                                    "maxVersion": 7.6
                                                                }
                                                            }, 
                                                            "pattern": {
                                                                "allOf": [
                                                                    {
                                                                        "items": {
                                                                            "items": {
                                                                                "minItems": 2, 
                                                                                "type": "number", 
                                                                                "maxItems": 2
                                                                            }, 
                                                                            "type": "array"
                                                                        }, 
                                                                        "type": "array"
                                                                    }
                                                                ], 
                                                                "metadata": {
                                                                    "minVersion": 6.0
                                                                }
                                                            }, 
                                                            "outlinecolor": {
                                                                "oneOf": [
                                                                    {
                                                                        "oneOf": [
                                                                            {
                                                                                "minItems": 3, 
                                                                                "items": {
                                                                                    "minimum": -1, 
                                                                                    "type": "number", 
                                                                                    "maximum": 255
                                                                                }, 
                                                                                "type": "array", 
                                                                                "maxItems": 3
                                                                            }, 
                                                                            {
                                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                                "type": "string", 
                                                                                "example": "#aa33cc"
                                                                            }
                                                                        ]
                                                                    }, 
                                                                    {
                                                                        "pattern": "^\\[(.*?)\\]$", 
                                                                        "type": "string", 
                                                                        "description": "attribute", 
                                                                        "metadata": {
                                                                            "minVersion": 5.0
                                                                        }
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    }, 
                                                    "type": "array", 
                                                    "maxItems": 1
                                                }, 
                                                "__type__": {
                                                    "enum": [
                                                        "leader"
                                                    ]
                                                }, 
                                                "include": {
                                                    "items": {
                                                        "type": "string"
                                                    }, 
                                                    "type": "array"
                                                }, 
                                                "maxdistance": {
                                                    "type": "integer"
                                                }, 
                                                "gridstep": {
                                                    "type": "integer"
                                                }
                                            }
                                        }
                                    ], 
                                    "metadata": {
                                        "minVersion": 6.2
                                    }
                                }, 
                                "metadata": {
                                    "additionalProperties": true, 
                                    "type": "object", 
                                    "properties": {}
                                }, 
                                "styles": {
                                    "items": {
                                        "additionalProperties": false, 
                                        "type": "object", 
                                        "patternProperties": {
                                            "^__[a-z]+__$": {}
                                        }, 
                                        "properties": {
                                            "polaroffset": {
                                                "items": {
                                                    "minItems": 2, 
                                                    "oneOf": [
                                                        {
                                                            "type": "number"
                                                        }, 
                                                        {
                                                            "pattern": "^\\[(.*?)\\]$", 
                                                            "type": "string", 
                                                            "description": "attribute"
                                                        }
                                                    ], 
                                                    "maxItems": 2
                                                }, 
                                                "type": "array", 
                                                "metadata": {
                                                    "minVersion": 6.2
                                                }
                                            }, 
                                            "color": {
                                                "oneOf": [
                                                    {
                                                        "oneOf": [
                                                            {
                                                                "minItems": 3, 
                                                                "items": {
                                                                    "minimum": -1, 
                                                                    "type": "number", 
                                                                    "maximum": 255
                                                                }, 
                                                                "type": "array", 
                                                                "maxItems": 3
                                                            }, 
                                                            {
                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                "type": "string", 
                                                                "example": "#aa33cc"
                                                            }
                                                        ]
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.0
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "minwidth": {
                                                "type": "number"
                                            }, 
                                            "minscaledenom": {
                                                "type": "number"
                                            }, 
                                            "size": {
                                                "oneOf": [
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.0
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "angle": {
                                                "oneOf": [
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }, 
                                                    {
                                                        "enum": [
                                                            "auto"
                                                        ]
                                                    }
                                                ]
                                            }, 
                                            "maxwidth": {
                                                "type": "number"
                                            }, 
                                            "linecap": {
                                                "enum": [
                                                    "butt", 
                                                    "round", 
                                                    "square"
                                                ], 
                                                "metadata": {
                                                    "minVersion": 6.0
                                                }
                                            }, 
                                            "__type__": {
                                                "enum": [
                                                    "style"
                                                ]
                                            }, 
                                            "width": {
                                                "oneOf": [
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.4
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "maxsize": {
                                                "type": "number"
                                            }, 
                                            "geomtransform": {
                                                "oneOf": [
                                                    {
                                                        "enum": [
                                                            "bbox", 
                                                            "centroid", 
                                                            "end", 
                                                            "labelpnt", 
                                                            "labelpoly", 
                                                            "start", 
                                                            "vertices"
                                                        ]
                                                    }, 
                                                    {
                                                        "pattern": "^\\((.*?)\\)$", 
                                                        "type": "string", 
                                                        "description": "expression"
                                                    }
                                                ], 
                                                "metadata": {
                                                    "minVersion": 5.4
                                                }
                                            }, 
                                            "outlinewidth": {
                                                "oneOf": [
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }
                                                ], 
                                                "metadata": {
                                                    "minVersion": 5.4
                                                }
                                            }, 
                                            "include": {
                                                "items": {
                                                    "type": "string"
                                                }, 
                                                "type": "array"
                                            }, 
                                            "opacity": {
                                                "oneOf": [
                                                    {
                                                        "type": "integer"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.6
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "symbol": {
                                                "oneOf": [
                                                    {
                                                        "type": "string"
                                                    }, 
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "additionalProperties": false, 
                                                        "type": "object", 
                                                        "patternProperties": {
                                                            "^__[a-z]+__$": {}
                                                        }, 
                                                        "properties": {
                                                            "include": {
                                                                "items": {
                                                                    "type": "string"
                                                                }, 
                                                                "type": "array"
                                                            }, 
                                                            "anchorpoint": {
                                                                "minItems": 2, 
                                                                "items": [
                                                                    {
                                                                        "minimum": 0, 
                                                                        "type": "number", 
                                                                        "maximum": 1
                                                                    }
                                                                ], 
                                                                "type": "array", 
                                                                "maxItems": 2, 
                                                                "metadata": {
                                                                    "minVersion": 6.2
                                                                }
                                                            }, 
                                                            "name": {
                                                                "type": "string"
                                                            }, 
                                                            "__type__": {
                                                                "enum": [
                                                                    "symbol"
                                                                ]
                                                            }, 
                                                            "image": {
                                                                "type": "string"
                                                            }, 
                                                            "character": {
                                                                "oneOf": [
                                                                    {
                                                                        "minLength": 1, 
                                                                        "type": "string", 
                                                                        "maxLength": 1
                                                                    }, 
                                                                    {
                                                                        "pattern": "^&#[0-9]+;$", 
                                                                        "type": "string", 
                                                                        "example": "➜"
                                                                    }
                                                                ]
                                                            }, 
                                                            "antialias": {
                                                                "type": "boolean", 
                                                                "metadata": {
                                                                    "maxVersion": 7.6
                                                                }
                                                            }, 
                                                            "points": {
                                                                "items": {
                                                                    "items": {
                                                                        "minItems": 2, 
                                                                        "type": "number", 
                                                                        "maxItems": 2
                                                                    }, 
                                                                    "type": "array"
                                                                }, 
                                                                "type": "array"
                                                            }, 
                                                            "backgroundcolor": {
                                                                "oneOf": [
                                                                    {
                                                                        "minItems": 3, 
                                                                        "items": {
                                                                            "minimum": -1, 
                                                                            "type": "number", 
                                                                            "maximum": 255
                                                                        }, 
                                                                        "type": "array", 
                                                                        "maxItems": 3
                                                                    }, 
                                                                    {
                                                                        "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                        "type": "string", 
                                                                        "example": "#aa33cc"
                                                                    }
                                                                ]
                                                            }, 
                                                            "font": {
                                                                "type": "string"
                                                            }, 
                                                            "type": {
                                                                "enum": [
                                                                    "ellipse", 
                                                                    "hatch", 
                                                                    "pixmap", 
                                                                    "svg", 
                                                                    "truetype", 
                                                                    "vector"
                                                                ]
                                                            }, 
                                                            "transparent": {
                                                                "type": "integer", 
                                                                "metadata": {
                                                                    "maxVersion": 7.6
                                                                }
                                                            }, 
                                                            "filled": {
                                                                "type": "boolean"
                                                            }
                                                        }
                                                    }
                                                ]
                                            }, 
                                            "linejoinmaxsize": {
                                                "type": "integer", 
                                                "metadata": {
                                                    "minVersion": 6.0
                                                }
                                            }, 
                                            "antialias": {
                                                "type": "boolean", 
                                                "metadata": {
                                                    "maxVersion": 7.6
                                                }
                                            }, 
                                            "gap": {
                                                "type": "number", 
                                                "metadata": {
                                                    "minVersion": 6.0
                                                }
                                            }, 
                                            "backgroundcolor": {
                                                "allOf": [
                                                    {
                                                        "oneOf": [
                                                            {
                                                                "minItems": 3, 
                                                                "items": {
                                                                    "minimum": -1, 
                                                                    "type": "number", 
                                                                    "maximum": 255
                                                                }, 
                                                                "type": "array", 
                                                                "maxItems": 3
                                                            }, 
                                                            {
                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                "type": "string", 
                                                                "example": "#aa33cc"
                                                            }
                                                        ]
                                                    }
                                                ], 
                                                "metadata": {
                                                    "maxVersion": 7.6
                                                }
                                            }, 
                                            "offset": {
                                                "items": {
                                                    "minItems": 2, 
                                                    "oneOf": [
                                                        {
                                                            "type": "number"
                                                        }, 
                                                        {
                                                            "pattern": "^\\[(.*?)\\]$", 
                                                            "type": "string", 
                                                            "description": "attribute"
                                                        }
                                                    ], 
                                                    "maxItems": 2
                                                }, 
                                                "type": "array"
                                            }, 
                                            "linejoin": {
                                                "enum": [
                                                    "round", 
                                                    "miter", 
                                                    "bevel", 
                                                    "none"
                                                ], 
                                                "metadata": {
                                                    "minVersion": 6.0
                                                }
                                            }, 
                                            "rangeitem": {
                                                "pattern": "^\\[(.*?)\\]$", 
                                                "type": "string", 
                                                "description": "attribute"
                                            }, 
                                            "colorrange": {
                                                "oneOf": [
                                                    {
                                                        "minItems": 6, 
                                                        "items": {
                                                            "type": "integer"
                                                        }, 
                                                        "type": "array", 
                                                        "maxItems": 6
                                                    }, 
                                                    {
                                                        "minItems": 2, 
                                                        "items": {
                                                            "type": "string"
                                                        }, 
                                                        "type": "array", 
                                                        "maxItems": 2
                                                    }
                                                ]
                                            }, 
                                            "minsize": {
                                                "type": "number"
                                            }, 
                                            "initialgap": {
                                                "type": "number", 
                                                "metadata": {
                                                    "minVersion": 6.2
                                                }
                                            }, 
                                            "datarange": {
                                                "minItems": 2, 
                                                "items": {
                                                    "type": "number"
                                                }, 
                                                "type": "array", 
                                                "maxItems": 2
                                            }, 
                                            "maxscaledenom": {
                                                "type": "number", 
                                                "metadata": {
                                                    "minVersion": 5.0
                                                }
                                            }, 
                                            "angleitem": {
                                                "type": "string", 
                                                "metadata": {
                                                    "maxVersion": 7.6
                                                }
                                            }, 
                                            "pattern": {
                                                "allOf": [
                                                    {
                                                        "items": {
                                                            "items": {
                                                                "minItems": 2, 
                                                                "type": "number", 
                                                                "maxItems": 2
                                                            }, 
                                                            "type": "array"
                                                        }, 
                                                        "type": "array"
                                                    }
                                                ], 
                                                "metadata": {
                                                    "minVersion": 6.0
                                                }
                                            }, 
                                            "outlinecolor": {
                                                "oneOf": [
                                                    {
                                                        "oneOf": [
                                                            {
                                                                "minItems": 3, 
                                                                "items": {
                                                                    "minimum": -1, 
                                                                    "type": "number", 
                                                                    "maximum": 255
                                                                }, 
                                                                "type": "array", 
                                                                "maxItems": 3
                                                            }, 
                                                            {
                                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                "type": "string", 
                                                                "example": "#aa33cc"
                                                            }
                                                        ]
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute", 
                                                        "metadata": {
                                                            "minVersion": 5.0
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    }, 
                                    "type": "array", 
                                    "metadata": {
                                        "minVersion": 4.0
                                    }
                                }, 
                                "keyimage": {
                                    "type": "string", 
                                    "description": "filename"
                                }, 
                                "symbol": {
                                    "oneOf": [
                                        {
                                            "type": "string"
                                        }, 
                                        {
                                            "type": "number"
                                        }, 
                                        {
                                            "additionalProperties": false, 
                                            "type": "object", 
                                            "patternProperties": {
                                                "^__[a-z]+__$": {}
                                            }, 
                                            "properties": {
                                                "include": {
                                                    "items": {
                                                        "type": "string"
                                                    }, 
                                                    "type": "array"
                                                }, 
                                                "anchorpoint": {
                                                    "minItems": 2, 
                                                    "items": [
                                                        {
                                                            "minimum": 0, 
                                                            "type": "number", 
                                                            "maximum": 1
                                                        }
                                                    ], 
                                                    "type": "array", 
                                                    "maxItems": 2, 
                                                    "metadata": {
                                                        "minVersion": 6.2
                                                    }
                                                }, 
                                                "name": {
                                                    "type": "string"
                                                }, 
                                                "__type__": {
                                                    "enum": [
                                                        "symbol"
                                                    ]
                                                }, 
                                                "image": {
                                                    "type": "string"
                                                }, 
                                                "character": {
                                                    "oneOf": [
                                                        {
                                                            "minLength": 1, 
                                                            "type": "string", 
                                                            "maxLength": 1
                                                        }, 
                                                        {
                                                            "pattern": "^&#[0-9]+;$", 
                                                            "type": "string", 
                                                            "example": "➜"
                                                        }
                                                    ]
                                                }, 
                                                "antialias": {
                                                    "type": "boolean", 
                                                    "metadata": {
                                                        "maxVersion": 7.6
                                                    }
                                                }, 
                                                "points": {
                                                    "items": {
                                                        "items": {
                                                            "minItems": 2, 
                                                            "type": "number", 
                                                            "maxItems": 2
                                                        }, 
                                                        "type": "array"
                                                    }, 
                                                    "type": "array"
                                                }, 
                                                "backgroundcolor": {
                                                    "oneOf": [
                                                        {
                                                            "minItems": 3, 
                                                            "items": {
                                                                "minimum": -1, 
                                                                "type": "number", 
                                                                "maximum": 255
                                                            }, 
                                                            "type": "array", 
                                                            "maxItems": 3
                                                        }, 
                                                        {
                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                            "type": "string", 
                                                            "example": "#aa33cc"
                                                        }
                                                    ]
                                                }, 
                                                "font": {
                                                    "type": "string"
                                                }, 
                                                "type": {
                                                    "enum": [
                                                        "ellipse", 
                                                        "hatch", 
                                                        "pixmap", 
                                                        "svg", 
                                                        "truetype", 
                                                        "vector"
                                                    ]
                                                }, 
                                                "transparent": {
                                                    "type": "integer", 
                                                    "metadata": {
                                                        "maxVersion": 7.6
                                                    }
                                                }, 
                                                "filled": {
                                                    "type": "boolean"
                                                }
                                            }
                                        }
                                    ], 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "backgroundcolor": {
                                    "allOf": [
                                        {
                                            "oneOf": [
                                                {
                                                    "minItems": 3, 
                                                    "items": {
                                                        "minimum": -1, 
                                                        "type": "number", 
                                                        "maximum": 255
                                                    }, 
                                                    "type": "array", 
                                                    "maxItems": 3
                                                }, 
                                                {
                                                    "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                    "type": "string", 
                                                    "example": "#aa33cc"
                                                }
                                            ]
                                        }
                                    ], 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "minscale": {
                                    "type": "number", 
                                    "metadata": {
                                        "maxVersion": 7.6
                                    }
                                }, 
                                "minfeaturesize": {
                                    "type": "number"
                                }, 
                                "include": {
                                    "items": {
                                        "type": "string"
                                    }, 
                                    "type": "array"
                                }, 
                                "name": {
                                    "type": "string"
                                }, 
                                "maxscaledenom": {
                                    "type": "number", 
                                    "metadata": {
                                        "minVersion": 5.0
                                    }
                                }, 
                                "debug": {
                                    "enum": [
                                        "on", 
                                        "off"
                                    ], 
                                    "type": "string"
                                }, 
                                "validation": {
                                    "additionalProperties": true, 
                                    "type": "object", 
                                    "properties": {}
                                }, 
                                "expression": {
                                    "anyOf": [
                                        {
                                            "type": "string"
                                        }, 
                                        {
                                            "pattern": "^\\((.*?)\\)$", 
                                            "type": "string", 
                                            "description": "expression"
                                        }, 
                                        {
                                            "pattern": "^/(.*?)/$", 
                                            "type": "string", 
                                            "description": "regex"
                                        }
                                    ]
                                }
                            }
                        }, 
                        "type": "array"
                    }, 
                    "labelsizeitem": {
                        "type": "string", 
                        "metadata": {
                            "maxVersion": 5.0
                        }
                    }, 
                    "transparency": {
                        "oneOf": [
                            {
                                "type": "integer"
                            }, 
                            {
                                "enum": [
                                    "alpha"
                                ]
                            }
                        ], 
                        "metadata": {
                            "maxVersion": 7.6
                        }
                    }, 
                    "__position__": {
                        "type": "object"
                    }, 
                    "debug": {
                        "allOf": [
                            {
                                "enum": [
                                    "on", 
                                    "off", 
                                    0, 
                                    1, 
                                    2, 
                                    3, 
                                    4, 
                                    5
                                ]
                            }
                        ], 
                        "metadata": {
                            "minVersion": 5.0
                        }
                    }, 
                    "composites": {
                        "items": {
                            "additionalProperties": false, 
                            "type": "object", 
                            "patternProperties": {
                                "^__[a-z]+__$": {}
                            }, 
                            "properties": {
                                "opacity": {
                                    "type": "integer"
                                }, 
                                "include": {
                                    "items": {
                                        "type": "string"
                                    }, 
                                    "type": "array"
                                }, 
                                "__type__": {
                                    "enum": [
                                        "composite"
                                    ]
                                }, 
                                "compop": {
                                    "type": "string"
                                }
                            }
                        }, 
                        "type": "array", 
                        "metadata": {
                            "minVersion": 7.0
                        }
                    }, 
                    "validation": {
                        "additionalProperties": true, 
                        "type": "object", 
                        "properties": {}
                    }, 
                    "requires": {
                        "type": "string"
                    }, 
                    "tileindex": {
                        "type": "string"
                    }
                }
            }, 
            "type": "array"
        }, 
        "web": {
            "additionalProperties": false, 
            "type": "object", 
            "patternProperties": {
                "^__[a-z]+__$": {}
            }, 
            "properties": {
                "queryformat": {
                    "type": "string", 
                    "description": "mime-type"
                }, 
                "temppath": {
                    "type": "string", 
                    "description": "path", 
                    "metadata": {
                        "minVersion": 6.0
                    }
                }, 
                "maxscale": {
                    "type": "number", 
                    "metadata": {
                        "maxVersion": 7.6
                    }
                }, 
                "header": {
                    "type": "string", 
                    "description": "filename"
                }, 
                "minscaledenom": {
                    "type": "number", 
                    "metadata": {
                        "minVersion": 5.0
                    }
                }, 
                "imagepath": {
                    "type": "string", 
                    "description": "path"
                }, 
                "log": {
                    "type": "string", 
                    "description": "filename", 
                    "metadata": {
                        "maxVersion": 8.0
                    }
                }, 
                "mintemplate": {
                    "type": "string"
                }, 
                "__type__": {
                    "enum": [
                        "web"
                    ]
                }, 
                "template": {
                    "type": "string"
                }, 
                "include": {
                    "items": {
                        "type": "string"
                    }, 
                    "type": "array"
                }, 
                "empty": {
                    "type": "string"
                }, 
                "metadata": {
                    "additionalProperties": true, 
                    "type": "object", 
                    "properties": {}
                }, 
                "imageurl": {
                    "type": "string", 
                    "description": "url"
                }, 
                "maxtemplate": {
                    "type": "string"
                }, 
                "browseformat": {
                    "type": "string", 
                    "description": "mime-type", 
                    "metadata": {
                        "minVersion": 4.8
                    }
                }, 
                "minscale": {
                    "type": "number", 
                    "metadata": {
                        "maxVersion": 7.6
                    }
                }, 
                "footer": {
                    "type": "string", 
                    "description": "filename"
                }, 
                "maxscaledenom": {
                    "type": "number", 
                    "metadata": {
                        "minVersion": 5.0
                    }
                }, 
                "legendformat": {
                    "type": "string", 
                    "description": "mime-type", 
                    "metadata": {
                        "minVersion": 4.8
                    }
                }, 
                "error": {
                    "type": "string"
                }, 
                "validation": {
                    "additionalProperties": true, 
                    "type": "object", 
                    "properties": {}
                }
            }
        }, 
        "angle": {
            "type": "number"
        }, 
        "__type__": {
            "type": "string"
        }, 
        "interlace": {
            "oneOf": [
                {
                    "enum": [
                        "on", 
                        "off"
                    ], 
                    "type": "string"
                }
            ], 
            "metadata": {
                "maxVersion": 7.6
            }
        }, 
        "symbolset": {
            "type": "string"
        }, 
        "maxsize": {
            "type": "integer"
        }, 
        "units": {
            "enum": [
                "dd", 
                "feet", 
                "inches", 
                "kilometers", 
                "meters", 
                "miles", 
                "nauticalmiles"
            ]
        }, 
        "include": {
            "items": {
                "type": "string"
            }, 
            "type": "array"
        }, 
        "config": {
            "additionalProperties": true, 
            "type": "object", 
            "properties": {
                "MS_NONSQUARE": {
                    "enum": [
                        "YES", 
                        "NO"
                    ], 
                    "type": "string"
                }, 
                "ON_MISSING_DATA": {
                    "enum": [
                        "FAIL", 
                        "LOG", 
                        "IGNORE"
                    ], 
                    "type": "string"
                }, 
                "CGI_CONTEXT_URL": {
                    "type": "string"
                }, 
                "MS_ERRORFILE": {
                    "type": "string"
                }, 
                "PROJ_LIB": {
                    "type": "string"
                }, 
                "MS_ENCRYPTION_KEY": {
                    "type": "string"
                }
            }
        }, 
        "fontset": {
            "type": "string"
        }, 
        "status": {
            "enum": [
                "on", 
                "off"
            ], 
            "type": "string"
        }, 
        "scalebar": {
            "additionalProperties": false, 
            "type": "object", 
            "patternProperties": {
                "^__[a-z]+__$": {}
            }, 
            "properties": {
                "size": {
                    "default": [
                        200, 
                        3
                    ], 
                    "items": {
                        "type": "integer"
                    }, 
                    "type": "array", 
                    "minItems": 2, 
                    "maxItems": 2
                }, 
                "backgroundcolor": {
                    "oneOf": [
                        {
                            "minItems": 3, 
                            "items": {
                                "minimum": -1, 
                                "type": "number", 
                                "maximum": 255
                            }, 
                            "type": "array", 
                            "maxItems": 3
                        }, 
                        {
                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                            "type": "string", 
                            "example": "#aa33cc"
                        }
                    ]
                }, 
                "color": {
                    "oneOf": [
                        {
                            "minItems": 3, 
                            "items": {
                                "minimum": -1, 
                                "type": "number", 
                                "maximum": 255
                            }, 
                            "type": "array", 
                            "maxItems": 3
                        }, 
                        {
                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                            "type": "string", 
                            "example": "#aa33cc"
                        }
                    ]
                }, 
                "image": {
                    "type": "string", 
                    "description": "filename"
                }, 
                "labels": {
                    "minItems": 0, 
                    "items": {
                        "additionalProperties": false, 
                        "type": "object", 
                        "patternProperties": {
                            "^__[a-z]+__$": {}
                        }, 
                        "properties": {
                            "size": {
                                "default": 10, 
                                "anyOf": [
                                    {
                                        "type": "integer"
                                    }, 
                                    {
                                        "additionalProperties": false, 
                                        "enum": [
                                            "tiny", 
                                            "small", 
                                            "medium", 
                                            "large", 
                                            "giant"
                                        ], 
                                        "type": "string"
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.0
                                        }
                                    }, 
                                    {
                                        "allOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "type": "string"
                                                    }, 
                                                    {
                                                        "pattern": "^\\((.*?)\\)$", 
                                                        "type": "string", 
                                                        "description": "expression"
                                                    }, 
                                                    {
                                                        "pattern": "^/(.*?)/$", 
                                                        "type": "string", 
                                                        "description": "regex"
                                                    }
                                                ]
                                            }
                                        ], 
                                        "metadata": {
                                            "minVersion": 7.6
                                        }
                                    }
                                ]
                            }, 
                            "force": {
                                "oneOf": [
                                    {
                                        "type": "boolean"
                                    }, 
                                    {
                                        "enum": [
                                            "group"
                                        ], 
                                        "metadata": {
                                            "minVersion": 6.2
                                        }
                                    }
                                ]
                            }, 
                            "encoding": {
                                "type": "string", 
                                "metadata": {
                                    "maxVersion": 7.6
                                }
                            }, 
                            "color": {
                                "oneOf": [
                                    {
                                        "oneOf": [
                                            {
                                                "minItems": 3, 
                                                "items": {
                                                    "minimum": -1, 
                                                    "type": "number", 
                                                    "maximum": 255
                                                }, 
                                                "type": "array", 
                                                "maxItems": 3
                                            }, 
                                            {
                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                "type": "string", 
                                                "example": "#aa33cc"
                                            }
                                        ]
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.0
                                        }
                                    }
                                ]
                            }, 
                            "text": {
                                "oneOf": [
                                    {
                                        "anyOf": [
                                            {
                                                "type": "string"
                                            }, 
                                            {
                                                "pattern": "^\\((.*?)\\)$", 
                                                "type": "string", 
                                                "description": "expression"
                                            }, 
                                            {
                                                "pattern": "^/(.*?)/$", 
                                                "type": "string", 
                                                "description": "regex"
                                            }
                                        ]
                                    }
                                ], 
                                "metadata": {
                                    "minVersion": 6.2
                                }
                            }, 
                            "minsize": {
                                "type": "integer"
                            }, 
                            "repeatdistance": {
                                "default": 0, 
                                "type": "integer", 
                                "metadata": {
                                    "minVersion": 5.6
                                }
                            }, 
                            "wrap": {
                                "minLength": 1, 
                                "type": "string", 
                                "maxLength": 1
                            }, 
                            "font": {
                                "anyOf": [
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.6
                                        }
                                    }, 
                                    {
                                        "type": "string"
                                    }
                                ]
                            }, 
                            "minscaledenom": {
                                "type": "number", 
                                "metadata": {
                                    "minVersion": 5.4
                                }
                            }, 
                            "outlinecolor": {
                                "oneOf": [
                                    {
                                        "oneOf": [
                                            {
                                                "minItems": 3, 
                                                "items": {
                                                    "minimum": -1, 
                                                    "type": "number", 
                                                    "maximum": 255
                                                }, 
                                                "type": "array", 
                                                "maxItems": 3
                                            }, 
                                            {
                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                "type": "string", 
                                                "example": "#aa33cc"
                                            }
                                        ]
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.0
                                        }
                                    }
                                ]
                            }, 
                            "angle": {
                                "oneOf": [
                                    {
                                        "additionalProperties": false, 
                                        "enum": [
                                            "auto", 
                                            "auto2", 
                                            "follow"
                                        ], 
                                        "type": "string"
                                    }, 
                                    {
                                        "type": "number"
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.0
                                        }
                                    }
                                ]
                            }, 
                            "__type__": {
                                "enum": [
                                    "label"
                                ]
                            }, 
                            "partials": {
                                "type": "boolean"
                            }, 
                            "priority": {
                                "oneOf": [
                                    {
                                        "type": "integer"
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute"
                                    }
                                ], 
                                "metadata": {
                                    "minVersion": 5.0
                                }
                            }, 
                            "maxsize": {
                                "type": "integer"
                            }, 
                            "mindistance": {
                                "type": "integer"
                            }, 
                            "outlinewidth": {
                                "type": "integer"
                            }, 
                            "include": {
                                "items": {
                                    "type": "string"
                                }, 
                                "type": "array"
                            }, 
                            "type": {
                                "additionalProperties": false, 
                                "enum": [
                                    "bitmap", 
                                    "truetype"
                                ], 
                                "type": "string"
                            }, 
                            "styles": {
                                "items": {
                                    "additionalProperties": false, 
                                    "type": "object", 
                                    "patternProperties": {
                                        "^__[a-z]+__$": {}
                                    }, 
                                    "properties": {
                                        "polaroffset": {
                                            "items": {
                                                "minItems": 2, 
                                                "oneOf": [
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }
                                                ], 
                                                "maxItems": 2
                                            }, 
                                            "type": "array", 
                                            "metadata": {
                                                "minVersion": 6.2
                                            }
                                        }, 
                                        "color": {
                                            "oneOf": [
                                                {
                                                    "oneOf": [
                                                        {
                                                            "minItems": 3, 
                                                            "items": {
                                                                "minimum": -1, 
                                                                "type": "number", 
                                                                "maximum": 255
                                                            }, 
                                                            "type": "array", 
                                                            "maxItems": 3
                                                        }, 
                                                        {
                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                            "type": "string", 
                                                            "example": "#aa33cc"
                                                        }
                                                    ]
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.0
                                                    }
                                                }
                                            ]
                                        }, 
                                        "minwidth": {
                                            "type": "number"
                                        }, 
                                        "minscaledenom": {
                                            "type": "number"
                                        }, 
                                        "size": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.0
                                                    }
                                                }
                                            ]
                                        }, 
                                        "angle": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute"
                                                }, 
                                                {
                                                    "enum": [
                                                        "auto"
                                                    ]
                                                }
                                            ]
                                        }, 
                                        "maxwidth": {
                                            "type": "number"
                                        }, 
                                        "linecap": {
                                            "enum": [
                                                "butt", 
                                                "round", 
                                                "square"
                                            ], 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "__type__": {
                                            "enum": [
                                                "style"
                                            ]
                                        }, 
                                        "width": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.4
                                                    }
                                                }
                                            ]
                                        }, 
                                        "maxsize": {
                                            "type": "number"
                                        }, 
                                        "geomtransform": {
                                            "oneOf": [
                                                {
                                                    "enum": [
                                                        "bbox", 
                                                        "centroid", 
                                                        "end", 
                                                        "labelpnt", 
                                                        "labelpoly", 
                                                        "start", 
                                                        "vertices"
                                                    ]
                                                }, 
                                                {
                                                    "pattern": "^\\((.*?)\\)$", 
                                                    "type": "string", 
                                                    "description": "expression"
                                                }
                                            ], 
                                            "metadata": {
                                                "minVersion": 5.4
                                            }
                                        }, 
                                        "outlinewidth": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute"
                                                }
                                            ], 
                                            "metadata": {
                                                "minVersion": 5.4
                                            }
                                        }, 
                                        "include": {
                                            "items": {
                                                "type": "string"
                                            }, 
                                            "type": "array"
                                        }, 
                                        "opacity": {
                                            "oneOf": [
                                                {
                                                    "type": "integer"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.6
                                                    }
                                                }
                                            ]
                                        }, 
                                        "symbol": {
                                            "oneOf": [
                                                {
                                                    "type": "string"
                                                }, 
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "additionalProperties": false, 
                                                    "type": "object", 
                                                    "patternProperties": {
                                                        "^__[a-z]+__$": {}
                                                    }, 
                                                    "properties": {
                                                        "include": {
                                                            "items": {
                                                                "type": "string"
                                                            }, 
                                                            "type": "array"
                                                        }, 
                                                        "anchorpoint": {
                                                            "minItems": 2, 
                                                            "items": [
                                                                {
                                                                    "minimum": 0, 
                                                                    "type": "number", 
                                                                    "maximum": 1
                                                                }
                                                            ], 
                                                            "type": "array", 
                                                            "maxItems": 2, 
                                                            "metadata": {
                                                                "minVersion": 6.2
                                                            }
                                                        }, 
                                                        "name": {
                                                            "type": "string"
                                                        }, 
                                                        "__type__": {
                                                            "enum": [
                                                                "symbol"
                                                            ]
                                                        }, 
                                                        "image": {
                                                            "type": "string"
                                                        }, 
                                                        "character": {
                                                            "oneOf": [
                                                                {
                                                                    "minLength": 1, 
                                                                    "type": "string", 
                                                                    "maxLength": 1
                                                                }, 
                                                                {
                                                                    "pattern": "^&#[0-9]+;$", 
                                                                    "type": "string", 
                                                                    "example": "➜"
                                                                }
                                                            ]
                                                        }, 
                                                        "antialias": {
                                                            "type": "boolean", 
                                                            "metadata": {
                                                                "maxVersion": 7.6
                                                            }
                                                        }, 
                                                        "points": {
                                                            "items": {
                                                                "items": {
                                                                    "minItems": 2, 
                                                                    "type": "number", 
                                                                    "maxItems": 2
                                                                }, 
                                                                "type": "array"
                                                            }, 
                                                            "type": "array"
                                                        }, 
                                                        "backgroundcolor": {
                                                            "oneOf": [
                                                                {
                                                                    "minItems": 3, 
                                                                    "items": {
                                                                        "minimum": -1, 
                                                                        "type": "number", 
                                                                        "maximum": 255
                                                                    }, 
                                                                    "type": "array", 
                                                                    "maxItems": 3
                                                                }, 
                                                                {
                                                                    "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                    "type": "string", 
                                                                    "example": "#aa33cc"
                                                                }
                                                            ]
                                                        }, 
                                                        "font": {
                                                            "type": "string"
                                                        }, 
                                                        "type": {
                                                            "enum": [
                                                                "ellipse", 
                                                                "hatch", 
                                                                "pixmap", 
                                                                "svg", 
                                                                "truetype", 
                                                                "vector"
                                                            ]
                                                        }, 
                                                        "transparent": {
                                                            "type": "integer", 
                                                            "metadata": {
                                                                "maxVersion": 7.6
                                                            }
                                                        }, 
                                                        "filled": {
                                                            "type": "boolean"
                                                        }
                                                    }
                                                }
                                            ]
                                        }, 
                                        "linejoinmaxsize": {
                                            "type": "integer", 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "antialias": {
                                            "type": "boolean", 
                                            "metadata": {
                                                "maxVersion": 7.6
                                            }
                                        }, 
                                        "gap": {
                                            "type": "number", 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "backgroundcolor": {
                                            "allOf": [
                                                {
                                                    "oneOf": [
                                                        {
                                                            "minItems": 3, 
                                                            "items": {
                                                                "minimum": -1, 
                                                                "type": "number", 
                                                                "maximum": 255
                                                            }, 
                                                            "type": "array", 
                                                            "maxItems": 3
                                                        }, 
                                                        {
                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                            "type": "string", 
                                                            "example": "#aa33cc"
                                                        }
                                                    ]
                                                }
                                            ], 
                                            "metadata": {
                                                "maxVersion": 7.6
                                            }
                                        }, 
                                        "offset": {
                                            "items": {
                                                "minItems": 2, 
                                                "oneOf": [
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }
                                                ], 
                                                "maxItems": 2
                                            }, 
                                            "type": "array"
                                        }, 
                                        "linejoin": {
                                            "enum": [
                                                "round", 
                                                "miter", 
                                                "bevel", 
                                                "none"
                                            ], 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "rangeitem": {
                                            "pattern": "^\\[(.*?)\\]$", 
                                            "type": "string", 
                                            "description": "attribute"
                                        }, 
                                        "colorrange": {
                                            "oneOf": [
                                                {
                                                    "minItems": 6, 
                                                    "items": {
                                                        "type": "integer"
                                                    }, 
                                                    "type": "array", 
                                                    "maxItems": 6
                                                }, 
                                                {
                                                    "minItems": 2, 
                                                    "items": {
                                                        "type": "string"
                                                    }, 
                                                    "type": "array", 
                                                    "maxItems": 2
                                                }
                                            ]
                                        }, 
                                        "minsize": {
                                            "type": "number"
                                        }, 
                                        "initialgap": {
                                            "type": "number", 
                                            "metadata": {
                                                "minVersion": 6.2
                                            }
                                        }, 
                                        "datarange": {
                                            "minItems": 2, 
                                            "items": {
                                                "type": "number"
                                            }, 
                                            "type": "array", 
                                            "maxItems": 2
                                        }, 
                                        "maxscaledenom": {
                                            "type": "number", 
                                            "metadata": {
                                                "minVersion": 5.0
                                            }
                                        }, 
                                        "angleitem": {
                                            "type": "string", 
                                            "metadata": {
                                                "maxVersion": 7.6
                                            }
                                        }, 
                                        "pattern": {
                                            "allOf": [
                                                {
                                                    "items": {
                                                        "items": {
                                                            "minItems": 2, 
                                                            "type": "number", 
                                                            "maxItems": 2
                                                        }, 
                                                        "type": "array"
                                                    }, 
                                                    "type": "array"
                                                }
                                            ], 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "outlinecolor": {
                                            "oneOf": [
                                                {
                                                    "oneOf": [
                                                        {
                                                            "minItems": 3, 
                                                            "items": {
                                                                "minimum": -1, 
                                                                "type": "number", 
                                                                "maximum": 255
                                                            }, 
                                                            "type": "array", 
                                                            "maxItems": 3
                                                        }, 
                                                        {
                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                            "type": "string", 
                                                            "example": "#aa33cc"
                                                        }
                                                    ]
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.0
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                }, 
                                "type": "array"
                            }, 
                            "buffer": {
                                "type": "integer"
                            }, 
                            "antialias": {
                                "type": "boolean"
                            }, 
                            "backgroundshadowsize": {
                                "allOf": [
                                    {
                                        "items": {
                                            "items": {
                                                "minItems": 2, 
                                                "type": "number", 
                                                "maxItems": 2
                                            }, 
                                            "type": "array"
                                        }, 
                                        "type": "array"
                                    }
                                ], 
                                "metadata": {
                                    "minVersion": 6.0
                                }
                            }, 
                            "shadowcolor": {
                                "oneOf": [
                                    {
                                        "minItems": 3, 
                                        "items": {
                                            "minimum": -1, 
                                            "type": "number", 
                                            "maximum": 255
                                        }, 
                                        "type": "array", 
                                        "maxItems": 3
                                    }, 
                                    {
                                        "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                        "type": "string", 
                                        "example": "#aa33cc"
                                    }
                                ]
                            }, 
                            "backgroundcolor": {
                                "allOf": [
                                    {
                                        "oneOf": [
                                            {
                                                "minItems": 3, 
                                                "items": {
                                                    "minimum": -1, 
                                                    "type": "number", 
                                                    "maximum": 255
                                                }, 
                                                "type": "array", 
                                                "maxItems": 3
                                            }, 
                                            {
                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                "type": "string", 
                                                "example": "#aa33cc"
                                            }
                                        ]
                                    }
                                ], 
                                "metadata": {
                                    "maxVersion": 6.0
                                }
                            }, 
                            "offset": {
                                "default": [
                                    0, 
                                    0
                                ], 
                                "oneOf": [
                                    {
                                        "minItems": 2, 
                                        "items": {
                                            "type": "number"
                                        }, 
                                        "type": "array", 
                                        "maxItems": 2
                                    }, 
                                    {
                                        "minItems": 2, 
                                        "items": {
                                            "pattern": "^\\[(.*?)\\]$", 
                                            "type": "string", 
                                            "description": "attribute"
                                        }, 
                                        "type": "array", 
                                        "maxItems": 2, 
                                        "metadata": {
                                            "minVersion": 7.6
                                        }
                                    }
                                ]
                            }, 
                            "backgroundshadowcolor": {
                                "allOf": [
                                    {
                                        "oneOf": [
                                            {
                                                "minItems": 3, 
                                                "items": {
                                                    "minimum": -1, 
                                                    "type": "number", 
                                                    "maximum": 255
                                                }, 
                                                "type": "array", 
                                                "maxItems": 3
                                            }, 
                                            {
                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                "type": "string", 
                                                "example": "#aa33cc"
                                            }
                                        ]
                                    }
                                ], 
                                "metadata": {
                                    "maxVersion": 6.0
                                }
                            }, 
                            "minfeaturesize": {
                                "oneOf": [
                                    {
                                        "enum": [
                                            "auto"
                                        ]
                                    }, 
                                    {
                                        "type": "integer"
                                    }
                                ]
                            }, 
                            "maxoverlapangle": {
                                "type": "number", 
                                "metadata": {
                                    "minVersion": 6.0
                                }
                            }, 
                            "shadowsize": {
                                "default": [
                                    1, 
                                    1
                                ], 
                                "oneOf": [
                                    {
                                        "minItems": 2, 
                                        "items": {
                                            "type": "integer"
                                        }, 
                                        "type": "array", 
                                        "maxItems": 2
                                    }, 
                                    {
                                        "minItems": 2, 
                                        "items": [
                                            {
                                                "type": "integer"
                                            }, 
                                            {
                                                "pattern": "^\\[(.*?)\\]$", 
                                                "type": "string", 
                                                "description": "attribute"
                                            }
                                        ], 
                                        "type": "array", 
                                        "maxItems": 2, 
                                        "metadata": {
                                            "minVersion": 6.0
                                        }
                                    }
                                ]
                            }, 
                            "align": {
                                "oneOf": [
                                    {
                                        "additionalProperties": false, 
                                        "enum": [
                                            "left", 
                                            "center", 
                                            "right"
                                        ], 
                                        "type": "string"
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute"
                                    }
                                ], 
                                "metadata": {
                                    "minVersion": 5.4
                                }
                            }, 
                            "maxscaledenom": {
                                "type": "number", 
                                "metadata": {
                                    "minVersion": 5.4
                                }
                            }, 
                            "maxlength": {
                                "type": "integer", 
                                "metadata": {
                                    "minVersion": 5.4
                                }
                            }, 
                            "position": {
                                "default": "cc", 
                                "oneOf": [
                                    {
                                        "enum": [
                                            "auto"
                                        ]
                                    }, 
                                    {
                                        "enum": [
                                            "ul", 
                                            "uc", 
                                            "ur", 
                                            "cl", 
                                            "cc", 
                                            "cr", 
                                            "ll", 
                                            "lc", 
                                            "lr"
                                        ]
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute"
                                    }
                                ]
                            }, 
                            "expression": {
                                "allOf": [
                                    {
                                        "anyOf": [
                                            {
                                                "type": "string"
                                            }, 
                                            {
                                                "pattern": "^\\((.*?)\\)$", 
                                                "type": "string", 
                                                "description": "expression"
                                            }, 
                                            {
                                                "pattern": "^/(.*?)/$", 
                                                "type": "string", 
                                                "description": "regex"
                                            }
                                        ]
                                    }
                                ], 
                                "metadata": {
                                    "minVersion": 6.2
                                }
                            }
                        }
                    }, 
                    "type": "array", 
                    "maxItems": 1
                }, 
                "intervals": {
                    "default": 4, 
                    "type": "integer"
                }, 
                "marker": {
                    "oneOf": [
                        {
                            "type": "integer"
                        }, 
                        {
                            "type": "string"
                        }
                    ]
                }, 
                "outlinecolor": {
                    "oneOf": [
                        {
                            "minItems": 3, 
                            "items": {
                                "minimum": -1, 
                                "type": "number", 
                                "maximum": 255
                            }, 
                            "type": "array", 
                            "maxItems": 3
                        }, 
                        {
                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                            "type": "string", 
                            "example": "#aa33cc"
                        }
                    ]
                }, 
                "postlabelcache": {
                    "type": "boolean"
                }, 
                "style": {
                    "type": "integer"
                }, 
                "__type__": {
                    "enum": [
                        "scalebar"
                    ]
                }, 
                "interlace": {
                    "type": "boolean", 
                    "metadata": {
                        "maxVersion": 7.6
                    }
                }, 
                "units": {
                    "enum": [
                        "feet", 
                        "inches", 
                        "kilometers", 
                        "meters", 
                        "miles", 
                        "nauticalmiles", 
                        "pixels"
                    ]
                }, 
                "include": {
                    "items": {
                        "type": "string"
                    }, 
                    "type": "array"
                }, 
                "status": {
                    "deafult": "off", 
                    "enum": [
                        "on", 
                        "off", 
                        "embed"
                    ], 
                    "type": "string"
                }, 
                "markersize": {
                    "type": "integer"
                }, 
                "maxboxsize": {
                    "type": "integer"
                }, 
                "extent": {
                    "minItems": 4, 
                    "items": {
                        "type": "number"
                    }, 
                    "type": "array", 
                    "maxItems": 4
                }, 
                "offset": {
                    "minItems": 2, 
                    "items": {
                        "type": "integer"
                    }, 
                    "type": "array", 
                    "maxItems": 2, 
                    "metadata": {
                        "minVersion": 7.2
                    }
                }, 
                "transparent": {
                    "allOf": [
                        {
                            "enum": [
                                "on", 
                                "off"
                            ], 
                            "type": "string"
                        }
                    ]
                }, 
                "minboxsize": {
                    "type": "integer"
                }, 
                "align": {
                    "additionalProperties": false, 
                    "enum": [
                        "left", 
                        "center", 
                        "right"
                    ], 
                    "type": "string", 
                    "metadata": {
                        "minVersion": 5.2
                    }
                }, 
                "position": {
                    "enum": [
                        "ul", 
                        "uc", 
                        "ur", 
                        "cl", 
                        "cc", 
                        "cr", 
                        "ll", 
                        "lc", 
                        "lr"
                    ]
                }, 
                "imagecolor": {
                    "oneOf": [
                        {
                            "minItems": 3, 
                            "items": {
                                "minimum": -1, 
                                "type": "number", 
                                "maximum": 255
                            }, 
                            "type": "array", 
                            "maxItems": 3
                        }, 
                        {
                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                            "type": "string", 
                            "example": "#aa33cc"
                        }
                    ]
                }
            }
        }, 
        "shapepath": {
            "type": "string"
        }, 
        "extent": {
            "minItems": 4, 
            "items": {
                "type": "number"
            }, 
            "type": "array", 
            "maxItems": 4
        }, 
        "scaledenom": {
            "type": "number"
        }, 
        "name": {
            "default": "MS", 
            "type": "string"
        }, 
        "querymap": {
            "additionalProperties": false, 
            "type": "object", 
            "patternProperties": {
                "^__[a-z]+__$": {}
            }, 
            "properties": {
                "status": {
                    "enum": [
                        "on", 
                        "off"
                    ], 
                    "type": "string"
                }, 
                "style": {
                    "default": "hilite", 
                    "additionalProperties": false, 
                    "enum": [
                        "normal", 
                        "hilite", 
                        "selected"
                    ], 
                    "type": "string"
                }, 
                "color": {
                    "oneOf": [
                        {
                            "minItems": 3, 
                            "items": {
                                "minimum": -1, 
                                "type": "number", 
                                "maximum": 255
                            }, 
                            "type": "array", 
                            "maxItems": 3
                        }, 
                        {
                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                            "type": "string", 
                            "example": "#aa33cc"
                        }
                    ]
                }, 
                "__type__": {
                    "enum": [
                        "querymap"
                    ]
                }, 
                "include": {
                    "items": {
                        "type": "string"
                    }, 
                    "type": "array"
                }, 
                "size": {
                    "default": [
                        -1, 
                        -1
                    ], 
                    "items": {
                        "type": "integer"
                    }, 
                    "type": "array", 
                    "minItems": 2, 
                    "maxItems": 2
                }
            }
        }, 
        "imagecolor": {
            "oneOf": [
                {
                    "minItems": 3, 
                    "items": {
                        "minimum": -1, 
                        "type": "number", 
                        "maximum": 255
                    }, 
                    "type": "array", 
                    "maxItems": 3
                }, 
                {
                    "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                    "type": "string", 
                    "example": "#aa33cc"
                }
            ]
        }, 
        "datapattern": {
            "type": "string"
        }, 
        "legend": {
            "additionalProperties": false, 
            "type": "object", 
            "patternProperties": {
                "^__[a-z]+__$": {}
            }, 
            "properties": {
                "postlabelcache": {
                    "type": "boolean"
                }, 
                "status": {
                    "default": "off", 
                    "enum": [
                        "on", 
                        "off", 
                        "embed"
                    ], 
                    "type": "string"
                }, 
                "imagecolor": {
                    "oneOf": [
                        {
                            "minItems": 3, 
                            "items": {
                                "minimum": -1, 
                                "type": "number", 
                                "maximum": 255
                            }, 
                            "type": "array", 
                            "maxItems": 3
                        }, 
                        {
                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                            "type": "string", 
                            "example": "#aa33cc"
                        }
                    ]
                }, 
                "labels": {
                    "minItems": 0, 
                    "items": {
                        "additionalProperties": false, 
                        "type": "object", 
                        "patternProperties": {
                            "^__[a-z]+__$": {}
                        }, 
                        "properties": {
                            "size": {
                                "default": 10, 
                                "anyOf": [
                                    {
                                        "type": "integer"
                                    }, 
                                    {
                                        "additionalProperties": false, 
                                        "enum": [
                                            "tiny", 
                                            "small", 
                                            "medium", 
                                            "large", 
                                            "giant"
                                        ], 
                                        "type": "string"
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.0
                                        }
                                    }, 
                                    {
                                        "allOf": [
                                            {
                                                "anyOf": [
                                                    {
                                                        "type": "string"
                                                    }, 
                                                    {
                                                        "pattern": "^\\((.*?)\\)$", 
                                                        "type": "string", 
                                                        "description": "expression"
                                                    }, 
                                                    {
                                                        "pattern": "^/(.*?)/$", 
                                                        "type": "string", 
                                                        "description": "regex"
                                                    }
                                                ]
                                            }
                                        ], 
                                        "metadata": {
                                            "minVersion": 7.6
                                        }
                                    }
                                ]
                            }, 
                            "force": {
                                "oneOf": [
                                    {
                                        "type": "boolean"
                                    }, 
                                    {
                                        "enum": [
                                            "group"
                                        ], 
                                        "metadata": {
                                            "minVersion": 6.2
                                        }
                                    }
                                ]
                            }, 
                            "encoding": {
                                "type": "string", 
                                "metadata": {
                                    "maxVersion": 7.6
                                }
                            }, 
                            "color": {
                                "oneOf": [
                                    {
                                        "oneOf": [
                                            {
                                                "minItems": 3, 
                                                "items": {
                                                    "minimum": -1, 
                                                    "type": "number", 
                                                    "maximum": 255
                                                }, 
                                                "type": "array", 
                                                "maxItems": 3
                                            }, 
                                            {
                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                "type": "string", 
                                                "example": "#aa33cc"
                                            }
                                        ]
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.0
                                        }
                                    }
                                ]
                            }, 
                            "text": {
                                "oneOf": [
                                    {
                                        "anyOf": [
                                            {
                                                "type": "string"
                                            }, 
                                            {
                                                "pattern": "^\\((.*?)\\)$", 
                                                "type": "string", 
                                                "description": "expression"
                                            }, 
                                            {
                                                "pattern": "^/(.*?)/$", 
                                                "type": "string", 
                                                "description": "regex"
                                            }
                                        ]
                                    }
                                ], 
                                "metadata": {
                                    "minVersion": 6.2
                                }
                            }, 
                            "minsize": {
                                "type": "integer"
                            }, 
                            "repeatdistance": {
                                "default": 0, 
                                "type": "integer", 
                                "metadata": {
                                    "minVersion": 5.6
                                }
                            }, 
                            "wrap": {
                                "minLength": 1, 
                                "type": "string", 
                                "maxLength": 1
                            }, 
                            "font": {
                                "anyOf": [
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.6
                                        }
                                    }, 
                                    {
                                        "type": "string"
                                    }
                                ]
                            }, 
                            "minscaledenom": {
                                "type": "number", 
                                "metadata": {
                                    "minVersion": 5.4
                                }
                            }, 
                            "outlinecolor": {
                                "oneOf": [
                                    {
                                        "oneOf": [
                                            {
                                                "minItems": 3, 
                                                "items": {
                                                    "minimum": -1, 
                                                    "type": "number", 
                                                    "maximum": 255
                                                }, 
                                                "type": "array", 
                                                "maxItems": 3
                                            }, 
                                            {
                                                "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                "type": "string", 
                                                "example": "#aa33cc"
                                            }
                                        ]
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.0
                                        }
                                    }
                                ]
                            }, 
                            "angle": {
                                "oneOf": [
                                    {
                                        "additionalProperties": false, 
                                        "enum": [
                                            "auto", 
                                            "auto2", 
                                            "follow"
                                        ], 
                                        "type": "string"
                                    }, 
                                    {
                                        "type": "number"
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute", 
                                        "metadata": {
                                            "minVersion": 5.0
                                        }
                                    }
                                ]
                            }, 
                            "__type__": {
                                "enum": [
                                    "label"
                                ]
                            }, 
                            "partials": {
                                "type": "boolean"
                            }, 
                            "priority": {
                                "oneOf": [
                                    {
                                        "type": "integer"
                                    }, 
                                    {
                                        "pattern": "^\\[(.*?)\\]$", 
                                        "type": "string", 
                                        "description": "attribute"
                                    }
                                ], 
                                "metadata": {
                                    "minVersion": 5.0
                                }
                            }, 
                            "maxsize": {
                                "type": "integer"
                            }, 
                            "mindistance": {
                                "type": "integer"
                            }, 
                            "outlinewidth": {
                                "type": "integer"
                            }, 
                            "include": {
                                "items": {
                                    "type": "string"
                                }, 
                                "type": "array"
                            }, 
                            "type": {
                                "additionalProperties": false, 
                                "enum": [
                                    "bitmap", 
                                    "truetype"
                                ], 
                                "type": "string"
                            }, 
                            "styles": {
                                "items": {
                                    "additionalProperties": false, 
                                    "type": "object", 
                                    "patternProperties": {
                                        "^__[a-z]+__$": {}
                                    }, 
                                    "properties": {
                                        "polaroffset": {
                                            "items": {
                                                "minItems": 2, 
                                                "oneOf": [
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }
                                                ], 
                                                "maxItems": 2
                                            }, 
                                            "type": "array", 
                                            "metadata": {
                                                "minVersion": 6.2
                                            }
                                        }, 
                                        "color": {
                                            "oneOf": [
                                                {
                                                    "oneOf": [
                                                        {
                                                            "minItems": 3, 
                                                            "items": {
                                                                "minimum": -1, 
                                                                "type": "number", 
                                                                "maximum": 255
                                                            }, 
                                                            "type": "array", 
                                                            "maxItems": 3
                                                        }, 
                                                        {
                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                            "type": "string", 
                                                            "example": "#aa33cc"
                                                        }
                                                    ]
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.0
                                                    }
                                                }
                                            ]
                                        }, 
                                        "minwidth": {
                                            "type": "number"
                                        }, 
                                        "minscaledenom": {
                                            "type": "number"
                                        }, 
                                        "size": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.0
                                                    }
                                                }
                                            ]
                                        }, 
                                        "angle": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute"
                                                }, 
                                                {
                                                    "enum": [
                                                        "auto"
                                                    ]
                                                }
                                            ]
                                        }, 
                                        "maxwidth": {
                                            "type": "number"
                                        }, 
                                        "linecap": {
                                            "enum": [
                                                "butt", 
                                                "round", 
                                                "square"
                                            ], 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "__type__": {
                                            "enum": [
                                                "style"
                                            ]
                                        }, 
                                        "width": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.4
                                                    }
                                                }
                                            ]
                                        }, 
                                        "maxsize": {
                                            "type": "number"
                                        }, 
                                        "geomtransform": {
                                            "oneOf": [
                                                {
                                                    "enum": [
                                                        "bbox", 
                                                        "centroid", 
                                                        "end", 
                                                        "labelpnt", 
                                                        "labelpoly", 
                                                        "start", 
                                                        "vertices"
                                                    ]
                                                }, 
                                                {
                                                    "pattern": "^\\((.*?)\\)$", 
                                                    "type": "string", 
                                                    "description": "expression"
                                                }
                                            ], 
                                            "metadata": {
                                                "minVersion": 5.4
                                            }
                                        }, 
                                        "outlinewidth": {
                                            "oneOf": [
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute"
                                                }
                                            ], 
                                            "metadata": {
                                                "minVersion": 5.4
                                            }
                                        }, 
                                        "include": {
                                            "items": {
                                                "type": "string"
                                            }, 
                                            "type": "array"
                                        }, 
                                        "opacity": {
                                            "oneOf": [
                                                {
                                                    "type": "integer"
                                                }, 
                                                {
                                                    "pattern": "^\\[(.*?)\\]$", 
                                                    "type": "string", 
                                                    "description": "attribute", 
                                                    "metadata": {
                                                        "minVersion": 5.6
                                                    }
                                                }
                                            ]
                                        }, 
                                        "symbol": {
                                            "oneOf": [
                                                {
                                                    "type": "string"
                                                }, 
                                                {
                                                    "type": "number"
                                                }, 
                                                {
                                                    "additionalProperties": false, 
                                                    "type": "object", 
                                                    "patternProperties": {
                                                        "^__[a-z]+__$": {}
                                                    }, 
                                                    "properties": {
                                                        "include": {
                                                            "items": {
                                                                "type": "string"
                                                            }, 
                                                            "type": "array"
                                                        }, 
                                                        "anchorpoint": {
                                                            "minItems": 2, 
                                                            "items": [
                                                                {
                                                                    "minimum": 0, 
                                                                    "type": "number", 
                                                                    "maximum": 1
                                                                }
                                                            ], 
                                                            "type": "array", 
                                                            "maxItems": 2, 
                                                            "metadata": {
                                                                "minVersion": 6.2
                                                            }
                                                        }, 
                                                        "name": {
                                                            "type": "string"
                                                        }, 
                                                        "__type__": {
                                                            "enum": [
                                                                "symbol"
                                                            ]
                                                        }, 
                                                        "image": {
                                                            "type": "string"
                                                        }, 
                                                        "character": {
                                                            "oneOf": [
                                                                {
                                                                    "minLength": 1, 
                                                                    "type": "string", 
                                                                    "maxLength": 1
                                                                }, 
                                                                {
                                                                    "pattern": "^&#[0-9]+;$", 
                                                                    "type": "string", 
                                                                    "example": "➜"
                                                                }
                                                            ]
                                                        }, 
                                                        "antialias": {
                                                            "type": "boolean", 
                                                            "metadata": {
                                                                "maxVersion": 7.6
                                                            }
                                                        }, 
                                                        "points": {
                                                            "items": {
                                                                "items": {
                                                                    "minItems": 2, 
                                                                    "type": "number", 
                                                                    "maxItems": 2
                                                                }, 
                                                                "type": "array"
                                                            }, 
                                                            "type": "array"
                                                        }, 
                                                        "backgroundcolor": {
                                                            "oneOf": [
                                                                {
                                                                    "minItems": 3, 
                                                                    "items": {
                                                                        "minimum": -1, 
                                                                        "type": "number", 
                                                                        "maximum": 255
                                                                    }, 
                                                                    "type": "array", 
                                                                    "maxItems": 3
                                                                }, 
                                                                {
                                                                    "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                                    "type": "string", 
                                                                    "example": "#aa33cc"
                                                                }
                                                            ]
                                                        }, 
                                                        "font": {
                                                            "type": "string"
                                                        }, 
                                                        "type": {
                                                            "enum": [
                                                                "ellipse", 
                                                                "hatch", 
                                                                "pixmap", 
                                                                "svg", 
                                                                "truetype", 
                                                                "vector"
                                                            ]
                                                        }, 
                                                        "transparent": {
                                                            "type": "integer", 
                                                            "metadata": {
                                                                "maxVersion": 7.6
                                                            }
                                                        }, 
                                                        "filled": {
                                                            "type": "boolean"
                                                        }
                                                    }
                                                }
                                            ]
                                        }, 
                                        "linejoinmaxsize": {
                                            "type": "integer", 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "antialias": {
                                            "type": "boolean", 
                                            "metadata": {
                                                "maxVersion": 7.6
                                            }
                                        }, 
                                        "gap": {
                                            "type": "number", 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "backgroundcolor": {
                                            "allOf": [
                                                {
                                                    "oneOf": [
                                                        {
                                                            "minItems": 3, 
                                                            "items": {
                                                                "minimum": -1, 
                                                                "type": "number", 
                                                                "maximum": 255
                                                            }, 
                                                            "type": "array", 
                                                            "maxItems": 3
                                                        }, 
                                                        {
                                                            "pattern": "^#([a-fA-F0-9]{6,8}|[a-fA-F0-9]{3,4})$", 
                                                            "type": "string", 
                                                            "example": "#aa33cc"
                                                        }
                                                    ]
                                                }
                                            ], 
                                            "metadata": {
                                                "maxVersion": 7.6
                                            }
                                        }, 
                                        "offset": {
                                            "items": {
                                                "minItems": 2, 
                                                "oneOf": [
                                                    {
                                                        "type": "number"
                                                    }, 
                                                    {
                                                        "pattern": "^\\[(.*?)\\]$", 
                                                        "type": "string", 
                                                        "description": "attribute"
                                                    }
                                                ], 
                                                "maxItems": 2
                                            }, 
                                            "type": "array"
                                        }, 
                                        "linejoin": {
                                            "enum": [
                                                "round", 
                                                "miter", 
                                                "bevel", 
                                                "none"
                                            ], 
                                            "metadata": {
                                                "minVersion": 6.0
                                            }
                                        }, 
                                        "rangeitem": {
                                            "pattern": "^\\[(.*?)\\]$", 
                                            "type": "string", 
                                            "description": "attribute"
                                        }, 
                                        "colorrange": {
                                            "oneOf": [
                                                {
                                                    "minItems": 6, 
                                                    "items": {
                                                        "type": "integer"
                                                    }, 
                                                    "type": "array", 
                                                    "maxItems": 6
                                                }, 
                                                {
                                                    "minItems": 2, 
                                                    "items": {
                                                        "type": "string"
                                                    }, 
                                                    "type": "array", 
                                                    "maxItems": 2
                                                }
                                            ]
                                        }, 
                                        "minsize": {
                                            "type": "number"
                                        }, 
                                        "initialgap": {
                                            "type": "number", 
                                            "metadata": {
                                                "minVersion": 6.2
                                            }
                                        }, 
                                        "datarange": {
                                            "minItems": 2, 
                                            "items": {
                                                "type": "number"
                                            }, 
                                            "type": "array", 
                                            "maxItems": 2
                                        }, 
                                        "maxscaledenom": {
                                            "type": "number", 
                                            "metadata": {
                                                "minVersion": 5.0
                                            }
                                        }, 
                                        "angleitem": {
                                            "type": "string", 
                                            "metadata": {
                                                "maxVersion": 7.6
                                            }
                                        }, 
                                        "pattern": {
                                            "allOf": [