diff --git a/README.md b/README.md
index 29f4975..3a46da0 100755
--- a/README.md
+++ b/README.md
@@ -19,20 +19,35 @@ For information on Siddhi and i
## Latest API Docs
-Latest API Docs is 5.0.4 .
+Latest API Docs is 5.0.5 .
## Features
-* create *(Function )*
Function creates a map pairing the keys and their corresponding values.
-* createFromJSON *(Function )*
Function returns the map created by pairing the keys with their corresponding values given in the JSON string.
-* createFromXML *(Function )*
Function returns the map created by pairing the keys with their corresponding values,given as an XML string.
-* get *(Function )*
Function returns the value corresponding to the given key from the map.
-* isMap *(Function )*
Function checks if the object is type of a map.
-* put *(Function )*
Function returns the updated map after adding the given key-value pair. If the key already exist in the map the key is updated with the new value.
-* putAll *(Function )*
Function returns the updated map after adding all the key-value pairs from another map. If there are duplicate keys, the key will be assigned new values from the map that's being copied.
-* remove *(Function )*
Function returns the updated map after removing the element with the specified key.
-* toJSON *(Function )*
Function converts a map into a JSON object and returns the JSON as a string.
-* toXML *(Function )*
Function returns the map as an XML string.
+* collect *(Aggregate Function )*
Collect multiple key-value pairs to construct a map. Only distinct keys are collected, if a duplicate key arrives, it overrides the old value
+* merge *(Aggregate Function )*
Collect multiple maps to merge as a single map. Only distinct keys are collected, if a duplicate key arrives, it overrides the old value.
+* clear *(Function )*
Function returns the cleared map.
+* clone *(Function )*
Function returns the cloned map.
+* combineByKey *(Function )*
Function returns the map after combining all the maps given as parameters, such that the keys, of all the maps will be matched with an Array list of values from each map respectively.
+* containsKey *(Function )*
Function checks if the map contains the key.
+* containsValue *(Function )*
Function checks if the map contains the value.
+* create *(Function )*
Function creates a map pairing the keys and their corresponding values.
+* createFromJSON *(Function )*
Function returns the map created by pairing the keys with their corresponding values given in the JSON string.
+* createFromXML *(Function )*
Function returns the map created by pairing the keys with their corresponding values,given as an XML string.
+* get *(Function )*
Function returns the value corresponding to the given key from the map.
+* isEmpty *(Function )*
Function checks if the map is empty.
+* isMap *(Function )*
Function checks if the object is type of a map.
+* keys *(Function )*
Function to return the keys of the map as a list.
+* put *(Function )*
Function returns the updated map after adding the given key-value pair. If the key already exist in the map the key is updated with the new value.
+* putAll *(Function )*
Function returns the updated map after adding all the key-value pairs from another map. If there are duplicate keys, the key will be assigned new values from the map that's being copied.
+* putIfAbsent *(Function )*
Function returns the updated map after adding the given key-value pair if key is absent.
+* remove *(Function )*
Function returns the updated map after removing the element with the specified key.
+* replace *(Function )*
Function returns the updated map after replacing the given key-value pair only if key is present.
+* replaceAll *(Function )*
Function returns the updated map after replacing all the key-value pairs from another map, if keys are present.
+* size *(Function )*
Function to return the size of the map.
+* toJSON *(Function )*
Function converts a map into a JSON object and returns the JSON as a string.
+* toXML *(Function )*
Function returns the map as an XML string.
+* values *(Function )*
Function to return the values of the map.
+* tokenize *(Stream Processor )*
Tokenize the map and return each key, value as new attributes in events
## Dependencies
diff --git a/docs/api/5.0.5.md b/docs/api/5.0.5.md
new file mode 100644
index 0000000..c3dcd8d
--- /dev/null
+++ b/docs/api/5.0.5.md
@@ -0,0 +1,1154 @@
+# API Docs - v5.0.5
+
+!!! Info "Tested Siddhi Core version: *5.1.4 *"
+ It could also support other Siddhi Core minor versions.
+
+## Map
+
+### collect *(Aggregate Function) *
+
+Collect multiple key-value pairs to construct a map. Only distinct keys are collected, if a duplicate key arrives, it overrides the old value
+
+Syntax
+
+```
+ map:collect( key, value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ key
+ Key of the map entry
+
+ INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+ value
+ Value of the map entry
+
+ OBJECT INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+from StockStream#window.lengthBatch(10)
+select map:collect(symbol, price) as stockDetails
+insert into OutputStream;
+```
+
+For the window expiry of 10 events, the collect() function will collect attributes of key
and value
to a single map and return as stockDetails.
+
+### merge *(Aggregate Function) *
+
+Collect multiple maps to merge as a single map. Only distinct keys are collected, if a duplicate key arrives, it overrides the old value.
+
+Syntax
+
+```
+ map:merge( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ Maps to be collected
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+from StockStream#window.lengthBatch(2)
+select map:merge(map) as stockDetails
+insert into OutputStream;
+```
+
+For the window expiry of 2 events, the merge() function will collect attributes of map
and merge them to a single map, returned as stockDetails.
+
+### clear *(Function) *
+
+Function returns the cleared map.
+
+Syntax
+
+```
+ map:clear( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map which needs to be cleared
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:clear(stockDetails)
+```
+
+Returns an empty map.
+
+### clone *(Function) *
+
+Function returns the cloned map.
+
+Syntax
+
+```
+ map:clone( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map to which needs to be cloned.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:clone(stockDetails)
+```
+
+Function returns cloned map of stockDetails.
+
+### combineByKey *(Function) *
+
+Function returns the map after combining all the maps given as parameters, such that the keys, of all the maps will be matched with an Array list of values from each map respectively.
+
+Syntax
+
+```
+ map:combineByKey( map, map)
+ map:combineByKey( map, map, ...)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map into which the key-values need to copied.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:combineByKey(map1, map2)
+```
+
+If map2
contains key-value pairs ('symbol': 'wso2'), ('volume' : 100), and if map2
contains key-value pairs ('symbol': 'IBM'), ('price' : 12), then the function returns the map with key value pairs as follows, (symbol: ArrayList('wso2, 'IBM')), (volume: ArrayList(100, null)) and (price: ArrayList(null, 12))
+
+### containsKey *(Function) *
+
+Function checks if the map contains the key.
+
+Syntax
+
+```
+ map:containsKey( map, key)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map the needs to be checked on containing the key or not.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key to be checked.
+
+ INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:containsKey(stockDetails, '1234')
+```
+
+Returns 'true' if the stockDetails map contains key 1234
else it returns false
.
+
+### containsValue *(Function) *
+
+Function checks if the map contains the value.
+
+Syntax
+
+```
+ map:containsValue( map, value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map the needs to be checked on containing the value or not.
+
+ OBJECT
+ No
+ Yes
+
+
+ value
+ The value to be checked.
+
+ INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:containsValue(stockDetails, 'IBM')
+```
+
+Returns 'true' if the stockDetails map contains value IBM
else it returns false
.
+
+### create *(Function) *
+
+Function creates a map pairing the keys and their corresponding values.
+
+Syntax
+
+```
+ map:create()
+ map:create( key1, value1)
+ map:create( key1, value1, ...)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ key1
+ Key 1
+ -
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ Yes
+ Yes
+
+
+ value1
+ Value 1
+ -
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ Yes
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:create(1, 'one', 2, 'two', 3, 'three')
+```
+
+This returns a map with keys 1
, 2
, 3
mapped with their corresponding values, one
, two
, three
.
+
+EXAMPLE 2
+```
+map:create()
+```
+
+This returns an empty map.
+
+### createFromJSON *(Function) *
+
+Function returns the map created by pairing the keys with their corresponding values given in the JSON string.
+
+Syntax
+
+```
+ map:createFromJSON( json.string)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ json.string
+ JSON as a string, which is used to create the map.
+
+ STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:createFromJSON("{‘symbol' : 'IBM', 'price' : 200, 'volume' : 100}")
+```
+
+This returns a map with the keys symbol
, price
, and volume
, and their values, IBM
, 200
and 100
respectively.
+
+### createFromXML *(Function) *
+
+Function returns the map created by pairing the keys with their corresponding values,given as an XML string.
+
+Syntax
+
+```
+ map:createFromXML( xml.string)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ xml.string
+ The XML string, which is used to create the map.
+
+ STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:createFromXML("
+ IBM
+ 200
+ 100
+ ")
+
+```
+
+This returns a map with the keys symbol
, price
, volume
, and with their values IBM
, 200
and 100
respectively.
+
+### get *(Function) *
+
+Function returns the value corresponding to the given key from the map.
+
+Syntax
+
+```
+ map:get( map, key)
+ map:get( map, key, default.value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map from where the value should be obtained.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key to fetch the value.
+
+ INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+ default.value
+ The value to be returned if the map does not have the key.
+
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ Yes
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:get(companyMap, 1)
+```
+
+If the companyMap has key 1
and value ABC
in it's set of key value pairs. The function returns ABC
.
+
+EXAMPLE 2
+```
+map:get(companyMap, 2)
+```
+
+If the companyMap does not have any value for key 2
then the function returns null
.
+
+EXAMPLE 3
+```
+map:get(companyMap, 2, 'two')
+```
+
+If the companyMap does not have any value for key 2
then the function returns two
.
+
+### isEmpty *(Function) *
+
+Function checks if the map is empty.
+
+Syntax
+
+```
+ map:isEmpty( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map the need to be checked whether it's empty or not.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:isEmpty(stockDetails)
+```
+
+Returns 'true' if the stockDetails map is empty else it returns false
.
+
+### isMap *(Function) *
+
+Function checks if the object is type of a map.
+
+Syntax
+
+```
+ map:isMap( arg)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ arg
+ The argument the need to be determined whether it's a map or not.
+
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:isMap(stockDetails)
+```
+
+Returns 'true' if the stockDetails is and an instance of java.util.Map
else it returns false
.
+
+### keys *(Function) *
+
+Function to return the keys of the map as a list.
+
+Syntax
+
+```
+ map:keys( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map from which list of keys to be returned.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:keys(stockDetails)
+```
+
+Returns keys of the stockDetails
map.
+
+### put *(Function) *
+
+Function returns the updated map after adding the given key-value pair. If the key already exist in the map the key is updated with the new value.
+
+Syntax
+
+```
+ map:put( map, key, value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map to which the value should be added.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key to be added.
+
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+ value
+ The value to be added.
+
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:put(stockDetails , 'IBM' , '200')
+```
+
+Function returns the updated map named stockDetails after adding the value 200
with the key IBM
.
+
+### putAll *(Function) *
+
+Function returns the updated map after adding all the key-value pairs from another map. If there are duplicate keys, the key will be assigned new values from the map that's being copied.
+
+Syntax
+
+```
+ map:putAll( to.map, from.map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ to.map
+ The map into which the key-values need to copied.
+
+ OBJECT
+ No
+ Yes
+
+
+ from.map
+ The map from which the key-values are copied.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:putAll(toMap, fromMap)
+```
+
+If toMap
contains key-value pairs ('symbol': 'wso2'), ('volume' : 100), and if fromMap
contains key-value pairs ('symbol': 'IBM'), ('price' : 12), then the function returns updated toMap
with key-value pairs ('symbol': 'IBM'), ('price' : 12), ('volume' : 100).
+
+### putIfAbsent *(Function) *
+
+Function returns the updated map after adding the given key-value pair if key is absent.
+
+Syntax
+
+```
+ map:putIfAbsent( map, key, value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map to which the value should be added.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key to be added.
+
+ INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+ value
+ The value to be added.
+
+ INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:putIfAbsent(stockDetails , 1234 , 'IBM')
+```
+
+Function returns the updated map named stockDetails after adding the value IBM
with the key 1234
if key is absent from the original map.
+
+### remove *(Function) *
+
+Function returns the updated map after removing the element with the specified key.
+
+Syntax
+
+```
+ map:remove( map, key)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map that needs to be updated.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key of the element that needs to removed.
+
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:remove(stockDetails, 1234)
+```
+
+This returns the updated map, stockDetails after removing the key-value pair corresponding to the key 1234
.
+
+### replace *(Function) *
+
+Function returns the updated map after replacing the given key-value pair only if key is present.
+
+Syntax
+
+```
+ map:replace( map, key, value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map to which the key-value should be replaced.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key to be replaced.
+
+ INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+ value
+ The value to be replaced.
+
+ INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:replace(stockDetails , 1234 , 'IBM')
+```
+
+Function returns the updated map named stockDetails after replacing the value IBM
with the key 1234
if present.
+
+### replaceAll *(Function) *
+
+Function returns the updated map after replacing all the key-value pairs from another map, if keys are present.
+
+Syntax
+
+```
+ map:replaceAll( to.map, from.map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ to.map
+ The map into which the key-values need to copied.
+
+ OBJECT
+ No
+ Yes
+
+
+ from.map
+ The map from which the key-values are copied.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:replaceAll(toMap, fromMap)
+```
+
+If toMap
contains key-value pairs ('symbol': 'wso2'), ('volume' : 100), and if fromMap
contains key-value pairs ('symbol': 'IBM'), ('price' : 12), then the function returns updated toMap
with key-value pairs ('symbol': 'IBM'), ('volume' : 100).
+
+### size *(Function) *
+
+Function to return the size of the map.
+
+Syntax
+
+```
+ map:size( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map for which size should be returned.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:size(stockDetails)
+```
+
+Returns size of the stockDetails
map.
+
+### toJSON *(Function) *
+
+Function converts a map into a JSON object and returns the JSON as a string.
+
+Syntax
+
+```
+ map:toJSON( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map that needs to be converted to JSON
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:toJSON(company)
+```
+
+If company
is a map with key-value pairs, ('symbol': 'wso2'),('volume' : 100), and ('price', 200), it returns the JSON string {"symbol" : "wso2", "volume" : 100 , "price" : 200}
.
+
+### toXML *(Function) *
+
+Function returns the map as an XML string.
+
+Syntax
+
+```
+ map:toXML( map)
+ map:toXML( map, root.element.name)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map that needs to be converted to XML.
+
+ OBJECT
+ No
+ Yes
+
+
+ root.element.name
+ The root element of the map.
+ The XML root element will be ignored
+ OBJECT STRING
+ Yes
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+toXML(company, 'abcCompany')
+```
+
+If company
is a map with key-value pairs, ('symbol' : 'wso2'), ('volume' : 100), and ('price' : 200), this function returns XML as a string, <abcCompany><symbol>wso2</symbol><volume><100></volume><price>200</price></abcCompany>
.
+
+EXAMPLE 2
+```
+toXML(company)
+```
+
+If company
is a map with key-value pairs, ('symbol' : 'wso2'), ('volume' : 100), and ('price' : 200), this function returns XML without root element as a string, <symbol>wso2</symbol><volume><100></volume><price>200</price>
.
+
+### values *(Function) *
+
+Function to return the values of the map.
+
+Syntax
+
+```
+ map:values( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map from which list if values to be returned.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:values(stockDetails)
+```
+
+Returns values of the stockDetails
map.
+
+### tokenize *(Stream Processor) *
+
+Tokenize the map and return each key, value as new attributes in events
+
+Syntax
+
+```
+map:tokenize( map)
+map:tokenize( map, ...)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ Hash map containing key value pairs
+
+ OBJECT
+ No
+ Yes
+
+
+
+
+
+ Name
+ Description
+ Possible Types
+
+
+ key
+ Key of an entry consisted in the map
+ OBJECT
+
+
+ value
+ Value of an entry consisted in the map. If more than one map is given, then an Array List of values from each map is returned for the value
attribute.
+ OBJECT
+
+
+
+Examples
+EXAMPLE 1
+```
+define stream StockStream(symbol string, price float);
+
+from StockStream#window.lengthBatch(2)
+select map:collect(symbol, price) as symbolPriceMap
+insert into TempStream;
+
+from TempStream#map:tokenize(customMap)
+select key, value
+insert into SymbolStream;
+```
+
+Based on the length batch window, symbolPriceMap
will collect two events, and the map will then again tokenized to give 2 events with key and values being symbol name and price respectively.
+
diff --git a/docs/api/latest.md b/docs/api/latest.md
index 82a5a5a..c3dcd8d 100644
--- a/docs/api/latest.md
+++ b/docs/api/latest.md
@@ -1,10 +1,305 @@
-# API Docs - v5.0.4
+# API Docs - v5.0.5
-!!! Info "Tested Siddhi Core version: *5.1.2 *"
+!!! Info "Tested Siddhi Core version: *5.1.4 *"
It could also support other Siddhi Core minor versions.
## Map
+### collect *(Aggregate Function) *
+
+Collect multiple key-value pairs to construct a map. Only distinct keys are collected, if a duplicate key arrives, it overrides the old value
+
+Syntax
+
+```
+ map:collect( key, value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ key
+ Key of the map entry
+
+ INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+ value
+ Value of the map entry
+
+ OBJECT INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+from StockStream#window.lengthBatch(10)
+select map:collect(symbol, price) as stockDetails
+insert into OutputStream;
+```
+
+For the window expiry of 10 events, the collect() function will collect attributes of key
and value
to a single map and return as stockDetails.
+
+### merge *(Aggregate Function) *
+
+Collect multiple maps to merge as a single map. Only distinct keys are collected, if a duplicate key arrives, it overrides the old value.
+
+Syntax
+
+```
+ map:merge( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ Maps to be collected
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+from StockStream#window.lengthBatch(2)
+select map:merge(map) as stockDetails
+insert into OutputStream;
+```
+
+For the window expiry of 2 events, the merge() function will collect attributes of map
and merge them to a single map, returned as stockDetails.
+
+### clear *(Function) *
+
+Function returns the cleared map.
+
+Syntax
+
+```
+ map:clear( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map which needs to be cleared
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:clear(stockDetails)
+```
+
+Returns an empty map.
+
+### clone *(Function) *
+
+Function returns the cloned map.
+
+Syntax
+
+```
+ map:clone( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map to which needs to be cloned.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:clone(stockDetails)
+```
+
+Function returns cloned map of stockDetails.
+
+### combineByKey *(Function) *
+
+Function returns the map after combining all the maps given as parameters, such that the keys, of all the maps will be matched with an Array list of values from each map respectively.
+
+Syntax
+
+```
+ map:combineByKey( map, map)
+ map:combineByKey( map, map, ...)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map into which the key-values need to copied.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:combineByKey(map1, map2)
+```
+
+If map2
contains key-value pairs ('symbol': 'wso2'), ('volume' : 100), and if map2
contains key-value pairs ('symbol': 'IBM'), ('price' : 12), then the function returns the map with key value pairs as follows, (symbol: ArrayList('wso2, 'IBM')), (volume: ArrayList(100, null)) and (price: ArrayList(null, 12))
+
+### containsKey *(Function) *
+
+Function checks if the map contains the key.
+
+Syntax
+
+```
+ map:containsKey( map, key)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map the needs to be checked on containing the key or not.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key to be checked.
+
+ INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:containsKey(stockDetails, '1234')
+```
+
+Returns 'true' if the stockDetails map contains key 1234
else it returns false
.
+
+### containsValue *(Function) *
+
+Function checks if the map contains the value.
+
+Syntax
+
+```
+ map:containsValue( map, value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map the needs to be checked on containing the value or not.
+
+ OBJECT
+ No
+ Yes
+
+
+ value
+ The value to be checked.
+
+ INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:containsValue(stockDetails, 'IBM')
+```
+
+Returns 'true' if the stockDetails map contains value IBM
else it returns false
.
+
### create *(Function) *
Function creates a map pairing the keys and their corresponding values.
@@ -28,19 +323,252 @@
Dynamic
- key1
- Key 1
- -
- OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
- Yes
- Yes
-
-
- value1
- Value 1
- -
+ key1
+ Key 1
+ -
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ Yes
+ Yes
+
+
+ value1
+ Value 1
+ -
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ Yes
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:create(1, 'one', 2, 'two', 3, 'three')
+```
+
+This returns a map with keys 1
, 2
, 3
mapped with their corresponding values, one
, two
, three
.
+
+EXAMPLE 2
+```
+map:create()
+```
+
+This returns an empty map.
+
+### createFromJSON *(Function) *
+
+Function returns the map created by pairing the keys with their corresponding values given in the JSON string.
+
+Syntax
+
+```
+ map:createFromJSON( json.string)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ json.string
+ JSON as a string, which is used to create the map.
+
+ STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:createFromJSON("{‘symbol' : 'IBM', 'price' : 200, 'volume' : 100}")
+```
+
+This returns a map with the keys symbol
, price
, and volume
, and their values, IBM
, 200
and 100
respectively.
+
+### createFromXML *(Function) *
+
+Function returns the map created by pairing the keys with their corresponding values,given as an XML string.
+
+Syntax
+
+```
+ map:createFromXML( xml.string)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ xml.string
+ The XML string, which is used to create the map.
+
+ STRING
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:createFromXML("
+ IBM
+ 200
+ 100
+ ")
+
+```
+
+This returns a map with the keys symbol
, price
, volume
, and with their values IBM
, 200
and 100
respectively.
+
+### get *(Function) *
+
+Function returns the value corresponding to the given key from the map.
+
+Syntax
+
+```
+ map:get( map, key)
+ map:get( map, key, default.value)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map from where the value should be obtained.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key to fetch the value.
+
+ INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+ default.value
+ The value to be returned if the map does not have the key.
+
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ Yes
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:get(companyMap, 1)
+```
+
+If the companyMap has key 1
and value ABC
in it's set of key value pairs. The function returns ABC
.
+
+EXAMPLE 2
+```
+map:get(companyMap, 2)
+```
+
+If the companyMap does not have any value for key 2
then the function returns null
.
+
+EXAMPLE 3
+```
+map:get(companyMap, 2, 'two')
+```
+
+If the companyMap does not have any value for key 2
then the function returns two
.
+
+### isEmpty *(Function) *
+
+Function checks if the map is empty.
+
+Syntax
+
+```
+ map:isEmpty( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map the need to be checked whether it's empty or not.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:isEmpty(stockDetails)
+```
+
+Returns 'true' if the stockDetails map is empty else it returns false
.
+
+### isMap *(Function) *
+
+Function checks if the object is type of a map.
+
+Syntax
+
+```
+ map:isMap( arg)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ arg
+ The argument the need to be determined whether it's a map or not.
+
OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
- Yes
+ No
Yes
@@ -48,26 +576,57 @@
Examples
EXAMPLE 1
```
-map:create(1, 'one', 2, 'two', 3, 'three')
+map:isMap(stockDetails)
```
-This returns a map with keys 1
, 2
, 3
mapped with their corresponding values, one
, two
, three
.
+Returns 'true' if the stockDetails is and an instance of java.util.Map
else it returns false
.
-EXAMPLE 2
+### keys *(Function) *
+
+Function to return the keys of the map as a list.
+
+Syntax
+
```
-map:create()
+ map:keys( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map from which list of keys to be returned.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:keys(stockDetails)
```
-This returns an empty map.
+Returns keys of the stockDetails
map.
-### createFromJSON *(Function) *
+### put *(Function) *
-Function returns the map created by pairing the keys with their corresponding values given in the JSON string.
+Function returns the updated map after adding the given key-value pair. If the key already exist in the map the key is updated with the new value.
Syntax
```
- map:createFromJSON( json.string)
+ map:put( map, key, value)
```
QUERY PARAMETERS
@@ -81,10 +640,26 @@ map:create()
Dynamic
- json.string
- JSON as a string, which is used to create the map.
+ map
+ The map to which the value should be added.
- STRING
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key to be added.
+
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ No
+ Yes
+
+
+ value
+ The value to be added.
+
+ OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
No
Yes
@@ -93,19 +668,19 @@ map:create()
Examples
EXAMPLE 1
```
-map:createFromJSON("{‘symbol' : 'IBM', 'price' : 200, 'volume' : 100}")
+map:put(stockDetails , 'IBM' , '200')
```
-This returns a map with the keys symbol
, price
, and volume
, and their values, IBM
, 200
and 100
respectively.
+Function returns the updated map named stockDetails after adding the value 200
with the key IBM
.
-### createFromXML *(Function) *
+### putAll *(Function) *
-Function returns the map created by pairing the keys with their corresponding values,given as an XML string.
+Function returns the updated map after adding all the key-value pairs from another map. If there are duplicate keys, the key will be assigned new values from the map that's being copied.
Syntax
```
- map:createFromXML( xml.string)
+ map:putAll( to.map, from.map)
```
QUERY PARAMETERS
@@ -119,10 +694,18 @@ map:createFromJSON("{‘symbol' : 'IBM', 'price' : 200, 'volume' : 100}")
Dynamic
- xml.string
- The XML string, which is used to create the map.
+ to.map
+ The map into which the key-values need to copied.
- STRING
+ OBJECT
+ No
+ Yes
+
+
+ from.map
+ The map from which the key-values are copied.
+
+ OBJECT
No
Yes
@@ -131,24 +714,19 @@ map:createFromJSON("{‘symbol' : 'IBM', 'price' : 200, 'volume' : 100}")
Examples
EXAMPLE 1
```
-map:createFromXML("
- IBM
- 200
- 100
- ")
-
+map:putAll(toMap, fromMap)
```
-This returns a map with the keys symbol
, price
, volume
, and with their values IBM
, 200
and 100
respectively.
+If toMap
contains key-value pairs ('symbol': 'wso2'), ('volume' : 100), and if fromMap
contains key-value pairs ('symbol': 'IBM'), ('price' : 12), then the function returns updated toMap
with key-value pairs ('symbol': 'IBM'), ('price' : 12), ('volume' : 100).
-### get *(Function) *
+### putIfAbsent *(Function) *
-Function returns the value corresponding to the given key from the map.
+Function returns the updated map after adding the given key-value pair if key is absent.
Syntax
```
- map:get( map, key)
+ map:putIfAbsent( map, key, value)
```
QUERY PARAMETERS
@@ -163,7 +741,7 @@ map:createFromXML("
map
- The map from where the value should be obtained.
+ The map to which the value should be added.
OBJECT
No
@@ -171,9 +749,17 @@ map:createFromXML("
key
- The key to fetch the value.
+ The key to be added.
- OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ INT LONG FLOAT DOUBLE BOOL STRING
+ No
+ Yes
+
+
+ value
+ The value to be added.
+
+ INT LONG FLOAT DOUBLE BOOL STRING
No
Yes
@@ -182,26 +768,19 @@ map:createFromXML("
Examples
EXAMPLE 1
```
-map:get(companyMap, 1)
-```
-
-If the companyMap has key 1
and value ABC
in it's set of key value pairs. The function returns ABC
.
-
-EXAMPLE 2
-```
-map:get(companyMap, 2)
+map:putIfAbsent(stockDetails , 1234 , 'IBM')
```
-If the companyMap does not have any value for key 2
then the function returns null
.
+Function returns the updated map named stockDetails after adding the value IBM
with the key 1234
if key is absent from the original map.
-### isMap *(Function) *
+### remove *(Function) *
-Function checks if the object is type of a map.
+Function returns the updated map after removing the element with the specified key.
Syntax
```
- map:isMap( arg)
+ map:remove( map, key)
```
QUERY PARAMETERS
@@ -215,8 +794,16 @@ map:get(companyMap, 2)
Dynamic
- arg
- The argument the need to be determined whether it's a map or not.
+ map
+ The map that needs to be updated.
+
+ OBJECT
+ No
+ Yes
+
+
+ key
+ The key of the element that needs to removed.
OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
No
@@ -227,19 +814,19 @@ map:get(companyMap, 2)
Examples
EXAMPLE 1
```
-map:isMap(students)
+map:remove(stockDetails, 1234)
```
-Returns 'true' if the students is and an instance of java.util.Map
else it returns false
.
+This returns the updated map, stockDetails after removing the key-value pair corresponding to the key 1234
.
-### put *(Function) *
+### replace *(Function) *
-Function returns the updated map after adding the given key-value pair. If the key already exist in the map the key is updated with the new value.
+Function returns the updated map after replacing the given key-value pair only if key is present.
Syntax
```
- map:put( map, key, value)
+ map:replace( map, key, value)
```
QUERY PARAMETERS
@@ -254,7 +841,7 @@ map:isMap(students)
map
- The map to which the value should be added.
+ The map to which the key-value should be replaced.
OBJECT
No
@@ -262,17 +849,17 @@ map:isMap(students)
key
- The key to be added.
+ The key to be replaced.
- OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ INT LONG FLOAT DOUBLE FLOAT BOOL STRING
No
Yes
value
- The value to be added.
+ The value to be replaced.
- OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
+ INT LONG FLOAT DOUBLE BOOL STRING
No
Yes
@@ -281,19 +868,19 @@ map:isMap(students)
Examples
EXAMPLE 1
```
-map:put(students , 1234 , 'sam')
+map:replace(stockDetails , 1234 , 'IBM')
```
-Function returns the updated map named students after adding the value sam
with the key 1234
.
+Function returns the updated map named stockDetails after replacing the value IBM
with the key 1234
if present.
-### putAll *(Function) *
+### replaceAll *(Function) *
-Function returns the updated map after adding all the key-value pairs from another map. If there are duplicate keys, the key will be assigned new values from the map that's being copied.
+Function returns the updated map after replacing all the key-value pairs from another map, if keys are present.
Syntax
```
- map:putAll( to.map, from.map)
+ map:replaceAll( to.map, from.map)
```
QUERY PARAMETERS
@@ -327,19 +914,19 @@ map:put(students , 1234 , 'sam')
Examples
EXAMPLE 1
```
-map:putAll(toMap, fromMap)
+map:replaceAll(toMap, fromMap)
```
-If toMap
contains key-value pairs ('symbol': 'wso2'), ('volume' : 100), and if fromMap
contains key-value pairs ('symbol': 'IBM'), ('price' : 12), then the function returns updated toMap
with key-value pairs ('symbol': 'IBM'), ('price' : 12), ('volume' : 100).
+If toMap
contains key-value pairs ('symbol': 'wso2'), ('volume' : 100), and if fromMap
contains key-value pairs ('symbol': 'IBM'), ('price' : 12), then the function returns updated toMap
with key-value pairs ('symbol': 'IBM'), ('volume' : 100).
-### remove *(Function) *
+### size *(Function) *
-Function returns the updated map after removing the element with the specified key.
+Function to return the size of the map.
Syntax
```
- map:remove( map, key)
+ map:size( map)
```
QUERY PARAMETERS
@@ -354,29 +941,21 @@ map:putAll(toMap, fromMap)
map
- The map that needs to be updated.
+ The map for which size should be returned.
OBJECT
No
Yes
-
- key
- The key of the element that needs to removed.
-
- OBJECT INT LONG FLOAT DOUBLE FLOAT BOOL STRING
- No
- Yes
-
Examples
EXAMPLE 1
```
-map:remove(students, 1234)
+map:size(stockDetails)
```
-This returns the updated map, students after removing the key-value pair corresponding to the key 1234
.
+Returns size of the stockDetails
map.
### toJSON *(Function) *
@@ -470,3 +1049,106 @@ toXML(company)
If company
is a map with key-value pairs, ('symbol' : 'wso2'), ('volume' : 100), and ('price' : 200), this function returns XML without root element as a string, <symbol>wso2</symbol><volume><100></volume><price>200</price>
.
+### values *(Function) *
+
+Function to return the values of the map.
+
+Syntax
+
+```
+ map:values( map)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ The map from which list if values to be returned.
+
+ OBJECT
+ No
+ Yes
+
+
+
+Examples
+EXAMPLE 1
+```
+map:values(stockDetails)
+```
+
+Returns values of the stockDetails
map.
+
+### tokenize *(Stream Processor) *
+
+Tokenize the map and return each key, value as new attributes in events
+
+Syntax
+
+```
+map:tokenize( map)
+map:tokenize( map, ...)
+```
+
+QUERY PARAMETERS
+
+
+ Name
+ Description
+ Default Value
+ Possible Data Types
+ Optional
+ Dynamic
+
+
+ map
+ Hash map containing key value pairs
+
+ OBJECT
+ No
+ Yes
+
+
+
+
+
+ Name
+ Description
+ Possible Types
+
+
+ key
+ Key of an entry consisted in the map
+ OBJECT
+
+
+ value
+ Value of an entry consisted in the map. If more than one map is given, then an Array List of values from each map is returned for the value
attribute.
+ OBJECT
+
+
+
+Examples
+EXAMPLE 1
+```
+define stream StockStream(symbol string, price float);
+
+from StockStream#window.lengthBatch(2)
+select map:collect(symbol, price) as symbolPriceMap
+insert into TempStream;
+
+from TempStream#map:tokenize(customMap)
+select key, value
+insert into SymbolStream;
+```
+
+Based on the length batch window, symbolPriceMap
will collect two events, and the map will then again tokenized to give 2 events with key and values being symbol name and price respectively.
+
diff --git a/docs/index.md b/docs/index.md
index 29f4975..3a46da0 100755
--- a/docs/index.md
+++ b/docs/index.md
@@ -19,20 +19,35 @@ For information on Siddhi and i
## Latest API Docs
-Latest API Docs is 5.0.4 .
+Latest API Docs is 5.0.5 .
## Features
-* create *(Function )*
Function creates a map pairing the keys and their corresponding values.
-* createFromJSON *(Function )*
Function returns the map created by pairing the keys with their corresponding values given in the JSON string.
-* createFromXML *(Function )*
Function returns the map created by pairing the keys with their corresponding values,given as an XML string.
-* get *(Function )*
Function returns the value corresponding to the given key from the map.
-* isMap *(Function )*
Function checks if the object is type of a map.
-* put *(Function )*
Function returns the updated map after adding the given key-value pair. If the key already exist in the map the key is updated with the new value.
-* putAll *(Function )*
Function returns the updated map after adding all the key-value pairs from another map. If there are duplicate keys, the key will be assigned new values from the map that's being copied.
-* remove *(Function )*
Function returns the updated map after removing the element with the specified key.
-* toJSON *(Function )*
Function converts a map into a JSON object and returns the JSON as a string.
-* toXML *(Function )*
Function returns the map as an XML string.
+* collect *(Aggregate Function )*
Collect multiple key-value pairs to construct a map. Only distinct keys are collected, if a duplicate key arrives, it overrides the old value
+* merge *(Aggregate Function )*
Collect multiple maps to merge as a single map. Only distinct keys are collected, if a duplicate key arrives, it overrides the old value.
+* clear *(Function )*
Function returns the cleared map.
+* clone *(Function )*
Function returns the cloned map.
+* combineByKey *(Function )*
Function returns the map after combining all the maps given as parameters, such that the keys, of all the maps will be matched with an Array list of values from each map respectively.
+* containsKey *(Function )*
Function checks if the map contains the key.
+* containsValue *(Function )*
Function checks if the map contains the value.
+* create *(Function )*
Function creates a map pairing the keys and their corresponding values.
+* createFromJSON *(Function )*
Function returns the map created by pairing the keys with their corresponding values given in the JSON string.
+* createFromXML *(Function )*
Function returns the map created by pairing the keys with their corresponding values,given as an XML string.
+* get *(Function )*
Function returns the value corresponding to the given key from the map.
+* isEmpty *(Function )*
Function checks if the map is empty.
+* isMap *(Function )*
Function checks if the object is type of a map.
+* keys *(Function )*
Function to return the keys of the map as a list.
+* put *(Function )*
Function returns the updated map after adding the given key-value pair. If the key already exist in the map the key is updated with the new value.
+* putAll *(Function )*
Function returns the updated map after adding all the key-value pairs from another map. If there are duplicate keys, the key will be assigned new values from the map that's being copied.
+* putIfAbsent *(Function )*
Function returns the updated map after adding the given key-value pair if key is absent.
+* remove *(Function )*
Function returns the updated map after removing the element with the specified key.
+* replace *(Function )*
Function returns the updated map after replacing the given key-value pair only if key is present.
+* replaceAll *(Function )*
Function returns the updated map after replacing all the key-value pairs from another map, if keys are present.
+* size *(Function )*
Function to return the size of the map.
+* toJSON *(Function )*
Function converts a map into a JSON object and returns the JSON as a string.
+* toXML *(Function )*
Function returns the map as an XML string.
+* values *(Function )*
Function to return the values of the map.
+* tokenize *(Stream Processor )*
Tokenize the map and return each key, value as new attributes in events
## Dependencies
diff --git a/mkdocs.yml b/mkdocs.yml
index abd65af..a084382 100755
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -34,6 +34,7 @@ pages:
- Information: index.md
- API Docs:
- latest: api/latest.md
+ - 5.0.5: api/5.0.5.md
- 5.0.4: api/5.0.4.md
- 5.0.3: api/5.0.3.md
- 5.0.2: api/5.0.2.md