Hi,

I was thinking that the output of GetCapabilities is XML and & must be escaped 
in XML. So if I write & into the abstract and Mapserver works correctly it 
should write my test abstract “test ä &”  escaped perhaps as
test ä &
That is the output from the online tool at 
http://www.freeformatter.com/xml-escape.html#ad-output

So my conclusion was that because Mapserver does not do it right here it won’t 
do it right elsewhere.

But now I made another test by editing the Geoserver test file “states.shp” in 
Spatialite as
UPDATE states set STATE_NAME=’Colo&rado’ WHERE STATE_NAME=’Colorado’;

Output of GetFeature from WFS 1.1.0 from Mapserver 7.0.0  includes
     <ms:STATE_NAME>Colo&amp;rado</ms:STATE_NAME>

So my current conclusion is that my Mapserver does not escape “&” correctly 
when it is used inside a mapfile and when I do GetCapabilities request. 
However, when data come from Spatialite database and they are consumed by 
GetFeature then escaping happens correctly.

We are still comparing different things because you have PostGIS and I have 
Spatialite.

-Jukka Rahkonen-


Ian Walberg wrote:

Jukka,

I am not sure I understand the test you did.

The data we are referring to is from the database field for the individual 
features name.

Regards

Ian

From: Rahkonen Jukka (MML) [mailto:[email protected]]
Sent: Thursday, April 14, 2016 10:19 PM
To: Ian Walberg <[email protected]<mailto:[email protected]>>; 
MapserverList OSGEO 
<[email protected]<mailto:[email protected]>>
Subject: Re: WFS layer - XML/JSON safe chars

Hi Ian,

Thanks for the clarification.
I made a simple test by adding an abstract into layer metadata. This shows 
“test ä” as an abstract
"wfs_abstract" "test ä”

This one shows an empty abstract
"wfs_abstract" "test ä &"

So it looks like Mapserver doesn’t know to convert “&” into “&amp;” for XML.

-Jukka Rahkonen-

Ian Walberg wrote:

Jukka,

Our question was for the data/text read from the database and then published as 
XML by the WFS service.

So a pub with the name ‘Dog & bone’ created illegal xml as the & is not 
converted to &amp;

Regards

Ian

From: Rahkonen Jukka (MML) [mailto:[email protected]]
Sent: Thursday, April 14, 2016 3:10 PM
To: Ian Walberg <[email protected]<mailto:[email protected]>>; 
MapserverList OSGEO 
<[email protected]<mailto:[email protected]>>
Subject: Re: WFS layer - XML/JSON safe chars

Hi,

You can’t have & in feature type names or attribute names in WFS because they 
are defined in the XML schema to be “QName”. The prefix and LocalPart are of 
type NCName https://en.wikipedia.org/wiki/QName and from 
http://stackoverflow.com/questions/1631396/what-is-an-xsncname-type-and-when-should-it-be-used

The practical restrictions of NCName are that it cannot contain several symbol 
characters like :, @, $, %, &, /, +, ,, ;, whitespace characters or different 
parenthesis. Furthermore an NCName cannot begin with a number, dot or minus 
character although they can appear later in an NCName.

-Jukka Rahkonen-

Lähettäjä: mapserver-users [mailto:[email protected]] 
Puolesta Ian Walberg
Lähetetty: 14. huhtikuuta 2016 19:23
Vastaanottaja: MapserverList OSGEO
Aihe: [mapserver-users] WFS layer - XML/JSON safe chars

Folks,

Can mapserver produce XML or JSON safe characters for WFS served data or do we 
need to ensure the source data has the escaped values.

We got tripped up today as there were some ‘&’ in our names which we had not 
considered.

Thanks

Ian
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to