Re: [xml] "detached" DTD's
- From: Rich Salz <rsalz datapower com>
- To: Daniel Veillard <veillard redhat com>
- Cc: "xml gnome org" <xml gnome org>
- Subject: Re: [xml] "detached" DTD's
- Date: Tue, 21 Jan 2003 22:58:46 -0500 (EST)
Several weeks ago (3 dec 02) I asked how I could "patch up" a parsed
document, identifying ID attributes. I needed to do this for interop
work so that Aleksey's xmlsec package could verify WS-Security
signatures.
Daniel suggested a few things, including calling xmlValidateDtd
with empty error and warning callbacks. That re-walks the tree,
which isn't very efficient, but it's probably good enough (the
crypto time will dominate).
So I do things like this
xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS;
xmlDtdPtr dtd = xmlParseDTD(NULL, (const xmlChar*)argv[++pos]);
And then later on I call this routine:
static void noop_error(void* ctx, const char* msg, ...) {
}
static void noop_warning(void* ctx, const char* msg, ...) {
}
int findIDNodes(xmlDtdPtr dtd, xmlDocPtr doc) {
xmlValidCtxt c = { 0 };
c.error = noop_error;
c.warning = noop_warning;
xmlValidateDtd(&c, doc, dtd);
return 0;
}
So, a couple of questions. Should I set xmlLoadExtDtdDefaultValue
in findIDNodes, or before the DTD is loaded? Should I bother
with noop_error and noop_warning, or just leave the pointers NULL?
/r$
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]