在xml doctype实体中嵌套xml

jco*_*and 1 xml cruisecontrol.net doctype entity

<!DOCTYPE cruisecontrol [
    <!ENTITY triggers "<triggers><intervalTrigger seconds="30" /></triggers>">
    <!ENTITY rootdir "J:\pathyness\" >
]>
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置我的第一个cruisecontrol.net服务器,所以因为我想减少重复配置的数量,我试图设置这个嵌套的XML实体,所以我可以&triggers;在xml的主体内使用.

我需要对该XML实体做些什么来<triggers><intervalTrigger seconds="30" /></triggers>确保它能够像我上面说明的那样工作?我知道到目前为止两个陷阱

  • 报价
  • 尖括号

因此,我不确定我是否必须走得太远,&lt;triggers&gt;&lt;intervalTrigger seconds=&quot;30&quot; /&gt;&lt;/triggers&gt;因为所有看起来都像是n度过度.

Lum*_*umi 5

试试这样:

$ cat doctype-markup.xml
<!DOCTYPE cruisecontrol [
<!ENTITY triggers "<triggers><intervalTrigger seconds='30' /></triggers>">
<!ENTITY rootdir "J:\pathyness\" >
]>
<cruisecontrol>
<dir>&rootdir;</dir>
<eins>&triggers;</eins>
<zwei>&triggers;</zwei>
<drei>&triggers;</drei>
</cruisecontrol>

$ xmllint doctype-markup.xml
<?xml version="1.0"?>
<!DOCTYPE cruisecontrol [
<!ENTITY triggers "<triggers><intervalTrigger seconds='30' /></triggers>">
<!ENTITY rootdir "J:\pathyness\">
]>
<cruisecontrol>
<dir>&rootdir;</dir>
<eins>&triggers;</eins>
<zwei>&triggers;</zwei>
<drei>&triggers;</drei>
</cruisecontrol>

$ xmllint --noent doctype-markup.xml
<?xml version="1.0"?>
<!DOCTYPE cruisecontrol [
<!ENTITY triggers "<triggers><intervalTrigger seconds='30' /></triggers>">
<!ENTITY rootdir "J:\pathyness\">
]>
<cruisecontrol>
<dir>J:\pathyness\</dir>
<eins><triggers><intervalTrigger seconds="30"/></triggers></eins>
<zwei><triggers><intervalTrigger seconds="30"/></triggers></zwei>
<drei><triggers><intervalTrigger seconds="30"/></triggers></drei>
</cruisecontrol>
Run Code Online (Sandbox Code Playgroud)