Прежде, чем двигаться дальше, сделаем маленькое замечание о разработки типов XML-документа для обеспечения гибкости. Рассмотрим пример типа документа имени и адреса; я, понятно, писал его, имея в виду почтовые адреса США. Если вам нужно DTD или схема, которые определяют другие типы адресов, вы должны будете сделать их значительно более сложными. Обязательность элемента <state> может иметь смысл в Австралии, но не в Соединенном Королевстве. Канадский адрес может быть обработан DTD из примера в , но лучше будет добавить элемент <province>. Наконец, во многих частях света такие концепции, как именование, первое имя и последнее имя не имеют смысла.
И последнее: Если вы собираетесь определить структуру XML-документа, вы должны предусмотреть в вашей DTD или схеме столько же, сколько вы предусматриваете, проектируя схему базы данных или структуру данных для приложения. Чем больше требований вы предусмотрите, тем легче и дешевле будет для вас реализовать из потом.