<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:Garamond;
        panose-1:2 2 4 4 3 3 1 1 8 3;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}
p.MsoHeader, li.MsoHeader, div.MsoHeader
        {mso-style-priority:99;
        mso-style-link:"Header Char";
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HeaderChar
        {mso-style-name:"Header Char";
        mso-style-priority:99;
        mso-style-link:Header;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        mso-ligatures:standardcontextual;}
span.EmailStyle24
        {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="NL" link="#0563C1" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">I have used a simple DOMParser<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">    const xmlParser = new DOMParser();<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">    const xmlText = xmlParser.parseFromString(XmlCapText, 'text/xml');<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Rosa<o:p></o:p></span></p>
<div>
<p class="MsoNormal" align="center" style="text-align:center;background:white"><span lang="EN-US" style="font-size:12.0pt;font-family:"Garamond",serif;color:#3333FF;mso-ligatures:none;mso-fareast-language:EN-GB">----------------------------------------------------------------</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Garamond",serif;color:#222222;mso-ligatures:none;mso-fareast-language:EN-GB">-</span><span lang="EN-US" 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 lang="EN-US" style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:#222222;mso-ligatures:none;mso-fareast-language:EN-GB">Dr. Rosa Aguilar</span><span lang="EN-US" 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-US" 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 lang="EN-US" 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 lang="EN-US" style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:#3333FF;mso-ligatures:none;mso-fareast-language:EN-GB">----------------------------------------------------------------</span><span lang="EN-US" style="font-size:8.0pt;font-family:"Palatino Linotype",serif;color:#222222;mso-ligatures:none;mso-fareast-language:EN-GB">-</span><span lang="EN-US" 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</span><span lang="EN-GB" style="font-size:8.0pt;font-family:"Palatino Linotype",serif;mso-ligatures:none;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><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 lang="EN-US" style="mso-ligatures:none">From:</span></b><span lang="EN-US" style="mso-ligatures:none"> QGIS-User <qgis-user-bounces@lists.osgeo.org>
<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> 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>
<p>Hi Jakob,<o:p></o:p></p>
<p>You can try jsonix. I use something like:<o:p></o:p></p>
<p>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></p>
<p>Later, you can transform WFS response to JSON, like:<o:p></o:p></p>
<p>    const response = responseBuffer.toString('utf8');<br>
    var result = unmarshaller.unmarshalString(response);<o:p></o:p></p>
<p>Not so easy, but it works.<o:p></o:p></p>
<p>Regards,<o:p></o:p></p>
<p>Jorge Gustavo<o:p></o:p></p>
<div>
<p class="MsoNormal">On 30/10/23 14:11, Jakob Miksch via QGIS-User wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span lang="DE">Dear QGIS Server people,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="DE"> </span><o:p></o:p></p>
<p class="MsoNormal">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></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">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></p>
<p class="MsoNormal"> <o:p></o:p></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.0666in;height:.95in" id="_x0030_.veaxdfz7gks" src="cid:image001.png@01DA0BC1.B74420E0"></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"><o:p> </o:p></span></p>
<span style="mso-bookmark:_Hlk528656578"></span>
<p class="MsoNormal"><span style="mso-ligatures:none"><br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>QGIS-User mailing list<o:p></o:p></pre>
<pre><a href="mailto:QGIS-User@lists.osgeo.org">QGIS-User@lists.osgeo.org</a><o:p></o:p></pre>
<pre>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></pre>
<pre>Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-user">https://lists.osgeo.org/mailman/listinfo/qgis-user</a><o:p></o:p></pre>
</blockquote>
</div>
</body>
</html>