annotate pkg/wfs/capabilities.go @ 1600:658c1ebc1707

WFS Capabilities parser: Parse FeatureTypeList, too.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 17 Dec 2018 12:23:18 +0100
parents 5e16d1fbe91f
children e80e35b26f17
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 // This is Free Software under GNU Affero General Public License v >= 3.0
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2 // without warranty, see README.md and license for details.
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 //
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4 // SPDX-License-Identifier: AGPL-3.0-or-later
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 // License-Filename: LICENSES/AGPL-3.0.txt
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 //
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
7 // Copyright (C) 2018 by via donau
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8 // – Österreichische Wasserstraßen-Gesellschaft mbH
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9 // Software engineering by Intevation GmbH
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10 //
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11 // Author(s):
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 // * Sascha L. Teichmann <sascha.teichmann@intevation.de>
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 package wfs
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 import (
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 "encoding/xml"
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 "io"
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 "golang.org/x/net/html/charset"
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21 )
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22
1600
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
23 type Keyword struct {
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
24 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 Keyword"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
25 Value string `xml:",cdata"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
26 }
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
27 type Keywords struct {
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
28 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 Keywords"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
29 Keywords []Keyword `xml:"Keyword"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
30 }
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
31
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 type ServiceIdentification struct {
1600
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
33 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 ServiceIdentification"`
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 Title string
1600
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
35 Abstract string
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
36 Keywords Keywords `xml:"Keywords"`
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37 ServiceType string
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 ServiceTypeVersion string
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 type Get struct {
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 Get"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 HRef string `xml:"http://www.w3.org/1999/xlink href,attr"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 type Post struct {
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 Post"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 HRef string `xml:"http://www.w3.org/1999/xlink href,attr"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 type HTTP struct {
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 HTTP"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 Get *Get `xml:"Get"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 Post *Post `xml:"Post"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 type DCP struct {
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 DCP"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 HTTP HTTP `xml:"HTTP"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
60 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
61
1599
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
62 type Value struct {
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
63 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 Value"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
64 Value string `xml:",cdata"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
65 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
66
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
67 type AllowedValues struct {
1599
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
68 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 AllowedValues"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
69 Values []Value `xml:"Value"`
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
70 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
71
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
72 type Parameter struct {
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
73 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 Parameter"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
74 Name string `xml:"name,attr"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
75 AllowedValues AllowedValues `xml:"AllowedValues"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
76 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
77
1599
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
78 type DefaultValue struct {
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
79 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 DefaultValue"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
80 Value string `xml:",cdata"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
81 }
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
82
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
83 type Constraint struct {
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
84 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 Constraint"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
85 Name string `xml:"name,attr"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
86 AllowedValues AllowedValues `xml:"AllowedValues"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
87 DefaultValue *DefaultValue `xml:"DefaultValue"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
88 }
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
89
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
90 type Operation struct {
1599
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
91 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 Operation"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
92 Name string `xml:"name,attr"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
93 DCP DCP `xml:"DCP"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
94 Parameters []*Parameter `xml:"Parameter"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
95 Constraints []*Constraint `xml:"Constraint"`
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
96 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
97
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
98 type OperationsMetadata struct {
1599
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
99 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 OperationsMetadata"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
100 Operations []*Operation `xml:"Operation"`
5e16d1fbe91f WFS Capabilities parser: Parse constraints, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1596
diff changeset
101 Constraints []*Constraint `xml:"Constraint"`
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
102 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
103
1600
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
104 type WGS84BoundingBox struct {
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
105 XMLName xml.Name `xml:"http://www.opengis.net/ows/1.1 WGS84BoundingBox"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
106 LowerCorner string `xml:"LowerCorner"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
107 UpperCorner string `xml:"UpperCorner"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
108 }
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
109
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
110 type FeatureType struct {
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
111 XMLName xml.Name `xml:"http://www.opengis.net/wfs/2.0 FeatureType"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
112 Name string `xml:"Name"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
113 Title string `xml:"Title"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
114 Keywords Keywords `xml:"Keywords"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
115 DefaultCRS string `xml:"DefaultCRS"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
116 OtherCRSs []string `xml:"OtherCRS"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
117 WGS84BoundingBox *WGS84BoundingBox `xml:"WGS84BoundingBox"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
118 }
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
119
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
120 type FeatureTypeList struct {
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
121 XMLName xml.Name `xml:"http://www.opengis.net/wfs/2.0 FeatureTypeList"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
122 FeatureTypes []*FeatureType `xml:"FeatureType"`
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
123 }
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
124
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
125 type Capabilities struct {
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
126 XMLName xml.Name `xml:"http://www.opengis.net/wfs/2.0 WFS_Capabilities"`
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
127
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
128 ServiceIdentification ServiceIdentification
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
129 OperationsMetadata OperationsMetadata
1600
658c1ebc1707 WFS Capabilities parser: Parse FeatureTypeList, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1599
diff changeset
130 FeatureTypeList FeatureTypeList
1596
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
131 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
132
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
133 func ParseCapabilities(r io.Reader) (*Capabilities, error) {
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
134
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
135 decoder := xml.NewDecoder(r)
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
136 decoder.CharsetReader = charset.NewReaderLabel
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
137
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
138 var capabilities Capabilities
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
139
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
140 if err := decoder.Decode(&capabilities); err != nil {
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
141 return nil, err
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
142 }
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
143
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
144 return &capabilities, nil
74413d52c439 Started with WFS Capabilities parser.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
145 }