X-Git-Url: http://git.indexdata.com/?p=yazpp-moved-to-github.git;a=blobdiff_plain;f=src%2Fyaz-proxy-config.cpp;fp=src%2Fyaz-proxy-config.cpp;h=3c0e2ff5b24d87cf33479e197384b2969379fc71;hp=fbcc88d6b3a091c938556e32d10cae1cfe478dd1;hb=6019cb520cb877fa162d5915f9b578609cd7074d;hpb=277e55dae549f6fa6b9ad22d8ebd89af53bcd71b diff --git a/src/yaz-proxy-config.cpp b/src/yaz-proxy-config.cpp index fbcc88d..3c0e2ff 100644 --- 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. * - * $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 @@ -396,6 +396,7 @@ int Yaz_ProxyConfig::check_syntax(ODR odr, const char *name, *stylesheet = 0; } #if HAVE_XSLT + int syntax_has_matched = 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) + { + syntax_has_matched = 1; match = check_esn(ptr->children, comp); - + } if (match) { if (stylesheet && match_stylesheet) @@ -460,6 +463,8 @@ int Yaz_ProxyConfig::check_syntax(ODR odr, const char *name, } if (match_error) { + if (syntax_has_matched) // if syntax did match, schema/ESN was bad + return 25; if (syntax) { char dotoid_str[100];