protected void parseDocTypeSubElement (XMLTokenizer tokenizer, Token startToken,
DocType docType)
{
Token token = startToken;
token = expect (tokenizer, token, Type.DTD_WHITESPACE, "Expected whitespace after '<!ELEMENT'");
token = expect (tokenizer, token, Type.TEXT, "Expected element name");
String name = token.getText ();
token = expect (tokenizer, token, Type.DTD_WHITESPACE, "Expected whitespace after element name");
Token beforeContent = token;
while ((token = tokenizer.next ()) != null)
{
if (token.getType() == Type.DOCTYPE_END)
break;
}
if (token == null)
throw new XMLParseException ("Unexpected EOF while parsing element content", tokenizer.getSource (), tokenizer.getOffset ());
String content = tokenizer.getSource ().substring (beforeContent.getEndOffset (), token.getStartOffset ());
startToken.setEndOffset (token.getEndOffset ());
DocTypeElement element = new DocTypeElement (startToken, name, content);
docType.add (element);
}