SATによるスクリプトを記述するための記述形式です。 以下のように定義されています。
script ::= xmlfile+ xmlfile ::= xmlheader xmlcontent xmlheader ::= '<?xml' (sp xmlheaderopt)* sp? '?>' xmlheaderopt ::= xmlversion | xmlencoding xmlversion ::= 'version' sp? eq sp? number xmlencoding ::= 'encoding' sp? eq sp? string xmlcontent ::= '<satml>' satgeneral? | satrule* '</satml>' satgeneral ::= '<general>' adaptorsetting+ '</general>' adaptorsetting ::= '<adaptor' (sp adaptoropt)* sp? '/>' adaptoropt ::= typesetting | namesetting | hostsetting | portsetting | codesetting typesetting ::= 'type' sp? eq sp? adaptortype adaptortype ::= 'julius' | 'socket' | 'process' hostsetting ::= 'host' sp? eq sp? string portsetting ::= 'port' sp? eq sp? number codesetting ::= 'code' sp? eq sp? string satrule ::= '<rule' (sp ruleopt)* '>' pattern command+ '</rule>' ruleopt ::= namesetting namesetting ::= 'name' sp? eq sp? string pattern ::= '<head>' state+ '</head>' state ::= '<state>' string '</state>' command ::= '<'commandtype (sp commandopt)* '>' string '</command>' commandtype ::= 'state' | 'stream' | 'trace' commandopt ::= 'name' sp? eq sp? string eq ::= '=' string ::= [a-zA-z][0-9a-zA-z]* number ::= -?[0-9]+