Mythicsoft Knowledge Base

Full Text Search

FileLocator Pro XML Schema

 

The following XML Schema can be used to understand and validate the FileLocator Pro XML result output.

{{{{

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.mythicsoft.com/FileLocator_16Aug2005"
    elementFormDefault="qualified"
    attributeFormDefault="qualified"
    xmlns="http://www.mythicsoft.com/FileLocator_16Aug2005"
    xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" >

  <xs:annotation>
    <xs:documentation xml:lang="en">
      FileLocator Search Result schema
      Copyright (C) 2009 Mythicsoft Ltd. All rights reserved.
    </xs:documentation>
  </xs:annotation>

  <xs:element name="SearchResults" type="SearchResultsType" />

  <xs:complexType name="SearchResultsType">
    <xs:sequence>
      <xs:element name="file" type="FileType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FileType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" />
      <xs:element name="path" type="xs:string" />
      <xs:element name="modified" type="xs:string" />
      <xs:element name="modifiedft" type="xs:long" />
      <xs:element name="size" type="xs:string" />
      <xs:element name="sizebytes" type="xs:long" />
      <xs:element name="attr" type="xs:long" />
      <xs:element name="type" type="xs:string" />
      <xs:element name="contents" type="ContentType" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="isfolder" type="xs:boolean"/>
  </xs:complexType>

  <xs:complexType name="ContentType">
    <xs:sequence>
      <xs:element name="line" type="LineType" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="linecount" type="xs:long"/>
    <xs:attribute name="totalhitcount" type="xs:long"/>
  </xs:complexType>

  <xs:complexType name="LineType" >
    <xs:sequence>
      <xs:element name="hit" type="HitType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="text" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="number" type="xs:long"/>
    <xs:attribute name="linetype" type="xs:string"/>
    <xs:attribute name="hitcount" type="xs:string" use="optional"/>
    <xs:attribute name="exprstart" type="xs:int" use="optional"/>
    <xs:attribute name="exprlength" type="xs:int" use="optional"/>
  </xs:complexType>

  <xs:complexType name="HitType" >
    <xs:attribute name="exprstart" type="xs:int"/>
    <xs:attribute name="exprlength" type="xs:int"/>
  </xs:complexType>
    
</xs:schema>


}}}}

Sample FileLocator Pro result XML is shown below. It contains a single file (ctlprop.cpp) with eight found lines and includes the surrounding lines of text:

