%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : www.kowitt.ac.th / Your IP : 216.73.216.118 Web Server : Microsoft-IIS/7.5 System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.6.31 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /BK/wwwroot/phpMyAdmin/js/openlayers/src/openlayers/lib/OpenLayers/Format/ |
Upload File : |
/* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for * full list of contributors). Published under the 2-clause BSD license. * See license.txt in the OpenLayers distribution or repository for the * full text of the license. */ /** * @requires OpenLayers/Format/XML.js * @requires OpenLayers/Format/OGCExceptionReport.js */ /** * Class: OpenLayers.Format.WFSDescribeFeatureType * Read WFS DescribeFeatureType response * * Inherits from: * - <OpenLayers.Format.XML> */ OpenLayers.Format.WFSDescribeFeatureType = OpenLayers.Class( OpenLayers.Format.XML, { /** * Property: regExes * Compiled regular expressions for manipulating strings. */ regExes: { trimSpace: (/^\s*|\s*$/g) }, /** * Property: namespaces * {Object} Mapping of namespace aliases to namespace URIs. */ namespaces: { xsd: "http://www.w3.org/2001/XMLSchema" }, /** * Constructor: OpenLayers.Format.WFSDescribeFeatureType * Create a new parser for WFS DescribeFeatureType responses. * * Parameters: * options - {Object} An optional object whose properties will be set on * this instance. */ /** * Property: readers * Contains public functions, grouped by namespace prefix, that will * be applied when a namespaced node is found matching the function * name. The function will be applied in the scope of this parser * with two arguments: the node being read and a context object passed * from the parent. */ readers: { "xsd": { "schema": function(node, obj) { var complexTypes = []; var customTypes = {}; var schema = { complexTypes: complexTypes, customTypes: customTypes }; var i, len; this.readChildNodes(node, schema); var attributes = node.attributes; var attr, name; for(i=0, len=attributes.length; i<len; ++i) { attr = attributes[i]; name = attr.name; if(name.indexOf("xmlns") === 0) { this.setNamespace(name.split(":")[1] || "", attr.value); } else { obj[name] = attr.value; } } obj.featureTypes = complexTypes; obj.targetPrefix = this.namespaceAlias[obj.targetNamespace]; // map complexTypes to names of customTypes var complexType, customType; for(i=0, len=complexTypes.length; i<len; ++i) { complexType = complexTypes[i]; customType = customTypes[complexType.typeName]; if(customTypes[complexType.typeName]) { complexType.typeName = customType.name; } } }, "complexType": function(node, obj) { var complexType = { // this is a temporary typeName, it will be overwritten by // the schema reader with the metadata found in the // customTypes hash "typeName": node.getAttribute("name") }; this.readChildNodes(node, complexType); obj.complexTypes.push(complexType); }, "complexContent": function(node, obj) { this.readChildNodes(node, obj); }, "extension": function(node, obj) { this.readChildNodes(node, obj); }, "sequence": function(node, obj) { var sequence = { elements: [] }; this.readChildNodes(node, sequence); obj.properties = sequence.elements; }, "element": function(node, obj) { var type; if(obj.elements) { var element = {}; var attributes = node.attributes; var attr; for(var i=0, len=attributes.length; i<len; ++i) { attr = attributes[i]; element[attr.name] = attr.value; } type = element.type; if(!type) { type = {}; this.readChildNodes(node, type); element.restriction = type; element.type = type.base; } var fullType = type.base || type; element.localType = fullType.split(":").pop(); obj.elements.push(element); this.readChildNodes(node, element); } if(obj.complexTypes) { type = node.getAttribute("type"); var localType = type.split(":").pop(); obj.customTypes[localType] = { "name": node.getAttribute("name"), "type": type }; } }, "annotation": function(node, obj) { obj.annotation = {}; this.readChildNodes(node, obj.annotation); }, "appinfo": function(node, obj) { if (!obj.appinfo) { obj.appinfo = []; } obj.appinfo.push(this.getChildValue(node)); }, "documentation": function(node, obj) { if (!obj.documentation) { obj.documentation = []; } var value = this.getChildValue(node); obj.documentation.push({ lang: node.getAttribute("xml:lang"), textContent: value.replace(this.regExes.trimSpace, "") }); }, "simpleType": function(node, obj) { this.readChildNodes(node, obj); }, "restriction": function(node, obj) { obj.base = node.getAttribute("base"); this.readRestriction(node, obj); } } }, /** * Method: readRestriction * Reads restriction defined in the child nodes of a restriction element * * Parameters: * node - {DOMElement} the node to parse * obj - {Object} the object that receives the read result */ readRestriction: function(node, obj) { var children = node.childNodes; var child, nodeName, value; for(var i=0, len=children.length; i<len; ++i) { child = children[i]; if(child.nodeType == 1) { nodeName = child.nodeName.split(":").pop(); value = child.getAttribute("value"); if(!obj[nodeName]) { obj[nodeName] = value; } else { if(typeof obj[nodeName] == "string") { obj[nodeName] = [obj[nodeName]]; } obj[nodeName].push(value); } } } }, /** * Method: read * * Parameters: * data - {DOMElement|String} A WFS DescribeFeatureType document. * * Returns: * {Object} An object representing the WFS DescribeFeatureType response. */ read: function(data) { if(typeof data == "string") { data = OpenLayers.Format.XML.prototype.read.apply(this, [data]); } if(data && data.nodeType == 9) { data = data.documentElement; } var schema = {}; if (data.nodeName.split(":").pop() === 'ExceptionReport') { // an exception must have occurred, so parse it var parser = new OpenLayers.Format.OGCExceptionReport(); schema.error = parser.read(data); } else { this.readNode(data, schema); } return schema; }, CLASS_NAME: "OpenLayers.Format.WFSDescribeFeatureType" });