Должен ли я поместить свои узлы XML в элементы контейнера? - PullRequest
1 голос
/ 01 октября 2010

Я создаю иерархию XML, которая выглядит примерно так:

element A
  0+ element B
    0+ element C (has PCDATA)
      (more complex hierarchy below this one, not really relevant)
  0+ element D
  0+ element E
  0+ element F
  0-1 element G (has PCDATA)
  0-1 element H (has PCDATA)

В результате, он начинает выглядеть немного «переполненным» под элементом А. Должен ли я добавить элементы контейнера, чтобы немного упорядочить вещи, например:

element A
  0-1 B-container
    0+ element B
      0-1 C-container
        0+ element C (has PCDATA)
          (more complex hierarchy below this one, not really relevant)
  0-1 D-container
    0+ element D
  0-1 E-container
    0+ element E
  0-1 F-container
    0+ element F
  0-1 element G (has PCDATA)
  0-1 element H (has PCDATA)

Или это нормально, если под элементом A находится куча разных элементов?

Этот XML должен использоваться таблицами стилей XSL, в основном написанными пользователями, поэтому я пытаюсь выяснить, с чем пользователям проще всего взаимодействовать.

1 Ответ

2 голосов
/ 01 октября 2010

Я не думаю, что это будет иметь большое значение для пользователей, которые создают таблицы стилей, любой узел может быть выбран с помощью селекторов в любом случае - это будет просто другое, не обязательно проще или сложнее.

Я бы сказал, что более важно убедиться, что ваша структура данных обеспечивает интуитивное представление ваших данных.Если то, что вы представляете, является естественно иерархическим, выберите структуру, которая представляет это таким образом.Тогда структуру будет легче обрабатывать, так как ее будет легче запомнить и визуализировать, а узлы, которые обычно обрабатываются вместе, будут находиться близко друг к другу в дереве.

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

...