The gutpoems dtd has the basic top level structure, and can take as many
poemsfrag elements as you want. poemsfrag can also stand a lone with its own DTD for ease of authoring. The full 'poemsfrag' dtd can be obtained here. The next page also has a description and a few notes on the use of this DTD. A tutorial on using this DTD to mark up poems can be found here
The following figure shows the top level structure of the gutpoems DTD.
Here are the element content declarations for the gutpoems1.DTD
<!ELEMENT gutpoems (gutblurb,markupblurb,poemsfrag*,endmarkupblurb?,endgutblurb?)> <!ELEMENT gutblurb (#PCDATA|para|subsect|title)*> <!ELEMENT markupblurb (#PCDATA|para|subsect|title)*> <!ELEMENT endmarkupblurb (#PCDATA|para|subsect|title)*> <!ELEMENT endgutblurb (#PCDATA|para|subsect|title)*>