projects
/
yazpp-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle CQL diagnostics better. Use present always for SRW-to-Z.
[yazpp-moved-to-github.git]
/
src
/
yaz-proxy-config.cpp
diff --git
a/src/yaz-proxy-config.cpp
b/src/yaz-proxy-config.cpp
index
fbcc88d
..
3c0e2ff
100644
(file)
--- a/
src/yaz-proxy-config.cpp
+++ b/
src/yaz-proxy-config.cpp
@@
-2,7
+2,7
@@
* Copyright (c) 1998-2003, Index Data.
* See the file LICENSE for details.
*
* Copyright (c) 1998-2003, Index Data.
* See the file LICENSE for details.
*
- * $Id: yaz-proxy-config.cpp,v 1.18 2004-01-05 09:31:09 adam Exp $
+ * $Id: yaz-proxy-config.cpp,v 1.19 2004-01-06 21:17:42 adam Exp $
*/
#include <ctype.h>
*/
#include <ctype.h>
@@
-396,6
+396,7
@@
int Yaz_ProxyConfig::check_syntax(ODR odr, const char *name,
*stylesheet = 0;
}
#if HAVE_XSLT
*stylesheet = 0;
}
#if HAVE_XSLT
+ int syntax_has_matched = 0;
xmlNodePtr ptr;
ptr = find_target_node(name, 0);
xmlNodePtr ptr;
ptr = find_target_node(name, 0);
@@
-445,8
+446,10
@@
int Yaz_ProxyConfig::check_syntax(ODR odr, const char *name,
}
}
if (match)
}
}
if (match)
+ {
+ syntax_has_matched = 1;
match = check_esn(ptr->children, comp);
match = check_esn(ptr->children, comp);
-
+ }
if (match)
{
if (stylesheet && match_stylesheet)
if (match)
{
if (stylesheet && match_stylesheet)
@@
-460,6
+463,8
@@
int Yaz_ProxyConfig::check_syntax(ODR odr, const char *name,
}
if (match_error)
{
}
if (match_error)
{
+ if (syntax_has_matched) // if syntax did match, schema/ESN was bad
+ return 25;
if (syntax)
{
char dotoid_str[100];
if (syntax)
{
char dotoid_str[100];