K3/EES 4/482-16 15.5.98
Using a database oriented DTD
Example: finding invalid parameters
descendant // consider all descendants
[ // for which is true:
@f-id-class=="PRM" & // f-id-class is "PRM" AND
child // has a child
[ // for which is true:
?prm-char & // GID is "PRM-CHAR" and
child[?min].data // child with GID "MIN"
> // is greater than one of
child // the children with
[?typ | ?max] // GID is "TYP" or "MAX"
.data // for each of those: PCDATA
]
]
. // for each of those
child[?short-name] // children with GID "SHORT-NAME"
. data // for each of those return PCDATA