1
/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
2
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
3
* full text of the license. */
6
* @requires OpenLayers/Format/WMC/v1.js
10
* Class: OpenLayers.Format.WMC.v1_1_0
11
* Read and write WMC version 1.1.0.
13
* Differences between 1.1.0 and 1.0.0:
14
* - 1.1.0 Layers have optional sld:MinScaleDenominator and
15
* sld:MaxScaleDenominator
18
* - <OpenLayers.Format.WMC.v1>
20
OpenLayers.Format.WMC.v1_1_0 = OpenLayers.Class(
21
OpenLayers.Format.WMC.v1, {
30
* Property: schemaLocation
31
* {String} http://www.opengis.net/context
32
* http://schemas.opengis.net/context/1.1.0/context.xsd
34
schemaLocation: "http://www.opengis.net/context http://schemas.opengis.net/context/1.1.0/context.xsd",
37
* Constructor: OpenLayers.Format.WMC.v1_1_0
38
* Instances of this class are not created directly. Use the
39
* <OpenLayers.Format.WMC> constructor instead.
42
* options - {Object} An optional object whose properties will be set on
45
initialize: function(options) {
46
OpenLayers.Format.WMC.v1.prototype.initialize.apply(
52
* Method: read_sld_MinScaleDenominator
53
* Read a sld:MinScaleDenominator node.
56
* layerContext - {Object} An object representing a layer.
57
* node - {Element} An element node.
59
read_sld_MinScaleDenominator: function(layerContext, node) {
60
var minScaleDenominator = parseFloat(this.getChildValue(node));
61
if (minScaleDenominator > 0) {
62
layerContext.maxScale = minScaleDenominator;
67
* Method: read_sld_MaxScaleDenominator
68
* Read a sld:MaxScaleDenominator node.
71
* layerContext - {Object} An object representing a layer.
72
* node - {Element} An element node.
74
read_sld_MaxScaleDenominator: function(layerContext, node) {
75
layerContext.minScale = parseFloat(this.getChildValue(node));
79
* Method: write_wmc_Layer
80
* Create a Layer node given a layer context object. This method adds
81
* elements specific to version 1.1.0.
84
* context - {Object} A layer context object.}
87
* {Element} A WMC Layer element node.
89
write_wmc_Layer: function(context) {
90
var node = OpenLayers.Format.WMC.v1.prototype.write_wmc_Layer.apply(
94
// min/max scale denominator elements go before the 4th element in v1
95
if(context.maxScale) {
96
var minSD = this.createElementNS(
97
this.namespaces.sld, "sld:MinScaleDenominator"
99
minSD.appendChild(this.createTextNode(context.maxScale.toPrecision(16)));
100
node.appendChild(minSD);
103
if(context.minScale) {
104
var maxSD = this.createElementNS(
105
this.namespaces.sld, "sld:MaxScaleDenominator"
107
maxSD.appendChild(this.createTextNode(context.minScale.toPrecision(16)));
108
node.appendChild(maxSD);
111
// optional FormatList element
112
node.appendChild(this.write_wmc_FormatList(context));
114
// optional StyleList element
115
node.appendChild(this.write_wmc_StyleList(context));
117
// OpenLayers specific properties go in an Extension element
118
node.appendChild(this.write_wmc_LayerExtension(context));
124
CLASS_NAME: "OpenLayers.Format.WMC.v1_1_0"