通过一段时间的学习终于把OVAL的XML格式了解的差不多了,下面是成果
。
下面我要说几点编写时要注意的。
一:一个test只能对应一个object和state,而且这2个可以看成是一个函数(definition)所用到的参数而且这个这个参数类型是全局常量——可以反复使用。一般state里写的是目标版本号和对比方法,所以state重复使用的情况少。举例说明,如图:
这是IE浏览器的累积更新补丁,可以发现我在2组更新里用到的object只有3个。因为我在看这些更新是发现每次IE的更新都只是对比C:\Program Files\Internet Explorer\iexplore.exe和C:\Windows\System32\mshtml.dll和C:\Windows\System32\ntoskrnl.exe这3个PE文件的版本号。那ok了,我object里就写这3个文件,每次definition调用object就反复写这3个就完事了。另外注意一点在这种情况下state的个数是和test一样的。最后我把这3个路径分别写到了3个变量(variable)里,然后object再调用一下(也可以直接在object里写死)。
二:还是IE这个例子,如图
这里的filepath我是调用variable的,而variable是绝对路径。故不用写path和filename。如果需要用到path和filename时是不用filepath的。
三:最后一点在给一个definition添加编号时,如图
由于没有标签是添加补丁下载地址,我们可以在这里加上一句MSU和ID和它的URL以备不时之需。