<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Usage</title><link>https://sourceforge.net/p/browserdatabaseapiadapter/wiki/Usage/</link><description>Recent changes to Usage</description><atom:link href="https://sourceforge.net/p/browserdatabaseapiadapter/wiki/Usage/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 17 May 2015 20:02:12 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/browserdatabaseapiadapter/wiki/Usage/feed" rel="self" type="application/rss+xml"/><item><title>Usage modified by SKS</title><link>https://sourceforge.net/p/browserdatabaseapiadapter/wiki/Usage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -94,3 +94,20 @@

             {"table_name": "CUSTOMERS_1", "where_column_object" : {"where_column_name_array": ["name"], "where_column_value_array": [["Bill"]]}}   //delete all rows where "name" = "Bill".
             {"table_name": "CUSTOMERS_1"}  //delete all rows from database.
+
+***Update data:***
+------------------
+*update()* method takes 3 paramters. First is the delete object, second is success callback and third is error callback.
+**Delete object:**   3 important properties of delete object are "table_name", "where_column_object" and "updateData".
+
+* "table_name" should be the valid name of table where update has to happen. Table name specified should be present in the database.
+* "where_column_object.where_column_name_array" is the array of columns from whom data is required to be updated. This is like where clause in SQL UPDATE statement.
+    * **Present adapter supports only one column name to be specified here.**
+    * Presently where supports only basic search. Does not support IN, NOT IN, != etc. type of searches.
+* "updateData" is the new updated data object.
+
+
+
+
+            {"table_name": "CUSTOMERS_1", "where_column_object" : {"where_column_name_array": ["name"], "where_column_value_array": [["Bill"]]}, "updateData":{"name": "Bill2", "age": 2}}   // update specified where "name" = "Bill".
+            {"table_name": "CUSTOMERS_1", "updateData":{"name": "Bill_Bill", "age": 100}} //update all rows for specified data.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">SKS</dc:creator><pubDate>Sun, 17 May 2015 20:02:12 -0000</pubDate><guid>https://sourceforge.netec81308b59483b4dbb22fe679d86850edc92149c</guid></item><item><title>Usage modified by SKS</title><link>https://sourceforge.net/p/browserdatabaseapiadapter/wiki/Usage/</link><description>&lt;div class="markdown_content"&gt;&lt;h2 id="get-the-database-api-handler-and-initialize-database"&gt;&lt;strong&gt;&lt;em&gt;Get the database API handler and initialize database:&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Prepare the database initialization object, in which "db_name" and "db_version" are mandatory parameters.&lt;br /&gt;
If no database size is specified then 25 MB is the default size.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;adapter_handler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;coreAdapater&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="nx"&gt;db_name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="s1"&gt;'Testing_Database'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;db_version&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;db_desc&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"This is a testing database"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;db_size&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dbAccessApi_Hanlder&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Adapter handler successfully recived..."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="create-table-object"&gt;&lt;strong&gt;&lt;em&gt;Create table object:&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;var createTablesObj = [];
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Option 1. Table with primary key and no indexed tables:  Creates a table named CUSTOMERS with columns as ssn, name, age and email, with "ssn" as primary key column. This means that only "ssn" column can be used for searching.&lt;/em&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;createTablesObj&lt;/span&gt;&lt;span class="nc"&gt;.push&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;table_name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"CUSTOMERS"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;columnData&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;column_array&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"ssn"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"age"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"email"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;primaryKeyCol&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"ssn"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Option 2. Table with primary key and few indexed tables:  Creates a table named CUSTOMERS with columns as ssn, name, age and email, with "ssn" as primary key column and indexed column as "name". This means that "ssn" and "name" columns can be used for searching. Since "name" column has non-unique indexed so duplicate values can be inserted in this column.&lt;/em&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;createTablesObj&lt;/span&gt;&lt;span class="nc"&gt;.push&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;table_name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"CUSTOMERS"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;columnData&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;column_array&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"ssn"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"age"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"email"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;primaryKeyCol&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"ssn"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;indexColArr&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;colName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;isUnique&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Option 3. Table with no primary key but few indexed tables:  &lt;strong&gt;This is the preferred way &lt;/strong&gt; because in case of IndexedDB, it results in faster insertion. Creates a table named CUSTOMERS with columns as ssn, name, age and email, with no primary key column but indexed column as "ssn" and "name". This means that "ssn" and "name" columns can be used for searching. No duplicated allowed in "ssn" but "name" column can have duplicate values.&lt;/em&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nt"&gt;createTablesObj&lt;/span&gt;&lt;span class="nc"&gt;.push&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;table_name&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"CUSTOMERS"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;columnData&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="n"&gt;column_array&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"ssn"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"age"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"email"&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;indexColArr&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="cp"&gt;[&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;colName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"ssn"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;isUnique&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;colName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;isUnique&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="cp"&gt;]&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;}&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="create-database-schema"&gt;&lt;strong&gt;&lt;em&gt;Create database schema:&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;createSchema()&lt;/em&gt; method creates the database schema. It accepts 2 parameters - first the the tables creation object (in this example "createTablesObj") and second is success callback method.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nx"&gt;adapter_handler&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createSchema&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;createTablesObj&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Successfully created database schema..."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="alter-database-schema"&gt;&lt;strong&gt;&lt;em&gt;Alter database schema:&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;alterSchema()&lt;/em&gt; method lets alter the database schema. It accepts 2 parameters - first the table alter object and second is the success callback method.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If some table needs to be dropped then use "dropTablesObj" property in the alter object else do not specify this property.&lt;/li&gt;
&lt;li&gt;Drop table object looks like &lt;em&gt;var dropTablesObj = []; dropTablesObj.push({table_name: "CUSTOMERS"});&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;If some table need to be altered then use "createTablesObj" property in the alter object else do not specify this property. New table structure object should be created and passed.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create table object is same as explained in above section.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="nx"&gt;alterSchemaObj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"db_name"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'Testing_Database'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"dbVersionNum"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"createTablesObj"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;createTablesObj&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"dropTablesObj"&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;dropTablesObj&lt;/span&gt;&lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nx"&gt;adapter_handler&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;alterSchema&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;alterSchemaObj&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Successfully altered database schema..."&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="insert-data"&gt;&lt;strong&gt;&lt;em&gt;Insert data:&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;insert()&lt;/em&gt; method takes 3 paramters. First is the insert object, second is success callback and third is error callback.&lt;br /&gt;
&lt;strong&gt;Insert object:&lt;/strong&gt;   2 important properties of select object are "table_name" and "data". &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;"table_name" should be the valid name of table where insert has to happen. Table name specified should be present in the database.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;"data" should be the data which needs to be inserted. While preparing data object care should be taken on whether those columns exists in the table or not and not violating unique constraint.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;{"table_name" : "CUSTOMERS", "data" :{"ssn": "333-44-4444", "name": "Bill", "age": 35, "email": "bill@company.com" }}
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="select-data"&gt;&lt;strong&gt;&lt;em&gt;Select data:&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;select()&lt;/em&gt; method takes 3 paramters. First is the select object, second is success callback and third is error callback.&lt;br /&gt;
&lt;strong&gt;Insert object:&lt;/strong&gt;   3 important properties of insert object are "table_name" and "select_column_array" and "where_column_object".&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;"table_name" should be the valid name of table where select has to happen. Table name specified should be present in the database.&lt;/li&gt;
&lt;li&gt;"select_column_array" is an array of column names whose data is required. If this property is not specified then data from all column is returned. This is like select column names in SQL SELECT statement. &lt;/li&gt;
&lt;li&gt;"where_column_object.where_column_name_array" is the array of columns from whom data is required to be fetched. This is like where clause in SQL SELECT statement.&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Present adapter supports only one column name to be specified here.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Presently where supports only basic search. Does not support IN, NOT IN, != etc. type of searches.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;{"table_name": "CUSTOMERS", "select_column_array": ["ssn", "name"], "where_column_object" : {"where_column_name_array": ["name"], "where_column_value_array": [["Bill"]]}}   //selects values from "ssn" and "name" columns where "name" = "Bill".
{"table_name": "CUSTOMERS", "where_column_object" : {"where_column_name_array": ["name"], "where_column_value_array": [["Bill"]]}}   //selects values from all columns where "name" = "Bill".
{"table_name": "CUSTOMERS"}  //selects values from all columns
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="delete-data"&gt;&lt;strong&gt;&lt;em&gt;Delete data:&lt;/em&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;remove()&lt;/em&gt; method takes 3 paramters. First is the delete object, second is success callback and third is error callback.&lt;br /&gt;
&lt;strong&gt;Delete object:&lt;/strong&gt;   2 important properties of delete object are "table_name" and "where_column_object".&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;"table_name" should be the valid name of table where delete has to happen. Table name specified should be present in the database.&lt;/li&gt;
&lt;li&gt;"where_column_object.where_column_name_array" is the array of columns from whom data is required to be deleted. This is like where clause in SQL DELETE statement.&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Present adapter supports only one column name to be specified here.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Presently where supports only basic search. Does not support IN, NOT IN, != etc. type of searches.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;{"table_name": "CUSTOMERS_1", "where_column_object" : {"where_column_name_array": ["name"], "where_column_value_array": [["Bill"]]}}   //delete all rows where "name" = "Bill".
{"table_name": "CUSTOMERS_1"}  //delete all rows from database.
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">SKS</dc:creator><pubDate>Sun, 17 May 2015 19:58:06 -0000</pubDate><guid>https://sourceforge.net08aea2cc8a7ca74e7aab3999f9c9732facf8630a</guid></item></channel></rss>