[
Lists Home |
Date Index |
Thread Index
]
Max Chappell scripsit:
> I agree. The biggest shortcoming I have trouble with is the lack of any
> if then construct. i.e.
>
> Taking the example you gave -
> You can't say if <ParentNode> has @flavour='B' Then only allow child
> elements of type <B>.
>
> Tall order I know, but something I come up against on a daily basis.
Consider using RELAX NG, then, in which such things are easily accomplished
using fixed-value attributes and a choice.
If we wish to allow ParentNode to contain A children only if @flavour="A"
and likewise for B, then we write:
element ParentNode {
(attribute flavour {"A"}, A*) |
(attribute flavour {"B"}, B*)
}
A = element A {...}
B = element B {...}
As before, the ellipses should be replaced by the attributes and content
model of the A and B elements.
--
Do what you will, John Cowan
this Life's a Fiction jcowan@reutershealth.com
And is made up of http://www.reutershealth.com
Contradiction. --William Blake http://www.ccil.org/~cowan
|