Attributes with Intent

David Megginson (ak117@freenet.carleton.ca)
Mon, 4 May 1998 08:33:07 -0400


Peter Murray-Rust writes:

> It's reasonable to assume that generic text-aware XML software
> might be asked "please find all elements in a document which are
> expressed in German." It can't look for all elements with
> xml:lang="de" because they don't have this explicitly. So general
> mechanisms such as XPointers can't be used, and bespoke software
> must be written. This software (presumably) finds all elements
> which *do* have the attribute and continues recursively.

>From a logical perspective, your query is simply

Find all elements in a document where the element or the nearest
ancestor with a value for the xml:lang attribute specifies "de" as
the attribute's value.

With SDQL, for example, this test is surprisingly simple:

(equal? (inherited-attribute-string "xml:lang") "de")

Your point is well-taken, though: fragments of XML documents are often
tightly bound to their context (similar situations would involve
attributes for effectivity, security level, revision status, etc.).

All the best,

David

-- 
David Megginson                 ak117@freenet.carleton.ca
Microstar Software Ltd.         dmeggins@microstar.com
      http://home.sprynet.com/sprynet/dmeggins/