[
Lists Home |
Date Index |
Thread Index
]
"Maciejewski, Thomas" <Thomas.Maciejewski@lehman.com> writes:
> Is there a way to enforce abstract types. For example lets say I have an
> interface : printable
>
> but then I have a concrete "class" wordDocument that derives from printable
> with some additional information. Lets say I would like to serialize these
> objects to XML. Lets say I also have a class queue that can have many
> "printable" objects ...
>
> so in my xml I would like to have :
>
> <foo>
> <wordDocument name="toms document" />
> <excelDocument name="toms spreadsheet" />
> </foo>
>
> but not allow:
> <foo>
> <printable />
> </foo>
There are serveral ways to do this. Most straightforward is
1) Declare printable as an abstract element at the top-level with a
type which covers all the possibilities for your concrete classes;
2) Declare foo to have printable* as its content;
3) Declare wordDocument and excelDocument at the top level with
substitutionGroup='printable' and types derived from the type of
printable.
You're done.
ht
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
W3C Fellow 1999--2002, part-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]
- References:
- abstract types
- From: "Maciejewski, Thomas" <Thomas.Maciejewski@lehman.com>
|