Каковы оптимальные методы определения длины элементов XML в схеме? - PullRequest
0 голосов
/ 10 мая 2011

Каковы оптимальные методы определения длины элементов XML в схеме?Если вы строго напечатаете элементы так, чтобы они отражали длину поля предельного сопротивления для точки данных, или вы должны оставить их неопределенными, чтобы лучше адаптироваться к возможным будущим изменениям длины поля, поскольку оно сохраняется (и используется в другом месте черезсистема)?Есть ли хорошее эмпирическое правило, когда делать одно против другого, например, строго печатать для открытых схем, а не для внутреннего использования?

Ответы [ 2 ]

2 голосов
/ 10 мая 2011

Я думаю, что есть две веские причины для ограничения длины поля.

(a) ограничение действительно существует в реальном мире - регистрация автомобилей в Великобритании всегда состоит из 7 символов

(b) вы хотите защитить часть программного обеспечения от входных данных, которые он не может обработать. Личные имена могут превышать 40 символов, но у вас есть устаревшее приложение, которое не может обрабатывать более этого, поэтому вы хотите, чтобы более длинные имена не доходили до него.

Не устанавливайте ограничение только потому, что думаете, что оно должно быть. По умолчанию не должно быть. Мы больше не живем в мире перфокарт.

2 голосов
/ 10 мая 2011

Эмпирическое правило, которое вы предложили, звучит так же разумно, как и все остальное для меня. Действительно, это будет в каждом конкретном случае, когда потребители схемы (деловые люди, внутренние и внешние разработчики и т. Д.) Должны согласовать ее использование.

Внешняя схема - это ваш контракт с людьми (и их компьютерными системами), использующими эту схему. Так что да, вы должны как можно больше использовать схему, чтобы выразить свои ожидания от входящих данных - нет ничего хуже, чем передать схему, которая пронизана xs: любые элементы!

Если содержание элемента больше заданной длины вызовет ошибку, поместите эту информацию в схему.

Однако в реальном мире вы часто будете сталкиваться с ситуациями, когда вещи должны измениться по той или иной причине. Компрометация внутренних схем с более свободными ограничениями избавит вас от боли в будущем. В частности, при отображении множества внешних схем в вашу внутреннюю схему очень часто используется набор требований super , представленный внутренней схемой. Хотя, конечно, это означает, что ваша внутренняя обработка ошибок должна быть более надежной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...