File:  [mozdev] / bookmarktools / www / documentation.html
Revision 1.20: download - view: text, annotated - select for diffs - revision graph
Sat Feb 28 08:30:54 2009 UTC (10 years ago) by maik
Branches: MAIN
CVS tags: HEAD
- new page layout

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<title>Bookmark Tools</title>
		<link rel="stylesheet" href="project.css" type="text/css" />
		
		<meta http-equiv="Content-Type" content="text/html" />
		<meta content="text/css" http-equiv="Content-Style-Type" />
		
		<script type="text/javascript" src="scripts/shCore.js"></script>
		<script type="text/javascript" src="scripts/shBrushBash.js"></script>
		<script type="text/javascript" src="scripts/shBrushCpp.js"></script>

		<script type="text/javascript" src="scripts/shBrushCSharp.js"></script>
		<script type="text/javascript" src="scripts/shBrushCss.js"></script>
		<script type="text/javascript" src="scripts/shBrushDelphi.js"></script>
		<script type="text/javascript" src="scripts/shBrushDiff.js"></script>
		<script type="text/javascript" src="scripts/shBrushGroovy.js"></script>
		<script type="text/javascript" src="scripts/shBrushJava.js"></script>

		<script type="text/javascript" src="scripts/shBrushJScript.js"></script>
		<script type="text/javascript" src="scripts/shBrushPhp.js"></script>
		<script type="text/javascript" src="scripts/shBrushPlain.js"></script>
		<script type="text/javascript" src="scripts/shBrushPython.js"></script>
		<script type="text/javascript" src="scripts/shBrushRuby.js"></script>
		<script type="text/javascript" src="scripts/shBrushScala.js"></script>

		<script type="text/javascript" src="scripts/shBrushSql.js"></script>
		<script type="text/javascript" src="scripts/shBrushVb.js"></script>
		<script type="text/javascript" src="scripts/shBrushXml.js"></script>
		
		<link type="text/css" rel="stylesheet" href="styles/shCore.css"/>
		<link type="text/css" rel="stylesheet" href="styles/shThemeDefault.css"/>
		
		<script type="text/javascript">
			SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf';
			SyntaxHighlighter.all();
		</script>
	</head>
	<body>
		<table style="width: 100%;">
			<tbody>
				<tr>
					<td>
						<div id="main">
							<div id="menu-container">
								<a href="http://www.mozdev.org" title="mozdev.org - free project hosting for the mozilla community">
									<img src="http://www.mozdev.org/sharedimages/mozdev_tiny.png" width="80" height="15" alt="mozdev.org" />
								</a>
								<div id="project-head">Bookmark Tools</div>
								<div id="project-desc">Developer <a class="simpleLink" href="mailto:maik.gollnick@gmx.de">Maik Gollnick</a></div>
								<ul id="simple-menu">
									<li><a href="index.html" title="Home">Home</a></li>
									<li><a href="installation.html" title="Download">Download</a></li>
									<li><a href="documentation.html" title="Documentation" class="current">Documentation</a></li>
									<li><a href="source.html" title="Source Code">Source Code</a></li>
									<li><a href="bugs.html" title="Bugs">Bugs</a></li>
									<li><a href="screenshots.html" title="Screenshots">Screenshots</a></li>
									<li style="float: right;"><div style="color: black;">Hits: <?php include ('counter.php'); ?></div></li>
								</ul>
							</div>
							<div id="menu-line"></div>
							
							<div id="content">
								
								<div>
									<h3><a name="Content">Content:</a></h3>
									<ul>
										<li><strong>USER GUIDE</strong></li>
										<li><strong>XPCOM</strong>
											<ul>
												<li><a class="simpleLink" href="#HowToIndex">HowTo use the index component</a></li>
												<li><a class="simpleLink" href="#HowToTidy">HowTo use the tidy component</a></li>
											</ul>
										</li>
										<li><strong>OTHER</strong></li>
									</ul>
									<br />
								</div>

								<div class="separator"></div>
									
								<br />

								<h3><a href="#Content"><img src="./images/back.png" alt="back" title="back" /></a><a name="HowToIndex">HowTo use the index component (uses clucene-core-0.9.20)</a></h3>
								<h4>Writing::</h4>
								<pre class="brush: js font-size: 80%">

									//initialize file object (location: profile directory)
									var file = Components.classes["@mozilla.org/file/directory_service;1"]
												.getService(Components.interfaces.nsIProperties)
												.get("ProfD", Components.interfaces.nsIFile);

									file.append("index"); //folder named 'index'
									
									if(!file.exists() || !file.isDirectory()) 
										file.create(Components.interfaces.nsIFile.DIRECTORY_TYPE, 0777);

									//initialize xpcom
									var writer = Components.classes["@bookmarktools.mozdev.org/search/indexWriter;1"].createInstance();
									writer = writer.QueryInterface(Components.interfaces.ICLWriter);
									
									//set path
									writer.setPath(file.path);
									
									//create index document
									var cl_document = new Object();
									cl_document.primaryKey = "key0";						//this shoud be a unique key
									cl_document.name = "first document";					//document name
									cl_document.content = "Hello World!";					//some content
									
									//append document
									writer.appendDocument(
										cl_document.primaryKey,
										cl_document.name,
										cl_document.content
									);
									
									//optimize data
									writer.optimize();
									
								</pre>

								<h4>Searching::</h4>
								<pre class="brush: js font-size: 80%">

									//initialize xpcom
									var reader = Components.classes["@bookmarktools.mozdev.org/search/indexReader;1"].createInstance();
									reader = reader.QueryInterface(Components.interfaces.ICLReader);
									
									//set path
									reader.setPath(file.path); //see section 'Writing'
									
									if(reader.exists()){ //check for index data
										
										var query = "Hell*";
										var results = Components.classes["@mozilla.org/array;1"]
														.createInstance(Components.interfaces.nsIMutableArray);
										reader.search(query, results);
										
										var e = results.enumerate();
										while (e.hasMoreElements()) {
											var resultNode = e.getNext().QueryInterface(Components.interfaces.IResultNode);
											
											//Object: resultNode
											//-> resultNode.primaryKey
											//-> resultNode.score
											alert(resultNode.primaryKey + "\n" + resultNode.score);
										}
										
									}else {
										//display message or do nothing
									}
									
								</pre>

								<h4>Lookup::</h4>
								<pre class="brush: js font-size: 80%">

									//initialize xpcom
									var reader = Components.classes["@bookmarktools.mozdev.org/search/indexReader;1"].createInstance();
									reader = reader.QueryInterface(Components.interfaces.ICLReader);
									
									//set path
									reader.setPath(file.path); //see section 'Writing'
									
									var results = Components.classes["@mozilla.org/array;1"]
													.createInstance(Components.interfaces.nsIMutableArray);
									reader.lookup(results);
									
									var e = results.enumerate();
									while (e.hasMoreElements()) {
										var lookupNode = e.getNext().QueryInterface(Components.interfaces.ILookupNode);
										
										//Object: lookupNode
										//-> lookupNode.primaryKey
										//-> lookupNode.name
										alert(lookupNode.primaryKey + "\n" + lookupNode.name);
									}

								</pre>

								<h4>Delete documents::</h4>
								<pre class="brush: js font-size: 80%">

									//initialize xpcom
									var writer = Components.classes["@bookmarktools.mozdev.org/search/indexWriter;1"].createInstance();
									writer = writer.QueryInterface(Components.interfaces.ICLWriter);
									
									//set path
									writer.setPath(file.path); //see section 'Writing'
									
									//delete documents with index 0, 5 and 2
									var docs = [0, 5, 2];
									writer.deleteDocument(docs, docs.length);

								</pre>

								<br />

								<div class="separator"></div>
								
								<h3><a href="#Content"><img src="./images/back.png" alt="back" title="back" /></a><a name="HowToTidy">HowTo use the tidy component (uses ctidy version 060405)</a></h3>
								<h4>Cleanup::</h4>
								<pre class="brush: js font-size: 80%">

									//initialize xpcom
									var tidy = Components.classes["@bookmarktools.mozdev.org/repair/tidy;1"].createInstance();
									tidy = tidy.QueryInterface(Components.interfaces.ITidy);
									
									var src = "
									&lt;html&gt;
										&lt;head&gt;&lt;/head&gt;
										&lt;body
											broken body tag &amp; no entity
										&lt;/body&gt;
									&lt;/html>";
									
									//result contains the repaired html/xhtml/xml source
									//otherwise a error message returned
									var result = tidy.cleanup(src);
									
									if(result == "Tidy: no output"){
										alert("error returned");
									}else {
										alert(src);
									}
									
								</pre>
						
							</div>
						</div>
					</td>
				</tr>
				<tr>
					<td>
						<div id="footer">
							<table>
								<tr>
									<td>
										<a href="http://validator.w3.org/check?uri=referer">
											<img src="http://www.w3.org/Icons/valid-xhtml10-blue"
											alt="Valid XHTML 1.0 Strict" height="31" width="88" />
										</a>
									</td>
									<td style="width: 100%;">
										<div style="text-align: center;">
											Project hosted on <a class="simpleLink" href="http://www.mozdev.org/">mozdev.org</a>.<br/> <a class="simpleLink" href="http://www.mozdev.org/copyright.html">Copyright</a> &copy; 2004. All rights reserved. <a class="simpleLink" href="http://www.mozdev.org/community/terms.html">Terms of Use</a>.
										</div>
									</td>
									<td>
										<a href="http://jigsaw.w3.org/css-validator/check/referer">
											<img style="border:0;width:88px;height:31px"
											src="http://jigsaw.w3.org/css-validator/images/vcss-blue"
											alt="Valid CSS!" />
										</a>
									</td>
								</tr>
							</table>
						</div>
					</td>
				</tr>
			</tbody>
		</table>
	</body>
</html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>