Root Element: database
DSD version: 1.0



<database> ID=database:
Element book*;
Element database-title
</database>
<title> ID=book-title[Defaultable]:
Content {StringType };
style="titlestyles" [Optional]
</title>
<title> ID=database-title:
(StringType | AnyElement)*
</title>
<book> ID=book:
isbn="isbn" [Optional];
( If Attribute isbn
Then {Element book-title?}
Else {Element title},
Element author+,
Element publisher,
<year>
</year>,
<review>
</review>?)
</book>
<author> ID=author:
( <first>
</first>,
<initial>
</initial>?,
<last>
</last>);
Element homepage?
</author>
<publisher> ID=publisher:
simple;
Element homepage?
</publisher>
<homepage> ID=homepage:
url
</homepage>
StringTypeDef ID=url:
AnyChar*
StringTypeDef ID=simple:
([a-z] | [A-Z] | [._- &])+
StringTypeDef ID=digits:
[0-9]*
StringTypeDef ID=isbn:
[0123456789] [ -]?9
[0123456789X]
Default book {
<title>Untitled</title>}