Correct.  Someday I'll do this every time.  (Maybe by then there will be an 
XSchema editor.  No, I'm not holding my breath.)
>and when you've got a bunch of empty elements as children, they
>should probably be attributes.
Unfortunately there's no way to require that a Public Identifier attribute 
and/or a SystemLiteral be present with attributes.  Elements allow you the 
privilege of requiring one and/or the other, but at least one of the two. 
Hence, elements.
Simon St.Laurent
Dynamic HTML: A Primer / XML: A Primer / Cookies