<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- <ijot:notes></ijot:notes> -->
<!-- OPML generated by webOutliner vs 1.2 - (c) 2002-2006 by Precision IT Management, Inc. -->
<opml version="1.0">
	<head>
		<title>The activeRenderer API</title>
		<expansionState>2, 6, 9</expansionState>
	</head>
	<body>
		<outline text="Welcome to services.activerenderer.com, where you can convert text documents into &apos;active&apos; DHTML outlines for display into modern Web browsers."/>
		<outline text="activeRenderer provides renderers for the following formats:">
			<outline text="&lt;a href=&quot;http://www.opml.org/spec&quot; target=&quot;_blank&quot;&gt;OPML 1.0&lt;/a&gt;: Outline Processor Markup Language."/>
			<outline text="RSS: &lt;a href=&quot;http://blogs.law.harvard.edu/tech/rss&quot; target=&quot;_blank&quot; title=&quot;rss 2.0 specification&quot;&gt;Really Simple Syndication&lt;/a&gt; and &lt;a href=&quot;http://web.resource.org/rss/1.0/spec&quot; target=&quot;_blank&quot; title=&quot;rss 1.0 specification&quot;&gt;RDF Site Summary&lt;/a&gt;."/>
		</outline>
		<outline text="activeRenderer provides its Web services through both &lt;a href=&quot;http://en.wikipedia.org/wiki/REST&quot; target=&quot;_blank&quot; title=&quot;wikipedia article&quot;&gt;REST&lt;/a&gt; and &lt;a href=&quot;http://www.xmlrpc.com/&quot; target=&quot;_blank&quot; title=&quot;xml-rpc home page&quot;&gt;XML-RPC&lt;/a&gt; APIs."/>
		<outline text="REST API calls are regular HTTP GET requests.">
			<outline text="The activeRenderer REST service answers at http://api.activerenderer.com/activeRenderer/render/"/>
			<outline text="You need to add parameters to the server&apos;s URL: http://api.activerenderer.com/activeRenderer/render/?param=value&amp;amp;param=value...">
				<outline text="As you can see, the separator between the URL and the first parameter name is a question mark (?)."/>
				<outline text="Values are assigned to their parameter name by the equal sign (=)."/>
				<outline text="Separators between a value and the next parameter name are ampersands (&amp;amp;)."/>
				<outline text="You can add any number of parameters from the following list, only the first one, src, is mandatory."/>
			</outline>
			<outline text="Parameters list">
				<outline text="Common">
					<outline text="src (mandatory)">
						<outline text="URL of the RSS or OPML file to render.">
							<outline text="Must start with &quot;http://&quot; for online documents,"/>
							<outline text="or &quot;file://&quot; for local ones."/>
						</outline>
					</outline>
					<outline text="output">
						<outline text="Specifies output format."/>
						<outline text="Defaults to &apos;html&apos;: fully formed HTML page">
							<outline text="Use the default format to render &apos;src&apos; in an IFRAME, a FRAME or a different browser window."/>
						</outline>
						<outline text="Other values:">
							<outline text="text: ">
								<outline text="HTML rendering of &apos;src&apos;, without the full HTML header/body structure."/>
								<outline text="Use this output format to retrieve the HTML rendering of &apos;src&apos; in a string variable when using another programming language, such as Perl, Python or PHP."/>
							</outline>
							<outline text="js:">
								<outline text="Javascript call to the &apos;display&apos; function, with the HTML rendering of &apos;src&apos; and optional &apos;domId&apos; passed as a string parameters."/>
								<outline text="If domId is not specified, the display function inserts the rendered HTML at the point where the call to activeRenderer was made.">
									<outline text="Refer to the domId section for more details."/>
								</outline>
								<outline text="Example">
									<outline text="Placing the following tag in a page:"/>
									<outline text="&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://api.activerenderer.com/activeRenderer/render/?src=someOPML&amp;amp;output=js&quot;&amp;gt; &amp;lt;/script&amp;gt;"/>
									<outline text="will insert the rendered content of the someOPML document."/>
								</outline>
							</outline>
						</outline>
					</outline>
					<outline text="uniqId">
						<outline text="Stem for all outline node ids generation."/>
					</outline>
					<outline text="cssClassName">
						<outline text="CSS class name stem for rendered outline nodes, defaults to &apos;active&apos;"/>
					</outline>
					<outline text="cssClassLevel">
						<outline text="starting depth for all generated outline nodes, default is 0."/>
					</outline>
				</outline>
				<outline text="Specific to OPML rendering">
					<outline text="link">
						<outline text="name of the attribute designating a link attachments to outline nodes."/>
						<outline text="activeRenderer tries this parameter first, then &apos;xmlUrl&apos;, then &apos;url&apos;."/>
					</outline>
					<outline text="opmlCall">
						<outline text="name of the Javascript function called to render OPML links transclusion."/>
						<outline text="defaults to &apos;transclude&apos;."/>
					</outline>
					<outline text="rssCall">
						<outline text="name of the Javascript function called to render RSS links transclusion."/>
						<outline text="defaults to &apos;transclude&apos;."/>
					</outline>
					<outline text="imgCall">
						<outline text="name of the Javascript function called to render picture files (GIF, JPG or PNG) transclusion."/>
						<outline text="defaults to &apos;imgLoad&apos;."/>
					</outline>
					<outline text="mmCall">
						<outline text="name of the Javascript function called to render multimedia files (QT and SWF) transclusion."/>
						<outline text="defaults to &apos;mmLoad&apos;."/>
					</outline>
					<outline text="htmlCall">
						<outline text="name of the Javascript function called to render HTML links."/>
						<outline text="defaults to &apos;pageLoad&apos;."/>
					</outline>
					<outline text="expandTitle">
						<outline text="Tooltip text to appear when placing the mouse cursor over a closed outline wedge."/>
						<outline text="Defaults to &apos;expand&apos;."/>
					</outline>
					<outline text="collapseTitle">
						<outline text="Tooltip text to appear when placing the mouse cursor over a collapsed outline wedge."/>
						<outline text="Defaults to &apos;collapse&apos;."/>
					</outline>
					<outline text="textClass">
						<outline text="CSS class of the rendered text of each outline node."/>
						<outline text="Defaults to &apos;clickable&apos;. You may want to replace the defaults with an empty string: &amp;amp;textClass="/>
					</outline>
					<outline text="renderUids">
						<outline text="When true (&amp;amp;renderUids=yes), outline nodes with a uid attribute are rendered with an HTML anchor before the text content of the node."/>
						<outline text="The name of the anchor tag is the OPML uid."/>
					</outline>
					<outline text="renderDescriptions">
						<outline text="When true (&amp;amp;renderDescriptions=yes), each outline node with a description attribute in addition to the text attribute is rendered so that the text is inserted into an empty HTML span, with an HTML title attribute set after the OPML description attribute."/>
						<outline text="As a result, placing the mouse cursor over the rendered outline node displays its description as a floating tooltip label."/>
					</outline>
				</outline>
				<outline text="Specific to HTML (default) output">
					<outline text="template">
						<outline text="Specifies the url of an HTML template file to replace the default rendering template.">
							<outline text="Here is a &lt;a href=&quot;http://www.activerenderer.com/gems/standardTemplate.html&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt; to the default rendering template." type="link" url="http://www.activerenderer.com/gems/standardTemplate.html"/>
							<outline text="The template is a regular HTML page, where the source&apos;s rendered content is marked up as &lt;b&gt;##body##&lt;/b&gt;.">
								<outline text="The aR web service merely replaces the ##body## tag with the proper HTML code for the rendered outline."/>
							</outline>
							<outline text="The template&apos;s header must include links to aR&apos;s stylesheet and javascript code. Check out the Implementation notes at the end of this document."/>
						</outline>
						<outline text="Example">
							<outline text="Assuming you have a &apos;myTemplate.html&apos; template file available in the &apos;gems&apos; folder of your site."/>
							<outline text="The template parameter would be specified as: &amp;amp;template=http://my.site.com/gems/myTemplate.html."/>
						</outline>
					</outline>
				</outline>
				<outline text="Specific to Javascript output">
					<outline text="domId">
						<outline text="Specifies the W3C DOM id of an element within the page where you have placed the call to activeRenderer. ">
							<outline text="If that element exists, the HTML returned by activeRenderer will be inserted in the page as children nodes of the element."/>
							<outline text="If the element does not exist, the HTML is inserted in the page at the location of the call to activeRenderer."/>
						</outline>
						<outline text="Example">
							<outline text="&amp;lt;div id=&quot;insertHere&quot;&amp;gt;&amp;lt;/div&amp;gt;"/>
							<outline text="..."/>
							<outline text="&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://api.activerenderer.com/activeRenderer/render/?src=someOPML&amp;amp;output=js&amp;amp;domId=insertHere&quot;&amp;gt; &amp;lt;/script&amp;gt;"/>
							<outline text="will insert the rendered content of someOPML inside the &quot;insertHere&quot; div."/>
						</outline>
					</outline>
				</outline>
			</outline>
		</outline>
		<outline text="XML-RPC transmits XML formatted function calls and returned values through HTTP POST requests.">
			<outline text="XML-RPC is great for calling rendering services from other programming languages, provided these languages support XML-RPC natively or through a library.">
				<outline text="Here are a few XML-RPC links.">
					<outline text="Java">
						<outline text="Apache XML-RPC" type="link" url="http://ws.apache.org/xmlrpc/"/>
						<outline text="Marquee XML-RPC" type="link" url="http://xmlrpc.sourceforge.net/"/>
					</outline>
					<outline text="Javascript">
						<outline text="XML-RPC Message Builder" type="link" url="http://scottandrew.com/xml-rpc/"/>
						<outline text="vcXMLRPC Library" type="link" url="http://www.vcdn.org/Public/XMLRPC/"/>
						<outline text="Mozilla" type="link" url="http://www.mozilla.org/projects/xmlrpc/"/>
					</outline>
					<outline text="Perl">
						<outline text="RPC::XML" type="link" url="http://www.blackperl.com/RPC%3A%3AXML/"/>
						<outline text="SOAP::Lite" type="link" url="http://www.soaplite.com/"/>
						<outline text="Frontier::RPC" type="link" url="http://bitsko.slc.ut.us/~ken/xml-rpc/"/>
					</outline>
					<outline text="PHP">
						<outline text="xmlrpc-epi-php" type="link" url="http://xmlrpc-epi.sourceforge.net/main.php?t=php_about"/>
						<outline text="xmlrpc library" type="link" url="http://keithdevens.com/software/xmlrpc/"/>
					</outline>
					<outline text="Python">
						<outline text="xmlrpclib" type="link" url="http://www.pythonware.com/products/xmlrpc/"/>
						<outline text="py-xmlrpc" type="link" url="http://sourceforge.net/projects/py-xmlrpc/"/>
					</outline>
					<outline text="Usertalk" type="link" url="http://radio.userland.com/webServicesTutorial"/>
					<outline text="Other resources" type="opml" url="http://www.xmlrpc.com/discuss/reader$1568.opml"/>
				</outline>
			</outline>
			<outline text="The activeRenderer XML-RPC service answers at http://rpc.activerenderer.com/, on port 80."/>
			<outline text="You can call 2 rendering functions. Both functions return a string, including the HTML rendering of the string you&apos;ve passed as first parameter, but not including the full HTML header/body structure.">
				<outline text="activeRenderer.opmlRenderer">
					<outline text="Parameters (in sequence):"/>
					<outline text="opml">
						<outline text="string, mandatory."/>
						<outline text="the OPML formatted text you want to render as dynamic HTML."/>
					</outline>
					<outline text="uniqId">
						<outline text="string, empty by default."/>
						<outline text="optional prefix for all outline node divs id generation."/>
					</outline>
					<outline text="cssClassName">
						<outline text="string, defaults to &quot;active&quot;."/>
						<outline text="CSS class name stem for rendered node divs."/>
					</outline>
					<outline text="cssClassLevel">
						<outline text="integer, defaults to 0."/>
						<outline text="starting depth for all generated outline nodes."/>
					</outline>
					<outline text="link">
						<outline text="string, defaults to &quot;url&quot;"/>
						<outline text="name of the attribute designating a link attachments to outline nodes."/>
						<outline text="activeRenderer tries this parameter first, then &apos;url&apos;, then &apos;xmlUrl&apos;."/>
					</outline>
					<outline text="opmlCall">
						<outline text="string, defaults to &quot;transclude&quot;"/>
						<outline text="name of the Javascript function called to render OPML links transclusion."/>
					</outline>
					<outline text="imgCall">
						<outline text="string, defaults to &quot;imgLoad&quot;"/>
						<outline text="name of the Javascript function called to render picture files (GIF, JPG or PNG) transclusion."/>
					</outline>
					<outline text="rssCall">
						<outline text="string, defaults to &quot;transclude&quot;"/>
						<outline text="name of the Javascript function called to render RSS links transclusion."/>
					</outline>
					<outline text="mmCall">
						<outline text="string, defaults to &quot;mmLoad&quot;"/>
						<outline text="name of the Javascript function called to render multimedia files (QT and SWF) transclusion."/>
					</outline>
					<outline text="htmlCall">
						<outline text="string, defaults to &quot;pageLoad&quot;"/>
						<outline text="name of the Javascript function called to render simple HTML links."/>
					</outline>
					<outline text="targetFrame">
						<outline text="string, empty by defaults, links are opened in the same frame/window as source."/>
						<outline text="name of the destination frame for rendered HTML links."/>
					</outline>
					<outline text="flDisplayHTMLWedge">
						<outline text="boolean, false by default."/>
						<outline text="when true, render link type attributes linking to HTML content as &apos;page&apos; node wedges."/>
						<outline text="when false, render them as regular HTML links."/>
					</outline>
					<outline text="flOutliner">
						<outline text="boolean, false by default."/>
						<outline text="when true, adds additional HTML rendering for outliner-type functions support in the browser.">
							<outline text="this is only useful if you are trying to create a full web based outliner :-)"/>
						</outline>
					</outline>
					<outline text="flDisplayDirectives">
						<outline text="boolean, false by default"/>
						<outline text="when true, render outline nodes starting with # (Frontier directives)."/>
						<outline text="when false, skip nodes with Frontier directives."/>
					</outline>
					<outline text="flRoll">
						<outline text="boolean, false by default"/>
						<outline text="when true, modify HTML rendering to better fit blogrolls (deprecated)."/>
					</outline>
				</outline>
				<outline text="activeRenderer.rssRenderer">
					<outline text="Parameters (in sequence):"/>
					<outline text="rss">
						<outline text="string, mandatory."/>
						<outline text="the RSS formatted text you want to render as dynamic HTML."/>
					</outline>
					<outline text="uniqId">
						<outline text="string, empty by default."/>
						<outline text="optional prefix for all outline node divs id generation."/>
					</outline>
					<outline text="cssClassName">
						<outline text="string, defaults to &quot;active&quot;."/>
						<outline text="CSS class name stem for rendered node divs."/>
					</outline>
					<outline text="cssClassLevel">
						<outline text="integer, defaults to 0."/>
						<outline text="starting depth for all generated outline nodes."/>
					</outline>
					<outline text="flIncludeChannelTitle">
						<outline text="boolean, false by default."/>
						<outline text="when true, include the RSS channel&apos;s title as first node."/>
					</outline>
					<outline text="flCollapseChannelTitle">
						<outline text="boolean, false by default."/>
						<outline text="when true and flIncludeChannelTitle is true, render the RSS Channel title node as collapsed."/>
					</outline>
					<outline text="itemCnt">
						<outline text="integer, defaults to 0, render all items."/>
						<outline text="number of RSS items to render, starting from top."/>
					</outline>
					<outline text="expandedCnt">
						<outline text="integer, defaults to 0 for none."/>
						<outline text="number of item nodes to render as expanded, starting from top."/>
					</outline>
					<outline text="titleWordCnt">
						<outline text="integer, defaults to 0 for all words."/>
						<outline text="maximum number of words per title nodes."/>
					</outline>
					<outline text="flCreateHeader">
						<outline text="boolean, false by default."/>
						<outline text="when true, creates a header node out of each RSS item description&apos;s first sentence."/>
						<outline text="when false, do not create header nodes."/>
					</outline>
					<outline text="flOutliner">
						<outline text="boolean, false by default."/>
						<outline text="when true, adds additional HTML rendering for outliner-type functions support in the browser.">
							<outline text="this is only useful if you are trying to create a full web based outliner :-)"/>
						</outline>
					</outline>
					<outline text="opmlCall">
						<outline text="string, defaults to &quot;transclude&quot;"/>
						<outline text="name of the Javascript function called to render OPML links transclusion."/>
					</outline>
					<outline text="imgCall">
						<outline text="string, defaults to &quot;imgLoad&quot;"/>
						<outline text="name of the Javascript function called to render picture files (GIF, JPG or PNG) transclusion."/>
					</outline>
					<outline text="rssCall">
						<outline text="string, defaults to &quot;transclude&quot;"/>
						<outline text="name of the Javascript function called to render RSS links transclusion."/>
					</outline>
					<outline text="mmCall">
						<outline text="string, defaults to &quot;mmLoad&quot;"/>
						<outline text="name of the Javascript function called to render multimedia files (QT and SWF) transclusion."/>
					</outline>
					<outline text="htmlCall">
						<outline text="string, defaults to &quot;pageLoad&quot;"/>
						<outline text="name of the Javascript function called to render simple HTML links."/>
					</outline>
					<outline text="flDisplayHTMLWedge">
						<outline text="boolean, false by default."/>
						<outline text="when true, render link type attributes linking to HTML content as &apos;page&apos; node wedges."/>
						<outline text="when false, render them as regular HTML links."/>
					</outline>
					<outline text="flRoll">
						<outline text="boolean, false by default"/>
						<outline text="when true, modify HTML rendering to better fit blogrolls (deprecated)."/>
					</outline>
					<outline text="targetFrame">
						<outline text="string, empty by defaults, links are opened in the same frame/window as source."/>
						<outline text="name of the destination frame for rendered HTML links."/>
					</outline>
					<outline text="flFilterImages">
						<outline text="boolean, false by default."/>
						<outline text="when true, replaces img HTML tags with &apos;[image]&apos;, linking to the image file in a different window."/>
					</outline>
					<outline text="flFilterQuotes">
						<outline text="boolean, false by default."/>
						<outline text="when true, replaces blockquote HTML tags with divs of class rssQuote."/>
					</outline>
					<outline text="flRenderContentTag">
						<outline text="boolean, false by default."/>
						<outline text="when true, uses the content:encoded tag of RSS 1.0 and RSS 2.0 to render each item&apos;s body node."/>
						<outline text="when false, uses the description tag."/>
					</outline>
					<outline text="flTitleLink">
						<outline text="Defaults to false."/>
						<outline text="When true, a link is inserted around the last word of each item&apos;s title if a link is provided with the item."/>
					</outline>
				</outline>
			</outline>
		</outline>
		<outline text="Implementation notes">
			<outline text="The dynamic HTML code generated by activeRenderer relies on 2 external resources:">
				<outline text="A Javascript program: activerenderer.js" type="link" url="http://www.activerenderer.com/activeRenderer/activerenderer.js"/>
				<outline text="A CSS stylesheet: activerenderer.css" type="link" url="http://www.activerenderer.com/activeRenderer/activerenderer.css"/>
			</outline>
			<outline text="When generating HTML pages from your application, remember to include links to those 2 files in your page header, linking either to the files on the activerenderer.com site, or - best - to your &lt;a target=&quot;_blank&quot; href=&quot;http://www.activerenderer.com/gems/resources.zip&quot;&gt;own versions&lt;/a&gt; stored on your server.">
				<outline text="&amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://your.server.domain/some_path/activerenderer.css&quot;&amp;gt;"/>
				<outline text="&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://your.server.domain/some_path/activerenderer.js&quot;&amp;gt;&amp;lt;/script&amp;gt;"/>
			</outline>
		</outline>
		<outline text="Examples">
			<outline text="Radio Userland">
				<outline text="Entering the following code in Radio&apos;s quickscript editor will render your subscriptions list by calling the activeRenderer RPC server. No need to instal activeRenderer :-)">
					<outline text="url = &quot;http://127.0.0.1:5335/gems/mySubscriptions.opml&quot;;"/>
					<outline text="opml = tcp.httpReadUrl ( url );"/>
					<outline text="params = {opml};"/>
					<outline text="test = &quot;&quot;;"/>
					<outline text="test = xml.rpc (&quot;rpc.activerenderer.com&quot;, 80, &quot;activeRenderer.opmlRenderer&quot;, @params);"/>
					<outline text="wp.newTextObject (test, @temp.test);"/>
					<outline text="edit (@temp.test);"/>
				</outline>
				<outline text="If you have activeRenderer installed, you can use a local call instead:">
					<outline text="test = xml.rpc (&quot;127.0.0.1&quot;, 5335, &quot;activeRenderer.opmlRenderer&quot;, @params);"/>
				</outline>
			</outline>
			<outline text="Please send me code samples using other languages, I&apos;ll include them in this section."/>
		</outline>
	</body>
</opml>
