|
|||||
XML/SGML enquiry and comparison: combining | |||||
Prerequisite Concepts | Related Syntax |
In versions of OmniMark prior to V3, certain SGML and XML enquiries fail rather than abort when their component enquiries fail.
For example in the following, if there is no ancestor "chapter", then the test fails and the test is never done:
local counter n ... do when occurrence of ancestor chapter = n ... done
Contrast this case with the following in which the test is in error if there are fewer than seven items on the counter shelf:
local counter word-count local counter n ... do when word-count @ 7 = n ... done
Or the following:
local counter n ... do when n = occurrence of ancestor chapter ... donewhich would both seem to be similar to the first case in their intended effect, but which are both in error if there is no ancestor element "chapter".
OmniMark has now standardized these cases so that SGML and XML enquiries of the first type are now also in error when the identified element does not exist. This new interpretation means that all of the following are equivalent in their behavior:
when occurrence of ancestor chapter = n when n = occurrence of ancestor chapter when (occurrence of ancestor chapter) = n
Prerequisite Concepts Aided translation types Elements Elements: counting Elements: qualifiers |
Related Syntax element occurrence of ancestor |
---- |