|
MAME数据文件中:
以1943为例,它的主档描述如下:
<machine name="1943" sourcefile="capcom/1943.cpp">
<description>1943: The Battle of Midway (Euro)</description>
<year>1987</year>
它的辅档描述如下:
1.-----------------
<machine name="1943b" sourcefile="capcom/1943.cpp" cloneof="1943" romof="1943">
<description>1943: Battle of Midway (bootleg, hack of Japan set)</description>
<year>1987</year>
2.-----------------
<machine name="1943bj" sourcefile="capcom/1943.cpp" cloneof="1943" romof="1943">
<description>1943: Midway Kaisen (bootleg)</description>
<year>1987</year>
3.-----------------
<machine name="1943ja" sourcefile="capcom/1943.cpp" cloneof="1943" romof="1943">
<description>1943: Midway Kaisen (Japan)</description>
<year>1987</year>
4.-----------------
<machine name="1943jah" sourcefile="capcom/1943.cpp" cloneof="1943" romof="1943">
<description>1943: Midway Kaisen (Japan, no protection hack)</description>
<year>1987</year>
上面列出了他的所有辅档,可以看出有一个共同的地方,而主档却没有,就是在它的描述中,有 cloneof 或者 romof 的字样,这是为了和主档关联,运行时候获取主档程序文件的联系方法,而我们只要把有这些字样的文件全部过滤掉即可。这个过滤没有任何技术难度,一条很简单的Xpath语句即可。
1. xp://machine[not(@romof)]
2. xp://machine[not(@romof) and not(@cloneof)]
|
|