Output XML Specification

There are generally two possible outputs; one is for a successful inference session and the other for an unsuccessful one.

An example of the result of a successful session with the COM+ runtime server.

<?xml version="1.0" ?>
<XRKB>
  <APPLICATION NAME="C:\Travel_Expenses.xra"/>
  <MODULES>
    <MODULE FNAME="C:\Expenses.xra" VERSION="1,0,0,0"/>
  </MODULES>
  <SESSION VALUE="0100050014Grade=Senior_Manager0007Cost=90000DIn_London=Yes0013Department=Accounts0013Services=Room,Meals02"/>
  <ACTION MODE="REPORT" DATA="Pay_Claim"/>
  <OUTPUTS>
    <ITEM NAME="Expenses" VALUE="Pass"/>
    <ITEM NAME="Claims" VALUE="Pay"/>
  </OUTPUTS>
</XRKB>

From the above example, it can be seen that the main difference between the input and output XML is that there is a SESSION tag and an ACTION tag. For the ACTION tag there is a MODE attribute and a DATA attribute, the MODE signifes where the inference has reached (such as "END", "REPORT" or "DIALOG") and the DATA attribute indicates the name of the object that requires attention.

If the application chains to other knowledge modules at runtime then the MODULES section contains a list of the knowledge module names and their versions.

In batch type applications this would essentially result in the MODE attribute having the value "END", whereas for interactive type applications this would require extra code to store the SESSION tag for resubmission with additional new inputs in the next XML session.

Example of the result of unsuccessful sessions with the COM+ runtime server

<?xml version="1.0" ?>
<XRKB>
  <APPLICATION NAME="C:\XTravel_Expenses.xra"/>
  <SESSION VALUE=""/>
  <ACTION MODE="ERROR" DATA="ERROR:Invalid filename"/>
</XRKB>
<?xml version="1.0" ?>
<XRKB>
  <APPLICATION NAME="C:\Expenses.xra"/>
  <SESSION VALUE=""/>
  <ACTION MODE="ERROR" DATA="Missing serial number"/>
</XRKB>

In these cases the MODE attribute has a value of ERROR, and the DATA attribute has a value which contains the description of the error that prevented inference from completing.

Licence activation with expiry

If the runtime is being used with a licence that has an expiry date, then 30 days before expiry the output XML will contain the following warning showing the number of days to expiry.

  <WARNING INFO="Server licence will expire in X days"/>

Once the licence has expired then the following will be shown in the output XML.

  <ACTION MODE="ERROR" DATA="Your activation period has expired!"/>