Permalink
Browse files

WFS: make CITE WFS 2.0-r11 pass by making PropertyIsNil work on gml:b…

…oundedBy
  • Loading branch information...
rouault committed Nov 16, 2013
1 parent d67bdb3 commit 0b5aae87fcbbe6a87151611693bbc41f74f387b3
Showing with 10 additions and 7 deletions.
  1. +9 −6 mapogcfilter.c
  2. +1 −1 msautotest
View
@@ -3384,6 +3384,9 @@ static int FLTIsGMLDefaultProperty(const char* pszName)
{
return (strcmp(pszName, "gml:name") == 0 ||
strcmp(pszName, "gml:description") == 0 ||
strcmp(pszName, "gml:descriptionReference") == 0 ||
strcmp(pszName, "gml:identifier") == 0 ||
strcmp(pszName, "gml:boundedBy") == 0 ||
strcmp(pszName, "@gml:id") == 0);
}
@@ -3395,11 +3398,9 @@ static void FLTStripNameSpacesFromPropertyName(FilterEncodingNode *psFilterNode)
if (psFilterNode) {
if (psFilterNode->eType == FILTER_NODE_TYPE_COMPARISON &&
(strcmp(psFilterNode->pszValue, "PropertyIsNull") == 0 ||
strcmp(psFilterNode->pszValue, "PropertyIsNil") == 0) &&
psFilterNode->psLeftNode != NULL &&
psFilterNode->psLeftNode->eType == FILTER_NODE_TYPE_PROPERTYNAME &&
FLTIsGMLDefaultProperty(psFilterNode->psLeftNode->pszValue) )
psFilterNode->psLeftNode != NULL &&
psFilterNode->psLeftNode->eType == FILTER_NODE_TYPE_PROPERTYNAME &&
FLTIsGMLDefaultProperty(psFilterNode->psLeftNode->pszValue) )
{
return;
}
@@ -3583,7 +3584,9 @@ int FLTCheckInvalidOperand(FilterEncodingNode *psFilterNode)
psFilterNode->psLeftNode != NULL &&
psFilterNode->psLeftNode->eType == FILTER_NODE_TYPE_PROPERTYNAME)
{
if( strcmp(psFilterNode->psLeftNode->pszValue, "boundedBy") == 0 )
if( strcmp(psFilterNode->psLeftNode->pszValue, "gml:boundedBy") == 0 &&
strcmp(psFilterNode->pszValue, "PropertyIsNull") != 0 &&
strcmp(psFilterNode->pszValue, "PropertyIsNil") != 0 )
{
msSetError(MS_MISCERR, "Operand '%s' is invalid in comparison.",
"FLTCheckInvalidOperand()", psFilterNode->psLeftNode->pszValue);
Submodule msautotest updated from e4064d to de0de3

0 comments on commit 0b5aae8

Please sign in to comment.