复制XML的某些部分而不重写它们

时间:2018-05-04 20:41:26

标签: xml code-duplication

我有一个包含重复部分的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>

我想在创建和更新之间声明一次,然后在创建和更新之间添加一行。这样可以为我节省很多时间。

用XML做任何事情吗?

1 个答案:

答案 0 :(得分:2)

您可以使用SGML / XML&#34;实体&#34;为此,它可以包含替换文本或标记,以便在多个地方重用:

<!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 configuration inheritance, avoid duplications