# .ixs file format

.ixs is the file extension convention for a conversion setings file. A conversion settings file is a file in XML format that holds settings for logging, proxy, and HTTP options that are used during document conversion by iSiloX and iSiloXC, the GUI-based and command-line iSilo™ converters, respectively. XML provides a human-readable conventional file format for structured data that can be easily edited with a simple text editor. For more about XML, visit the W3C.

## Top-level structure

The first line of the file should specify that the file contains XML:

    <?xml version="1.0"?>

Next, should be the settings element that contains the conversion settings. The settings element begins with the following tag:

    <iSiloXSettings>

The settings element holds container elements that specify the settings.

## Full conversion settings element example

This example explicitly specifies values for all possible conversion settings.

    <?xml version="1.0"?>
    <iSiloXSettings>

      <Logging>
        <Conversion>
          <Log                  value="no"/>
          <Path>c:\convert.log</Path>
          <MaxPrevLogSize       value="64"/>
        </Conversion>
        <Connection>
          <Log                  value="no"/>
          <Path>c:\connect.log</Path>
        </Connection>
      </Logging>

      <Proxy>
        <UseProxy               value="no"/>
        <Address>proxyAddress</Address>
        <Port                   value="8080"/>
        <UserName>Joe</UserName>
        <Password>Joe's Password</Password>
        <UseHTTP10              value="no"/>
      </Proxy>

      <HTTP>
        <UserAgent>
          <Send                 value="default"/>
          <Name>iSiloXC/3.0 Windows/32</Name>
        </UserAgent>
        <Timeouts>
          <MaxRetriesPerPage    value="3"/>
          <MaxConnectTime       value="60"/>
          <MaxSendTime          value="30"/>
          <MaxReceiveTime       value="30"/>
        </Timeouts>
      </HTTP>

    </iSiloXSettings>

## XML conventions used

The following explanation of conventions should help you in understanding the .ixl file format.

### Data types

The .ixs file uses the following two general types of data:

- value: When a field takes a numeric value or a string from a limited set, then the tag uses an attribute named `value` to specify that value. An example of a field that takes a numeric value is the MaxPrevLogSize element:

        <MaxPrevLogSize       value="256"/>

  An example of a field that takes a string from a limited set is the Send element inside the UserAgent element. This element takes a value string that is equal to either `no`, `default`, or `custom`:

        <Send                 value="default"/>

  Note that all such elements are of the following form:

        <tag                  value="value"/>

  In the above, tag is the name of the element's tag, and value is the value to assign to the element. Note that a slash (e.g., '/') terminates the element since the element has no content.
- string: When a field takes an arbitrary string value, the string value is enclosed as content between the start tag and the end tag of the element. An example is the Path element inside either the Conversion element:

        <Path>c:\convert.log</Path>

  Note that that all such elements are of the following form:

        <tag>content</tag>

  In the above, tag is the name of the element's tag, and content is the string value.

### Default values

Most elements have default values. If you create a .ixs file, you do not have to explicitly specify values for every single possible element because the default value will be used in those cases. In the detailed element descriptions, the default value is provided for reference. For example, in the Proxy container element, if you do not set the UseProxy element value, it defaults to no.

## Sub-element summary

This table summarizes the option groups within the settings element. Click on the tag of an option group to see details about the elements in the corresponding group.

Tag | Description
--- | ---
`<Logging>` | Use the Logging element to turn logging of conversion and connection messages on or off.
`<Proxy>` | Use the Proxy element to specify access to web content through an HTTP proxy server that either requires no authentication or requires only Basic authentication.
`<HTTP>` | Use the HTTP element to specify various parameters for use when communicating with HTTP web servers.

## Using defaults example

This example turns connection logging on and sets up the use of a proxy that does not require a password. Notice that most elements are missing. Missing elements take default values. Using default values simplifies the creation of the settings file.

    <?xml version="1.0"?>
    <iSiloXSettings>

      <Logging>
        <Connection>
          <Log                  value="yes"/>
          <Path>c:\connect.log</Path>
        </Connection>
      </Logging>

      <Proxy>
        <UseProxy               value="yes"/>
        <Address>192.168.1.129</Address>
        <Port                   value="3128"/>
      </Proxy>

    </iSiloXSettings>

©1999-2017 DC & Co. All rights reserved.