<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef">
<idmef:Alert messageid="abc123456789">
<idmef:Analyzer analyzerid="bc-corr-01">
<idmef:Node category="dns">
<idmef:name>correlator01.example.com</idmef:name>
</idmef:Node>
</idmef:Analyzer>
<idmef:CreateTime ntpstamp="0xbc72423b.0x00000000">2000-03-09T15:31:07Z
</idmef:CreateTime>
<idmef:Source ident="a1">
<idmef:Node ident="a1-1">
<idmef:Address ident="a1-2" category="ipv4-addr">
<idmef:address>192.0.2.200</idmef:address>
</idmef:Address>
</idmef:Node>
</idmef:Source>
<idmef:Target ident="a2">
<idmef:Node ident="a2-1" category="dns">
<idmef:name>www.example.com</idmef:name>
<idmef:Address ident="a2-2" category="ipv4-addr">
<idmef:address>192.0.2.50</idmef:address>
</idmef:Address>
</idmef:Node>
<idmef:Service ident="a2-3">
<idmef:portlist>5
</idmef:portlist>
</idmef:Service>
</idmef:Target>
<idmef:Classification text="Login Authentication">
<idmef:Reference origin="vendor-specific">
<idmef:name>portscan</idmef:name>
<idmef:url>http://www.vendor.com/portscan</idmef:url>
</idmef:Reference>
</idmef:Classification>
<idmef:Assessment>
<idmef:Impact severity ="high" completion ="failed" type ="file" >
</idmef:Impact>
</idmef:Assessment>
</idmef:Alert>
</idmef:IDMEF-Message>
Я работаю с системой обмена сообщениями xml, где пакет сообщений читается из очереди и применяется к правилу с шаблоном в нем. Если шаблон соответствует, правило запускается, и некоторые элементы, узлы и т. Д. Xml читаются и сохраняются. Определение того, что следует читать из сообщения, определяется с помощью выражения Xpath. Например, следующий xpath берет атрибут серьезности и сохраняет его.
name.set ( ".// idmef: Классификация / idmef: Assesment / idmef: Влияние / @ тяжесть", "высокий");
Итак, я бы взял этот xpath, скомпилировал его, прочитал атрибут serverity и сохранил для последующего использования.
Когда я иду, чтобы создать новое сообщение XML, используя сохраненное значение, может быть случай, когда атрибут завершения и типа являются обязательными.
Итак, вопрос в том, как мне проверить, нужно ли выписывать эти атрибуты. Я знаю, что схема как-то задействована, но как ты это делаешь? Более того, если пользователь выбирает только атрибут серьезности, как бы я поступил, добавив в остальную часть структуры, например, Classification, Message и другие элементы, когда есть дополнительные поиски xpath, например, вниз по
Боб.