假设我有一个
- 片段A
- 片段B
其中 片段A 包含了 片段B n 次,其中 n > 1。
现在我已经将片段B的内容复制到了片段A中。这样做的缺点是,每当我更改片段B时,我还必须额外更改片段A。因此,我的问题是是否有一种语句可以嵌入一个片段到另一个片段中?
例如:
<externalsnippet src=".\snippetB.snippet" />
或类似的东西。
假设我有一个
现在我已经将片段B的内容复制到了片段A中。这样做的缺点是,每当我更改片段B时,我还必须额外更改片段A。因此,我的问题是是否有一种语句可以嵌入一个片段到另一个片段中?
例如:
<externalsnippet src=".\snippetB.snippet" />
或类似的东西。
您可以使用外部解析通用实体来声明片段B的实体引用,然后在片段A中多次使用它。
当解析片段A时,实体引用将被展开,并且从片段B中获取的内容将包含在每个使用实体的位置。
例如,假设您有一个名为snipppetB.xml的文件:
<snippetB>
<foo>Content goes here</foo>
</snippetB>
一个文件中的片段A声明了一个名为snippetB
的实体,引用snippetB.xml并使用了四次:
<!DOCTYPE snippetA [
<!ENTITY snippetB SYSTEM "./snippetB.xml">
]>
<snippetA>
<a>&snippetB;</a>
<b>&snippetB;</b>
<c>&snippetB;</c>
<d>&snippetB;</d>
</snippetA>
当解析 snippetA.xml 时,XML 内容将会如下所示:
<snippetA>
<a>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</a>
<b>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</b>
<c>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</c>
<d>
<snippetB>
<foo>Content goes here</foo>
</snippetB>
</d>
</snippetA>