# .ixl file format

.ixl is the file extension convention for a conversion list file. A conversion list file is a file in XML format that holds document conversion specifications for 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 document list element that contains the document specifications. The document list element begins with the following tag:

    <iSiloXDocumentList>

Within the document list element should be at most one registry element and one or more document elements.

The registry element holds meta data for the document list, such as the tree representing the groups that can be used to organize the list. It begins with the following tag:

      <Registry>

A document element specifies how to create a document and begins with the following tag:

      <iSiloXDocument>

Each document element generally consists of several container elements that specify the information needed in order to create the document, such as the URLs and file paths of the source content and settings for options.

## Full document list element example

This example is a list with one document that shows all of the possible elements explicitly specified.

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

      <Registry>
        <Groups>
          <Group name="Personal" checked="yes"/>
          <Groups name="Animals" checked="yes" expanded="yes">
            <Group name="Frogs//Toads"/>
            <Group name="Cows" checked="yes"/>
            <Group name="Dogs and cats"/>
          </Groups>
          <Group name="Work"/>
        </Groups>
      </Registry>

      <iSiloXDocument>

        <Source>
          <Sources>
            <Path>http://www.iSilo.com</Path>
            <Path>http://www.iSiloX.com</Path>
          </Sources>
          <UserName>Joe</UserName>
          <Password>Joe's Password</Password>
          <CharSet>iso-8859-1</CharSet>
        </Source>

        <Destination>
          <Title>My Document</Title>
          <HotSync>
            <Path>John Doe</Path>
            <Path>Jane Doe:</Path>
          </HotSync>
          <ActiveSync>
            <Path>PocketPC</Path>
            <Path>PocketPC:</Path>
          </ActiveSync>
          <Files>
            <Path>c:\My Documents\My Document.pdb</Path>
            <Path>c:\Backup\My Document.pdb</Path>
          </Files>
        </Destination>

        <LinkOptions>
          <MaximumDepth             value="1"/>
          <FollowOffsite            value="yes"/>
          <MaximumOffsiteDepth      value="1"/>
          <SubDirOnly               value="no"/>
          <UnresolvedDetail         value="include"/>
          <Exclude>
            <Pattern>RE::table[1-9].jpg</Pattern>
            <Pattern>WC::figures*plant?blue</Pattern>
          </Exclude>
          <Include>
            <Pattern>RE:C:Table8</Pattern>
          </Include>
          <ExternalDocuments>
            <Specification>
              <Path>DocumentB</Path>
              <Prefix>DocumentB</Prefix>
              <KeepPrefix             value="no"/>
              <MapFile>c:\Docs\DocumentB\DocumentB.map</MapFile>
              <Lookup                 value="ByID"/>
            </Specification>
          </ExternalDocuments>
        </LinkOptions>

        <ImageOptions>
          <AltText                  value="exclude"/>
          <Images                   value="include"/>
          <ResizeLargeImages        value="yes"/>
          <MaximumWidth             value="144"/>
          <MaximumHeight            value="144"/>
          <ImproveContrast          value="yes"/>
          <Dither                   value="yes"/>
          <Compress                 value="yes"/>
          <LossyLevel               value="none"/>
          <LossyQuality             value="75"/>
          <BitDepth1                value="exclude"/>
          <BitDepth2                value="exclude"/>
          <BitDepth4                value="exclude"/>
          <BitDepth8                value="exclude"/>
          <BitDepth16               value="include"/>
        </ImageOptions>

        <TableOptions>
          <IgnoreTables             value="no"/>
          <AddSeparators            value="no"/>
          <UseMinimumDepth          value="no"/>
          <MinimumDepth             value="1"/>
          <UseMaximumBottomReach    value="no"/>
          <MaximumBottomReach       value="1"/>
          <UnfoldFullPageTables     value="no"/>
          <IgnorePixelWidths        value="no"/>
        </TableOptions>

        <ColorOptions>
          <BackgroundColors         value="keep"/>
          <TextColors               value="keep"/>
        </ColorOptions>

        <MarginOptions>
          <LeftRightMargins         value="keep"/>
          <LeftRightPadding         value="keep"/>
        </MarginOptions>

        <SecurityOptions>
          <Convert                  value="allow"/>
          <CopyBeam                 value="allow"/>
          <CopyAndPaste             value="allow"/>
          <Modify                   value="disallow"/>
          <Print                    value="disallow"/>
          <Expiration>
            <Expires                value="no"/>
            <Date                   value="20030529"/>
          </Expiration>
          <Password>
            <Require                value="no"/>
            <Password>MyPassword</Password>
          </Password>
          <RegistrationCode>
            <Require                value="no"/>
            <DocumentID>UniqueID55PC</DocumentID>
          </RegistrationCode>
        </SecurityOptions>

        <TextOptions>
          <PreUseMonospaceFont      value="yes"/>
          <PreSingleLineBreaks      value="KeepAll"/>
          <ProcessLineBreaks        value="yes"/>
          <ConvertSingleLineBreaks  value="no"/>
          <Preformatted             value="no"/>
          <UseMonospaceFont         value="no"/>
          <MonospaceFontSize        value="10"/>
          <TabStopWidth             value="8"/>
        </TextOptions>

        <DocumentOptions>
          <PageBounds               value="hard"/>
          <UseDefaultCategory       value="no"/>
          <DefaultCategory>Unfiled</DefaultCategory>
          <HomePageNumber           value="1"/>
          <OpenHomePageOnDateChange value="yes"/>
          <CharSet>Windows-1252</CharSet>
        </DocumentOptions>

        <Bookmarks>
          <Document>
            <UseFile                value="no"/>
            <Path>c:\docs\bookmarks.htm</Path>
            <UseNamedAnchors        value="no"/>
            <NamedAnchorType        value="WordWebPage"/>
            <UseIncludeFilter       value="no"/>
            <IncludePrefix>bm</IncludePrefix>
            <UseExcludeFilter       value="no"/>
            <ExcludePrefix>bm_</ExcludePrefix>
          </Document>
        </Bookmarks>

        <LastConversion>
          <Date>2002/08/01 08:12:02</Date>
          <Size value="123456789"/>
          <Status>Conversion successful</Status>
        </LastConversion>

        <Messages>
          <Title>My Document's Full Title Is Written Here</Title>
          <Version>v. 2.1</Version>
          <Copyright>(C) 2003 ACME, Inc.</Copyright>
          <Notes>This document is protected by copyright law.</Notes>
          <AuthorName>Yar Givin</AuthorName>
          <AuthorContact>yar@givin.com</AuthorContact>
          <AuthorNotes>Email me with your comments.</AuthorNotes>
          <PublisherName>Tasteful Publishers, Inc.</PublisherName>
          <PublisherContact>contact@tastefulpublishers.com</PublisherContact>
          <PublisherNotes>Publishers of anything.</PublisherNotes>
          <RegCodePreMsg>This document requires that you enter a registration code.  If you do not have one, please visit http://www.acme.com for more information.</RegCodePreMsg>
          <RegCodeFailedMsg>To purchase this document, please visit:\nhttp://www.acme.com</RegCodeFailedMsg>
          <RegCodeCancelMsg>To purchase this document, please visit:\nhttp://www.acme.com</RegCodeCancelMsg>
          <PasswordPreMsg>This document requires a password.</PasswordPreMsg>
          <PasswordFailedMsg>Note that it is a felony to attempt to access this document without authorization.</PasswordFailedMsg>
          <PasswordCancelMsg>Consult your administrator for more information.</PasswordCancelMsg>
          <ExpiredMsg>This document has expired, please visit http://www.acme.org for an updated version.</ExpiredMsg>
        </Messages>

        <CookieOptions>
          <SendCookies              value="no"/>
          <ReceiveCookies           value="no"/>
          <Cookies>
            <Cookie>
              <ReadOnly             value="no"/>
              <DoNotSend            value="no"/>
              <Discard              value="no"/>
              <Secure               value="no"/>
              <Name>TOKEN</Name>
              <Value>48A897ZUIO98</Value>
              <Expires>2015/12/25 08:52:12</Expires>
              <Version>1</Version>
              <Path>/</Path>
              <Port>80,8000</Port>
              <Domain>.foo.com</Domain>
              <Comments>none</Comments>
              <CommentURL>http://www.foo.com/cookies.htm</CommentURL>
            </Cookie>
          </Cookies>
        </CookieOptions>

        <Scheduling>
          <Disable                  value="no"/>
          <LastConversion>2003/03/11 16:23:02</LastConversion>
          <NextConversion>2003/03/12 15:17:00</NextConversion>
          <Schedules>
            <Schedule>
              <Disable              value="no"/>
              <LastConversion>2003/03/11 16:23:02</LastConversion>
              <NextConversion>2003/03/12 15:17:00</NextConversion>
              <Frequency            value="hourly"/>
              <Time                 value="17"/>
              <Weekday              value="Mon"/>
              <Day                  value="31"/>
              <Type                 value="every"/>
              <Every                value="1"/>
            </Schedule>
          </Schedules>
        </Scheduling>

        <Targets>
          <Export                   value="all"/>
          <ByFile>c:\Docs\export.htm</ByFile>
          <Lookup                   value="ByName"/>
          <GenerateMapFile          value="yes"/>
          <MapFile>c:\Docs\DocumentX.map</MapFile>
        </Targets>

        <Entry>
          <Groups>
            <Group>/Personal/Memoirs</Group>
            <Group>/Business</Group>
          </Groups>
        </Entry>

      </iSiloXDocument>
    </iSiloXDocumentList>

