<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Palatino Linotype";
        panose-1:2 4 5 2 5 5 5 3 3 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:Garamond;
        panose-1:2 2 4 4 3 3 1 1 8 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Vorformatiert Zchn";
        margin:0cm;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLVorformatiertZchn
        {mso-style-name:"HTML Vorformatiert Zchn";
        mso-style-priority:99;
        mso-style-link:"HTML Vorformatiert";
        font-family:Consolas;
        mso-ligatures:standardcontextual;}
span.E-MailFormatvorlage29
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Thanks for the hints. I will try those!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<table class="MsoTableGrid" cellspacing="0" cellpadding="0" border="0" style="border-width: medium; border-style: none; border-color: initial; width: 660px;"><tbody><tr style="height: 79.15pt;"><td valign="middle" width="531" style="height: 79.15pt; width: 397.9pt;"><p class="MsoNormal" style="margin: 0cm 0cm 0pt 3.65pt; font-size: 10pt; line-height: normal;"><span style="font-size: 10pt; color: rgb(0, 159, 227);"><span style="font-weight: bolder; font-size: 10pt;"><span style="font-size: 10pt;"><span style="color: rgb(3, 151, 255);"><span style="font-family: Helvetica;"><span style="font-size: 11pt;">Jakob</span></span></span><span style="color: rgb(3, 151, 255); font-family: Helvetica;"><span style="font-size: 11pt;"> Miksch</span></span></span></span></span><span style="font-size: 10pt; font-family: Helvetica;"><span style="font-size: 10pt;"><span style="color: rgb(3, 151, 255);"><br style="font-size: 10pt;"></span></span></span><span style="font-size: 10pt;"><font color="#000000" style="font-size: 10pt; font-family: Helvetica;"><span style="font-weight: bolder;">Consultant</span></font><br style="font-size: 10pt; font-family: Helvetica;"><br style="font-size: 10pt; font-family: Helvetica;"><span style="font-family: Helvetica;">+49 170 9036956<br>siticom.online</span><span style="font-size: 10pt;"></span><span style="font-size: 10pt;"><span style="font-size: 10pt;"><span style="font-size: 10pt;"></span></span></span></span></p></td></tr></tbody></table><p><br></p><div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="DE" style="mso-ligatures:none">From:</span></b><span lang="DE" style="mso-ligatures:none"> QGIS-User <qgis-user-bounces@lists.osgeo.org>
<b>On Behalf Of </b>Aguilar Bolivar, Rosa (UT-ITC) via QGIS-User<br>
<b>Sent:</b> Tuesday, October 31, 2023 6:16 AM<br>
<b>To:</b> Jorge Gustavo Rocha <jgr@geomaster.pt>; qgis-user@lists.osgeo.org<br>
<b>Subject:</b> Re: [Qgis-user] QGIS Server: Parsing WFS capabilites with JavaScript<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" align="left" width="100%" style="width:100.0%">
<tbody>
<tr>
<td style="background:#FFB900;padding:5.0pt 2.0pt 5.0pt 2.0pt">
<p class="MsoNormal" style="mso-element:frame;mso-element-frame-hspace:2.25pt;mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column;mso-height-rule:exactly">
<span style="color:black;mso-ligatures:none"> </span><span style="mso-ligatures:none"><o:p></o:p></span></p>
</td>
<td width="100%" style="width:100.0%;background:#FFF8E5;padding:5.0pt 4.0pt 5.0pt 12.0pt">
<div>
<p class="MsoNormal" style="mso-element:frame;mso-element-frame-hspace:2.25pt;mso-element-wrap:around;mso-element-anchor-vertical:paragraph;mso-element-anchor-horizontal:column;mso-height-rule:exactly">
<b><span style="color:#222222;mso-ligatures:none">SECURITY WARNING:</span></b><span style="color:#222222;mso-ligatures:none"> This email is from an external source - be careful of attachments and links. Please report suspicious emails to
<a href="mailto:soc@siticom.de">soc@siticom.de</a> <o:p></o:p></span></p>
</div>
</td>
</tr>
</tbody>
</table>
<p><span lang="NL"> <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="NL">Hi,<o:p></o:p></span></p>
<p class="MsoNormal">I have used a simple DOMParser<o:p></o:p></p>
<p class="MsoNormal">    const xmlParser = new DOMParser();<o:p></o:p></p>
<p class="MsoNormal">    const xmlText = xmlParser.parseFromString(XmlCapText, 'text/xml');<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Rosa<o:p></o:p></p>
<div>
<p class="MsoNormal" align="center" style="text-align:center;background:white"><span style="font-size:12.0pt;font-family:"Garamond",serif;color:#3333FF;mso-ligatures:none;mso-fareast-language:EN-GB">----------------------------------------------------------------</span><span style="font-size:12.0pt;font-family:"Garamond",serif;color:#222222;mso-ligatures:none;mso-fareast-language:EN-GB">-</span><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#222222;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal" align="center" style="text-align:center;background:white"><span style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:#222222;mso-ligatures:none;mso-fareast-language:EN-GB">Dr. Rosa Aguilar<o:p></o:p></span></p>
<p class="MsoNormal" align="center" style="text-align:center"><span style="font-size:8.0pt;font-family:"Palatino Linotype",serif;mso-ligatures:none;mso-fareast-language:EN-GB">University of Twente<o:p></o:p></span></p>
<p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-GB" style="font-size:8.0pt;font-family:"Palatino Linotype",serif;mso-ligatures:none;mso-fareast-language:EN-GB">Faculty of Geoinformation Science and Earth Observation<o:p></o:p></span></p>
<p class="MsoNormal" align="center" style="text-align:center;background:white"><span lang="EN-GB" style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:black;mso-ligatures:none;mso-fareast-language:EN-GB">Connect with me on
<a href="https://www.linkedin.com/in/rosamaguilar/?locale=en_US">LinkedIn</a><o:p></o:p></span></p>
<p class="MsoNormal" align="center" style="text-align:center;background:white"><span lang="EN-GB" style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:black;mso-ligatures:none;mso-fareast-language:EN-GB"><a href="https://rosaguilar.github.io/">https://rosaguilar.github.io</a></span><u><span style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:#0000EE;background:#F6F6F6;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></u></p>
<p class="MsoNormal" align="center" style="text-align:center;background:white"><span style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:#3333FF;mso-ligatures:none;mso-fareast-language:EN-GB">----------------------------------------------------------------</span><span style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:#222222;mso-ligatures:none;mso-fareast-language:EN-GB">-<o:p></o:p></span></p>
<p class="MsoNormal" align="center" style="text-align:center"><span lang="EN-GB" style="font-size:8.0pt;font-family:"Palatino Linotype",serif;mso-ligatures:none;mso-fareast-language:EN-GB">The essential is invisible to the eye. Saint-Exupéry<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span lang="NL"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="mso-ligatures:none">From:</span></b><span style="mso-ligatures:none"> QGIS-User <<a href="mailto:qgis-user-bounces@lists.osgeo.org">qgis-user-bounces@lists.osgeo.org</a>>
<b>On Behalf Of </b>Jorge Gustavo Rocha via QGIS-User<br>
<b>Sent:</b> Monday, October 30, 2023 8:36 PM<br>
<b>To:</b> <a href="mailto:qgis-user@lists.osgeo.org">qgis-user@lists.osgeo.org</a><br>
<b>Subject:</b> Re: [Qgis-user] QGIS Server: Parsing WFS capabilites with JavaScript<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="NL"><o:p> </o:p></span></p>
<p><span lang="NL">Hi Jakob,<o:p></o:p></span></p>
<p><span lang="NL">You can try jsonix. I use something like:<o:p></o:p></span></p>
<p><span lang="NL">var Jsonix = require('jsonix').Jsonix;<br>
var XLink_1_0 = require('w3c-schemas').XLink_1_0;<br>
var OWS_1_0_0 = require('ogc-schemas').OWS_1_0_0;<br>
var OWS_1_1_0 = require('ogc-schemas').OWS_1_1_0;<br>
var WFS_1_0_0 = require('ogc-schemas').WFS_1_0_0;<br>
var WFS_1_1_0 = require('ogc-schemas').WFS_1_1_0;<br>
var WFS_2_0 = require('ogc-schemas').WFS_2_0;<br>
var Filter_1_0_0 = require('ogc-schemas').Filter_1_0_0;<br>
var Filter_1_1_0 = require('ogc-schemas').Filter_1_1_0;<br>
var Filter_2_0 = require('ogc-schemas').Filter_2_0;<br>
var GML_1_0_0 = require('ogc-schemas').GML_1_0_0;<br>
var GML_2_1_2 = require('ogc-schemas').GML_2_1_2;<br>
var GML_3_1_1 = require('ogc-schemas').GML_3_1_1;<br>
var GML_3_2_0 = require('ogc-schemas').GML_3_2_0;<br>
var GML_3_2_1 = require('ogc-schemas').GML_3_2_1;<br>
var SMIL_2_0 = require('ogc-schemas').SMIL_2_0;<br>
var SMIL_2_0_Language = require('ogc-schemas').SMIL_2_0_Language;<br>
var CSW_2_0_2 = require('ogc-schemas').CSW_2_0_2;<br>
var DC_1_1 = require('ogc-schemas').DC_1_1;<br>
var DCT = require('ogc-schemas').DCT;<br>
var XMLSchema = require('./mappings/XMLSchema').XMLSchema;<br>
<br>
var context = new Jsonix.Context([<br>
  XLink_1_0,<br>
  OWS_1_0_0,<br>
  OWS_1_1_0,<br>
  WFS_1_0_0,<br>
  WFS_1_1_0,<br>
  WFS_2_0,<br>
  Filter_1_0_0,<br>
  Filter_1_1_0,<br>
  Filter_2_0,<br>
  GML_1_0_0,<br>
  GML_2_1_2,<br>
  GML_3_1_1,<br>
  GML_3_2_0,<br>
  GML_3_2_1,<br>
  SMIL_2_0,<br>
  SMIL_2_0_Language,<br>
  CSW_2_0_2,<br>
  DC_1_1,<br>
  DCT,<br>
  XMLSchema<br>
]);<br>
var unmarshaller = context.createUnmarshaller();<o:p></o:p></span></p>
<p><span lang="NL">Later, you can transform WFS response to JSON, like:<o:p></o:p></span></p>
<p><span lang="NL">    const response = responseBuffer.toString('utf8');<br>
    var result = unmarshaller.unmarshalString(response);<o:p></o:p></span></p>
