Дублируйте некоторые части 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, избегайте дублирования