Переглянути джерело

fixed bug in DescribeFeatureTypeAdvanced - parse instanceList to xsd

Piotr Labudda 9 роки тому
батько
коміт
57c7209d53
2 змінених файлів з 5 додано та 4 видалено
  1. 4 3
      SE/se-lib/Api/WfsServerBase.php
  2. 1 1
      SE/se-lib/Core/XmlWriter.php

+ 4 - 3
SE/se-lib/Api/WfsServerBase.php

@@ -1323,10 +1323,10 @@ if($DBG){echo 'L.' . __LINE__ . ' $validateConvertedTransactionXsdString:';print
 			? array_map(function ($instanceName) {
 				return [ 'xsd:enumeration', ['value'=>$instanceName], null ];
 			}, $acl->getInstanceList())
-			: [ 'xsd:enumeration', ['value'=>$acl->getName()], null ]
+			: [ [ 'xsd:enumeration', ['value'=>$acl->getName()], null ] ]
 		;
 		$xmlWriter->h('xsd:simpleType', ['name'=>$xsdInstanceType], [
-			[ 'xsd:restriction', ['base'=>"xsd:string"], $instanceList],
+			[ 'xsd:restriction', ['base'=>"xsd:string"], $instanceList ],
 		]);
 		$xmlWriter->endElement();// xsd:schema
 		$xmlWriter->endDocument();
@@ -1612,8 +1612,9 @@ if($DBG){echo 'L.' . __LINE__ . ' $validateConvertedTransactionXsdString:';print
 						? array_map(function ($instanceName) {
 							return [ 'xsd:enumeration', ['value'=>$instanceName], null ];
 						}, $acl->getInstanceList())
-						: [ 'xsd:enumeration', ['value'=>$acl->getName()], null ]
+						: [ [ 'xsd:enumeration', ['value'=>$acl->getName()], null ] ]
 					;
+					DBG::log($xsdInstanceList, 'array', "\$xsdInstanceList");
 					$xmlWriter->h('xsd:simpleType', ['name' => 'instanceType'], [
 						[ 'xsd:restriction', ['base' => 'xsd:string'], $xsdInstanceList ]
 					]);

+ 1 - 1
SE/se-lib/Core/XmlWriter.php

@@ -44,7 +44,7 @@ class Core_XmlWriter extends XMLWriter {
     if (!$tag) {
       if (!empty($text)) $this->text($text);
       else {
-        echo "tag({$tag}) text({$text}) args({$arg1}, {$arg2}, {$arg3})"."\n";
+        DBG::log("tag({$tag}) text({$text}) args({$arg1}, {$arg2}, {$arg3})", 'string', "XmlWriter Sytnax Error #h02");
         throw new Exception("XmlWriter Sytnax Error #h02");
       }
     }