<p><span lang="NL">Not so easy, but it works.<o:p></o:p></span></p>
<p><span lang="NL">Regards,<o:p></o:p></span></p>
<p><span lang="NL">Jorge Gustavo<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="NL">On 30/10/23 14:11, Jakob Miksch via QGIS-User wrote:<o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span lang="DE">Dear QGIS Server people,</span><span lang="NL"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"> </span><span lang="NL"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="NL">I have a QGIS Server running. I would like to access the WFS Capabilities with JavaScript, more specifically I would like to know which WFS layers are published by QGIS Server. Unfortunately, QGIS Server only supports WFS
 1.0.0 and 1.1.0. But the only parser for WFS capabilities I have found only support WFS 2.0.0 (
<a href="https://github.com/GastonZalba/ol-wfs-capabilities">https://github.com/GastonZalba/ol-wfs-capabilities</a> ).  <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="NL"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="NL">Does anyone have a hint how to parse the WFS Capabilities from QGIS Server with JavaScript?<br>
<br>
best regards,<br>
Jakob<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="NL"> <o:p></o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="660" style="width:495.0pt;border-color:initial">
<tbody>
<tr style="height:79.15pt">
<td width="245" valign="bottom" style="width:183.9pt;padding:0cm 0cm 0cm 0cm;height:79.15pt">
<p class="MsoNormal"><a name="_Hlk528656578"><span style="font-size:10.0pt"> <br>
 </span></a><span style="mso-bookmark:_Hlk528656578"><span style="font-size:10.0pt;mso-ligatures:none"><img border="0" width="198" height="91" style="width:2.0583in;height:.95in" id="_x0030_.veaxdfz7gks" src="cid:image001.png@01DA0BF2.C55B0A00"></span></span><span style="mso-bookmark:_Hlk528656578"><span style="font-size:10.0pt"><o:p></o:p></span></span></p>
</td>
<span style="mso-bookmark:_Hlk528656578"></span>
<td width="531" style="width:397.9pt;padding:0cm 0cm 0cm 0cm;height:79.15pt">
<p class="MsoNormal" style="margin-left:3.65pt"><span style="mso-bookmark:_Hlk528656578"><b><span style="color:#0397FF">Jakob Miksch</span></b><span style="color:#0397FF"><br>
</span></span><span style="mso-bookmark:_Hlk528656578"><b><span style="font-size:10.0pt;color:black">Consultant</span></b></span><span style="mso-bookmark:_Hlk528656578"><b><span style="font-size:10.0pt"><br>
</span></b></span><span style="mso-bookmark:_Hlk528656578"><span style="font-size:10.0pt"><br>
+49 170 9036956<br>
<span style="color:black">siticom.online</span><o:p></o:p></span></span></p>
</td>
<span style="mso-bookmark:_Hlk528656578"></span>
</tr>
<tr style="height:36.05pt">
<td width="245" valign="bottom" style="width:183.9pt;padding:0cm 5.4pt 0cm 5.4pt;height:36.05pt">
<span style="mso-bookmark:_Hlk528656578"></span></td>
<span style="mso-bookmark:_Hlk528656578"></span>
<td style="padding:0cm 0cm 0cm 3.75pt;height:36.05pt">
<p class="MsoNormal"><span style="mso-bookmark:_Hlk528656578"><span style="font-size:6.0pt;font-family:"Helvetica",sans-serif;mso-ligatures:none">siticom GmbH • Werner-von-Siemens-Straße 2-6 • 76646 Bruchsal • Deutschland<br>
Geschäftsführer: Jürgen Hatzipantelis, Stefan Höltken<br>
Sitz der Gesellschaft: Weiterstadt • Amtsgericht Darmstadt • HRB 9276<br>
Umsatzsteuer-ID Nr.: DE 197 925 589</span></span><span style="mso-bookmark:_Hlk528656578"><span style="font-family:"Helvetica",sans-serif;mso-ligatures:none"><o:p></o:p></span></span></p>
</td>
<span style="mso-bookmark:_Hlk528656578"></span>
</tr>
</tbody>
</table>
<p><span style="mso-bookmark:_Hlk528656578"><span lang="NL"><o:p> </o:p></span></span></p>
<span style="mso-bookmark:_Hlk528656578"></span>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="NL" style="mso-ligatures:none"><o:p> </o:p></span></p>
<pre><span lang="NL">_______________________________________________<o:p></o:p></span></pre>
<pre><span lang="NL">QGIS-User mailing list<o:p></o:p></span></pre>
<pre><span lang="NL"><a href="mailto:QGIS-User@lists.osgeo.org">QGIS-User@lists.osgeo.org</a><o:p></o:p></span></pre>
<pre><span lang="NL">List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><o:p></o:p></span></pre>
<pre><span lang="NL">Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><o:p></o:p></span></pre>
</blockquote>
</div>
</div>
</body>
</html>