blob: 2d739c392451faa5dd626ac4adba389d1be7f66a [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="SMILA/Project Concepts/Index Order Configuration Schema,SMILA/Project Concepts/Connectivity,SMILA/Project Concepts/ID Concept" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Project_Concepts/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
<title>SMILA/Project Concepts/Index Order Configuration Schema - Eclipsepedia</title>
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
<!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Project_Concepts/Index_Order_Configuration_Schema";
var wgTitle = "SMILA/Project Concepts/Index Order Configuration Schema";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "15273";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "113611";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>
<!-- Performance mods similar to those for bug 166401 -->
<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>
<!-- Head Scripts -->
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<style type="text/css">/*<![CDATA[*/
.source-xml {line-height: normal; font-size: medium;}
.source-xml li {line-height: normal;}
/**
* GeSHi Dynamically Generated Stylesheet
* --------------------------------------
* Dynamically generated stylesheet for xml
* CSS class: source-xml, CSS id:
* GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter)
*/
.source-xml .de1, .source-xml .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
.source-xml {}
.source-xml .head {}
.source-xml .foot {}
.source-xml .imp {font-weight: bold; color: red;}
.source-xml .ln-xtra {color: #cc0; background-color: #ffc;}
.source-xml li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
.source-xml li.li2 {font-weight: bold;}
.source-xml .coMULTI {color: #808080; font-style: italic;}
.source-xml .es0 {color: #000099; font-weight: bold;}
.source-xml .br0 {color: #66cc66;}
.source-xml .st0 {color: #ff0000;}
.source-xml .nu0 {color: #cc66cc;}
.source-xml .sc0 {color: #00bbdd;}
.source-xml .sc1 {color: #ddbb00;}
.source-xml .sc2 {color: #339933;}
.source-xml .sc3 {color: #009900;}
.source-xml .re0 {color: #000066;}
.source-xml .re1 {font-weight: bold; color: black;}
.source-xml .re2 {font-weight: bold; color: black;}
/*]]>*/
</style>
<style type="text/css">/*<![CDATA[*/
@import "/index.php?title=MediaWiki:Geshi.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
/*]]>*/
</style><link rel="stylesheet" type="text/css" href="Index_Order_Configuration_Schema.html" /> </head>
<body class="mediawiki ns-0 ltr page-SMILA_Project_Concepts_Index_Order_Configuration_Schema">
<div id="globalWrapper">
<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->
<div id="header">
<div id="header-graphic">
<img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
</div>
<!-- Pulled 101409 Mward -->
<div class="portlet" id="p-personal">
<div class="pBody">
<ul>
<li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Project_Concepts/Index_Order_Configuration_Schema">Log in</a></li>
</ul>
</div>
</div>
<div id="header-icons">
<div id="sites">
<ul id="sitesUL">
<li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
<li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
<li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
<li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
<li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
<li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
</ul>
</div>
</div>
</div>
<!-- NEW HEADER STUFF HERE -->
<div id="header-menu">
<div id="header-nav">
<ul> <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li> <li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<!-- moved the search window here -->
<form action="http://wiki.eclipse.org/Special:Search" >
<input class="input" name="search" type="text" accesskey="f" value="" />
<input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
<input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text" value="Search" />
</form>
</div>
</div>
<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->
<!--Started nav rip here-->
<!-- these are the nav controls main page, changes etc -->
<div id="novaContent" class="faux">
<div id="leftcol">
<ul id="leftnav">
<!-- these are the page controls, edit history etc -->
<li class="separator"><a class="separator">Navigation &#160;&#160;</li>
<li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
<li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
<li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
<li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
<li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
<li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
<li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>
<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Project_Concepts/Index_Order_Configuration_Schema">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Project_Concepts/Index_Order_Configuration_Schema">Related changes</a></li>
<!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Index_Order_Configuration_Schema&amp;printable=yes">Printable version</a></li> <li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Index_Order_Configuration_Schema&amp;oldid=113611">Permanent link</a></li> </ul>
</div>
<!-- Additions and mods for leftside nav End here -->
<div id="column-content">
<div id="content">
<a name="top" id="top"></a>
<div id="tabs">
<ul class="primary">
<li class="active"><a href="Index_Order_Configuration_Schema.html"><span class="tab">Page</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Project_Concepts/Index_Order_Configuration_Schema&amp;action=edit"><span class="tab">Discussion</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Index_Order_Configuration_Schema&amp;action=edit"><span class="tab">View source</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/Index_Order_Configuration_Schema&amp;action=history"><span class="tab">History</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Project%20Concepts/Index%20Order%20Configuration%20Schema"><span class="tab">Edit</span></a></li>
</ul>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<h1 class="firstHeading">SMILA/Project Concepts/Index Order Configuration Schema</h1>
<div id="bodyContent">
<h3 id="siteSub">From Eclipsepedia</h3>
<div id="contentSub"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a> | <a href="../Project_Concepts.1.html" title="SMILA/Project Concepts">Project Concepts</a></span></div>
<div id="jump-to-nav">Jump to: <a href="Index_Order_Configuration_Schema.html#column-one">navigation</a>, <a href="Index_Order_Configuration_Schema.html#searchInput">search</a></div> <!-- start content -->
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="Index_Order_Configuration_Schema.html#Description"><span class="tocnumber">1</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-1"><a href="Index_Order_Configuration_Schema.html#Technical_proposal"><span class="tocnumber">2</span> <span class="toctext">Technical proposal</span></a>
<ul>
<li class="toclevel-2"><a href="Index_Order_Configuration_Schema.html#Indexing_Job_Configuration_Schema:"><span class="tocnumber">2.1</span> <span class="toctext">Indexing Job Configuration Schema:</span></a></li>
<li class="toclevel-2"><a href="Index_Order_Configuration_Schema.html#Access_to_Object_Attributes"><span class="tocnumber">2.2</span> <span class="toctext">Access to Object Attributes</span></a></li>
<li class="toclevel-2"><a href="Index_Order_Configuration_Schema.html#Selection_of_Information"><span class="tocnumber">2.3</span> <span class="toctext">Selection of Information</span></a></li>
<li class="toclevel-2"><a href="Index_Order_Configuration_Schema.html#XML-Configuration_Definition:"><span class="tocnumber">2.4</span> <span class="toctext">XML-Configuration Definition:</span></a>
<ul>
<li class="toclevel-3"><a href="Index_Order_Configuration_Schema.html#IRM_Interface_Framework:"><span class="tocnumber">2.4.1</span> <span class="toctext">IRM Interface Framework:</span></a></li>
<li class="toclevel-3"><a href="Index_Order_Configuration_Schema.html#Agent.2FCrawler_Schema:"><span class="tocnumber">2.4.2</span> <span class="toctext">Agent/Crawler Schema:</span></a></li>
<li class="toclevel-3"><a href="Index_Order_Configuration_Schema.html#Configuration_XML_.28file.29:"><span class="tocnumber">2.4.3</span> <span class="toctext">Configuration XML (file):</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="Index_Order_Configuration_Schema.html#Sample_Files:"><span class="tocnumber">2.5</span> <span class="toctext">Sample Files:</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="Description"></a><h2> <span class="mw-headline"> Description </span></h2>
<p>This page describes a concept for the configuration for indexing jobs.
</p><p>Main Goals:
- Configuration concept needed for the configuration manager
- Agent/Crawler should follow a spezification (forced by Definition)
- Agent/Crawler need the possibility to define own configuration mechanism (each agent/crawler need specific configurations)
- Type Safety for the data that the agent/crawler returns
</p>
<a name="Technical_proposal"></a><h2> <span class="mw-headline"> Technical proposal </span></h2>
<a name="Indexing_Job_Configuration_Schema:"></a><h3> <span class="mw-headline"> Indexing Job Configuration Schema: </span></h3>
<p>The&nbsp;Agent/Controller Framework defines a schema that contains&nbsp;the main necessary parameters that every Indexing Job needs.&nbsp;
</p><p>The schema is the following:
</p><p><a href="http://wiki.eclipse.org/Image:Irmconfig-basis.png" class="image" title="Image:irmconfig-basis.png"><img alt="Image:irmconfig-basis.png" src="http://wiki.eclipse.org/images/1/14/Irmconfig-basis.png" width="521" height="239" border="0" /></a>
</p><p>This schema contains the DataSourceID that is used by the ID-Concept&nbsp;(see <a href="ID_Concept.html" title="SMILA/Project Concepts/ID Concept">SMILA/Project_Concepts/ID_Concept</a>).
</p><p>Furthermore the indexing job describes&nbsp;which Agent/Crawler&nbsp;should be used.
The&nbsp;Agent/Crawler tag contains a unique description of the&nbsp;Agent/Crawler OSGI-Bundle that should executed.
(Therefore every Agent/Crawler Bundle has to return&nbsp;his unique ID with an API).&nbsp;
</p><p>With CompoundHandling the CompoundHandling can be activated for the Indexing Task. (Yes/No)
</p><p>The configuration schema contains 2 parts called Attributes and Process.
\\
</p><p>Each&nbsp;Agent/Crawler&nbsp;has to implement these parts with a redefine of these xml tags (with a own schema).
</p>
<a name="Access_to_Object_Attributes"></a><h3> <span class="mw-headline"> Access to Object Attributes </span></h3>
<p>The first part is used to describe which attributes of an object that is stored in the accessed source should returned by the Agent/Crawler.
Attributes are information parts of an entry in the data-source
Thus Object are Entries in the Data source like Files in a FileSystem and Attributes are the Objects Attributes like the file name or the file size of the file.
</p><p>An Agent/crawler has to define with an XSD which XML \-Tags are allowed to use for this process.
Thus each agent/crawler has a "description" (the XML-Tags) of which information could be returned.
</p><p>The Agent/crawler are allowed to use sub - elements or categories to allow the Agent/Crawler-Developer to give an easy configuration for the indexing job.
</p><p>Examples for a File System:
</p><p><br />
<a href="http://wiki.eclipse.org/Image:AttributesExample.png" class="image" title="Image:AttributesExample.png"><img alt="Image:AttributesExample.png" src="http://wiki.eclipse.org/images/5/5a/AttributesExample.png" width="261" height="79" border="0" /></a>
</p><p>In the example the filesystem crawler defines two categories. The first is used for standard information attributes:
</p>
<ul><li> Name of the file (FileName)
</li><li> Date of the file (e.g last modified: FileDate)
</li><li> Size of the file (FileSize)
</li><li> Path to the file (FilePath)
</li></ul>
<p>The Permission category allows to select between permission information for
</p>
<ul><li> Users
</li><li> Groups
</li><li> Others (like Unix-Filesystem (as example))
</li></ul>
<p>h4. Attribute Information
</p><p>The following screenshot shows the xml attributes that can be used for *Attribute{*}s
<a href="http://wiki.eclipse.org/Image:AttributeLeaf.png" class="image" title="Image:AttributeLeaf.png"><img alt="Image:AttributeLeaf.png" src="http://wiki.eclipse.org/images/c/cc/AttributeLeaf.png" width="1119" height="114" border="0" /></a>
\\
</p>
<ul><li>Name &amp; Type*:
</li></ul>
<p>Each Attribute should have a name. This *Name* can be used to access this attribute (probably necessary, depends on the technique that are used for the data objects).
For Type safety an return type can be configured each attribute.
The agent/crawler defines a list with allowed return types like String, Integer, Date, etc. Each agent/crawler has to return only values that are used for an attribute.
Therefore each Attribute tag has to be assigned to one return type. This return type is used by the agent/crawler when it delivers the information. Thus the Agent/crawler controller can work with this type.
</p>
<ul><li>KeyAttributes, HashAttribute &amp; MimeTypeAttribute*:
</li></ul>
<p>Each Attribute can be used to create the "delta indexing" hash. Therefore the Agent/Crawler Framework defines a xml-attribute. This xml attribute can be set to true and this attribute will be used for generating
the hash value that is needed by delta-indexing.
</p><p>Furthermore each Attribute can be marked as a key attribute. This attribute will/should be use by the irm for the creation of the ID (see <a href="ID_Concept.html" title="SMILA/Project Concepts/ID Concept">SMILA/Project_Concepts/ID_Concept</a>)
</p><p>Therefore:
marked Attribute with *KeyAttributes* means: use this Information to create a Key for this object (see <a href="ID_Concept.html" title="SMILA/Project Concepts/ID Concept">SMILA/Project_Concepts/ID_Concept</a>)
marked Attribute with *HashAttributes* means: use this Information to create the Hash for this object (see <a href="Connectivity.html#Delta_Indexing_Manager" title="SMILA/Project Concepts/Connectivity">SMILA/Project_Concepts/Connectivity#Delta Indexing Manager</a>)
marked Attribute with *MimeTypeAttribute* means: the MimeType-Detection should use this Attribute to detect the MimeType
</p><p>possible Values for MimeTypeAttribute:
</p>
<ul><li> Content: an attribute that is the content of the object,
</li><li> FileExtension: an attribute that contains the file extension,
</li><li> MimeType: an attribute that contains the the mime type describtion
</li></ul>
<ul><li>Attachment*:
</li></ul>
<p>Describes if the Crawler/Agent should return this Attribute within an Attachment in the Record (should be used for binary content).
</p><p><br />
\\ {note:title=type safety}
Type Safety should be considered for all SMILA-Components. Never work with undefined types. Thus Data conversion is simpler and the user and the framework have in every state for each value a specific data type. {note}
</p><p>{warning:title=Open issue: Which Attributes should be delivered to the Connectivity?}
All defined Attributes should be returned from an Crawler / Agent. Unsolved is at the moment, if all attributes including the hash/id - Attributes should be delivered within the SMILA Record to the Connectivity and later should be stored in the index){warning}
</p>
<a name="Selection_of_Information"></a><h3> <span class="mw-headline"> Selection of Information </span></h3>
<p>The second part of a configuration, (called Process-part), contains further information for the indexing job. It contains parameters for the indexing job like selection of only specific objects from the source (e.g. query for the sql server, starting folder/URL for a filesystem /web\- crawler).
</p><p>The agent/crawler can define specific XML-attributes that fit its configuration.
</p><p>Example (for a filesystem crawler):
<a href="http://wiki.eclipse.org/Image:Process-part.png" class="image" title="Image:process-part.png"><img alt="Image:process-part.png" src="http://wiki.eclipse.org/images/2/29/Process-part.png" width="386" height="149" border="0" /></a>
</p><p>Notes:
</p>
<ul><li> Probably it can be possible that an agent/Crawler defines more than only one return type for an attribute ( String (that contain all entries) or a Collection of the string)
</li></ul>
<a name="XML-Configuration_Definition:"></a><h3> <span class="mw-headline"> XML-Configuration Definition: </span></h3>
<a name="IRM_Interface_Framework:"></a><h4> <span class="mw-headline"> IRM Interface Framework: </span></h4>
<ul><li> Defines XML Configuration Body ( For an agent/crawler Attributes &amp; Process)
</li></ul>
<a name="Agent.2FCrawler_Schema:"></a><h4> <span class="mw-headline"> Agent/Crawler Schema: </span></h4>
<ul><li> Based on the IRM-Interface Framework (has to use the return types and the Configuration Body)
</li><li> Defines specific agent/crawler configuration for each attribute, but the leaf has to use a return type)
</li><li> Defines specific agent/crawler configuration process configuration settings
</li><li> Defines allowed Return Types
</li></ul>
<a name="Configuration_XML_.28file.29:"></a><h4> <span class="mw-headline"> Configuration XML (file): </span></h4>
<ul><li> Is based on one agent/crawler schema
</li></ul>
<a name="Sample_Files:"></a><h3> <span class="mw-headline"> Sample Files: </span></h3>
<p>Schema of the IRM/Agent/Crawler Framework
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:schema</span> <span class="re0">elementFormDefault</span>=<span class="st0">&quot;qualified&quot;</span> <span class="re0">attributeFormDefault</span>=<span class="st0">&quot;unqualified&quot;</span> <span class="re0">jxb:extensionBindingPrefixes</span>=<span class="st0">&quot;ext&quot;</span> <span class="re0">xmlns:xs</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema&quot;</span> <span class="re0">xmlns:jxb</span>=<span class="st0">&quot;http://java.sun.com/xml/ns/jaxb&quot;</span> <span class="re0">xmlns:ext</span>=<span class="st0">&quot;http://xml.w-wins.com/xjc-plugins/interfaces&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="coMULTI">&lt;!-- simple types --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:simpleType</span> <span class="re0">name</span>=<span class="st0">&quot;YesNoType&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;jxb:class</span> <span class="re0">ref</span>=<span class="st0">&quot;org.eclipse.smila.connectivity.framework.indexorder.messages.YesNoType&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:restriction</span> <span class="re0">base</span>=<span class="st0">&quot;xs:string&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:pattern</span> <span class="re0">value</span>=<span class="st0">&quot;Yes&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:pattern</span> <span class="re0">value</span>=<span class="st0">&quot;No&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:restriction<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:simpleType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:simpleType</span> <span class="re0">name</span>=<span class="st0">&quot;MimeTypeAttributeType&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;jxb:class</span> <span class="re0">ref</span>=<span class="st0">&quot;org.eclipse.smila.connectivity.framework.indexorder.messages.MimeTypeAttributeType&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:restriction</span> <span class="re0">base</span>=<span class="st0">&quot;xs:string&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;FileExtension&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;Content&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;MimeType&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:restriction<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:simpleType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="coMULTI">&lt;!-- complex types --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType</span> <span class="re0">name</span>=<span class="st0">&quot;Attribute&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;ext:interface<span class="re2">&gt;</span></span></span>org.eclipse.smila.connectivity.framework.indexorder.messages.interfaces.IAttribute<span class="sc3"><span class="re1">&lt;/ext:interface<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;KeyAttribute&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:boolean&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;optional&quot;</span> <span class="re0">default</span>=<span class="st0">&quot;false&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;HashAttribute&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:boolean&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;optional&quot;</span> <span class="re0">default</span>=<span class="st0">&quot;false&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Name&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:string&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;required&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Type&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:string&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;required&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;MimeTypeAttribute&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;MimeTypeAttributeType&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;optional&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Attachment&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:boolean&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;optional&quot;</span> <span class="re0">default</span>=<span class="st0">&quot;false&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType</span> <span class="re0">name</span>=<span class="st0">&quot;Process&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:documentation<span class="re2">&gt;</span></span></span>Process Specification<span class="sc3"><span class="re1">&lt;/xs:documentation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;ext:interface<span class="re2">&gt;</span></span></span>org.eclipse.smila.connectivity.framework.indexorder.messages.interfaces.IProcess<span class="sc3"><span class="re1">&lt;/ext:interface<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;IndexOrderConfiguration&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;jxb:class</span> <span class="re0">ref</span>=<span class="st0">&quot;org.eclipse.smila.connectivity.framework.indexorder.messages.IndexOrderConfiguration&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:appinfo<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:sequence<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;DataSourceID&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:string&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;DataConnectionID&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:choice<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Agent&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:string&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Crawler&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:string&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:choice<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:element<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;CompoundHandling&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;YesNoType&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Attributes&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:sequence</span> <span class="re0">maxOccurs</span>=<span class="st0">&quot;unbounded&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Attribute&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;Attribute&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:sequence<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:element<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Process&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;Process&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:sequence<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:element<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:schema<span class="re2">&gt;</span></span></span></pre></div>
<p>FileSystem Configuration Schema (based on the Agent/Crawler Framework schema)
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:schema</span> <span class="re0">elementFormDefault</span>=<span class="st0">&quot;qualified&quot;</span> <span class="re0">attributeFormDefault</span>=<span class="st0">&quot;unqualified&quot;</span> <span class="re0">xmlns:xs</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:redefine</span> <span class="re0">schemaLocation</span>=<span class="st0">&quot;RootIndexOrderConfiguration.xsd&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType</span> <span class="re0">name</span>=<span class="st0">&quot;Process&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:documentation<span class="re2">&gt;</span></span></span>Process Specification<span class="sc3"><span class="re1">&lt;/xs:documentation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:annotation<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:complexContent<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:extension</span> <span class="re0">base</span>=<span class="st0">&quot;Process&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:sequence</span> <span class="re0">maxOccurs</span>=<span class="st0">&quot;unbounded&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;BaseDir&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:string&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Filter&quot;</span> <span class="re0">maxOccurs</span>=<span class="st0">&quot;unbounded&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:sequence<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Include&quot;</span> <span class="re0">minOccurs</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">maxOccurs</span>=<span class="st0">&quot;unbounded&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Name&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:string&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;required&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;DateFrom&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:dateTime&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;optional&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;DateTo&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:dateTime&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;optional&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Period&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:normalizedString&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;optional&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:element<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Exclude&quot;</span> <span class="re0">minOccurs</span>=<span class="st0">&quot;0&quot;</span> <span class="re0">maxOccurs</span>=<span class="st0">&quot;unbounded&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Name&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:string&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;required&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:element<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:sequence<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;CaseSensitive&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:boolean&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;optional&quot;</span> <span class="re0">default</span>=<span class="st0">&quot;true&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:attribute</span> <span class="re0">name</span>=<span class="st0">&quot;Recursive&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;xs:boolean&quot;</span> <span class="re0">use</span>=<span class="st0">&quot;required&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:element<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:sequence<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:extension<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexContent<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:complexType</span> <span class="re0">name</span>=<span class="st0">&quot;Attribute&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:complexContent<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:extension</span> <span class="re0">base</span>=<span class="st0">&quot;Attribute&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:choice<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;FileAttributes&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;FileAttributesType&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:element</span> <span class="re0">name</span>=<span class="st0">&quot;Permissions&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;PermissionsType&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:choice<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:extension<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexContent<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:complexType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:redefine<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="coMULTI">&lt;!-- simple types --&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:simpleType</span> <span class="re0">name</span>=<span class="st0">&quot;FileAttributesType&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:restriction</span> <span class="re0">base</span>=<span class="st0">&quot;xs:string&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;Name&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;Path&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;Size&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;LastModifiedDate&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;Content&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;FileExtension&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:restriction<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:simpleType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;xs:simpleType</span> <span class="re0">name</span>=<span class="st0">&quot;PermissionsType&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:restriction</span> <span class="re0">base</span>=<span class="st0">&quot;xs:string&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;User&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;Group&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;xs:enumeration</span> <span class="re0">value</span>=<span class="st0">&quot;Ohers&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/xs:restriction<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:simpleType<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/xs:schema<span class="re2">&gt;</span></span></span></pre></div>
<p>Example of FileSystem Crawler Configuration
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-xml"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span>
<span class="sc3"><span class="re1">&lt;IndexOrderConfiguration</span> <span class="re0">xmlns:xsi</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> <span class="re0">xsi:noNamespaceSchemaLocation</span>=<span class="st0">&quot;FileSystemIndexOrder.xsd&quot;</span> <span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;DataSourceID<span class="re2">&gt;</span></span></span>FileSystem_C_TEST<span class="sc3"><span class="re1">&lt;/DataSourceID<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;DataConnectionID<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Crawler<span class="re2">&gt;</span></span></span>org.eclipse.smila.connectivity.framework.indexorder.schema.sample<span class="sc3"><span class="re1">&lt;/Crawler<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/DataConnectionID<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;CompoundHandling<span class="re2">&gt;</span></span></span>Yes<span class="sc3"><span class="re1">&lt;/CompoundHandling<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Attributes<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">Type</span>=<span class="st0">&quot;Date&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;Date&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;FileAttributes<span class="re2">&gt;</span></span></span>LastModifiedDate<span class="sc3"><span class="re1">&lt;/FileAttributes<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Attribute<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">Type</span>=<span class="st0">&quot;String&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;Filename&quot;</span> <span class="re0">KeyAttribute</span>=<span class="st0">&quot;true&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;FileAttributes<span class="re2">&gt;</span></span></span>Name<span class="sc3"><span class="re1">&lt;/FileAttributes<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Attribute<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">Type</span>=<span class="st0">&quot;String&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;Path&quot;</span> <span class="re0">KeyAttribute</span>=<span class="st0">&quot;true&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;FileAttributes<span class="re2">&gt;</span></span></span>Path<span class="sc3"><span class="re1">&lt;/FileAttributes<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Attribute<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">Type</span>=<span class="st0">&quot;String&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;PermissionUsers&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Permissions<span class="re2">&gt;</span></span></span>User<span class="sc3"><span class="re1">&lt;/Permissions<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Attribute<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">Type</span>=<span class="st0">&quot;StringCollection&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;PermissionGroup&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Permissions<span class="re2">&gt;</span></span></span>Group<span class="sc3"><span class="re1">&lt;/Permissions<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Attribute<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">Type</span>=<span class="st0">&quot;String&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;Content&quot;</span> <span class="re0">HashAttribute</span>=<span class="st0">&quot;true&quot;</span> <span class="re0">MimeTypeAttribute</span>=<span class="st0">&quot;Content&quot;</span> <span class="re0">Attachment</span>=<span class="st0">&quot;true&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;FileAttributes<span class="re2">&gt;</span></span></span>Content<span class="sc3"><span class="re1">&lt;/FileAttributes<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Attribute<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Attribute</span> <span class="re0">Type</span>=<span class="st0">&quot;String&quot;</span> <span class="re0">Name</span>=<span class="st0">&quot;Extension&quot;</span> <span class="re0">MimeTypeAttribute</span>=<span class="st0">&quot;FileExtension&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;FileAttributes<span class="re2">&gt;</span></span></span>FileExtension<span class="sc3"><span class="re1">&lt;/FileAttributes<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Attribute<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Attributes<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Process<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;BaseDir<span class="re2">&gt;</span></span></span>c:\test<span class="sc3"><span class="re1">&lt;/BaseDir<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Filter</span> <span class="re0">Recursive</span>=<span class="st0">&quot;true&quot;</span> <span class="re0">CaseSensitive</span>=<span class="st0">&quot;false&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Include</span> <span class="re0">Name</span>=<span class="st0">&quot;*.txt&quot;</span><span class="re2">/&gt;</span></span>
<span class="sc3"><span class="re1">&lt;/Filter<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Process<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/IndexOrderConfiguration<span class="re2">&gt;</span></span></span></pre></div>
<!--
NewPP limit report
Preprocessor node count: 20/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
#ifexist count: 0/100
-->
<!-- Saved in parser cache with key wikidb:pcache:idhash:15273-0!1!0!!en!2!edit=0 and timestamp 20120203101501 -->
<div class="printfooter">
Retrieved from "<a href="Index_Order_Configuration_Schema.html">http://wiki.eclipse.org/SMILA/Project_Concepts/Index_Order_Configuration_Schema</a>"</div>
<div id="catlinks"><p class='catlinks'><a href="http://wiki.eclipse.org/Special:Categories" title="Special:Categories">Category</a>: <span dir='ltr'><a href="http://wiki.eclipse.org/Category:SMILA" title="Category:SMILA">SMILA</a></span></p></div> <!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<!-- Yoink of toolbox for phoenix moved up -->
</div>
</div>
<div id="clearFooter"/>
<div id="footer" >
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
</ul>
<span id="copyright">Copyright &copy; 2012 The Eclipse Foundation. All Rights Reserved</span>
<p id="footercredit">This page was last modified 15:32, 14 August 2008 by <a href="http://wiki.eclipse.org/User:Daniel.stucky.empolis.com" title="User:Daniel.stucky.empolis.com">Daniel Stucky</a>. </p>
<p id="footerviews">This page has been accessed 2,204 times.</p>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-4");
pageTracker._trackPageview();
</script>
<!-- <div class="visualClear"></div> -->
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>
<!-- Served in 0.329 secs. --></body></html>