Должно ли логическое значение в формате файла XML записываться как true / false или 1/0?

После тридцати лет разработки двоичных форматов файлов я (наконец-то) пишу формат файла XML-документа.

Я дошел до части моего заголовка документа, где мне нужно написать около пятидесяти отдельных логических элементов данных, и мне было интересно: мне записать их как 1/0 или true / false?

Я понимаю, что спецификация XML может пойти в любую сторону. С одной стороны, 1/0 СЧИТАЕТ, что будет меньше работы при чтении формата файла обратно. Но так как формат файла небольшой, а циклы дешевы, считается ли правильным XML сделать формат файла максимально символичным? Если да, то правильно ли XML делать то же самое со ВСЕМИ переменными перечисления (выводить их символические имена против их значений — что потенциально может измениться?)

И на заметку — я генерирую XML в этой форме:

<FieldName>true</FieldName>

НЕ эта форма:

<FieldName value="true"/>

После прочтения десятков противоречивых статей и публикаций (некоторые из них касаются переполнения стека), ПОЭТОМУ кажется, что стиль атрибута (пример № 2) был в основном осужден.

5

Решение

По сути, вы спрашиваете, что такое культурные соглашения в сообществе XML. Культурная конвенция — заниматься своим делом. Однако стоит заметить, что XSLT и XQuery будут сериализовать значение типа xs: boolean как «true» или «false».

Что касается элементов и атрибутов, то это старый каштан, и для таких простых данных, как эта, обе формы вполне приемлемы. Просто попытайтесь быть последовательными в документе или семействе документов.

4

Другие решения

В любом случае, XML настолько многословен по сравнению с двоичными форматами, что, вероятно, это не имеет значения. Но для простоты использования и ясности я написал бы это как true а также false,

3