Дублируйте некоторые части XML, не переписывая их

У меня есть файл XML с повторяющимися частями, такими как:

<argument name="create">
    <argument name="user" type="text"></argument>
    <argument name="password" type="password"></argument>
    (and so on)
</argument>

<argument name="update">
    <argument name="user" type="text"></argument>
    <argument name="password" type="password"></argument>
    (and so on)
</argument>

Я хотел бы, чтобы часть между create и update была объявлена ​​один раз, а затем добавляла ее между create и update с помощью одной строки. Это спасло бы меня много строк.

Есть ли способ сделать это в XML?

1 ответ

Решение

Для этого вы можете использовать "сущности" SGML/XML, которые могут содержать замещающий текст или разметку для повторного использования в нескольких местах:

<!DOCTYPE arguments [
  <!ENTITY user-and-password
   '<argument name="user" type="text"/>
    <argument name="password" type="password"/>'>
]>
<arguments>
  <argument name="create">
    &user-and-password;
  </argument>
  <argument name="update">
    &user-and-password;
  </argument>
</arguments>

Обратите внимание, что вы должны адаптировать DOCTYPE: он должен соответствовать элементу документа вашего XML.

Смотрите также наследование конфигурации XML, избегайте дублирования

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