{{{{
<?xml version="1.0" encoding="UTF-8" ?>
<rslt:SearchResults xmlns:rslt="http://www.mythicsoft.com/FileLocator_16Aug2005">
  <rslt:file rslt:isfolder="false">
    <rslt:name>ctlprop.cpp</rslt:name>
    <rslt:path>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\src\mfc\</rslt:path>
    <rslt:modified>09/04/2005 15:21:20</rslt:modified>
    <rslt:modifiedft>127575336800000000</rslt:modifiedft>
    <rslt:size>37.00 KB</rslt:size>
    <rslt:sizebytes>37359</rslt:sizebytes>
    <rslt:attr>32</rslt:attr>
    <rslt:type>C++ Source</rslt:type>
    <rslt:contents rslt:linecount="7" rslt:totalhitcount="8">
      <rslt:line rslt:number="1441" rslt:linetype="leading" >
        <rslt:text><![CDATA[/////////////////////////////////////////////////////////////////////////////]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1442" rslt:linetype="leading" >
        <rslt:text><![CDATA[// CDataPathProperty implementation]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1444" rslt:linetype="found" rslt:hitcount="1" rslt:exprstart="29" rslt:exprlength="5">
        <rslt:hit rslt:exprstart="29" rslt:exprlength="5"/>
        <rslt:text><![CDATA[BOOL CDataPathProperty::Open(CFileException* pError)]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1445" rslt:linetype="trailing" >
        <rslt:text><![CDATA[{]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1446" rslt:linetype="trailing" >
        <rslt:text><![CDATA[	return CAsyncMonikerFile::Open(m_strPath, m_pControl ? m_pControl->GetClientSite() : NULL, pError);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1446" rslt:linetype="leading" >
        <rslt:text><![CDATA[	return CAsyncMonikerFile::Open(m_strPath, m_pControl ? m_pControl->GetClientSite() : NULL, pError);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1447" rslt:linetype="leading" >
        <rslt:text><![CDATA[}]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1449" rslt:linetype="found" rslt:hitcount="1" rslt:exprstart="47" rslt:exprlength="5">
        <rslt:hit rslt:exprstart="47" rslt:exprlength="5"/>
        <rslt:text><![CDATA[BOOL CDataPathProperty::Open(LPCTSTR lpszPath, CFileException* pError)]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1450" rslt:linetype="trailing" >
        <rslt:text><![CDATA[{]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1451" rslt:linetype="trailing" >
        <rslt:text><![CDATA[	SetPath(lpszPath);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1452" rslt:linetype="leading" >
        <rslt:text><![CDATA[	return Open(pError);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1453" rslt:linetype="leading" >
        <rslt:text><![CDATA[}]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1455" rslt:linetype="found" rslt:hitcount="1" rslt:exprstart="52" rslt:exprlength="5">
        <rslt:hit rslt:exprstart="52" rslt:exprlength="5"/>
        <rslt:text><![CDATA[BOOL CDataPathProperty::Open(COleControl* pControl, CFileException* pError)]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1456" rslt:linetype="trailing" >
        <rslt:text><![CDATA[{]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1457" rslt:linetype="trailing" >
        <rslt:text><![CDATA[	SetControl(pControl);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1458" rslt:linetype="leading" >
        <rslt:text><![CDATA[	return Open(pError);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1459" rslt:linetype="leading" >
        <rslt:text><![CDATA[}]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1461" rslt:linetype="found" rslt:hitcount="1" rslt:exprstart="70" rslt:exprlength="5">
        <rslt:hit rslt:exprstart="70" rslt:exprlength="5"/>
        <rslt:text><![CDATA[BOOL CDataPathProperty::Open(LPCTSTR lpszPath, COleControl* pControl, CFileException* pError)]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1462" rslt:linetype="trailing" >
        <rslt:text><![CDATA[{]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1463" rslt:linetype="trailing" >
        <rslt:text><![CDATA[	SetControl(pControl);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1488" rslt:linetype="leading" >
        <rslt:text><![CDATA[/////////////////////////////////////////////////////////////////////////////]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1489" rslt:linetype="leading" >
        <rslt:text><![CDATA[// CCachedDataPathProperty implementation]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1491" rslt:linetype="found" rslt:hitcount="2" rslt:exprstart="48" rslt:exprlength="19">
        <rslt:hit rslt:exprstart="48" rslt:exprlength="5"/>
        <rslt:hit rslt:exprstart="62" rslt:exprlength="5"/>
        <rslt:text><![CDATA[AFX_STATIC inline DWORD _AfxTransferFileContent(CFile* pFrom, CFile* pTo)]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1492" rslt:linetype="trailing" >
        <rslt:text><![CDATA[{]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1493" rslt:linetype="trailing" >
        <rslt:text><![CDATA[	BYTE buff[1024];]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1518" rslt:linetype="leading" >
        <rslt:text><![CDATA[	CATCH_ALL(e)]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1519" rslt:linetype="leading" >
        <rslt:text><![CDATA[	{]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1520" rslt:linetype="found" rslt:hitcount="1" rslt:exprstart="22" rslt:exprlength="5">
        <rslt:hit rslt:exprstart="22" rslt:exprlength="5"/>
        <rslt:text><![CDATA[		m_Cache.Seek(dwPos, CFile::begin);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1521" rslt:linetype="trailing" >
        <rslt:text><![CDATA[		THROW_LAST();]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1522" rslt:linetype="trailing" >
        <rslt:text><![CDATA[	}]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1522" rslt:linetype="leading" >
        <rslt:text><![CDATA[	}]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1523" rslt:linetype="leading" >
        <rslt:text><![CDATA[	END_CATCH_ALL]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1524" rslt:linetype="found" rslt:hitcount="1" rslt:exprstart="21" rslt:exprlength="5">
        <rslt:hit rslt:exprstart="21" rslt:exprlength="5"/>
        <rslt:text><![CDATA[	m_Cache.Seek(dwPos, CFile::begin);]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1525" rslt:linetype="trailing" >
        <rslt:text><![CDATA[}]]></rslt:text>
      </rslt:line>
      <rslt:line rslt:number="1527" rslt:linetype="trailing" >
        <rslt:text><![CDATA[void CCachedDataPathProperty::Close()]]></rslt:text>
      </rslt:line>
    </rslt:contents>
  </rslt:file>
</rslt:SearchResults>

}}}}

Mythicsoft KB powered by ScrewTurn Wiki. Some of the icons created by FamFamFam.