如何在不重复自己的情况下重复 XML 代码?保持我的 XML DRY

问题描述

为了提高效率和维护,我想保持我的代码 DRY。我为我的程序编写了很多 XML,我想知道如何在同一文件或不同文件和目录中重复代码而不重复我的代码

<my-widget title="my title" value="my value"/>

<my-second-widget title="my second title" value="my second value"/>


<!-- big blocks of code -->


...


<!-- end of block of code -->



<my-widget title="my title" value="my value"/>

<my-second-widget title="my second title" value="my second value"/>

解决方法

可能的解决方案:

(a) 使用 XML 外部实体(同一个实体可以从多个地方引用)

(b) 使用 XInclude(同上)

(c) 重新设计 XML 以更好地反映您的数据结构。例如,如果两个小部件可以具有相同的小部件主体,则允许 <widget> 元素包含对 <widget-body> 元素的引用:

<widget id="w1" ref="body1"/>
<widget id="w2" ref="body1"/>
<widget-body id="body1">....</widget-body>