Просмотр исходного кода

added xlink:href support in js WFS GetFeature

Piotr Labudda 8 лет назад
Родитель
Сommit
adfea557ff
1 измененных файлов с 17 добавлено и 0 удалено
  1. 17 0
      SE/static/p5WFS/GetFeature.js

+ 17 - 0
SE/static/p5WFS/GetFeature.js

@@ -1,6 +1,16 @@
 // @require WFS_URL
 if (!WFS_URL) throw "Missing WFS_URL"
 
+// wfsFeature json format:
+/*
+	{
+		$fieldName:
+			- string => field value
+			- array of objects => ref features as objects (wfsFeature)
+			- array of strings => ref features as xlink url
+	}
+*/
+
 function p5WFS_ParseFeatureFieldRecurse(tagNode) { // @returns object from xml element
 	var item = {}
 	var i = 0
@@ -8,6 +18,13 @@ function p5WFS_ParseFeatureFieldRecurse(tagNode) { // @returns object from xml e
 		var fieldNode = tagNode.children[i]
 		if (!fieldNode.children.length) {
 			if (fieldNode.textContent) item[ fieldNode.localName ] = fieldNode.textContent
+			else {
+				var xlink = fieldNode.getAttribute('xlink:href')
+				if (xlink) {
+					if (!(fieldNode.tagName in item)) item[ fieldNode.tagName ] = []
+					item[ fieldNode.tagName ].push( xlink )
+				}
+			}
 		}
 		else {
 			if (!(fieldNode.tagName in item)) item[ fieldNode.tagName ] = []