Насколько модульной должна быть схема XML? - PullRequest
1 голос
/ 08 декабря 2008

Говоря о определениях схемы , что вы привыкли делать:

  1. поместить все в уникальную XML-схему большого взрыва?
  2. использовать подход модульности домена, объединяя все сущности, ссылающиеся на один и тот же контекст?
  3. или просто использовать схему для каждой сущности?

В одном из лучших / частных инструментов интеграции я прочел документ, который вам следует модульно модифицировать из-за повышения производительности и т. Д.

Каков наилучший подход?

Ответы [ 3 ]

2 голосов
/ 08 декабря 2008

Один на пространство имен. Зачем вам нужно разбить схему? Я бы также процитировал Правила Клуба оптимизации .

Edit: Если у вас много сущностей, которые не пересекаются друг с другом (например, плагины), возможно, имеет смысл начать применять принцип СУХОЙ / модульности и разбить общие части.

1 голос
/ 30 декабря 2008

Я думаю, что схема на сущность слишком сильно распространяет вещи. Обычно для данной системы у меня есть одна схема, которая имеет все наиболее распространенные типы. Таким образом, когда я говорю о «foo: bar» в одном xsd и «foo: bar» в другом xsd, я знаю, что они эквивалентны. Затем каждый контекст данных попадает в другую схему.

Например, если мы говорим о финансовой системе, у меня был бы один xsd с такими типами, как номер заказа, номер счета-фактуры, имя поставщика и т. Д. ... вещи, которые потребуются для всех видов документов. Тогда будет один xsd для «выставления счетов», один для «заказа», один для «счетов» и так далее. Эти схемы могут также ссылаться друг на друга, и у каждого из них будет свое собственное пространство имен, чтобы упорядочить любые необычные типы, имеющие одинаковые имена.

0 голосов
/ 08 декабря 2008

Лично по своему опыту я слышал, что с точки зрения производительности не так уж много различий.

Однако, на мой взгляд, я считаю, что единую вложенную схему гораздо проще понять, использовать и ссылаться на исходный документ.

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