Altova XMLSpy имеет генератор схемы DTD / XML.
Сгенерированная схема DTD / XML обычно требует небольшой настройки. Например, инструмент может перечислять список атрибутов или элементов, когда вы «хотели» для него разрешить любое значение. Вы только даете ему образец своего проблемного пространства, и оно должно идти от конкретного к общему. По этой причине я не слишком напрягаюсь, когда мне не удается прочитать мои мысли.
Я считаю сгенерированную dtd или схему отправной точкой. Это лучше, чем катить его вручную с нуля. Э-э, если вы начинаете с существующих документов XML, то есть.
Даже если вы не собираетесь использовать сгенерированный dtd, это довольно хороший способ разобраться в структуре набора незнакомых XML-документов.