## XML conventions used

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

### Data types

The .ixl file uses the following three 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 MaximumWidth element:

        <MaximumWidth             value="144"/>

  An example of a field that takes a string from a limited set is the FollowOffsite element. This element takes a value string that is equal to either `yes` or `no`:

        <FollowOffsite            value="yes"/>

  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 within the element between the start tag and the end tag of the element. An example is the Title element:

        <Title>My Document</Title>

  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.
- multi-string: When a field takes an arbitrary number of strings, the strings are enclosed as content within sub-elements of the containing element for the field. An example is the Sources element, which specifies the source URLs and file paths of the content comprising the document:

        <Sources>
          <Path>http://www.iSilo.com</Path>
          <Path>http://www.iSiloX.com</Path>
        </Sources>

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

        <tag>
          <subTag>content</subTag>
          <subTag>content</subTag>
          ...
          <subTag>content</subTag>
        </tag>

  In the above, tag is the name of the element's tag, subTag is the name of the tag for the sub-elements, and content is the string value for a sub-element.

### Default values

Most elements have default values. If you create a .ixl 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 LinkOptions container element, if you do not provide a MaximumDepth element, it defaults to one.

## Registry sub-element summary

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

Tag | Description
--- | ---
`<Groups>` | The Groups element specifies the group tree, which represents the hierarchical set of group names used to help organize the document elements in the list.

