Насколько модульной должна быть XML-схема?

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

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

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

Какой подход лучше?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
806
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

Один на пространство имен может показаться слишком абстрактным. Насколько модульными должны быть различия в пространстве имен? У меня может быть "mycompany.com/Customer" (xsd 1), "mycompany.com/Customer/Address" (xsd 2). Но мы можем иметь эти два различия внутри одного и того же.

paulosuzart 08.12.2008 20:17

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

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

Я процитирую документ с лучшими практиками: «Для лучшей производительности убедитесь, что XML-документ является модульным и небольшим. Рекомендуется иметь отдельные XSD для каждого типа документа».

paulosuzart 08.12.2008 20:20

Одна схема на документ - да, но я не уверен, насколько это влияет на производительность структуры одного документа.

Mitchel Sellers 09.12.2008 00:31
Ответ принят как подходящий

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

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

Другие вопросы по теме