DTD или XML-схема. Какой из них лучше? [закрыто]

для сохранения

PreferenceManager.getDefaultSharedPreferences(this).edit().putString("VarName","your value").apply();

для возврата:

String name = PreferenceManager.getDefaultSharedPreferences(this).getString("VarName","defaultValue");

значение по умолчанию: Значения для возврата, если это предпочтение не существует.

вы можете изменить « этот » с помощью getActivity () или getApplicationContext () в некоторых случаях

30
задан ROMANIA_engineer 31 May 2016 в 19:25
поделиться

4 ответа

From http://weblogs.asp.net/rchartier/archive/2006/03/21/440782.aspx

  • DTD's are not namespace aware.

  • DTD's have #define, #include, and #ifdef -- or, less C-oriented, the ability to define shorthand abbreviations, external содержимое и некоторый условный синтаксический анализ.

  • DTD описывает весь XML-документ (даже если он оставляет «дыры»); схема может определять части.

  • XSD имеет систему типов.

  • XSD имеет гораздо более богатый язык для описания того, как «выглядит» содержимое элемента или атрибута. Это связано с типом system.

  • Вы можете встроить DTD в XML-документ, но не можете сделать это с помощью XSD. Это означает, что DTD более безопасны (только вы должен защищать один байтовый поток - xml / dtd - а не
    несколько).

  • Официальное определение «действительного XML» требует DTD. Поскольку это может быть непрактично, а то и невозможно, вам часто приходится settle for schema-valid, which is not quite the same.

For my part, it's pretty straightforward to write a validator for some XML if you have an XSD. I haven't seen this with a DTD, although I'm sure it exists.

21
ответ дан 28 November 2019 в 00:11
поделиться

Существует также Relax NG - еще один мощный язык для проверки документов XML, наряду со Schematron и другими технологиями из DSDL . Relax NG очень прост и имеет удобочитаемую форму - Relax NG Compact, которая позволяет писать схемы, аналогичные схемам BNF.

4
ответ дан 28 November 2019 в 00:11
поделиться

Несколько лет назад были причины использовать DTD поверх XML-схемы (это было более распространено или лучше поддерживалось инструментами XML). Однако сегодня я не вижу причин не использовать XML-схему вместо DTD: XML-схема намного мощнее.

Однако XML-схема далека от совершенства (просто попробуйте прочитать спецификацию или книгу по XML-схеме. ..), и с тех пор было разработано множество альтернатив (Schematron, Examplotron, RelaxNG). У них могут быть технические преимущества перед схемой XML, но схема XML сегодня настолько распространена, что я вижу очень мало случаев, когда альтернатива имела бы смысл.

10
ответ дан 28 November 2019 в 00:11
поделиться

XML-схема может выполнять более сложные валидации. Например, DTD может проверить, является ли тип данных XML-элемента целым числом или строкой. В то время как XML-схема может выполнять более сложные проверки, например, если xml-элемент является строкой, начинающейся с заглавной буквы или позитного целого числа. Наконец, XML-схема использует синтаксис XML и его естественный выбор для разработки веб-сервисов

.
5
ответ дан 28 November 2019 в 00:11
поделиться
Другие вопросы по тегам:

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