> If you guard an include, what is the condition variable? The C example
> checks H_GRANDFATHER.
> The RNC has the string "http://www.example.com/grandfather". So it is
> either the interpretation of that string as a URI - I'm not sure how
> that differs from the #pragma_once case of XML Schema - or all the
> content retrieved from the URI.
Completely different. The point is that different URIs may refer to
the same schema. On the other hand, "http://www.example.com/grandfather"
is different from everything else.
>
> One area that the include guard breaks down is when files are compiled
> separately with poor organization of the makefile dependencies. Then
> H_GRANDFATHER and its structures, and more importantly static objects,
> can be included multiple times in a series of intermediate object files.
> I think the guard only works when there is but one, and only one,
> compilation context. Would RELAX NG validators face a similar situation?
I do not understand your point. C or C++ programmers have safely used #ifdef
for more than one compliation context. Are they any examples of
failures?
--
MURATA Makoto (FAMILY Given) <>