<?xml encoding="UTF-8"?>

<!--
************************************************************************
novel.dtd: A simple XML DTD for marking-up novels.
Copyright (c) 1997 by David Megginson.
************************************************************************
-->


<!-- Content model for phrasal content -->

<!ENTITY % phrasal "#PCDATA|emphasis">


<!-- ******** -->
<!-- Elements -->
<!-- ******** -->


<!-- The top-level novel -->

<!ELEMENT novel (front, body)>


<!-- The frontmatter for the novel -->

<!ELEMENT front (title, author, revision-list)>


<!-- The list of revisions to this text -->

<!ELEMENT revision-list (item+)>


<!-- An item in the list of revisions -->

<!ELEMENT item (%phrasal;)*>


<!-- The main body of a novel -->

<!ELEMENT body (chapter+)>


<!-- A chapter of a novel -->

<!ELEMENT chapter (title, paragraph+)>
<!ATTLIST chapter 
  id ID #REQUIRED>


<!-- The title of a novel or chapter -->

<!ELEMENT title (%phrasal;)*>


<!-- The author(s) of a novel -->

<!ELEMENT author (%phrasal;)*>


<!-- A paragraph in a chapter -->

<!ELEMENT paragraph (%phrasal;)*>


<!-- An emphasised phrase -->

<!ELEMENT emphasis (%phrasal;)*>


<!-- **************** -->
<!-- General Entities -->
<!-- **************** -->

<!--
  These really should have their Unicode equivalents.
-->

<!-- em-dash -->

<!ENTITY mdash "--">


<!-- left double quotation mark -->

<!ENTITY ldquo "``">


<!-- right double quotation mark -->

<!ENTITY rdquo "''">


<!-- left single quotation mark -->
<!ENTITY lsquo "`">


<!-- right single quotation mark -->

<!ENTITY rsquo "'">


<!-- horizonatal ellipse -->

<!ENTITY hellip "...">


<!-- end of DTD -->
