[xml] xmllint -valid versus -postvalid

I have an XML file that uses SYSTEM entities, and it validates when I use
"xmllint -valid" but that fails validation when I use "xmllint -postvalid".
I get:

validity error : IDREF attribute linkend references an unknown ID "foo"

The ID being referenced is in a SYSTEM entity that is pulled into the file
with an entity reference, and the IDREF is in the main file.  If I manually
resolve all of the entities, then indeed the file is valid with both -valid
and -postvalid.

So what is the difference between -valid and -postvalid when no XIncludes
are involved?  All the man page says is that for -postvalid, that validation
is performed after parsing is complete.  But isn't it also necessary to
complete the parsing before doing -valid as well?  What extra checking
is -postvalid doing that is causing this failure? Or is this perhaps a bug?

I'm using version 20614CVS2190 on Windows XP under Cygwin.

Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobs sagehill net

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]