[Home] [By Thread] [By Date] [Recent Entries]


"Maciejewski, Thomas" <Thomas.Maciejewski@l...> 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@c...
		     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@l...>
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member