## Document sub-element summary

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

Tag | Description
--- | ---
`<Source>` | The Source element specifies the URLs and file paths of the source content used to create the document. In addition, the Source element specifies the user name and password for accessing web sites that utilize the HTTP Basic Authentication mechanism.
`<Destination>` | The Destination element specifies the document title, HotSync® destinations, and file destinations for the converted document.
`<LinkOptions>` | The LinkOptions element specifies options for handling hyperlinks.
`<ImageOptions>` | The ImageOptions element specifies options for handling images.
`<TableOptions>` | The TableOptions element specifies options for handling tables. These options require version 3.1 or later of iSiloX and iSiloXC.
`<ColorOptions>` | The ColorOptions element specifies options for handling background and text color. These options require version 3.1 or later of iSiloX and iSiloXC.
`<MarginOptions>` | The MarginOptions element specifies options for handling margins. These options require version 3.1 or later of iSiloX and iSiloXC.
`<SecurityOptions>` | The SecurityOptions element specifies settings for securing the content of a document. The printing permission requires version 3.15 or later of iSiloX and iSiloXC. The password and registration code options require version 3.2 or later of iSiloX and iSiloXC.
`<TextOptions>` | The TextOptions element specifies settings that apply to the conversion of preformatted text and plain text files. An example of preformatted text is content marked with the <pre> tag in an HTML file. Examples of plain text files include files with the extension .txt and Palm Doc files.
`<DocumentOptions>` | Miscellaneous options for the document.
`<Bookmarks>` | The Bookmarks element specifies settings for adding predefined bookmarks to a document.
`<LastConversion>` | Stores information about the last conversion.
`<Messages>` | The Messages element specifies textual messages for aspects of the document that are not part of the document content itself. These options require version 3.2 or later of iSiloX and iSiloXC.
`<CookieOptions>` | The CookieOptions element holds cookies used when retrieving files via HTTP during conversion of the document. These options require version 3.2 or later of iSiloX and iSiloXC.
`<Scheduling>` | The Scheduling element holds information about scheduled conversions. These options require version 3.35 or later of iSiloX and iSiloXC.
`<Targets>` | The Targets element specifies which anchors can be targets of links from other documents and their stored format within the document. These options require version 4.1 or later of iSiloX and iSiloXC.
`<Entry>` | The Entry element provides meta data for the document element, such as associated groups for organizing the document element. These options require version 5.1 or later of iSiloX and iSiloXC.

## Multiple document element example

This example is a list with two document elements. Notice that most elements are missing. Missing elements take default values. This simplifies manual creation of a conversion list.

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

      <iSiloXDocument>
        <Source>
          <Sources>
            <Path>http://www.iSilo.com</Path>
          </Sources>
        </Source>
        <Destination>
          <Title>iSilo Website</Title>
          <HotSync>
            <Path>John Doe</Path>
          </HotSync>
        </Destination>
      </iSiloXDocument>

      <iSiloXDocument>
        <Source>
          <Sources>
            <Path>c:\My Pictures\birthday.jpg</Path>
            <Path>http://www.johndoe.com/hiking.gif</Path>
            <Path>\\HomeServer\DoeJ\My House.gif</Path>
          </Sources>
        </Source>
        <Destination>
          <Title>Personal Pictures</Title>
          <Files>
            <Path>c:\My Documents\Pictures.pdb</Path>
          </Files>
        </Destination>
        <ImageOptions>
          <ResizeLargeImages        value="no"/>
        </ImageOptions>
        <SecurityOptions>
          <CopyBeam                 value="disallow"/>
        </SecurityOptions>
      </iSiloXDocument>

    </iSiloXDocumentList>

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