|
From: Frank K. <fku...@to...> - 2005-01-18 14:22:16
|
Hello, When requesting search results in COMPACT or COMPACT-DECODED format, the RETS server is expected to respond with a single <COLUMNS> tag and a <DATA> tag for each row returned. Within each of these tags, the columns are separated by the field delimiter contained in the <DELIMITER> tag. This is all delineated in section 7.6 of the RETS 1.5 specification. Logically, there should be the same number of columns in each <DATA> tag as there are in the <COLUMNS> tag. But one vendor's RETS server includes an extra delimiter in each <DATA> tag, resulting in an off-by-one column count in each <DATA> element WRT the <COLUMNS> element. Since the extra delimiter as at the end of each <DATA> tag, the column alignment is not hosed, but the CART library expressly checks the column count on each <DATA> element and will throw a SAXParseException if there are too many data columns relative to the <COLUMNS> element. (SearchResultHandler.endElement() ) My questions: 1. Is this server behavior a violation of the RETS Specification? It seems that it should be a violation but I can't find it addressed anywhere. 2. How would you handle this? I have modified CART to log an error rather than throw an exception in this case, but I'm not sure how much pressure I should put on the vendor concerning this. IMHO, it's very bad practice, but if it's not a violation of the specification... Thanks in advance, -- Frank Kurzawa <fku...@to...> Topaz Software, Inc. |