Как получить DTD (или другой формат спецификации XML) от образцов XML-файла

Я полностью согласен с упоминанием о C# для графического программирования. Это имеет небольшой недостаток того, чтобы быть управляемым языком, и разрешение полной свободы сборщика "мусора" по Вашему приложению является framerate самоубийством через некоторое время, но с некоторыми относительно интеллектуальными выделениями пула, сделанными рано в сроке действия программы можно избежать любых реальных проблем.

Несколько человек уже упомянули XNA, которая является невероятно дружественной и хорошо зарегистрирована, и я хотел бы повторить ту рекомендацию также. Я лично использую его для своих игровых проектов хобби, и это рассматривало меня очень хорошо.

XNA не является единственной альтернативой, все же. Существует также SlimDX, который находится в процессе постоянного развития как средство обеспечения минимизированной обертки DirectX подобным способом как Управляемый DirectX (который был, я верю, прекращенный Microsoft в пользу XNA). Оба достойны исследования: http://code.google.com/p/slimdx/

12
задан lexu 29 November 2009 в 10:56
поделиться

4 ответа

http://www.stylusstudio.com/dtd_generator.html - фактическое программное обеспечение, реализующее генератор DTD.

http://www.pmg.csail.mit.edu /~chmoh/pubs/wecwis.pdf кажется хорошей статьей о том, что вам может понадобиться, но я пока не могу найти (ссылки на) настоящий код где-либо в документе.

Вот это другая статья по этому поводу, опять же, кода не найдено: http://www.softnet.tuc.gr/~minos/Papers/debull03.pdf .

Наконец, я бы также предложил вместо этого вы изучаете использование RELAX NG или Schematron для проверки вашего XML. Эти языки намного более выразительны, что упрощает их чтение и дает больше возможностей для проверки. (Обязательно пропустите XML-схему, которая считается беспорядочной.)

7
ответ дан 2 December 2019 в 05:15
поделиться

Разбивка

  • TSource: Это тип элементов в коллекции, которые необходимо упорядочить
  • TKey: Типовой ключ, по которому элементы упорядочиваются.
  • Func : делегат, который вернет ключ для данного элемента в коллекции.

Эта функция, по сути, является функцией сортировки. Таким образом, ему нужен способ сравнения элементов в коллекции. Этот конкретный метод предполагает, что для данного объекта существует соответствующее значение ключа, по которому они могут быть отсортированы.

Возьмем, к примеру, следующий класс Student

class Student { 
  string Name { get; set; }
  ...
}

Если бы я хотел отсортировать коллекцию экземпляров Student по их имени, я мог бы сделать следующее

IEnumerable<Student> col = GetTheStudents();
var ordered = col.OrderByDescending( x => x.Name );

В этом случае значения будут следующими

  • TSource: Student
  • TKey: String
  • Func :
8
ответ дан 2 December 2019 в 05:15
поделиться

XMLSpy Altova имеет генератор схемы DTD / XML.

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

Я считаю сгенерированный dtd или схему отправной точкой. Это лучше, чем раскатывать вручную с нуля. Эээ, если вы начинаете с существующих XML-документов, то есть.

Даже если вы не собираетесь использовать сгенерированный dtd, это довольно хороший способ разобраться в структуре набора незнакомых XML-документов. .

1
ответ дан 2 December 2019 в 05:15
поделиться

Редактор XMLMax создаст XSD из файла XML. Бесплатная пробная версия (без регистрации / небольшого файла для загрузки) сделает это за вас. Если вы хотите сделать это в коде, .NET framework имеет класс XmlSchemaInference, который автоматически создает XSD из XML-файла.

1
ответ дан 2 December 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: