Index: mapogcfilter.c =================================================================== --- mapogcfilter.c (revision 6238) +++ mapogcfilter.c (working copy) @@ -1478,6 +1478,8 @@ if (strcasecmp(psXMLNode->pszValue, "BBOX") == 0) { char *pszSRS = NULL; + char *pszTS = NULL; + char *pszCS = NULL; CPLXMLNode *psPropertyName = NULL; CPLXMLNode *psBox = NULL; CPLXMLNode *psCoordinates = NULL, *psCoordChild=NULL; @@ -1499,6 +1501,8 @@ pszSRS = (char *)CPLGetXMLValue(psBox, "srsName", NULL); psCoordinates = CPLGetXMLNode(psBox, "coordinates"); + pszTS = (char *)CPLGetXMLValue(psCoordinates, "ts", NULL); + pszCS = (char *)CPLGetXMLValue(psCoordinates, "cs", NULL); psCoordChild = psCoordinates->psChild; while (psCoordinates && psCoordChild && psCoordChild->eType != CXT_Text) { @@ -1507,14 +1511,14 @@ if (psCoordChild && psCoordChild->pszValue) { pszTmpCoord = psCoordChild->pszValue; - szCoords = msStringSplit(pszTmpCoord, ' ', &nCoords); + szCoords = msStringSplit(pszTmpCoord, (char) pszTS, &nCoords); if (szCoords && nCoords == 2) { szCoords1 = strdup(szCoords[0]); szCoords2 = strdup(szCoords[1]); - szMin = msStringSplit(szCoords1, ',', &nCoords); + szMin = msStringSplit(szCoords1, pszCS, &nCoords); if (szMin && nCoords == 2) - szMax = msStringSplit(szCoords2, ',', &nCoords); + szMax = msStringSplit(szCoords2, pszCS, &nCoords); if (szMax && nCoords == 2) bCoordinatesValid =1;