Merge lp:~zorba-coders/zorba/fix_bug_962255 into lp:zorba

Proposed by Sorin Marian Nasoi on 2012-05-16
Status: Merged
Approved by: Sorin Marian Nasoi on 2012-05-18
Approved revision: 10851
Merged at revision: 10854
Proposed branch: lp:~zorba-coders/zorba/fix_bug_962255
Merge into: lp:zorba
Diff against target: 3508 lines (+1855/-1404)
9 files modified
CMakeLists.txt (+3/-2)
cmake_modules/ZorbaModule.cmake (+12/-5)
doc/zorba/xqdoc/CMakeLists.txt (+25/-15)
doc/zorba/xqdoc/images/modules.svg (+1326/-926)
doc/zorba/xqdoc/src/generate-module-dependencies-svg.xq (+4/-4)
doc/zorba/xqdoc/src/zorba_module_dependencies.xqi (+0/-432)
doc/zorba/xqdoc/src/zorba_module_dependencies.xqy (+462/-0)
modules/com/zorba-xquery/www/modules/project_xqdoc.xq (+8/-2)
modules/com/zorba-xquery/www/modules/xqdoc2xhtml/index.xq (+15/-18)
To merge this branch: bzr merge lp:~zorba-coders/zorba/fix_bug_962255
Reviewer Review Type Date Requested Status
Sorin Marian Nasoi Approve on 2012-05-18
Chris Hillery 2012-05-16 Approve on 2012-05-17
Review via email: mp+105989@code.launchpad.net

Commit Message

Update modules_svg generation target. Add mechanism for core build to detect whether a given non-core module exists (by URI). Use that method to check for graphviz before generating modules_svg.

To post a comment you must log in.
review: Approve
Chris Hillery (ceejatec) wrote :

Is there any difference between the old zorba_module_dependencies.xqi and the new zorba_module_dependencies.xqy ? Why was the filename changed?

Besides that, though, as mentioned on the other merge proposal, I don't think you can move the modules_svg target out of the core like this.

> Is there any difference between the old zorba_module_dependencies.xqi and the
> new zorba_module_dependencies.xqy ? Why was the filename changed?
>
> Besides that, though, as mentioned on the other merge proposal, I don't think
> you can move the modules_svg target out of the core like this.
What is the best solution to check if an external module (Graphviz in this case) is build from within Zorba?

Thanks for the help.

> Is there any difference between the old zorba_module_dependencies.xqi and the
> new zorba_module_dependencies.xqy ? Why was the filename changed?
The module itself was mostly re-written, but the reason for the extension change is XQDT: xqy is not a default extension for XQuery, while xqi is.

Chris Hillery (ceejatec) wrote :

Ok, so as discussed, the reason you moved the modules_svg target and associated dependencies was because you could not otherwise know whether Graphviz was available.

If so, then please do the following:

1. Change this fix_bug_962255 branch to always create the modules_svg target (as it appears that it used to do, but was commented out) and ensure that this works correctly when Graphviz *is* present.

2. Delete the fix_bug_962255_image_module proposal and branch (I believe they will no longer be necessary, correct?).

Then, I will add some code to allow detection of whether a non-core module exists, and put the appropriate wrapper around the modules_svg target.

> > Is there any difference between the old zorba_module_dependencies.xqi and
> the
> > new zorba_module_dependencies.xqy ? Why was the filename changed?
> The module itself was mostly re-written, but the reason for the extension
> change is XQDT: xqy is not a default extension for XQuery, while xqi is.
Sorry it's the other way around: in XQDT .xqi is not a default extension for XQuery files while .xqy is.

Chris Hillery (ceejatec) wrote :

Ok, I have added the changes discussed. xqdoc now depends on modules_svg (Sorin, you had it the other way around, but I think this is what you meant). modules_svg will be a dummy target if the Graphviz modules is not declared. If it is declared, it will generate the .svg file.

I'm voting Approve on this change. Sorin, you should inspect my changes and, if they seem OK, go ahead and mark the proposal Approved to run it through the queue.

review: Approve

> Ok, I have added the changes discussed. xqdoc now depends on modules_svg
> (Sorin, you had it the other way around, but I think this is what you meant).
> modules_svg will be a dummy target if the Graphviz modules is not declared. If
> it is declared, it will generate the .svg file.
Nope, the way it was correct.

"make xqdoc" deletes all previous output from build/doc/xqdoc and then regenerates the documentation. In the process of generating the new XQDoc documentation it will copy the "default" module dependency graph from doc/zorba/xqdoc/images/modules.svg to build/doc/xqdoc/xhtml/images/modules.svg

"make modules_svg" generates the new dependency graph in build/doc/xqdoc/xhtml/images/modules.svg

If it's the other way around (like you proposed) the following will happen:
"make modules_svg" generates the new dependency graph in build/doc/xqdoc/xhtml/images/modules.svg
"make xqdoc" deletes all previous output from build/doc/xqdoc and then regenerates the documentation. In the process of generating the new XQDoc documentation it will copy the "default" module dependency graph from doc/zorba/xqdoc/images/modules.svg to build/doc/xqdoc/xhtml/images/modules.svg

We can implement the way you suggest and have "make modules_svg" generate the output in doc/zorba/xqdoc/images/modules.svg.
The drawback of this approach is that mostly every time one runs "make xqdoc" and has Graphviz, they will see a file that was changed.

> I'm voting Approve on this change. Sorin, you should inspect my changes and,
> if they seem OK, go ahead and mark the proposal Approved to run it through the
> queue.
I will take a look on the changes: thanks for the help.

review: Needs Fixing
Chris Hillery (ceejatec) wrote :

I'm a bit confused then... I thought the whole point of this exercise was to ensure that the graph was regenerated every time. But with the dependencies the way you say, the modules_svg target will only ever be executed by hand. Am I missing something?

review: Approve
review: Approve
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/fix_bug_962255 into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job fix_bug_962255-2012-05-18T14-34-05.391Z is finished.
  The final status was:

  1 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

10851. By Sorin Marian Nasoi <email address hidden> on 2012-05-18

Check if the modules_new.svg exists before deleting it.

review: Approve
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job fix_bug_962255-2012-05-18T15-42-06.591Z is finished. The final status was:

All tests succeeded!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2012-05-03 12:31:51 +0000
3+++ CMakeLists.txt 2012-05-18 15:41:19 +0000
4@@ -520,13 +520,14 @@
5 # ZorbaConfig knows about testdriver. We need to include "config"
6 # before "modules" so external modules will be able to find
7 # ZorbaConfig.cmake. We need to include "modules" before "include" so
8-# config.h can know eg. whether we found CURL.
9+# config.h can know eg. whether we found CURL. We need to include "modules"
10+# before "doc" so xqdoc can know what non-core modules are available.
11
12 ADD_SUBDIRECTORY(test)
13 ADD_SUBDIRECTORY(config)
14-ADD_SUBDIRECTORY(doc)
15 ADD_SUBDIRECTORY(schemas)
16 ADD_SUBDIRECTORY(modules)
17+ADD_SUBDIRECTORY(doc)
18 ADD_SUBDIRECTORY(include)
19
20 ADD_DEFINITIONS(-Dzorba_EXPORTS)
21
22=== modified file 'cmake_modules/ZorbaModule.cmake'
23--- cmake_modules/ZorbaModule.cmake 2012-05-03 12:31:51 +0000
24+++ cmake_modules/ZorbaModule.cmake 2012-05-18 15:41:19 +0000
25@@ -142,10 +142,6 @@
26
27 MANGLE_URI (${MODULE_URI} ".xq" module_path module_filename)
28
29- # Compute a CMake-symbol-safe version of the target URI, for storing
30- # things in CMake properties.
31- STRING (REGEX REPLACE "[/ ]" "_" uri_sym "${module_path}/${module_filename}")
32-
33 # Determine which module this is, numerically. This number will be
34 # used to generate unique names, for instance for the target name
35 # for the external library (if any) and for the compilation test. I
36@@ -189,6 +185,7 @@
37 # declared. If a *lower* version has already been declared, the
38 # output file rules will be messed up, so die. If the *same* version
39 # has already been declare, XQdoc will be messed up, so die.
40+ STRING (REGEX REPLACE "[/:#% ]" "_" uri_sym "${MODULE_URI}")
41 GET_PROPERTY (target_versions GLOBAL PROPERTY "${uri_sym}-versions")
42 FOREACH (known_ver ${target_versions})
43 IF (known_ver LESS version_int)
44@@ -376,6 +373,16 @@
45
46 ENDMACRO (DECLARE_ZORBA_MODULE)
47
48+# Macro to see whether a given module has been declared, by URI.
49+# For now this only returns a true or false value; version introspection
50+# is not supported.
51+MACRO (IS_ZORBA_MODULE_DECLARED IS_SET_VAR MODULE_URI)
52+ # Just check for the existence of the "URI-versions" global property,
53+ # as set by DECLARE_ZORBA_MODULE()
54+ STRING (REGEX REPLACE "[/:#% ]" "_" uri_sym "${MODULE_URI}")
55+ GET_PROPERTY (${IS_SET_VAR} GLOBAL PROPERTY "${uri_sym}-versions" SET)
56+ENDMACRO (IS_ZORBA_MODULE_DECLARED)
57+
58 # Macro which declares a schema. This sets up the installation of the
59 # schema into the URI_PATH folder so it will be found at runtime.
60 #
61@@ -943,7 +950,7 @@
62 COMMENT "Building XQDoc XHTML documentation ..."
63 )
64 MESSAGE(STATUS " added target xqdoc")
65- ADD_DEPENDENCIES(xqdoc xqdoc-xml)
66+ ADD_DEPENDENCIES(xqdoc xqdoc-xml modules_svg)
67 SET_TARGET_PROPERTIES (xqdoc PROPERTIES
68 EXCLUDE_FROM_DEFAULT_BUILD 1
69 FOLDER "Docs"
70
71=== modified file 'doc/zorba/xqdoc/CMakeLists.txt'
72--- doc/zorba/xqdoc/CMakeLists.txt 2012-05-03 12:31:51 +0000
73+++ doc/zorba/xqdoc/CMakeLists.txt 2012-05-18 15:41:19 +0000
74@@ -48,20 +48,30 @@
75 CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/src/xqdoc-xml.xq
76 ${CMAKE_CURRENT_BINARY_DIR}/../../../xqdoc/generator/xqdoc-xml.xq COPYONLY)
77
78-# Add the modules_svg command for which a working zorba cmd is required.
79-# ADD_CUSTOM_TARGET(modules_svg
80-# ${ZORBA_EXE}
81-# --omit-xml-declaration
82-# -f
83-# -q "\"${CMAKE_CURRENT_SOURCE_DIR}/src/generate-module-dependencies-svg.xq\""
84-# -e "\"xqdocXMLPath:=${CMAKE_CURRENT_BINARY_DIR}/xml\""
85-# -o "\"${CMAKE_CURRENT_BINARY_DIR}/xhtml/images/modules.svg\""
86-# COMMENT "Building module dependencies SVG..."
87-# )
88-# SET_TARGET_PROPERTIES (modules_svg PROPERTIES
89-# EXCLUDE_FROM_DEFAULT_BUILD 1
90-# FOLDER "Docs"
91-# )
92-# ADD_DEPENDENCIES(modules_svg "xqdoc-zorba")
93+# Add the modules_svg command for which a working zorba cmd is required.
94+# We need to add this target in all cases because ADD_XQDOC_TARGETS() in
95+# ZorbaModule.cmake expects it to exist. However, generating this depends
96+# on the non-core Graphviz module. Therefore, we check to see if Graphviz
97+# is available, and if not, add a dummy target with the same name.
98+IS_ZORBA_MODULE_DECLARED(_graphviz_avail
99+ "http://www.zorba-xquery.com/modules/image/graphviz")
100+IF (_graphviz_avail)
101+ ADD_CUSTOM_TARGET(modules_svg
102+ ${ZORBA_EXE}
103+ --omit-xml-declaration
104+ -f
105+ -q "\"${CMAKE_CURRENT_SOURCE_DIR}/src/generate-module-dependencies-svg.xq\""
106+ -e "\"ZorbaBuildFolder:=${CMAKE_CURRENT_BINARY_DIR}/../../../\""
107+ -o "\"${CMAKE_CURRENT_SOURCE_DIR}/images/modules_new.svg\""
108+ COMMENT "Building module dependencies SVG..."
109+ )
110+ELSE (_graphviz_avail)
111+ ADD_CUSTOM_TARGET(modules_svg
112+ COMMENT "Not building modules dependencies SVG since Graphviz module not available")
113+ENDIF (_graphviz_avail)
114+ SET_TARGET_PROPERTIES (modules_svg PROPERTIES
115+ EXCLUDE_FROM_DEFAULT_BUILD 1
116+ FOLDER "Docs"
117+ )
118
119 ENDIF(NOT ZORBA_WITH_FILE_ACCESS)
120
121=== modified file 'doc/zorba/xqdoc/images/modules.svg'
122--- doc/zorba/xqdoc/images/modules.svg 2012-05-03 12:31:51 +0000
123+++ doc/zorba/xqdoc/images/modules.svg 2012-05-18 15:41:19 +0000
124@@ -1,1049 +1,1449 @@
125-<!-- Generated by graphviz version 2.26.3 (20100126.1600)
126- --><!-- Title: G Pages: 1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="8483pt" height="371pt" viewBox="0.00 0.00 8483.00 371.00">
127-<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 367)">
128+<!-- Generated by graphviz version 2.28.0 (20111211.2114)
129+ --><!-- Title: G Pages: 1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="6370pt" height="535pt" viewBox="0.00 0.00 6370.00 535.00">
130+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 531)">
131 <title>G</title>
132-<polygon fill="white" stroke="white" points="-4,5 -4,-367 8480,-367 8480,5 -4,5"/>
133+<a xlink:title="Zorba modules dependency graph">
134+<polygon fill="white" stroke="white" points="-4,5 -4,-531 6367,-531 6367,5 -4,5"/>
135+<text text-anchor="middle" x="3181" y="-7.8" font-family="Times,serif" font-size="14.00">Zorba modules dependency graph</text>
136+</a>
137 <g id="graph2" class="cluster"><title>cluster1</title>
138-<polygon fill="mediumvioletred" stroke="mediumvioletred" points="1821,-274 1821,-355 2195,-355 2195,-274 1821,-274"/>
139-<text text-anchor="middle" x="2008" y="-338.4" font-family="Times Roman,serif" font-size="14.00">www.w3.org</text>
140-</g>
141-<g id="graph3" class="cluster"><title>cluster2</title>
142-<polygon fill="lightsteelblue" stroke="lightsteelblue" points="2376,-96 2376,-177 3474,-177 3474,-96 2376,-96"/>
143-<text text-anchor="middle" x="2925" y="-160.4" font-family="Times Roman,serif" font-size="14.00">XDM</text>
144-</g>
145-<g id="graph4" class="cluster"><title>cluster3</title>
146-<polygon fill="sienna" stroke="sienna" points="5589,-8 5589,-266 7647,-266 7647,-8 5589,-8"/>
147-<text text-anchor="middle" x="6618" y="-249.4" font-family="Times Roman,serif" font-size="14.00">store</text>
148-</g>
149-<g id="graph5" class="cluster"><title>cluster4</title>
150-<polygon fill="dimgray" stroke="dimgray" points="6344,-274 6344,-355 6431,-355 6431,-274 6344,-274"/>
151-<text text-anchor="middle" x="6387.5" y="-338.4" font-family="Times Roman,serif" font-size="14.00">introspection</text>
152-</g>
153-<g id="graph6" class="cluster"><title>cluster5</title>
154-<polygon fill="slategray" stroke="slategray" points="6987,-274 6987,-355 7099,-355 7099,-274 6987,-274"/>
155-<text text-anchor="middle" x="7043" y="-338.4" font-family="Times Roman,serif" font-size="14.00">reflection</text>
156-</g>
157-<g id="graph7" class="cluster"><title>cluster6</title>
158-<polygon fill="Gold" stroke="Gold" points="3482,-96 3482,-177 3948,-177 3948,-96 3482,-96"/>
159-<text text-anchor="middle" x="3715" y="-160.4" font-family="Times Roman,serif" font-size="14.00">external</text>
160-</g>
161-<g id="graph8" class="cluster"><title>cluster7</title>
162-<polygon fill="moccasin" stroke="moccasin" points="4883,-96 4883,-355 5241,-355 5241,-96 4883,-96"/>
163-<text text-anchor="middle" x="5062" y="-338.4" font-family="Times Roman,serif" font-size="14.00">xqdoc</text>
164-</g>
165-<g id="graph9" class="cluster"><title>cluster8</title>
166-<polygon fill="tan" stroke="tan" points="8,-8 8,-266 2368,-266 2368,-8 8,-8"/>
167-<text text-anchor="middle" x="1188" y="-249.4" font-family="Times Roman,serif" font-size="14.00">data processing</text>
168-</g>
169-<g id="graph10" class="cluster"><title>cluster9</title>
170-<polygon fill="RosyBrown" stroke="RosyBrown" points="3956,-96 3956,-177 4105,-177 4105,-96 3956,-96"/>
171-<text text-anchor="middle" x="4030.5" y="-160.4" font-family="Times Roman,serif" font-size="14.00">programming languages</text>
172-</g>
173-<g id="graph11" class="cluster"><title>cluster10</title>
174-<polygon fill="wheat" stroke="wheat" points="7655,-8 7655,-355 8347,-355 8347,-8 7655,-8"/>
175-<text text-anchor="middle" x="8001" y="-338.4" font-family="Times Roman,serif" font-size="14.00">excel</text>
176-</g>
177-<g id="graph12" class="cluster"><title>cluster11</title>
178-<polygon fill="LightGreen" stroke="LightGreen" points="5423,-185 5423,-266 5581,-266 5581,-185 5423,-185"/>
179-<text text-anchor="middle" x="5502" y="-249.4" font-family="Times Roman,serif" font-size="14.00">cryptography</text>
180-</g>
181-<g id="graph13" class="cluster"><title>cluster12</title>
182-<polygon fill="forestgreen" stroke="forestgreen" points="3728,-185 3728,-266 3898,-266 3898,-185 3728,-185"/>
183-<text text-anchor="middle" x="3813" y="-249.4" font-family="Times Roman,serif" font-size="14.00">geo</text>
184-</g>
185-<g id="graph14" class="cluster"><title>cluster13</title>
186-<polygon fill="olivedrab" stroke="olivedrab" points="4347,-8 4347,-177 4875,-177 4875,-8 4347,-8"/>
187-<text text-anchor="middle" x="4611" y="-160.4" font-family="Times Roman,serif" font-size="14.00">image</text>
188-</g>
189-<g id="graph15" class="cluster"><title>cluster14</title>
190-<polygon fill="darkkhaki" stroke="darkkhaki" points="4017,-185 4017,-355 4099,-355 4099,-185 4017,-185"/>
191-<text text-anchor="middle" x="4058" y="-338.4" font-family="Times Roman,serif" font-size="14.00">OAuth</text>
192-</g>
193-<g id="graph16" class="cluster"><title>cluster15</title>
194-<polygon fill="cornflowerblue" stroke="cornflowerblue" points="5249,-96 5249,-266 5415,-266 5415,-96 5249,-96"/>
195-<text text-anchor="middle" x="5332" y="-249.4" font-family="Times Roman,serif" font-size="14.00">expath.org</text>
196-</g>
197-<g id="graph17" class="cluster"><title>cluster16</title>
198-<polygon fill="yellow" stroke="yellow" points="8355,-274 8355,-355 8467,-355 8467,-274 8355,-274"/>
199-<text text-anchor="middle" x="8411" y="-338.4" font-family="Times Roman,serif" font-size="14.00">www.functx.com</text>
200-</g>
201-<g id="graph18" class="cluster"><title>cluster17</title>
202-<polygon fill="Chartreuse" stroke="Chartreuse" points="4181,-96 4181,-177 4339,-177 4339,-96 4181,-96"/>
203-<text text-anchor="middle" x="4260" y="-160.4" font-family="Times Roman,serif" font-size="14.00">communication</text>
204-</g>
205-<g id="graph19" class="cluster"><title>clusterExternalCPPLibs</title>
206-<polygon fill="darksalmon" stroke="darksalmon" points="3669,-9 3669,-88 4339,-88 4339,-9 3669,-9"/>
207-<text text-anchor="middle" x="4004" y="-71.4" font-family="Times Roman,serif" font-size="14.00">External C++ Library dependencies</text>
208-</g>
209-<!-- xpath_functions_1 -->
210-<g id="node2" class="node"><title>xpath_functions_1</title>
211+<a xlink:title="www.w3.org">
212+<polygon fill="mediumvioletred" stroke="black" points="500,-405 500,-519 739,-519 739,-405 500,-405"/>
213+<text text-anchor="middle" x="619.5" y="-503.8" font-family="Times,serif" font-size="14.00">www.w3.org</text>
214+</a>
215+</g>
216+<g id="graph3" class="cluster"><title>clusterwwww3org2005</title>
217+<a xlink:title="www.w3.org/2005">
218+<polygon fill="mediumvioletred" stroke="black" points="508,-413 508,-488 731,-488 731,-413 508,-413"/>
219+<text text-anchor="middle" x="619.5" y="-472.8" font-family="Times,serif" font-size="14.00">2005</text>
220+</a>
221+</g>
222+<g id="graph4" class="cluster"><title>cluster2</title>
223+<a xlink:title="XDM">
224+<polygon fill="lightsteelblue" stroke="black" points="1616,-130 1616,-244 2515,-244 2515,-130 1616,-130"/>
225+<text text-anchor="middle" x="2065.5" y="-228.8" font-family="Times,serif" font-size="14.00">XDM</text>
226+</a>
227+</g>
228+<g id="graph5" class="cluster"><title>clusterXDMatomic</title>
229+<a xlink:title="XDM/atomic">
230+<polygon fill="lightsteelblue" stroke="black" points="2086,-138 2086,-213 2507,-213 2507,-138 2086,-138"/>
231+<text text-anchor="middle" x="2296.5" y="-197.8" font-family="Times,serif" font-size="14.00">atomic</text>
232+</a>
233+</g>
234+<g id="graph6" class="cluster"><title>clusterXDMitem</title>
235+<a xlink:title="XDM/item">
236+<polygon fill="lightsteelblue" stroke="black" points="1986,-138 1986,-213 2078,-213 2078,-138 1986,-138"/>
237+<text text-anchor="middle" x="2032" y="-197.8" font-family="Times,serif" font-size="14.00">item</text>
238+</a>
239+</g>
240+<g id="graph7" class="cluster"><title>clusterXDMnode</title>
241+<a xlink:title="XDM/node">
242+<polygon fill="lightsteelblue" stroke="black" points="1624,-138 1624,-213 1978,-213 1978,-138 1624,-138"/>
243+<text text-anchor="middle" x="1801" y="-197.8" font-family="Times,serif" font-size="14.00">node</text>
244+</a>
245+</g>
246+<g id="graph8" class="cluster"><title>cluster3</title>
247+<a xlink:title="store">
248+<polygon fill="sienna" stroke="black" points="4387,-31 4387,-397 5093,-397 5093,-31 4387,-31"/>
249+<text text-anchor="middle" x="4740" y="-381.8" font-family="Times,serif" font-size="14.00">store</text>
250+</a>
251+</g>
252+<g id="graph9" class="cluster"><title>clusterstorecollections</title>
253+<a xlink:title="store/collections">
254+<polygon fill="sienna" stroke="black" points="4849,-39 4849,-366 5085,-366 5085,-39 4849,-39"/>
255+<text text-anchor="middle" x="4967" y="-350.8" font-family="Times,serif" font-size="14.00">collections</text>
256+</a>
257+</g>
258+<g id="graph10" class="cluster"><title>clusterstorecollectionsdynamic</title>
259+<a xlink:title="store/collections/dynamic">
260+<polygon fill="sienna" stroke="black" points="4857,-47 4857,-122 4999,-122 4999,-47 4857,-47"/>
261+<text text-anchor="middle" x="4928" y="-106.8" font-family="Times,serif" font-size="14.00">dynamic</text>
262+</a>
263+</g>
264+<g id="graph11" class="cluster"><title>clusterstorecollectionsstatic</title>
265+<a xlink:title="store/collections/static">
266+<polygon fill="sienna" stroke="black" points="4935,-260 4935,-335 5077,-335 5077,-260 4935,-260"/>
267+<text text-anchor="middle" x="5006" y="-319.8" font-family="Times,serif" font-size="14.00">static</text>
268+</a>
269+</g>
270+<g id="graph12" class="cluster"><title>clusterstorecollectionsw3c</title>
271+<a xlink:title="store/collections/w3c">
272+<polygon fill="sienna" stroke="black" points="4857,-138 4857,-335 4927,-335 4927,-138 4857,-138"/>
273+<text text-anchor="middle" x="4892" y="-319.8" font-family="Times,serif" font-size="14.00">w3c</text>
274+</a>
275+</g>
276+<g id="graph13" class="cluster"><title>clusterstoredatastructures</title>
277+<a xlink:title="store/data structures">
278+<polygon fill="sienna" stroke="black" points="4538,-138 4538,-213 4841,-213 4841,-138 4538,-138"/>
279+<text text-anchor="middle" x="4689.5" y="-197.8" font-family="Times,serif" font-size="14.00">data structures</text>
280+</a>
281+</g>
282+<g id="graph14" class="cluster"><title>clusterstoredocuments</title>
283+<a xlink:title="store/documents">
284+<polygon fill="sienna" stroke="black" points="4727,-260 4727,-335 4841,-335 4841,-260 4727,-260"/>
285+<text text-anchor="middle" x="4784" y="-319.8" font-family="Times,serif" font-size="14.00">documents</text>
286+</a>
287+</g>
288+<g id="graph15" class="cluster"><title>clusterstoreindexes</title>
289+<a xlink:title="store/indexes">
290+<polygon fill="sienna" stroke="black" points="4561,-252 4561,-366 4719,-366 4719,-252 4561,-252"/>
291+<text text-anchor="middle" x="4640" y="-350.8" font-family="Times,serif" font-size="14.00">indexes</text>
292+</a>
293+</g>
294+<g id="graph16" class="cluster"><title>clusterstoreindexesstatic</title>
295+<a xlink:title="store/indexes/static">
296+<polygon fill="sienna" stroke="black" points="4569,-260 4569,-335 4711,-335 4711,-260 4569,-260"/>
297+<text text-anchor="middle" x="4640" y="-319.8" font-family="Times,serif" font-size="14.00">static</text>
298+</a>
299+</g>
300+<g id="graph17" class="cluster"><title>clusterstoreintegrityconstraints</title>
301+<a xlink:title="store/integrity constraints">
302+<polygon fill="sienna" stroke="black" points="4395,-252 4395,-366 4553,-366 4553,-252 4395,-252"/>
303+<text text-anchor="middle" x="4474" y="-350.8" font-family="Times,serif" font-size="14.00">integrity constraints</text>
304+</a>
305+</g>
306+<g id="graph18" class="cluster"><title>clusterstoreintegrityconstraintsstatic</title>
307+<a xlink:title="store/integrity constraints/static">
308+<polygon fill="sienna" stroke="black" points="4403,-260 4403,-335 4545,-335 4545,-260 4403,-260"/>
309+<text text-anchor="middle" x="4474" y="-319.8" font-family="Times,serif" font-size="14.00">static</text>
310+</a>
311+</g>
312+<g id="graph19" class="cluster"><title>cluster4</title>
313+<a xlink:title="introspection">
314+<polygon fill="dimgray" stroke="black" points="4696,-413 4696,-488 4783,-488 4783,-413 4696,-413"/>
315+<text text-anchor="middle" x="4739.5" y="-472.8" font-family="Times,serif" font-size="14.00">introspection</text>
316+</a>
317+</g>
318+<g id="graph20" class="cluster"><title>cluster5</title>
319+<a xlink:title="reflection">
320+<polygon fill="slategray" stroke="black" points="1398,-138 1398,-213 1502,-213 1502,-138 1398,-138"/>
321+<text text-anchor="middle" x="1450" y="-197.8" font-family="Times,serif" font-size="14.00">reflection</text>
322+</a>
323+</g>
324+<g id="graph21" class="cluster"><title>cluster6</title>
325+<a xlink:title="external">
326+<polygon fill="Gold" stroke="black" points="2523,-138 2523,-213 2890,-213 2890,-138 2523,-138"/>
327+<text text-anchor="middle" x="2706.5" y="-197.8" font-family="Times,serif" font-size="14.00">external</text>
328+</a>
329+</g>
330+<g id="graph22" class="cluster"><title>cluster7</title>
331+<a xlink:title="xqdoc">
332+<polygon fill="moccasin" stroke="black" points="4099,-252 4099,-519 4379,-519 4379,-252 4099,-252"/>
333+<text text-anchor="middle" x="4239" y="-503.8" font-family="Times,serif" font-size="14.00">xqdoc</text>
334+</a>
335+</g>
336+<g id="graph23" class="cluster"><title>clusterxqdocxqdoc2xhtml</title>
337+<a xlink:title="xqdoc/xqdoc2xhtml">
338+<polygon fill="moccasin" stroke="black" points="4239,-260 4239,-488 4371,-488 4371,-260 4239,-260"/>
339+<text text-anchor="middle" x="4305" y="-472.8" font-family="Times,serif" font-size="14.00">xqdoc2xhtml</text>
340+</a>
341+</g>
342+<g id="graph24" class="cluster"><title>cluster8</title>
343+<a xlink:title="data processing">
344+<polygon fill="tan" stroke="black" points="8,-39 8,-366 1390,-366 1390,-39 8,-39"/>
345+<text text-anchor="middle" x="699" y="-350.8" font-family="Times,serif" font-size="14.00">data processing</text>
346+</a>
347+</g>
348+<g id="graph25" class="cluster"><title>clusterdataprocessingdatacleaning</title>
349+<a xlink:title="data processing/data cleaning">
350+<polygon fill="tan" stroke="black" points="16,-47 16,-335 788,-335 788,-47 16,-47"/>
351+<text text-anchor="middle" x="402" y="-319.8" font-family="Times,serif" font-size="14.00">data cleaning</text>
352+</a>
353+</g>
354+<g id="graph26" class="cluster"><title>clusterdataprocessingdataconverters</title>
355+<a xlink:title="data processing/data converters">
356+<polygon fill="tan" stroke="black" points="936,-260 936,-335 1382,-335 1382,-260 936,-260"/>
357+<text text-anchor="middle" x="1159" y="-319.8" font-family="Times,serif" font-size="14.00">data converters</text>
358+</a>
359+</g>
360+<g id="graph27" class="cluster"><title>clusterdataprocessingmetadata</title>
361+<a xlink:title="data processing/metadata">
362+<polygon fill="tan" stroke="black" points="796,-260 796,-335 928,-335 928,-260 796,-260"/>
363+<text text-anchor="middle" x="862" y="-319.8" font-family="Times,serif" font-size="14.00">metadata</text>
364+</a>
365+</g>
366+<g id="graph28" class="cluster"><title>cluster9</title>
367+<a xlink:title="programming languages">
368+<polygon fill="RosyBrown" stroke="black" points="2898,-130 2898,-244 3052,-244 3052,-130 2898,-130"/>
369+<text text-anchor="middle" x="2975" y="-228.8" font-family="Times,serif" font-size="14.00">programming languages</text>
370+</a>
371+</g>
372+<g id="graph29" class="cluster"><title>clusterprogramminglanguagesxquery</title>
373+<a xlink:title="programming languages/xquery">
374+<polygon fill="RosyBrown" stroke="black" points="2970,-138 2970,-213 3044,-213 3044,-138 2970,-138"/>
375+<text text-anchor="middle" x="3007" y="-197.8" font-family="Times,serif" font-size="14.00">xquery</text>
376+</a>
377+</g>
378+<g id="graph30" class="cluster"><title>cluster10</title>
379+<a xlink:title="excel">
380+<polygon fill="wheat" stroke="black" points="5101,-138 5101,-488 5695,-488 5695,-138 5101,-138"/>
381+<text text-anchor="middle" x="5398" y="-472.8" font-family="Times,serif" font-size="14.00">excel</text>
382+</a>
383+</g>
384+<g id="graph31" class="cluster"><title>cluster11</title>
385+<a xlink:title="cryptography">
386+<polygon fill="LightGreen" stroke="black" points="2562,-260 2562,-335 2712,-335 2712,-260 2562,-260"/>
387+<text text-anchor="middle" x="2637" y="-319.8" font-family="Times,serif" font-size="14.00">cryptography</text>
388+</a>
389+</g>
390+<g id="graph32" class="cluster"><title>cluster12</title>
391+<a xlink:title="geo">
392+<polygon fill="forestgreen" stroke="black" points="2304,-260 2304,-335 2468,-335 2468,-260 2304,-260"/>
393+<text text-anchor="middle" x="2386" y="-319.8" font-family="Times,serif" font-size="14.00">geo</text>
394+</a>
395+</g>
396+<g id="graph33" class="cluster"><title>cluster13</title>
397+<a xlink:title="image">
398+<polygon fill="olivedrab" stroke="black" points="3090,-138 3090,-213 3584,-213 3584,-138 3090,-138"/>
399+<text text-anchor="middle" x="3337" y="-197.8" font-family="Times,serif" font-size="14.00">image</text>
400+</a>
401+</g>
402+<g id="graph34" class="cluster"><title>cluster14</title>
403+<a xlink:title="OAuth">
404+<polygon fill="darkkhaki" stroke="black" points="2476,-260 2476,-488 2554,-488 2554,-260 2476,-260"/>
405+<text text-anchor="middle" x="2515" y="-472.8" font-family="Times,serif" font-size="14.00">OAuth</text>
406+</a>
407+</g>
408+<g id="graph35" class="cluster"><title>cluster15</title>
409+<a xlink:title="expath.org">
410+<polygon fill="cornflowerblue" stroke="black" points="3901,-138 3901,-366 4091,-366 4091,-138 3901,-138"/>
411+<text text-anchor="middle" x="3996" y="-350.8" font-family="Times,serif" font-size="14.00">expath.org</text>
412+</a>
413+</g>
414+<g id="graph36" class="cluster"><title>clusterexpathorgns</title>
415+<a xlink:title="expath.org/ns">
416+<polygon fill="cornflowerblue" stroke="black" points="4013,-260 4013,-335 4083,-335 4083,-260 4013,-260"/>
417+<text text-anchor="middle" x="4048" y="-319.8" font-family="Times,serif" font-size="14.00">ns</text>
418+</a>
419+</g>
420+<g id="graph37" class="cluster"><title>cluster16</title>
421+<a xlink:title="www.functx.com">
422+<polygon fill="yellow" stroke="black" points="5703,-413 5703,-488 5865,-488 5865,-413 5703,-413"/>
423+<text text-anchor="middle" x="5784" y="-472.8" font-family="Times,serif" font-size="14.00">www.functx.com</text>
424+</a>
425+</g>
426+<g id="graph38" class="cluster"><title>cluster17</title>
427+<a xlink:title="communication">
428+<polygon fill="Chartreuse" stroke="black" points="3624,-138 3624,-213 3773,-213 3773,-138 3624,-138"/>
429+<text text-anchor="middle" x="3698.5" y="-197.8" font-family="Times,serif" font-size="14.00">communication</text>
430+</a>
431+</g>
432+<g id="graph39" class="cluster"><title>cluster18</title>
433+<a xlink:title="debugger">
434+<polygon fill="DarkGoldenRod" stroke="black" points="1240,-413 1240,-488 1438,-488 1438,-413 1240,-413"/>
435+<text text-anchor="middle" x="1339" y="-472.8" font-family="Times,serif" font-size="14.00">debugger</text>
436+</a>
437+</g>
438+<g id="graph40" class="cluster"><title>cluster19</title>
439+<a xlink:title="error">
440+<polygon fill="DarkSeaGreen" stroke="black" points="5873,-413 5873,-488 6164,-488 6164,-413 5873,-413"/>
441+<text text-anchor="middle" x="6018.5" y="-472.8" font-family="Times,serif" font-size="14.00">error</text>
442+</a>
443+</g>
444+<g id="graph41" class="cluster"><title>cluster20</title>
445+<a xlink:title="utils">
446+<polygon fill="DarkSlateBlue" stroke="black" points="3781,-130 3781,-244 3893,-244 3893,-130 3781,-130"/>
447+<text text-anchor="middle" x="3837" y="-228.8" font-family="Times,serif" font-size="14.00">utils</text>
448+</a>
449+</g>
450+<g id="graph42" class="cluster"><title>clusterutilsutiljvm</title>
451+<a xlink:title="utils/util jvm">
452+<polygon fill="DarkSlateBlue" stroke="black" points="3789,-138 3789,-213 3885,-213 3885,-138 3789,-138"/>
453+<text text-anchor="middle" x="3837" y="-197.8" font-family="Times,serif" font-size="14.00">util jvm</text>
454+</a>
455+</g>
456+<g id="graph43" class="cluster"><title>cluster21</title>
457+<a xlink:title="www.zorba-xquery.com">
458+<polygon fill="DodgerBlue" stroke="black" points="6172,-405 6172,-519 6354,-519 6354,-405 6172,-405"/>
459+<text text-anchor="middle" x="6263" y="-503.8" font-family="Times,serif" font-size="14.00">www.zorba-xquery.com</text>
460+</a>
461+</g>
462+<g id="graph44" class="cluster"><title>clusterwwwzorbaxquerycommodules</title>
463+<a xlink:title="www.zorba-xquery.com/modules">
464+<polygon fill="DodgerBlue" stroke="black" points="6180,-413 6180,-488 6346,-488 6346,-413 6180,-413"/>
465+<text text-anchor="middle" x="6263" y="-472.8" font-family="Times,serif" font-size="14.00">modules</text>
466+</a>
467+</g>
468+<g id="graph45" class="cluster"><title>clusterExternalCPPLibs</title>
469+<a xlink:title="Zorba modules dependency graph">
470+<polygon fill="darksalmon" stroke="black" points="2757,-47 2757,-122 3426,-122 3426,-47 2757,-47"/>
471+<text text-anchor="middle" x="3091.5" y="-106.8" font-family="Times,serif" font-size="14.00">External C++ Library dependencies</text>
472+</a>
473+</g>
474+<!-- 40 -->
475+<g id="node3" class="node"><title>40</title>
476 <a xlink:href="../www.w3.org_2005_xpath-functions.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xpath-functions">
477-<ellipse fill="white" stroke="white" cx="2114" cy="-301" rx="73.0388" ry="19.0919"/>
478-<text text-anchor="middle" x="2114" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="red">xpath_functions</text>
479+<ellipse fill="white" stroke="white" cx="657" cy="-439" rx="65.4659" ry="18"/>
480+<text text-anchor="middle" x="657" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">xpath-functions</text>
481 </a>
482 </g>
483-<!-- xpath_functions_math_1 -->
484-<g id="node3" class="node"><title>xpath_functions_math_1</title>
485+<!-- 41 -->
486+<g id="node4" class="node"><title>41</title>
487 <a xlink:href="../www.w3.org_2005_xpath-functions_math.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xpath-functions/math">
488-<ellipse fill="white" stroke="white" cx="1926" cy="-301" rx="97.0803" ry="19.0919"/>
489-<text text-anchor="middle" x="1926" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="red">xpath_functions_math</text>
490+<ellipse fill="white" stroke="white" cx="545" cy="-439" rx="28.3955" ry="18"/>
491+<text text-anchor="middle" x="545" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">math</text>
492 </a>
493 </g>
494-<!-- atomic_datetime_2 -->
495-<g id="node5" class="node"><title>atomic_datetime_2</title>
496+<!-- 3 -->
497+<g id="node7" class="node"><title>3</title>
498 <a xlink:href="../www.zorba-xquery.com_modules_datetime.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/datetime">
499-<ellipse fill="white" stroke="white" cx="2752" cy="-123" rx="75.8684" ry="19.0919"/>
500-<text text-anchor="middle" x="2752" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">atomic_datetime</text>
501+<ellipse fill="white" stroke="white" cx="2457" cy="-164" rx="41.394" ry="18"/>
502+<text text-anchor="middle" x="2457" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">datetime</text>
503 </a>
504 </g>
505-<!-- atomic_math_2 -->
506-<g id="node6" class="node"><title>atomic_math_2</title>
507+<!-- 5 -->
508+<g id="node8" class="node"><title>5</title>
509 <a xlink:href="../www.zorba-xquery.com_modules_math.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/math">
510-<ellipse fill="white" stroke="white" cx="3239" cy="-123" rx="62.9325" ry="19.0919"/>
511-<text text-anchor="middle" x="3239" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">atomic_math</text>
512-</a>
513-</g>
514-<!-- node_node_2 -->
515-<g id="node7" class="node"><title>node_node_2</title>
516+<ellipse fill="white" stroke="white" cx="2369" cy="-164" rx="28.3955" ry="18"/>
517+<text text-anchor="middle" x="2369" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">math</text>
518+</a>
519+</g>
520+<!-- 10 -->
521+<g id="node9" class="node"><title>10</title>
522+<a xlink:href="../www.zorba-xquery.com_modules_random.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/random">
523+<ellipse fill="white" stroke="white" cx="2284" cy="-164" rx="38.0212" ry="18"/>
524+<text text-anchor="middle" x="2284" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">random</text>
525+</a>
526+</g>
527+<!-- 13 -->
528+<g id="node10" class="node"><title>13</title>
529+<a xlink:href="../www.zorba-xquery.com_modules_string.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/string">
530+<ellipse fill="white" stroke="white" cx="2197" cy="-164" rx="30.3206" ry="18"/>
531+<text text-anchor="middle" x="2197" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">string</text>
532+</a>
533+</g>
534+<!-- 14 -->
535+<g id="node11" class="node"><title>14</title>
536+<a xlink:href="../www.zorba-xquery.com_modules_uri.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/uri">
537+<ellipse fill="white" stroke="white" cx="2121" cy="-164" rx="27" ry="18"/>
538+<text text-anchor="middle" x="2121" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">uri</text>
539+</a>
540+</g>
541+<!-- 12 -->
542+<g id="node13" class="node"><title>12</title>
543+<a xlink:href="../www.zorba-xquery.com_modules_schema.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/schema">
544+<ellipse fill="white" stroke="white" cx="2032" cy="-164" rx="37.5442" ry="18"/>
545+<text text-anchor="middle" x="2032" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">schema</text>
546+</a>
547+</g>
548+<!-- 8 -->
549+<g id="node15" class="node"><title>8</title>
550 <a xlink:href="../www.zorba-xquery.com_modules_node.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node">
551-<ellipse fill="white" stroke="white" cx="3105" cy="-123" rx="53.2379" ry="19.0919"/>
552-<text text-anchor="middle" x="3105" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">node_node</text>
553-</a>
554-</g>
555-<!-- node_node_reference_2 -->
556-<g id="node8" class="node"><title>node_node_reference_2</title>
557+<ellipse fill="white" stroke="white" cx="1942" cy="-164" rx="27.4223" ry="18"/>
558+<text text-anchor="middle" x="1942" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">node</text>
559+</a>
560+</g>
561+<!-- 7 -->
562+<g id="node16" class="node"><title>7</title>
563+<a xlink:href="../www.zorba-xquery.com_modules_node-position.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node-position">
564+<ellipse fill="white" stroke="white" cx="1837" cy="-164" rx="59.2173" ry="18"/>
565+<text text-anchor="middle" x="1837" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">node-position</text>
566+</a>
567+</g>
568+<!-- 6 -->
569+<g id="node17" class="node"><title>6</title>
570 <a xlink:href="../www.zorba-xquery.com_modules_node-reference.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node-reference">
571-<ellipse fill="white" stroke="white" cx="2940" cy="-123" rx="94.0452" ry="19.0919"/>
572-<text text-anchor="middle" x="2940" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">node_node_reference</text>
573-</a>
574-</g>
575-<!-- atomic_random_2 -->
576-<g id="node9" class="node"><title>atomic_random_2</title>
577-<a xlink:href="../www.zorba-xquery.com_modules_random.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/random">
578-<ellipse fill="white" stroke="white" cx="3393" cy="-123" rx="72.832" ry="19.0919"/>
579-<text text-anchor="middle" x="3393" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">atomic_random</text>
580-</a>
581-</g>
582-<!-- item_schema_2 -->
583-<g id="node10" class="node"><title>item_schema_2</title>
584-<a xlink:href="../www.zorba-xquery.com_modules_schema.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/schema">
585-<ellipse fill="white" stroke="white" cx="2595" cy="-123" rx="62.9325" ry="19.0919"/>
586-<text text-anchor="middle" x="2595" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">item_schema</text>
587-</a>
588-</g>
589-<!-- atomic_string_2 -->
590-<g id="node11" class="node"><title>atomic_string_2</title>
591-<a xlink:href="../www.zorba-xquery.com_modules_string.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/string">
592-<ellipse fill="white" stroke="white" cx="2449" cy="-123" rx="65.0538" ry="19.0919"/>
593-<text text-anchor="middle" x="2449" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">atomic_string</text>
594-</a>
595-</g>
596-<!-- data_structures_unordered_map_3 -->
597-<g id="node13" class="node"><title>data_structures_unordered_map_3</title>
598-<a xlink:href="../www.zorba-xquery.com_modules_store_data-structures_unordered-map.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/data-structures/unordered-map">
599-<ellipse fill="white" stroke="white" cx="7504" cy="-212" rx="135.057" ry="19.0919"/>
600-<text text-anchor="middle" x="7504" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">data_structures_unordered_map</text>
601-</a>
602-</g>
603-<!-- collections_dynamic_ddl_3 -->
604-<g id="node14" class="node"><title>collections_dynamic_ddl_3</title>
605+<ellipse fill="white" stroke="white" cx="1696" cy="-164" rx="63.5411" ry="18"/>
606+<text text-anchor="middle" x="1696" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">node-reference</text>
607+</a>
608+</g>
609+<!-- 25 -->
610+<g id="node21" class="node"><title>25</title>
611 <a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_collections_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl">
612-<ellipse fill="white" stroke="white" cx="7366" cy="-35" rx="108.187" ry="19.0919"/>
613-<text text-anchor="middle" x="7366" y="-31.9" font-family="Times Roman,serif" font-size="14.00" fill="red">collections_dynamic_ddl</text>
614+<ellipse fill="white" stroke="white" cx="4892" cy="-73" rx="27" ry="18"/>
615+<text text-anchor="middle" x="4892" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
616 </a>
617 </g>
618-<!-- collections_dynamic_dml_3 -->
619-<g id="node15" class="node"><title>collections_dynamic_dml_3</title>
620+<!-- 26 -->
621+<g id="node22" class="node"><title>26</title>
622 <a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_collections_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/dml">
623-<ellipse fill="white" stroke="white" cx="7147" cy="-123" rx="111.222" ry="19.0919"/>
624-<text text-anchor="middle" x="7147" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">collections_dynamic_dml</text>
625-</a>
626-</g>
627-<!-- collections_w3c_ddl_3 -->
628-<g id="node16" class="node"><title>collections_w3c_ddl_3</title>
629+<ellipse fill="white" stroke="white" cx="4964" cy="-73" rx="27" ry="18"/>
630+<text text-anchor="middle" x="4964" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
631+</a>
632+</g>
633+<!-- 29 -->
634+<g id="node24" class="node"><title>29</title>
635+<a xlink:href="../www.zorba-xquery.com_modules_store_static_collections_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/ddl">
636+<ellipse fill="white" stroke="white" cx="5042" cy="-286" rx="27" ry="18"/>
637+<text text-anchor="middle" x="5042" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
638+</a>
639+</g>
640+<!-- 30 -->
641+<g id="node25" class="node"><title>30</title>
642+<a xlink:href="../www.zorba-xquery.com_modules_store_static_collections_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/dml">
643+<ellipse fill="white" stroke="white" cx="4970" cy="-286" rx="27" ry="18"/>
644+<text text-anchor="middle" x="4970" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
645+</a>
646+</g>
647+<!-- 27 -->
648+<g id="node27" class="node"><title>27</title>
649 <a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_collections_w3c_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl">
650-<ellipse fill="white" stroke="white" cx="7366" cy="-123" rx="90.0096" ry="19.0919"/>
651-<text text-anchor="middle" x="7366" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">collections_w3c_ddl</text>
652-</a>
653-</g>
654-<!-- collections_w3c_ddl_3&#45;&gt;collections_dynamic_ddl_3 -->
655-<g id="edge80" class="edge"><title>collections_w3c_ddl_3-&gt;collections_dynamic_ddl_3</title>
656-<path fill="none" stroke="black" d="M7366,-103.905C7366,-92.3736 7366,-77.4389 7366,-64.4228"/>
657-<polygon fill="black" stroke="black" points="7369.5,-64.0574 7366,-54.0574 7362.5,-64.0575 7369.5,-64.0574"/>
658-</g>
659-<!-- collections_w3c_dml_3 -->
660-<g id="node17" class="node"><title>collections_w3c_dml_3</title>
661+<ellipse fill="white" stroke="white" cx="4892" cy="-164" rx="27" ry="18"/>
662+<text text-anchor="middle" x="4892" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
663+</a>
664+</g>
665+<!-- 27&#45;&gt;25 -->
666+<g id="edge102" class="edge"><title>27-&gt;25</title>
667+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl">
668+<path fill="none" stroke="black" d="M4892,-145.84C4892,-133.281 4892,-115.979 4892,-101.502"/>
669+<polygon fill="black" stroke="black" points="4895.5,-101.107 4892,-91.1074 4888.5,-101.107 4895.5,-101.107"/>
670+</a>
671+</g>
672+<!-- 28 -->
673+<g id="node28" class="node"><title>28</title>
674 <a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_collections_w3c_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml">
675-<ellipse fill="white" stroke="white" cx="7257" cy="-212" rx="94.0452" ry="19.0919"/>
676-<text text-anchor="middle" x="7257" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">collections_w3c_dml</text>
677-</a>
678-</g>
679-<!-- collections_w3c_dml_3&#45;&gt;collections_dynamic_dml_3 -->
680-<g id="edge86" class="edge"><title>collections_w3c_dml_3-&gt;collections_dynamic_dml_3</title>
681-<path fill="none" stroke="black" d="M7234.21,-193.559C7217.95,-180.402 7195.88,-162.551 7178.02,-148.097"/>
682-<polygon fill="black" stroke="black" points="7180.12,-145.292 7170.14,-141.723 7175.71,-150.734 7180.12,-145.292"/>
683-</g>
684-<!-- collections_w3c_dml_3&#45;&gt;collections_w3c_ddl_3 -->
685-<g id="edge84" class="edge"><title>collections_w3c_dml_3-&gt;collections_w3c_ddl_3</title>
686-<path fill="none" stroke="black" d="M7279.85,-193.343C7295.98,-180.17 7317.78,-162.375 7335.41,-147.979"/>
687-<polygon fill="black" stroke="black" points="7337.65,-150.668 7343.18,-141.633 7333.22,-145.246 7337.65,-150.668"/>
688-</g>
689-<!-- documents_dynamic_3 -->
690-<g id="node18" class="node"><title>documents_dynamic_3</title>
691+<ellipse fill="white" stroke="white" cx="4892" cy="-286" rx="27" ry="18"/>
692+<text text-anchor="middle" x="4892" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
693+</a>
694+</g>
695+<!-- 28&#45;&gt;26 -->
696+<g id="edge106" class="edge"><title>28-&gt;26</title>
697+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml">
698+<path fill="none" stroke="black" d="M4907.37,-271.185C4914.68,-263.806 4922.91,-254.162 4928,-244 4951.36,-197.396 4959.59,-136.252 4962.47,-101.43"/>
699+<polygon fill="black" stroke="black" points="4965.98,-101.331 4963.23,-91.1011 4959,-100.817 4965.98,-101.331"/>
700+</a>
701+</g>
702+<!-- 28&#45;&gt;27 -->
703+<g id="edge104" class="edge"><title>28-&gt;27</title>
704+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl">
705+<path fill="none" stroke="black" d="M4892,-267.807C4892,-248.114 4892,-215.583 4892,-192.39"/>
706+<polygon fill="black" stroke="black" points="4895.5,-192.161 4892,-182.161 4888.5,-192.161 4895.5,-192.161"/>
707+</a>
708+</g>
709+<!-- 63 -->
710+<g id="node30" class="node"><title>63</title>
711+<a xlink:href="../www.zorba-xquery.com_modules_store_data-structures_queue.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/store/data-structures/queue">
712+<ellipse fill="white" stroke="white" cx="4801" cy="-164" rx="31.2735" ry="18"/>
713+<text text-anchor="middle" x="4801" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">queue</text>
714+</a>
715+</g>
716+<!-- 63&#45;&gt;25 -->
717+<g id="edge136" class="edge"><title>63-&gt;25</title>
718+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/queue, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl">
719+<path fill="none" stroke="black" d="M4816.44,-147.902C4831.21,-133.452 4853.64,-111.514 4870.23,-95.2913"/>
720+<polygon fill="black" stroke="black" points="4872.69,-97.7814 4877.39,-88.287 4867.8,-92.7769 4872.69,-97.7814"/>
721+</a>
722+</g>
723+<!-- 63&#45;&gt;26 -->
724+<g id="edge138" class="edge"><title>63-&gt;26</title>
725+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/queue, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml">
726+<path fill="none" stroke="black" d="M4818.7,-148.875C4828.3,-141.996 4840.68,-134.299 4853,-130 4884.65,-118.951 4898.86,-138.563 4928,-122 4937.28,-116.729 4944.89,-107.992 4950.69,-99.4067"/>
727+<polygon fill="black" stroke="black" points="4953.81,-101.017 4956.07,-90.6662 4947.85,-97.3478 4953.81,-101.017"/>
728+</a>
729+</g>
730+<!-- 51 -->
731+<g id="node31" class="node"><title>51</title>
732+<a xlink:href="../www.zorba-xquery.com_modules_store_data-structures_stack.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/store/data-structures/stack">
733+<ellipse fill="white" stroke="white" cx="4723" cy="-164" rx="28.3955" ry="18"/>
734+<text text-anchor="middle" x="4723" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">stack</text>
735+</a>
736+</g>
737+<!-- 51&#45;&gt;25 -->
738+<g id="edge112" class="edge"><title>51-&gt;25</title>
739+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/stack, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl">
740+<path fill="none" stroke="black" d="M4737.22,-148.32C4743.76,-142.121 4751.86,-135.16 4760,-130 4791.28,-110.183 4830.77,-94.4902 4858.37,-84.8185"/>
741+<polygon fill="black" stroke="black" points="4859.64,-88.0836 4867.96,-81.5312 4857.37,-81.4615 4859.64,-88.0836"/>
742+</a>
743+</g>
744+<!-- 51&#45;&gt;26 -->
745+<g id="edge114" class="edge"><title>51-&gt;26</title>
746+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/stack, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml">
747+<path fill="none" stroke="black" d="M4735.8,-147.575C4742.29,-140.907 4750.76,-133.777 4760,-130 4794.6,-115.861 4894.98,-139.505 4928,-122 4937.66,-116.877 4945.46,-107.882 4951.29,-99.0523"/>
748+<polygon fill="black" stroke="black" points="4954.32,-100.804 4956.46,-90.4276 4948.32,-97.2028 4954.32,-100.804"/>
749+</a>
750+</g>
751+<!-- 23 -->
752+<g id="node32" class="node"><title>23</title>
753+<a xlink:href="../www.zorba-xquery.com_modules_store_data-structures_unordered-map.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/data-structures/unordered-map">
754+<ellipse fill="white" stroke="white" cx="4611" cy="-164" rx="64.4914" ry="18"/>
755+<text text-anchor="middle" x="4611" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">unordered-map</text>
756+</a>
757+</g>
758+<!-- 24 -->
759+<g id="node34" class="node"><title>24</title>
760 <a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_documents.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/documents">
761-<ellipse fill="white" stroke="white" cx="7053" cy="-212" rx="91.9239" ry="19.0919"/>
762-<text text-anchor="middle" x="7053" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">documents_dynamic</text>
763-</a>
764-</g>
765-<!-- collections_static_ddl_3 -->
766-<g id="node19" class="node"><title>collections_static_ddl_3</title>
767-<a xlink:href="../www.zorba-xquery.com_modules_store_static_collections_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/ddl">
768-<ellipse fill="white" stroke="white" cx="6848" cy="-212" rx="94.7523" ry="19.0919"/>
769-<text text-anchor="middle" x="6848" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">collections_static_ddl</text>
770-</a>
771-</g>
772-<!-- collections_static_dml_3 -->
773-<g id="node20" class="node"><title>collections_static_dml_3</title>
774-<a xlink:href="../www.zorba-xquery.com_modules_store_static_collections_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/dml">
775-<ellipse fill="white" stroke="white" cx="6637" cy="-212" rx="97.7889" ry="19.0919"/>
776-<text text-anchor="middle" x="6637" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">collections_static_dml</text>
777-</a>
778-</g>
779-<!-- indexes_static_ddl_3 -->
780-<g id="node21" class="node"><title>indexes_static_ddl_3</title>
781+<ellipse fill="white" stroke="white" cx="4784" cy="-286" rx="49.0941" ry="18"/>
782+<text text-anchor="middle" x="4784" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">documents</text>
783+</a>
784+</g>
785+<!-- 31 -->
786+<g id="node37" class="node"><title>31</title>
787 <a xlink:href="../www.zorba-xquery.com_modules_store_static_indexes_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/indexes/ddl">
788-<ellipse fill="white" stroke="white" cx="6439" cy="-212" rx="82.2301" ry="19.0919"/>
789-<text text-anchor="middle" x="6439" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">indexes_static_ddl</text>
790+<ellipse fill="white" stroke="white" cx="4676" cy="-286" rx="27" ry="18"/>
791+<text text-anchor="middle" x="4676" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
792 </a>
793 </g>
794-<!-- indexes_static_dml_3 -->
795-<g id="node22" class="node"><title>indexes_static_dml_3</title>
796+<!-- 32 -->
797+<g id="node38" class="node"><title>32</title>
798 <a xlink:href="../www.zorba-xquery.com_modules_store_static_indexes_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/indexes/dml">
799-<ellipse fill="white" stroke="white" cx="6253" cy="-212" rx="85.7684" ry="19.0919"/>
800-<text text-anchor="middle" x="6253" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">indexes_static_dml</text>
801+<ellipse fill="white" stroke="white" cx="4604" cy="-286" rx="27" ry="18"/>
802+<text text-anchor="middle" x="4604" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
803 </a>
804 </g>
805-<!-- integrity_constraints_static_ddl_3 -->
806-<g id="node23" class="node"><title>integrity_constraints_static_ddl_3</title>
807+<!-- 33 -->
808+<g id="node41" class="node"><title>33</title>
809 <a xlink:href="../www.zorba-xquery.com_modules_store_static_integrity_constraints_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/integrity_constraints/ddl">
810-<ellipse fill="white" stroke="white" cx="6017" cy="-212" rx="132.229" ry="19.0919"/>
811-<text text-anchor="middle" x="6017" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">integrity_constraints_static_ddl</text>
812+<ellipse fill="white" stroke="white" cx="4510" cy="-286" rx="27" ry="18"/>
813+<text text-anchor="middle" x="4510" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
814 </a>
815 </g>
816-<!-- integrity_constraints_static_dml_3 -->
817-<g id="node24" class="node"><title>integrity_constraints_static_dml_3</title>
818+<!-- 34 -->
819+<g id="node42" class="node"><title>34</title>
820 <a xlink:href="../www.zorba-xquery.com_modules_store_static_integrity_constraints_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/integrity_constraints/dml">
821-<ellipse fill="white" stroke="white" cx="5732" cy="-212" rx="135.057" ry="19.0919"/>
822-<text text-anchor="middle" x="5732" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">integrity_constraints_static_dml</text>
823+<ellipse fill="white" stroke="white" cx="4438" cy="-286" rx="27" ry="18"/>
824+<text text-anchor="middle" x="4438" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
825 </a>
826 </g>
827-<!-- sctx_4 -->
828-<g id="node26" class="node"><title>sctx_4</title>
829+<!-- 20 -->
830+<g id="node44" class="node"><title>20</title>
831 <a xlink:href="../www.zorba-xquery.com_modules_introspection_sctx.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/introspection/sctx">
832-<ellipse fill="white" stroke="white" cx="6387" cy="-301" rx="27" ry="19.0919"/>
833-<text text-anchor="middle" x="6387" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="red">sctx</text>
834+<ellipse fill="white" stroke="white" cx="4739" cy="-439" rx="27" ry="18"/>
835+<text text-anchor="middle" x="4739" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">sctx</text>
836 </a>
837 </g>
838-<!-- reflection_5 -->
839-<g id="node28" class="node"><title>reflection_5</title>
840+<!-- 11 -->
841+<g id="node46" class="node"><title>11</title>
842 <a xlink:href="../www.zorba-xquery.com_modules_reflection.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/reflection">
843-<ellipse fill="white" stroke="white" cx="7043" cy="-301" rx="48.0833" ry="19.0919"/>
844-<text text-anchor="middle" x="7043" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="red">reflection</text>
845-</a>
846-</g>
847-<!-- file_6 -->
848-<g id="node30" class="node"><title>file_6</title>
849-<a xlink:href="../expath.org_ns_file.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/file">
850-<ellipse fill="white" stroke="white" cx="3913" cy="-123" rx="27" ry="19.0919"/>
851-<text text-anchor="middle" x="3913" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">file</text>
852-</a>
853-</g>
854-<!-- fetch_6 -->
855-<g id="node31" class="node"><title>fetch_6</title>
856+<ellipse fill="white" stroke="white" cx="1450" cy="-164" rx="44.2946" ry="18"/>
857+<text text-anchor="middle" x="1450" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">reflection</text>
858+</a>
859+</g>
860+<!-- 4 -->
861+<g id="node48" class="node"><title>4</title>
862 <a xlink:href="../www.zorba-xquery.com_modules_fetch.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/fetch">
863-<ellipse fill="white" stroke="white" cx="3837" cy="-123" rx="31.1127" ry="19.0919"/>
864-<text text-anchor="middle" x="3837" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">fetch</text>
865+<ellipse fill="white" stroke="white" cx="2853" cy="-164" rx="28.3955" ry="18"/>
866+<text text-anchor="middle" x="2853" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">fetch</text>
867 </a>
868 </g>
869-<!-- http_client_6 -->
870-<g id="node32" class="node"><title>http_client_6</title>
871+<!-- 2 -->
872+<g id="node49" class="node"><title>2</title>
873 <a xlink:href="../www.zorba-xquery.com_modules_http-client.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/http-client">
874-<ellipse fill="white" stroke="white" cx="3736" cy="-123" rx="51.8276" ry="19.0919"/>
875-<text text-anchor="middle" x="3736" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">http_client</text>
876+<ellipse fill="white" stroke="white" cx="2760" cy="-164" rx="46.1964" ry="18"/>
877+<text text-anchor="middle" x="2760" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">http-client</text>
878 </a>
879 </g>
880-<!-- http_client_error_15 -->
881-<g id="node86" class="node"><title>http_client_error_15</title>
882+<!-- 1 -->
883+<g id="node110" class="node"><title>1</title>
884 <a xlink:href="../expath.org_ns_error.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/error">
885-<ellipse fill="white" stroke="white" cx="5332" cy="-123" rx="75.1594" ry="19.0919"/>
886-<text text-anchor="middle" x="5332" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">http_client_error</text>
887+<ellipse fill="white" stroke="white" cx="3946" cy="-164" rx="27.4223" ry="18"/>
888+<text text-anchor="middle" x="3946" y="-160.3" font-family="Times,serif" font-size="14.00" fill="red">error</text>
889 </a>
890 </g>
891-<!-- http_client_6&#45;&gt;http_client_error_15 -->
892-<g id="edge146" class="edge"><title>http_client_6-&gt;http_client_error_15</title>
893-<path fill="none" stroke="black" d="M3749.65,-141.474C3762.26,-156.507 3782.53,-176.02 3806,-181 3825.43,-185.123 5216.57,-185.123 5236,-181 5260.55,-175.789 5284.72,-161.12 5302.67,-147.839"/>
894-<polygon fill="black" stroke="black" points="5305.15,-150.345 5310.95,-141.478 5300.89,-144.793 5305.15,-150.345"/>
895+<!-- 2&#45;&gt;1 -->
896+<g id="edge76" class="edge"><title>2-&gt;1</title>
897+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/http-client, TO: http://expath.org/ns/error">
898+<path fill="none" stroke="black" d="M2765.74,-181.906C2774.23,-204.532 2792.61,-241.34 2824,-248 2838.35,-251.045 3865.65,-251.045 3880,-248 3907.66,-242.131 3925.78,-213.466 3935.91,-191.235"/>
899+<polygon fill="black" stroke="black" points="3939.2,-192.455 3939.89,-181.883 3932.76,-189.714 3939.2,-192.455"/>
900+</a>
901 </g>
902 <!-- cURL -->
903-<g id="node97" class="node"><title>cURL</title>
904+<g id="node133" class="node"><title>cURL</title>
905 <a xlink:href="http://curl.haxx.se/" xlink:title="cURL Library">
906-<polygon fill="none" stroke="red" points="3951,-53 3901,-53 3897,-49 3897,-17 3947,-17 3951,-21 3951,-53"/>
907-<polyline fill="none" stroke="red" points="3947,-49 3897,-49 "/>
908-<polyline fill="none" stroke="red" points="3947,-49 3947,-17 "/>
909-<polyline fill="none" stroke="red" points="3947,-49 3951,-53 "/>
910-<text text-anchor="middle" x="3924" y="-31.9" font-family="Times Roman,serif" font-size="14.00">cURL</text>
911-</a>
912-</g>
913-<!-- http_client_6&#45;&gt;cURL -->
914-<g id="edge40" class="edge"><title>http_client_6-&gt;cURL</title>
915-<path fill="none" stroke="red" d="M3766.01,-107.37C3775.67,-102.986 3786.57,-98.6876 3797,-96 3816.66,-90.9345 3870.49,-98.2784 3888,-88 3898.1,-82.0675 3905.99,-72.0439 3911.77,-62.3002"/>
916-<polygon fill="red" stroke="red" points="3915.02,-63.6518 3916.67,-53.1869 3908.85,-60.3362 3915.02,-63.6518"/>
917-</g>
918-<!-- process_6 -->
919-<g id="node33" class="node"><title>process_6</title>
920+<polygon fill="none" stroke="red" points="3183,-91 3133,-91 3129,-87 3129,-55 3179,-55 3183,-59 3183,-91"/>
921+<polyline fill="none" stroke="red" points="3179,-87 3129,-87 "/>
922+<polyline fill="none" stroke="red" points="3179,-87 3179,-55 "/>
923+<polyline fill="none" stroke="red" points="3179,-87 3183,-91 "/>
924+<text text-anchor="middle" x="3156" y="-69.3" font-family="Times,serif" font-size="14.00">cURL</text>
925+</a>
926+</g>
927+<!-- 2&#45;&gt;cURL -->
928+<g id="edge46" class="edge"><title>2-&gt;cURL</title>
929+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/http-client, TO: cURL">
930+<path fill="none" stroke="red" d="M2779.97,-147.6C2789.93,-140.848 2802.49,-133.642 2815,-130 2847.55,-120.523 3089.88,-137.557 3120,-122 3129.34,-117.175 3136.91,-108.693 3142.66,-100.187"/>
931+<polygon fill="red" stroke="red" points="3145.76,-101.826 3147.98,-91.4675 3139.78,-98.1788 3145.76,-101.826"/>
932+</a>
933+</g>
934+<!-- 70 -->
935+<g id="node50" class="node"><title>70</title>
936 <a xlink:href="../www.zorba-xquery.com_modules_process.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/process">
937-<ellipse fill="white" stroke="white" cx="3626" cy="-123" rx="39.8075" ry="19.0919"/>
938-<text text-anchor="middle" x="3626" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">process</text>
939+<ellipse fill="white" stroke="white" cx="2658" cy="-164" rx="37.0701" ry="18"/>
940+<text text-anchor="middle" x="2658" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">process</text>
941 </a>
942 </g>
943-<!-- system_6 -->
944-<g id="node34" class="node"><title>system_6</title>
945+<!-- 77 -->
946+<g id="node51" class="node"><title>77</title>
947 <a xlink:href="../www.zorba-xquery.com_modules_system.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/system">
948-<ellipse fill="white" stroke="white" cx="3529" cy="-123" rx="38.8909" ry="19.0919"/>
949-<text text-anchor="middle" x="3529" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">system</text>
950-</a>
951-</g>
952-<!-- project_xqdoc_7 -->
953-<g id="node36" class="node"><title>project_xqdoc_7</title>
954+<ellipse fill="white" stroke="white" cx="2567" cy="-164" rx="35.6194" ry="18"/>
955+<text text-anchor="middle" x="2567" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">system</text>
956+</a>
957+</g>
958+<!-- 22 -->
959+<g id="node54" class="node"><title>22</title>
960+<a xlink:href="../www.zorba-xquery.com_modules_xqdoc2xhtml_index.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc2xhtml/">
961+<ellipse fill="white" stroke="white" cx="4305" cy="-439" rx="57.2688" ry="18"/>
962+<text text-anchor="middle" x="4305" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">xqdoc2xhtml</text>
963+</a>
964+</g>
965+<!-- 22&#45;&gt;29 -->
966+<g id="edge94" class="edge"><title>22-&gt;29</title>
967+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/store/static/collections/ddl">
968+<path fill="none" stroke="black" d="M4358.77,-432.395C4433.45,-424.845 4572.83,-411.593 4692,-405 4709.42,-404.036 4992,-407.421 5006,-397 5031.53,-377.995 5039.25,-340.405 5041.42,-314.498"/>
969+<polygon fill="black" stroke="black" points="5044.94,-314.394 5042.05,-304.199 5037.95,-313.967 5044.94,-314.394"/>
970+</a>
971+</g>
972+<!-- 22&#45;&gt;30 -->
973+<g id="edge92" class="edge"><title>22-&gt;30</title>
974+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/store/static/collections/dml">
975+<path fill="none" stroke="black" d="M4358.78,-432.531C4433.46,-425.138 4572.86,-412.069 4692,-405 4705.26,-404.213 4920.28,-404.846 4931,-397 4957.01,-377.964 4965.76,-340.109 4968.65,-314.175"/>
976+<polygon fill="black" stroke="black" points="4972.13,-314.488 4969.54,-304.215 4965.16,-313.863 4972.13,-314.488"/>
977+</a>
978+</g>
979+<!-- 22&#45;&gt;4 -->
980+<g id="edge98" class="edge"><title>22-&gt;4</title>
981+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/fetch">
982+<path fill="none" stroke="black" d="M4281.93,-422.401C4270.7,-415.695 4256.68,-408.583 4243,-405 4205.8,-395.258 3935.15,-401.863 3897,-397 3617.14,-361.326 3558.9,-287.347 3279,-252 3257.78,-249.32 2912.17,-255.299 2894,-244 2875.6,-232.554 2865.05,-209.937 2859.28,-191.825"/>
983+<polygon fill="black" stroke="black" points="2862.6,-190.709 2856.48,-182.064 2855.87,-192.642 2862.6,-190.709"/>
984+</a>
985+</g>
986+<!-- 21 -->
987+<g id="node55" class="node"><title>21</title>
988+<a xlink:href="../www.zorba-xquery.com_modules_xqdoc2xhtml_error.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc2xhtml/error">
989+<ellipse fill="white" stroke="white" cx="4290" cy="-286" rx="27.4223" ry="18"/>
990+<text text-anchor="middle" x="4290" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">error</text>
991+</a>
992+</g>
993+<!-- 22&#45;&gt;21 -->
994+<g id="edge90" class="edge"><title>22-&gt;21</title>
995+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/xqdoc2xhtml/error">
996+<path fill="none" stroke="black" d="M4303.31,-420.972C4300.73,-395.03 4295.8,-345.357 4292.71,-314.326"/>
997+<polygon fill="black" stroke="black" points="4296.18,-313.803 4291.71,-304.198 4289.21,-314.495 4296.18,-313.803"/>
998+</a>
999+</g>
1000+<!-- 9 -->
1001+<g id="node56" class="node"><title>9</title>
1002 <a xlink:href="../www.zorba-xquery.com_modules_project_xqdoc.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/project_xqdoc">
1003-<ellipse fill="white" stroke="white" cx="5147" cy="-212" rx="65.9683" ry="19.0919"/>
1004-<text text-anchor="middle" x="5147" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">project_xqdoc</text>
1005-</a>
1006-</g>
1007-<!-- project_xqdoc_7&#45;&gt;file_6 -->
1008-<g id="edge120" class="edge"><title>project_xqdoc_7-&gt;file_6</title>
1009-<path fill="none" stroke="black" d="M5110.68,-196.132C5098.61,-191.619 5084.94,-187.306 5072,-185 5041.37,-179.542 3979.65,-191.263 3952,-177 3940.79,-171.219 3932.06,-160.563 3925.72,-150.236"/>
1010-<polygon fill="black" stroke="black" points="3928.7,-148.397 3920.77,-141.376 3922.59,-151.812 3928.7,-148.397"/>
1011-</g>
1012-<!-- xqdoc_7 -->
1013-<g id="node37" class="node"><title>xqdoc_7</title>
1014+<ellipse fill="white" stroke="white" cx="4168" cy="-439" rx="61.1419" ry="18"/>
1015+<text text-anchor="middle" x="4168" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">project_xqdoc</text>
1016+</a>
1017+</g>
1018+<!-- 22&#45;&gt;9 -->
1019+<g id="edge96" class="edge"><title>22-&gt;9</title>
1020+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/project_xqdoc">
1021+<path fill="none" stroke="black" d="M4247.32,-439C4244.69,-439 4242.06,-439 4239.43,-439"/>
1022+<polygon fill="black" stroke="black" points="4239.28,-435.5 4229.28,-439 4239.28,-442.5 4239.28,-435.5"/>
1023+</a>
1024+</g>
1025+<!-- 16 -->
1026+<g id="node57" class="node"><title>16</title>
1027 <a xlink:href="../www.zorba-xquery.com_modules_xqdoc.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc">
1028-<ellipse fill="white" stroke="white" cx="5172" cy="-123" rx="34.8574" ry="19.0919"/>
1029-<text text-anchor="middle" x="5172" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="red">xqdoc</text>
1030-</a>
1031-</g>
1032-<!-- project_xqdoc_7&#45;&gt;xqdoc_7 -->
1033-<g id="edge118" class="edge"><title>project_xqdoc_7-&gt;xqdoc_7</title>
1034-<path fill="none" stroke="black" d="M5152.42,-192.688C5155.79,-180.711 5160.17,-165.103 5163.94,-151.696"/>
1035-<polygon fill="black" stroke="black" points="5167.34,-152.542 5166.67,-141.968 5160.6,-150.649 5167.34,-152.542"/>
1036-</g>
1037-<!-- xqdoc2xhtml_index_7 -->
1038-<g id="node38" class="node"><title>xqdoc2xhtml_index_7</title>
1039-<a xlink:href="../www.zorba-xquery.com_modules_xqdoc2xhtml_index.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc2xhtml/">
1040-<ellipse fill="white" stroke="white" cx="5145" cy="-301" rx="87.889" ry="19.0919"/>
1041-<text text-anchor="middle" x="5145" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="red">xqdoc2xhtml_index</text>
1042-</a>
1043-</g>
1044-<!-- xqdoc2xhtml_index_7&#45;&gt;collections_static_ddl_3 -->
1045-<g id="edge102" class="edge"><title>xqdoc2xhtml_index_7-&gt;collections_static_ddl_3</title>
1046-<path fill="none" stroke="black" d="M5232.7,-298.935C5430.33,-294.299 5925.58,-282.785 6340,-274 6384.89,-273.048 6700.49,-277.08 6744,-266 6768.17,-259.845 6793.04,-247.203 6812.39,-235.697"/>
1047-<polygon fill="black" stroke="black" points="6814.44,-238.547 6821.15,-230.347 6810.79,-232.574 6814.44,-238.547"/>
1048-</g>
1049-<!-- xqdoc2xhtml_index_7&#45;&gt;collections_static_dml_3 -->
1050-<g id="edge100" class="edge"><title>xqdoc2xhtml_index_7-&gt;collections_static_dml_3</title>
1051-<path fill="none" stroke="black" d="M5232.62,-299.041C5534.56,-292.257 6514.22,-269.968 6530,-266 6554.85,-259.752 6580.55,-247.02 6600.53,-235.488"/>
1052-<polygon fill="black" stroke="black" points="6602.47,-238.41 6609.29,-230.302 6598.9,-232.387 6602.47,-238.41"/>
1053-</g>
1054-<!-- xqdoc2xhtml_index_7&#45;&gt;file_6 -->
1055-<g id="edge106" class="edge"><title>xqdoc2xhtml_index_7-&gt;file_6</title>
1056-<path fill="none" stroke="black" d="M5069.64,-291.093C4898.26,-268.898 4466.05,-214.8 4103,-185 4086.26,-183.626 3966.75,-185.042 3952,-177 3940.93,-170.963 3932.21,-160.271 3925.85,-149.984"/>
1057-<polygon fill="black" stroke="black" points="3928.84,-148.158 3920.87,-141.176 3922.75,-151.603 3928.84,-148.158"/>
1058-</g>
1059-<!-- xqdoc2xhtml_index_7&#45;&gt;project_xqdoc_7 -->
1060-<g id="edge104" class="edge"><title>xqdoc2xhtml_index_7-&gt;project_xqdoc_7</title>
1061-<path fill="none" stroke="black" d="M5145.43,-281.688C5145.7,-269.909 5146.04,-254.619 5146.34,-241.363"/>
1062-<polygon fill="black" stroke="black" points="5149.84,-241.35 5146.57,-231.274 5142.84,-241.193 5149.84,-241.35"/>
1063-</g>
1064-<!-- xqdoc2xhtml_index_7&#45;&gt;xqdoc_7 -->
1065-<g id="edge96" class="edge"><title>xqdoc2xhtml_index_7-&gt;xqdoc_7</title>
1066-<path fill="none" stroke="black" d="M5199.45,-285.894C5208.39,-280.988 5216.51,-274.519 5222,-266 5241.49,-235.732 5233.98,-218.947 5222,-185 5216.96,-170.73 5207.1,-157.33 5197.45,-146.664"/>
1067-<polygon fill="black" stroke="black" points="5199.97,-144.233 5190.53,-139.408 5194.9,-149.062 5199.97,-144.233"/>
1068-</g>
1069-<!-- xqdoc2xhtml_error_7 -->
1070-<g id="node39" class="node"><title>xqdoc2xhtml_error_7</title>
1071-<a xlink:href="../www.zorba-xquery.com_modules_xqdoc2xhtml_error.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc2xhtml/error">
1072-<ellipse fill="white" stroke="white" cx="4977" cy="-212" rx="85.7684" ry="19.0919"/>
1073-<text text-anchor="middle" x="4977" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">xqdoc2xhtml_error</text>
1074-</a>
1075-</g>
1076-<!-- xqdoc2xhtml_index_7&#45;&gt;xqdoc2xhtml_error_7 -->
1077-<g id="edge98" class="edge"><title>xqdoc2xhtml_index_7-&gt;xqdoc2xhtml_error_7</title>
1078-<path fill="none" stroke="black" d="M5107.61,-283.691C5096.11,-278.2 5083.46,-271.994 5072,-266 5053.42,-256.28 5033.17,-244.887 5016.16,-235.077"/>
1079-<polygon fill="black" stroke="black" points="5017.49,-231.798 5007.08,-229.811 5013.98,-237.854 5017.49,-231.798"/>
1080-</g>
1081-<!-- data_converters_base64_8 -->
1082-<g id="node41" class="node"><title>data_converters_base64_8</title>
1083-<a xlink:href="../www.zorba-xquery.com_modules_converters_base64.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/base64">
1084-<ellipse fill="white" stroke="white" cx="2257" cy="-212" rx="103.238" ry="19.0919"/>
1085-<text text-anchor="middle" x="2257" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">data_converters_base64</text>
1086-</a>
1087-</g>
1088-<!-- data_converters_csv_8 -->
1089-<g id="node42" class="node"><title>data_converters_csv_8</title>
1090-<a xlink:href="../www.zorba-xquery.com_modules_converters_csv.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/csv">
1091-<ellipse fill="white" stroke="white" cx="1320" cy="-212" rx="89.8026" ry="19.0919"/>
1092-<text text-anchor="middle" x="1320" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_converters_csv</text>
1093-</a>
1094-</g>
1095-<!-- data_converters_csv_8&#45;&gt;item_schema_2 -->
1096-<g id="edge64" class="edge"><title>data_converters_csv_8-&gt;item_schema_2</title>
1097-<path fill="none" stroke="black" d="M1368.83,-195.99C1384.66,-191.53 1402.41,-187.283 1419,-185 1449.38,-180.819 2493.94,-186.803 2523,-177 2540.41,-171.127 2557.02,-159.255 2569.89,-148.135"/>
1098-<polygon fill="black" stroke="black" points="2572.31,-150.665 2577.39,-141.369 2567.62,-145.466 2572.31,-150.665"/>
1099-</g>
1100-<!-- data_converters_html_8 -->
1101-<g id="node43" class="node"><title>data_converters_html_8</title>
1102-<a xlink:href="../www.zorba-xquery.com_modules_converters_html.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/html">
1103-<ellipse fill="white" stroke="white" cx="915" cy="-212" rx="94.7523" ry="19.0919"/>
1104-<text text-anchor="middle" x="915" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_converters_html</text>
1105-</a>
1106-</g>
1107-<!-- data_converters_html_8&#45;&gt;item_schema_2 -->
1108-<g id="edge82" class="edge"><title>data_converters_html_8-&gt;item_schema_2</title>
1109-<path fill="none" stroke="black" d="M966.343,-195.971C982.972,-191.51 1001.61,-187.267 1019,-185 1060.43,-179.598 2483.4,-190.317 2523,-177 2540.42,-171.143 2557.02,-159.273 2569.89,-148.15"/>
1110-<polygon fill="black" stroke="black" points="2572.31,-150.678 2577.39,-141.381 2567.62,-145.481 2572.31,-150.678"/>
1111-</g>
1112-<!-- Tidy -->
1113-<g id="node102" class="node"><title>Tidy</title>
1114-<a xlink:href="http://tidy.sourceforge.net/" xlink:title="Tidy C++ Library">
1115-<polygon fill="none" stroke="red" points="3731,-53 3681,-53 3677,-49 3677,-17 3727,-17 3731,-21 3731,-53"/>
1116-<polyline fill="none" stroke="red" points="3727,-49 3677,-49 "/>
1117-<polyline fill="none" stroke="red" points="3727,-49 3727,-17 "/>
1118-<polyline fill="none" stroke="red" points="3727,-49 3731,-53 "/>
1119-<text text-anchor="middle" x="3704" y="-31.9" font-family="Times Roman,serif" font-size="14.00">Tidy</text>
1120-</a>
1121-</g>
1122-<!-- data_converters_html_8&#45;&gt;Tidy -->
1123-<g id="edge26" class="edge"><title>data_converters_html_8-&gt;Tidy</title>
1124-<path fill="none" stroke="red" d="M967.461,-196.074C983.821,-191.733 1002.03,-187.533 1019,-185 1102.15,-172.589 1124.59,-187.556 1208,-177 1379.75,-155.264 1416.93,-114.978 1589,-96 1675.48,-86.4619 2285.02,-90.1743 2372,-88 2885.39,-75.1662 3509.56,-44.7598 3666.73,-36.8874"/>
1125-<polygon fill="red" stroke="red" points="3667,-40.378 3676.81,-36.3809 3666.65,-33.3868 3667,-40.378"/>
1126-</g>
1127-<!-- data_converters_json_8 -->
1128-<g id="node44" class="node"><title>data_converters_json_8</title>
1129-<a xlink:href="../www.zorba-xquery.com_modules_converters_json.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/json">
1130-<ellipse fill="white" stroke="white" cx="1120" cy="-212" rx="92.1303" ry="19.0919"/>
1131-<text text-anchor="middle" x="1120" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_converters_json</text>
1132-</a>
1133-</g>
1134-<!-- data_converters_json_8&#45;&gt;item_schema_2 -->
1135-<g id="edge124" class="edge"><title>data_converters_json_8-&gt;item_schema_2</title>
1136-<path fill="none" stroke="black" d="M1169.83,-195.979C1185.98,-191.518 1204.09,-187.274 1221,-185 1256.84,-180.179 2488.72,-188.542 2523,-177 2540.41,-171.136 2557.02,-159.265 2569.89,-148.143"/>
1137-<polygon fill="black" stroke="black" points="2572.31,-150.672 2577.39,-141.375 2567.62,-145.475 2572.31,-150.672"/>
1138-</g>
1139-<!-- Jansson -->
1140-<g id="node95" class="node"><title>Jansson</title>
1141-<a xlink:href="http://www.digip.org/jansson/" xlink:title="Jansson library for encoding, decoding and manipulating JSON data">
1142-<polygon fill="none" stroke="red" points="3807,-53 3753,-53 3749,-49 3749,-17 3803,-17 3807,-21 3807,-53"/>
1143-<polyline fill="none" stroke="red" points="3803,-49 3749,-49 "/>
1144-<polyline fill="none" stroke="red" points="3803,-49 3803,-17 "/>
1145-<polyline fill="none" stroke="red" points="3803,-49 3807,-53 "/>
1146-<text text-anchor="middle" x="3778" y="-31.9" font-family="Times Roman,serif" font-size="14.00">Jansson</text>
1147-</a>
1148-</g>
1149-<!-- data_converters_json_8&#45;&gt;Jansson -->
1150-<g id="edge32" class="edge"><title>data_converters_json_8-&gt;Jansson</title>
1151-<path fill="none" stroke="red" d="M1170.37,-195.996C1186.39,-191.594 1204.29,-187.38 1221,-185 1301.98,-173.466 1507.52,-184.176 1589,-177 1822.87,-156.404 1876.96,-114.628 2111,-96 2133.55,-94.2048 3719.9,-98.3844 3740,-88 3750.86,-82.3902 3759.32,-72.087 3765.47,-62.0462"/>
1152-<polygon fill="red" stroke="red" points="3768.67,-63.4824 3770.47,-53.041 3762.55,-60.0828 3768.67,-63.4824"/>
1153-</g>
1154-<!-- data_cleaning_character_based_string_similarity_8 -->
1155-<g id="node45" class="node"><title>data_cleaning_character_based_string_similarity_8</title>
1156+<ellipse fill="white" stroke="white" cx="4183" cy="-286" rx="32.2457" ry="18"/>
1157+<text text-anchor="middle" x="4183" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">xqdoc</text>
1158+</a>
1159+</g>
1160+<!-- 22&#45;&gt;16 -->
1161+<g id="edge88" class="edge"><title>22-&gt;16</title>
1162+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/xqdoc">
1163+<path fill="none" stroke="black" d="M4272.16,-423.984C4259.33,-417.27 4245.27,-408.22 4235,-397 4212.91,-372.869 4198.52,-337.675 4190.59,-313.637"/>
1164+<polygon fill="black" stroke="black" points="4193.93,-312.572 4187.59,-304.082 4187.25,-314.671 4193.93,-312.572"/>
1165+</a>
1166+</g>
1167+<!-- 38 -->
1168+<g id="node109" class="node"><title>38</title>
1169+<a xlink:href="../expath.org_ns_file.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/file">
1170+<ellipse fill="white" stroke="white" cx="4048" cy="-286" rx="27" ry="18"/>
1171+<text text-anchor="middle" x="4048" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">file</text>
1172+</a>
1173+</g>
1174+<!-- 22&#45;&gt;38 -->
1175+<g id="edge100" class="edge"><title>22-&gt;38</title>
1176+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://expath.org/ns/file">
1177+<path fill="none" stroke="black" d="M4281.59,-422.418C4270.39,-415.803 4256.51,-408.761 4243,-405 4227.14,-400.583 4108.49,-406.441 4095,-397 4067.93,-378.06 4056.35,-340.182 4051.47,-314.217"/>
1178+<polygon fill="black" stroke="black" points="4054.9,-313.532 4049.81,-304.243 4048,-314.683 4054.9,-313.532"/>
1179+</a>
1180+</g>
1181+<!-- 9&#45;&gt;4 -->
1182+<g id="edge82" class="edge"><title>9-&gt;4</title>
1183+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/project_xqdoc, TO: http://www.zorba-xquery.com/modules/fetch">
1184+<path fill="none" stroke="black" d="M4107.6,-436.124C4006.2,-432.387 3795.48,-422.097 3619,-397 3292.96,-350.634 3156.16,-443.307 2894,-244 2877.03,-231.101 2866.45,-209.168 2860.29,-191.681"/>
1185+<polygon fill="black" stroke="black" points="2863.57,-190.441 2857.16,-182.001 2856.91,-192.592 2863.57,-190.441"/>
1186+</a>
1187+</g>
1188+<!-- 9&#45;&gt;21 -->
1189+<g id="edge84" class="edge"><title>9-&gt;21</title>
1190+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/project_xqdoc, TO: http://www.zorba-xquery.com/modules/xqdoc2xhtml/error">
1191+<path fill="none" stroke="black" d="M4196.66,-422.917C4208.4,-416.998 4222.2,-410.354 4235,-405 4244.98,-400.823 4250.55,-404.848 4258,-397 4279.24,-374.638 4286.49,-339.011 4288.9,-314.391"/>
1192+<polygon fill="black" stroke="black" points="4292.4,-314.504 4289.69,-304.263 4285.43,-313.963 4292.4,-314.504"/>
1193+</a>
1194+</g>
1195+<!-- 9&#45;&gt;16 -->
1196+<g id="edge78" class="edge"><title>9-&gt;16</title>
1197+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/project_xqdoc, TO: http://www.zorba-xquery.com/modules/xqdoc">
1198+<path fill="none" stroke="black" d="M4169.69,-420.972C4172.27,-395.03 4177.2,-345.357 4180.29,-314.326"/>
1199+<polygon fill="black" stroke="black" points="4183.79,-314.495 4181.29,-304.198 4176.82,-313.803 4183.79,-314.495"/>
1200+</a>
1201+</g>
1202+<!-- 9&#45;&gt;38 -->
1203+<g id="edge80" class="edge"><title>9-&gt;38</title>
1204+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/project_xqdoc, TO: http://expath.org/ns/file">
1205+<path fill="none" stroke="black" d="M4132.78,-424.077C4119.58,-417.467 4105.29,-408.467 4095,-397 4073.61,-373.17 4060.94,-338.143 4054.24,-314.051"/>
1206+<polygon fill="black" stroke="black" points="4057.57,-312.935 4051.65,-304.145 4050.79,-314.705 4057.57,-312.935"/>
1207+</a>
1208+</g>
1209+<!-- 78 -->
1210+<g id="node60" class="node"><title>78</title>
1211 <a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_character-based-string-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity">
1212-<ellipse fill="white" stroke="white" cx="985" cy="-123" rx="198.904" ry="19.0919"/>
1213-<text text-anchor="middle" x="985" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_cleaning_character_based_string_similarity</text>
1214+<ellipse fill="white" stroke="white" cx="170" cy="-164" rx="126.133" ry="18"/>
1215+<text text-anchor="middle" x="170" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">character-based-string-similarity</text>
1216 </a>
1217 </g>
1218-<!-- data_cleaning_consolidation_8 -->
1219-<g id="node46" class="node"><title>data_cleaning_consolidation_8</title>
1220+<!-- 79 -->
1221+<g id="node61" class="node"><title>79</title>
1222 <a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_consolidation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/consolidation">
1223-<ellipse fill="white" stroke="white" cx="681" cy="-212" rx="120.915" ry="19.0919"/>
1224-<text text-anchor="middle" x="681" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_cleaning_consolidation</text>
1225-</a>
1226-</g>
1227-<!-- data_cleaning_consolidation_8&#45;&gt;data_cleaning_character_based_string_similarity_8 -->
1228-<g id="edge116" class="edge"><title>data_cleaning_consolidation_8-&gt;data_cleaning_character_based_string_similarity_8</title>
1229-<path fill="none" stroke="black" d="M738.537,-195.155C788.205,-180.614 860.167,-159.546 913.521,-143.926"/>
1230-<polygon fill="black" stroke="black" points="914.644,-147.245 923.258,-141.076 912.677,-140.527 914.644,-147.245"/>
1231-</g>
1232-<!-- data_cleaning_set_similarity_8 -->
1233-<g id="node51" class="node"><title>data_cleaning_set_similarity_8</title>
1234+<ellipse fill="white" stroke="white" cx="126" cy="-286" rx="57.2688" ry="18"/>
1235+<text text-anchor="middle" x="126" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">consolidation</text>
1236+</a>
1237+</g>
1238+<!-- 79&#45;&gt;78 -->
1239+<g id="edge166" class="edge"><title>79-&gt;78</title>
1240+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/consolidation, TO: http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity">
1241+<path fill="none" stroke="black" d="M132.211,-268.061C139.474,-248.252 151.591,-215.206 160.143,-191.882"/>
1242+<polygon fill="black" stroke="black" points="163.522,-192.835 163.678,-182.241 156.95,-190.425 163.522,-192.835"/>
1243+</a>
1244+</g>
1245+<!-- 84 -->
1246+<g id="node66" class="node"><title>84</title>
1247 <a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_set-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/set-similarity">
1248-<ellipse fill="white" stroke="white" cx="767" cy="-35" rx="121.83" ry="19.0919"/>
1249-<text text-anchor="middle" x="767" y="-31.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_cleaning_set_similarity</text>
1250-</a>
1251-</g>
1252-<!-- data_cleaning_consolidation_8&#45;&gt;data_cleaning_set_similarity_8 -->
1253-<g id="edge114" class="edge"><title>data_cleaning_consolidation_8-&gt;data_cleaning_set_similarity_8</title>
1254-<path fill="none" stroke="black" d="M746.422,-195.966C766.965,-191.592 789.813,-187.401 811,-185 821.546,-183.805 1185.57,-184.583 1193,-177 1218.19,-151.279 1216.58,-123.2 1193,-96 1173.07,-73.0138 1006.06,-54.5842 887.185,-44.2178"/>
1255-<polygon fill="black" stroke="black" points="887.183,-40.7047 876.919,-43.3321 886.581,-47.6788 887.183,-40.7047"/>
1256-</g>
1257-<!-- data_cleaning_conversion_8 -->
1258-<g id="node47" class="node"><title>data_cleaning_conversion_8</title>
1259+<ellipse fill="white" stroke="white" cx="535" cy="-73" rx="57.2688" ry="18"/>
1260+<text text-anchor="middle" x="535" y="-69.3" font-family="Times,serif" font-size="14.00" fill="green">set-similarity</text>
1261+</a>
1262+</g>
1263+<!-- 79&#45;&gt;84 -->
1264+<g id="edge164" class="edge"><title>79-&gt;84</title>
1265+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/consolidation, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity">
1266+<path fill="none" stroke="black" d="M79.6308,-275.326C62.6123,-269.29 45.0637,-259.572 35,-244 7.49918,-201.446 1.22589,-167.768 35,-130 63.3807,-98.2632 338.55,-82.3859 468.137,-76.6194"/>
1267+<polygon fill="black" stroke="black" points="468.5,-80.107 478.337,-76.173 468.194,-73.1137 468.5,-80.107"/>
1268+</a>
1269+</g>
1270+<!-- 80 -->
1271+<g id="node62" class="node"><title>80</title>
1272 <a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_conversion.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/conversion">
1273-<ellipse fill="white" stroke="white" cx="1803" cy="-212" rx="111.222" ry="19.0919"/>
1274-<text text-anchor="middle" x="1803" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_cleaning_conversion</text>
1275-</a>
1276-</g>
1277-<!-- data_cleaning_conversion_8&#45;&gt;http_client_6 -->
1278-<g id="edge126" class="edge"><title>data_cleaning_conversion_8-&gt;http_client_6</title>
1279-<path fill="none" stroke="black" d="M1862.69,-195.894C1881.81,-191.458 1903.16,-187.25 1923,-185 1947.18,-182.258 3652.27,-185.676 3675,-177 3690.25,-171.182 3704.14,-159.639 3714.8,-148.715"/>
1280-<polygon fill="black" stroke="black" points="3717.42,-151.042 3721.65,-141.328 3712.28,-146.285 3717.42,-151.042"/>
1281-</g>
1282-<!-- data_cleaning_hybrid_string_similarity_8 -->
1283-<g id="node48" class="node"><title>data_cleaning_hybrid_string_similarity_8</title>
1284+<ellipse fill="white" stroke="white" cx="593" cy="-286" rx="49.0941" ry="18"/>
1285+<text text-anchor="middle" x="593" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">conversion</text>
1286+</a>
1287+</g>
1288+<!-- 80&#45;&gt;11 -->
1289+<g id="edge170" class="edge"><title>80-&gt;11</title>
1290+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/conversion, TO: http://www.zorba-xquery.com/modules/reflection">
1291+<path fill="none" stroke="black" d="M614.502,-269.599C624.994,-262.936 638.111,-255.804 651,-252 681.1,-243.117 760.738,-246.761 792,-244 1018.78,-223.973 1288.08,-187.71 1398.7,-172.273"/>
1292+<polygon fill="black" stroke="black" points="1399.48,-175.697 1408.9,-170.845 1398.51,-168.765 1399.48,-175.697"/>
1293+</a>
1294+</g>
1295+<!-- 80&#45;&gt;2 -->
1296+<g id="edge168" class="edge"><title>80-&gt;2</title>
1297+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/conversion, TO: http://www.zorba-xquery.com/modules/http-client">
1298+<path fill="none" stroke="black" d="M613.876,-269.641C624.436,-262.809 637.791,-255.522 651,-252 678.551,-244.653 2678.7,-257.142 2704,-244 2725.34,-232.915 2740.32,-209.547 2749.38,-191.087"/>
1299+<polygon fill="black" stroke="black" points="2752.58,-192.519 2753.58,-181.972 2746.22,-189.589 2752.58,-192.519"/>
1300+</a>
1301+</g>
1302+<!-- 81 -->
1303+<g id="node63" class="node"><title>81</title>
1304 <a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_hybrid-string-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity">
1305-<ellipse fill="white" stroke="white" cx="178" cy="-212" rx="162.134" ry="19.0919"/>
1306-<text text-anchor="middle" x="178" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_cleaning_hybrid_string_similarity</text>
1307-</a>
1308-</g>
1309-<!-- data_cleaning_hybrid_string_similarity_8&#45;&gt;data_cleaning_character_based_string_similarity_8 -->
1310-<g id="edge132" class="edge"><title>data_cleaning_hybrid_string_similarity_8-&gt;data_cleaning_character_based_string_similarity_8</title>
1311-<path fill="none" stroke="black" d="M264.706,-195.939C291.624,-191.592 321.456,-187.423 349,-185 442.655,-176.76 678.821,-189.523 772,-177 821.704,-170.32 876.529,-156.26 918.108,-144.162"/>
1312-<polygon fill="black" stroke="black" points="919.239,-147.478 927.843,-141.295 917.262,-140.763 919.239,-147.478"/>
1313-</g>
1314-<!-- data_cleaning_phonetic_string_similarity_8 -->
1315-<g id="node50" class="node"><title>data_cleaning_phonetic_string_similarity_8</title>
1316+<ellipse fill="white" stroke="white" cx="423" cy="-286" rx="93.3873" ry="18"/>
1317+<text text-anchor="middle" x="423" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">hybrid-string-similarity</text>
1318+</a>
1319+</g>
1320+<!-- 81&#45;&gt;78 -->
1321+<g id="edge176" class="edge"><title>81-&gt;78</title>
1322+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity">
1323+<path fill="none" stroke="black" d="M374.51,-270.516C352.855,-263.45 327.256,-254.259 305,-244 269.106,-227.454 230.389,-204.186 203.661,-187.188"/>
1324+<polygon fill="black" stroke="black" points="205.385,-184.136 195.078,-181.683 201.606,-190.028 205.385,-184.136"/>
1325+</a>
1326+</g>
1327+<!-- 83 -->
1328+<g id="node65" class="node"><title>83</title>
1329 <a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_phonetic-string-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/phonetic-string-similarity">
1330-<ellipse fill="white" stroke="white" cx="187" cy="-123" rx="171.12" ry="19.0919"/>
1331-<text text-anchor="middle" x="187" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_cleaning_phonetic_string_similarity</text>
1332-</a>
1333-</g>
1334-<!-- data_cleaning_hybrid_string_similarity_8&#45;&gt;data_cleaning_phonetic_string_similarity_8 -->
1335-<g id="edge134" class="edge"><title>data_cleaning_hybrid_string_similarity_8-&gt;data_cleaning_phonetic_string_similarity_8</title>
1336-<path fill="none" stroke="black" d="M179.953,-192.688C181.144,-180.909 182.69,-165.619 184.031,-152.363"/>
1337-<polygon fill="black" stroke="black" points="187.527,-152.575 185.051,-142.274 180.563,-151.871 187.527,-152.575"/>
1338-</g>
1339-<!-- data_cleaning_hybrid_string_similarity_8&#45;&gt;data_cleaning_set_similarity_8 -->
1340-<g id="edge128" class="edge"><title>data_cleaning_hybrid_string_similarity_8-&gt;data_cleaning_set_similarity_8</title>
1341-<path fill="none" stroke="black" d="M264.708,-195.95C291.625,-191.604 321.456,-187.433 349,-185 360.292,-184.003 748.784,-184.81 757,-177 772.651,-162.123 771.595,-101.389 769.347,-64.3363"/>
1342-<polygon fill="black" stroke="black" points="772.824,-63.8659 768.662,-54.1227 765.839,-64.3346 772.824,-63.8659"/>
1343-</g>
1344-<!-- data_cleaning_token_based_string_similarity_8 -->
1345-<g id="node52" class="node"><title>data_cleaning_token_based_string_similarity_8</title>
1346+<ellipse fill="white" stroke="white" cx="415" cy="-164" rx="100.611" ry="18"/>
1347+<text text-anchor="middle" x="415" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">phonetic-string-similarity</text>
1348+</a>
1349+</g>
1350+<!-- 81&#45;&gt;83 -->
1351+<g id="edge178" class="edge"><title>81-&gt;83</title>
1352+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/phonetic-string-similarity">
1353+<path fill="none" stroke="black" d="M421.854,-267.807C420.541,-248.114 418.372,-215.583 416.826,-192.39"/>
1354+<polygon fill="black" stroke="black" points="420.302,-191.906 416.144,-182.161 413.317,-192.372 420.302,-191.906"/>
1355+</a>
1356+</g>
1357+<!-- 81&#45;&gt;84 -->
1358+<g id="edge172" class="edge"><title>81-&gt;84</title>
1359+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity">
1360+<path fill="none" stroke="black" d="M484.604,-272.34C499.788,-266.261 514.424,-257.276 524,-244 539.956,-221.879 538.63,-143.387 536.642,-101.236"/>
1361+<polygon fill="black" stroke="black" points="540.131,-100.921 536.119,-91.1154 533.14,-101.283 540.131,-100.921"/>
1362+</a>
1363+</g>
1364+<!-- 85 -->
1365+<g id="node67" class="node"><title>85</title>
1366 <a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_token-based-string-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity">
1367-<ellipse fill="white" stroke="white" cx="562" cy="-123" rx="185.969" ry="19.0919"/>
1368-<text text-anchor="middle" x="562" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_cleaning_token_based_string_similarity</text>
1369-</a>
1370-</g>
1371-<!-- data_cleaning_hybrid_string_similarity_8&#45;&gt;data_cleaning_token_based_string_similarity_8 -->
1372-<g id="edge130" class="edge"><title>data_cleaning_hybrid_string_similarity_8-&gt;data_cleaning_token_based_string_similarity_8</title>
1373-<path fill="none" stroke="black" d="M271.099,-196.422C301.759,-190.85 335.946,-184.161 367,-177 408.948,-167.327 455.421,-154.54 492.473,-143.838"/>
1374-<polygon fill="black" stroke="black" points="493.544,-147.172 502.171,-141.022 491.592,-140.449 493.544,-147.172"/>
1375-</g>
1376-<!-- data_cleaning_normalization_8 -->
1377-<g id="node49" class="node"><title>data_cleaning_normalization_8</title>
1378+<ellipse fill="white" stroke="white" cx="667" cy="-164" rx="113.135" ry="18"/>
1379+<text text-anchor="middle" x="667" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">token-based-string-similarity</text>
1380+</a>
1381+</g>
1382+<!-- 81&#45;&gt;85 -->
1383+<g id="edge174" class="edge"><title>81-&gt;85</title>
1384+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity">
1385+<path fill="none" stroke="black" d="M471.775,-270.563C493.148,-263.565 518.26,-254.415 540,-244 573.936,-227.742 610.147,-204.576 635.183,-187.533"/>
1386+<polygon fill="black" stroke="black" points="637.292,-190.33 643.55,-181.781 633.327,-184.561 637.292,-190.33"/>
1387+</a>
1388+</g>
1389+<!-- 82 -->
1390+<g id="node64" class="node"><title>82</title>
1391 <a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_normalization.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/normalization">
1392-<ellipse fill="white" stroke="white" cx="1551" cy="-212" rx="123.037" ry="19.0919"/>
1393-<text text-anchor="middle" x="1551" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_cleaning_normalization</text>
1394-</a>
1395-</g>
1396-<!-- data_cleaning_normalization_8&#45;&gt;http_client_6 -->
1397-<g id="edge110" class="edge"><title>data_cleaning_normalization_8-&gt;http_client_6</title>
1398-<path fill="none" stroke="black" d="M1616.74,-195.889C1637.77,-191.453 1661.24,-187.246 1683,-185 1710.52,-182.158 3649.15,-186.858 3675,-177 3690.25,-171.186 3704.14,-159.644 3714.8,-148.718"/>
1399-<polygon fill="black" stroke="black" points="3717.42,-151.045 3721.65,-141.331 3712.28,-146.288 3717.42,-151.045"/>
1400-</g>
1401-<!-- data_cleaning_token_based_string_similarity_8&#45;&gt;data_cleaning_set_similarity_8 -->
1402-<g id="edge50" class="edge"><title>data_cleaning_token_based_string_similarity_8-&gt;data_cleaning_set_similarity_8</title>
1403-<path fill="none" stroke="black" d="M605.475,-104.337C637.812,-90.4564 682.038,-71.4716 716.038,-56.8766"/>
1404-<polygon fill="black" stroke="black" points="717.529,-60.0452 725.338,-52.8843 714.768,-53.6128 717.529,-60.0452"/>
1405-</g>
1406-<!-- data_converters_xml_8 -->
1407-<g id="node53" class="node"><title>data_converters_xml_8</title>
1408+<ellipse fill="white" stroke="white" cx="720" cy="-286" rx="59.1941" ry="18"/>
1409+<text text-anchor="middle" x="720" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">normalization</text>
1410+</a>
1411+</g>
1412+<!-- 82&#45;&gt;2 -->
1413+<g id="edge180" class="edge"><title>82-&gt;2</title>
1414+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/normalization, TO: http://www.zorba-xquery.com/modules/http-client">
1415+<path fill="none" stroke="black" d="M746.062,-269.789C759.339,-262.901 776.021,-255.523 792,-252 817.933,-246.283 2680.43,-256.243 2704,-244 2725.34,-232.911 2740.32,-209.545 2749.38,-191.086"/>
1416+<polygon fill="black" stroke="black" points="2752.57,-192.518 2753.58,-181.971 2746.22,-189.587 2752.57,-192.518"/>
1417+</a>
1418+</g>
1419+<!-- 85&#45;&gt;84 -->
1420+<g id="edge182" class="edge"><title>85-&gt;84</title>
1421+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity">
1422+<path fill="none" stroke="black" d="M642.172,-146.26C620.848,-131.883 589.978,-111.069 566.841,-95.4683"/>
1423+<polygon fill="black" stroke="black" points="568.636,-92.4573 558.388,-89.7689 564.722,-98.2613 568.636,-92.4573"/>
1424+</a>
1425+</g>
1426+<!-- 18 -->
1427+<g id="node69" class="node"><title>18</title>
1428+<a xlink:href="../www.zorba-xquery.com_modules_converters_base64.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/base64">
1429+<ellipse fill="white" stroke="white" cx="1339" cy="-286" rx="35.1455" ry="18"/>
1430+<text text-anchor="middle" x="1339" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">base64</text>
1431+</a>
1432+</g>
1433+<!-- 65 -->
1434+<g id="node70" class="node"><title>65</title>
1435+<a xlink:href="../www.zorba-xquery.com_modules_converters_csv.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/csv">
1436+<ellipse fill="white" stroke="white" cx="1187" cy="-286" rx="27" ry="18"/>
1437+<text text-anchor="middle" x="1187" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">csv</text>
1438+</a>
1439+</g>
1440+<!-- 65&#45;&gt;12 -->
1441+<g id="edge142" class="edge"><title>65-&gt;12</title>
1442+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/csv, TO: http://www.zorba-xquery.com/modules/schema">
1443+<path fill="none" stroke="black" d="M1198.99,-269.775C1205.32,-262.974 1213.7,-255.676 1223,-252 1262.22,-236.506 1945.17,-264.532 1982,-244 2002.19,-232.746 2015.39,-209.566 2023.13,-191.212"/>
1444+<polygon fill="black" stroke="black" points="2026.4,-192.468 2026.78,-181.88 2019.88,-189.917 2026.4,-192.468"/>
1445+</a>
1446+</g>
1447+<!-- 76 -->
1448+<g id="node71" class="node"><title>76</title>
1449+<a xlink:href="../www.zorba-xquery.com_modules_converters_exi.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/exi">
1450+<ellipse fill="white" stroke="white" cx="1115" cy="-286" rx="27" ry="18"/>
1451+<text text-anchor="middle" x="1115" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">exi</text>
1452+</a>
1453+</g>
1454+<!-- 76&#45;&gt;12 -->
1455+<g id="edge162" class="edge"><title>76-&gt;12</title>
1456+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/exi, TO: http://www.zorba-xquery.com/modules/schema">
1457+<path fill="none" stroke="black" d="M1126.99,-269.771C1133.32,-262.97 1141.69,-255.672 1151,-252 1172.47,-243.528 1961.83,-255.231 1982,-244 2002.19,-232.755 2015.39,-209.575 2023.13,-191.217"/>
1458+<polygon fill="black" stroke="black" points="2026.4,-192.472 2026.78,-181.884 2019.88,-189.922 2026.4,-192.472"/>
1459+</a>
1460+</g>
1461+<!-- 64 -->
1462+<g id="node72" class="node"><title>64</title>
1463+<a xlink:href="../www.zorba-xquery.com_modules_converters_html.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/html">
1464+<ellipse fill="white" stroke="white" cx="1043" cy="-286" rx="26.949" ry="18"/>
1465+<text text-anchor="middle" x="1043" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">html</text>
1466+</a>
1467+</g>
1468+<!-- 64&#45;&gt;12 -->
1469+<g id="edge140" class="edge"><title>64-&gt;12</title>
1470+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/html, TO: http://www.zorba-xquery.com/modules/schema">
1471+<path fill="none" stroke="black" d="M1054.99,-269.768C1061.32,-262.966 1069.69,-255.668 1079,-252 1102.34,-242.803 1960.08,-256.195 1982,-244 2002.2,-232.763 2015.4,-209.581 2023.13,-191.222"/>
1472+<polygon fill="black" stroke="black" points="2026.4,-192.475 2026.78,-181.888 2019.88,-189.926 2026.4,-192.475"/>
1473+</a>
1474+</g>
1475+<!-- Tidy -->
1476+<g id="node139" class="node"><title>Tidy</title>
1477+<a xlink:href="http://tidy.sourceforge.net/" xlink:title="Tidy C++ Library">
1478+<polygon fill="none" stroke="red" points="2895,-91 2845,-91 2841,-87 2841,-55 2891,-55 2895,-59 2895,-91"/>
1479+<polyline fill="none" stroke="red" points="2891,-87 2841,-87 "/>
1480+<polyline fill="none" stroke="red" points="2891,-87 2891,-55 "/>
1481+<polyline fill="none" stroke="red" points="2891,-87 2895,-91 "/>
1482+<text text-anchor="middle" x="2868" y="-69.3" font-family="Times,serif" font-size="14.00">Tidy</text>
1483+</a>
1484+</g>
1485+<!-- 64&#45;&gt;Tidy -->
1486+<g id="edge62" class="edge"><title>64-&gt;Tidy</title>
1487+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/html, TO: Tidy">
1488+<path fill="none" stroke="red" d="M1055,-269.803C1061.33,-263.009 1069.71,-255.708 1079,-252 1102.58,-242.588 1513.44,-255.65 1536,-244 1591.92,-215.126 1563.92,-158.569 1620,-130 1649.97,-114.729 2800.86,-136.945 2831,-122 2840.76,-117.162 2848.67,-108.39 2854.64,-99.656"/>
1489+<polygon fill="red" stroke="red" points="2857.66,-101.425 2859.96,-91.0816 2851.71,-97.737 2857.66,-101.425"/>
1490+</a>
1491+</g>
1492+<!-- 19 -->
1493+<g id="node73" class="node"><title>19</title>
1494+<a xlink:href="../www.zorba-xquery.com_modules_converters_json.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/json">
1495+<ellipse fill="white" stroke="white" cx="1259" cy="-286" rx="27" ry="18"/>
1496+<text text-anchor="middle" x="1259" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">json</text>
1497+</a>
1498+</g>
1499+<!-- 19&#45;&gt;12 -->
1500+<g id="edge86" class="edge"><title>19-&gt;12</title>
1501+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/json, TO: http://www.zorba-xquery.com/modules/schema">
1502+<path fill="none" stroke="black" d="M1271,-269.779C1277.32,-262.98 1285.7,-255.681 1295,-252 1330.49,-237.956 1948.67,-262.603 1982,-244 2002.18,-232.734 2015.38,-209.556 2023.12,-191.205"/>
1503+<polygon fill="black" stroke="black" points="2026.39,-192.464 2026.78,-181.876 2019.87,-189.911 2026.39,-192.464"/>
1504+</a>
1505+</g>
1506+<!-- 15 -->
1507+<g id="node74" class="node"><title>15</title>
1508 <a xlink:href="../www.zorba-xquery.com_modules_xml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xml">
1509-<ellipse fill="white" stroke="white" cx="450" cy="-212" rx="92.1303" ry="19.0919"/>
1510-<text text-anchor="middle" x="450" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="red">data_converters_xml</text>
1511-</a>
1512-</g>
1513-<!-- data_formatting_xsl_fo_8 -->
1514-<g id="node54" class="node"><title>data_formatting_xsl_fo_8</title>
1515-<a xlink:href="../www.zorba-xquery.com_modules_xsl-fo.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/xsl-fo">
1516-<ellipse fill="white" stroke="white" cx="2034" cy="-212" rx="101.823" ry="19.0919"/>
1517-<text text-anchor="middle" x="2034" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">data_formatting_xsl_fo</text>
1518-</a>
1519-</g>
1520-<!-- data_formatting_xsl_fo_8&#45;&gt;file_6 -->
1521-<g id="edge52" class="edge"><title>data_formatting_xsl_fo_8-&gt;file_6</title>
1522-<path fill="none" stroke="black" d="M2088.86,-195.965C2106.61,-191.503 2126.49,-187.262 2145,-185 2168.88,-182.082 3855.82,-188.4 3877,-177 3887.63,-171.277 3895.68,-160.879 3901.43,-150.725"/>
1523-<polygon fill="black" stroke="black" points="3904.65,-152.108 3906.08,-141.61 3898.42,-148.927 3904.65,-152.108"/>
1524+<ellipse fill="white" stroke="white" cx="971" cy="-286" rx="27" ry="18"/>
1525+<text text-anchor="middle" x="971" y="-282.3" font-family="Times,serif" font-size="14.00" fill="red">xml</text>
1526+</a>
1527+</g>
1528+<!-- 74 -->
1529+<g id="node76" class="node"><title>74</title>
1530+<a xlink:href="../www.zorba-xquery.com_modules_schema-tools.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/schema-tools">
1531+<ellipse fill="white" stroke="white" cx="862" cy="-286" rx="57.2688" ry="18"/>
1532+<text text-anchor="middle" x="862" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">schema-tools</text>
1533+</a>
1534+</g>
1535+<!-- 74&#45;&gt;12 -->
1536+<g id="edge160" class="edge"><title>74-&gt;12</title>
1537+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: http://www.zorba-xquery.com/modules/schema">
1538+<path fill="none" stroke="black" d="M887.292,-269.815C900.19,-262.933 916.411,-255.553 932,-252 960.438,-245.519 1956.5,-258.164 1982,-244 2002.21,-232.775 2015.4,-209.593 2023.14,-191.229"/>
1539+<polygon fill="black" stroke="black" points="2026.41,-192.481 2026.79,-181.893 2019.89,-189.932 2026.41,-192.481"/>
1540+</a>
1541+</g>
1542+<!-- Apache -->
1543+<g id="node134" class="node"><title>Apache</title>
1544+<a xlink:href="http://xmlbeans.apache.org/" xlink:title="Apache XMLBeans">
1545+<polygon fill="none" stroke="red" points="2822.5,-91 2769.5,-91 2765.5,-87 2765.5,-55 2818.5,-55 2822.5,-59 2822.5,-91"/>
1546+<polyline fill="none" stroke="red" points="2818.5,-87 2765.5,-87 "/>
1547+<polyline fill="none" stroke="red" points="2818.5,-87 2818.5,-55 "/>
1548+<polyline fill="none" stroke="red" points="2818.5,-87 2822.5,-91 "/>
1549+<text text-anchor="middle" x="2794" y="-69.3" font-family="Times,serif" font-size="14.00">Apache</text>
1550+</a>
1551+</g>
1552+<!-- 74&#45;&gt;Apache -->
1553+<g id="edge72" class="edge"><title>74-&gt;Apache</title>
1554+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: Apache">
1555+<path fill="none" stroke="red" d="M887.628,-269.684C900.474,-262.862 916.554,-255.572 932,-252 947.536,-248.408 1493.06,-253.312 1506,-244 1549.59,-212.642 1502.9,-162.027 1546,-130 1595.7,-93.0659 2550.15,-77.4598 2755.35,-74.5244"/>
1556+<polygon fill="red" stroke="red" points="2755.42,-78.0239 2765.37,-74.3827 2755.32,-71.0246 2755.42,-78.0239"/>
1557+</a>
1558 </g>
1559 <!-- JDK -->
1560-<g id="node99" class="node"><title>JDK</title>
1561+<g id="node136" class="node"><title>JDK</title>
1562 <a xlink:href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" xlink:title="JDK - Java Development Kit">
1563-<polygon fill="none" stroke="red" points="3879,-53 3829,-53 3825,-49 3825,-17 3875,-17 3879,-21 3879,-53"/>
1564-<polyline fill="none" stroke="red" points="3875,-49 3825,-49 "/>
1565-<polyline fill="none" stroke="red" points="3875,-49 3875,-17 "/>
1566-<polyline fill="none" stroke="red" points="3875,-49 3879,-53 "/>
1567-<text text-anchor="middle" x="3852" y="-31.9" font-family="Times Roman,serif" font-size="14.00">JDK</text>
1568-</a>
1569-</g>
1570-<!-- data_formatting_xsl_fo_8&#45;&gt;JDK -->
1571-<g id="edge22" class="edge"><title>data_formatting_xsl_fo_8-&gt;JDK</title>
1572-<path fill="none" stroke="red" d="M2072.46,-194.166C2134.08,-166.667 2259.45,-115.096 2372,-96 2391.77,-92.6451 3798.3,-97.4359 3816,-88 3826.6,-82.3505 3834.66,-72.041 3840.44,-62.0063"/>
1573-<polygon fill="red" stroke="red" points="3843.61,-63.4971 3845.11,-53.0096 3837.39,-60.2698 3843.61,-63.4971"/>
1574-</g>
1575-<!-- xslt_9 -->
1576-<g id="node56" class="node"><title>xslt_9</title>
1577+<polygon fill="none" stroke="red" points="2967,-91 2917,-91 2913,-87 2913,-55 2963,-55 2967,-59 2967,-91"/>
1578+<polyline fill="none" stroke="red" points="2963,-87 2913,-87 "/>
1579+<polyline fill="none" stroke="red" points="2963,-87 2963,-55 "/>
1580+<polyline fill="none" stroke="red" points="2963,-87 2967,-91 "/>
1581+<text text-anchor="middle" x="2940" y="-69.3" font-family="Times,serif" font-size="14.00">JDK</text>
1582+</a>
1583+</g>
1584+<!-- 74&#45;&gt;JDK -->
1585+<g id="edge70" class="edge"><title>74-&gt;JDK</title>
1586+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: JDK">
1587+<path fill="none" stroke="red" d="M887.626,-269.679C900.473,-262.855 916.552,-255.566 932,-252 964.915,-244.403 1510.13,-259.779 1540,-244 1594.73,-215.087 1565.17,-158.724 1620,-130 1651.59,-113.449 2872.15,-138.05 2904,-122 2913.53,-117.199 2921.19,-108.556 2926.96,-99.9145"/>
1588+<polygon fill="red" stroke="red" points="2930.13,-101.443 2932.29,-91.0701 2924.13,-97.8325 2930.13,-101.443"/>
1589+</a>
1590+</g>
1591+<!-- 86 -->
1592+<g id="node79" class="node"><title>86</title>
1593+<a xlink:href="../www.zorba-xquery.com_modules_xqxq.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/xqxq">
1594+<ellipse fill="white" stroke="white" cx="3007" cy="-164" rx="28.3955" ry="18"/>
1595+<text text-anchor="middle" x="3007" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">xqxq</text>
1596+</a>
1597+</g>
1598+<!-- 75 -->
1599+<g id="node80" class="node"><title>75</title>
1600 <a xlink:href="../www.zorba-xquery.com_modules_languages_xslt.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/languages/xslt">
1601-<ellipse fill="white" stroke="white" cx="3996" cy="-123" rx="27" ry="19.0919"/>
1602-<text text-anchor="middle" x="3996" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">xslt</text>
1603+<ellipse fill="white" stroke="white" cx="2933" cy="-164" rx="27" ry="18"/>
1604+<text text-anchor="middle" x="2933" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">xslt</text>
1605 </a>
1606 </g>
1607 <!-- libxslt -->
1608-<g id="node101" class="node"><title>libxslt</title>
1609+<g id="node138" class="node"><title>libxslt</title>
1610 <a xlink:href="http://xmlsoft.org/XSLT/" xlink:title="libxslt Library">
1611-<polygon fill="none" stroke="red" points="4023,-53 3973,-53 3969,-49 3969,-17 4019,-17 4023,-21 4023,-53"/>
1612-<polyline fill="none" stroke="red" points="4019,-49 3969,-49 "/>
1613-<polyline fill="none" stroke="red" points="4019,-49 4019,-17 "/>
1614-<polyline fill="none" stroke="red" points="4019,-49 4023,-53 "/>
1615-<text text-anchor="middle" x="3996" y="-31.9" font-family="Times Roman,serif" font-size="14.00">libxslt</text>
1616-</a>
1617-</g>
1618-<!-- xslt_9&#45;&gt;libxslt -->
1619-<g id="edge36" class="edge"><title>xslt_9-&gt;libxslt</title>
1620-<path fill="none" stroke="red" d="M3996,-103.905C3996,-92.019 3996,-76.517 3996,-63.2275"/>
1621-<polygon fill="red" stroke="red" points="3999.5,-63.1552 3996,-53.1553 3992.5,-63.1553 3999.5,-63.1552"/>
1622-</g>
1623-<!-- datetime_10 -->
1624-<g id="node58" class="node"><title>datetime_10</title>
1625+<polygon fill="none" stroke="red" points="3039,-91 2989,-91 2985,-87 2985,-55 3035,-55 3039,-59 3039,-91"/>
1626+<polyline fill="none" stroke="red" points="3035,-87 2985,-87 "/>
1627+<polyline fill="none" stroke="red" points="3035,-87 3035,-55 "/>
1628+<polyline fill="none" stroke="red" points="3035,-87 3039,-91 "/>
1629+<text text-anchor="middle" x="3012" y="-69.3" font-family="Times,serif" font-size="14.00">libxslt</text>
1630+</a>
1631+</g>
1632+<!-- 75&#45;&gt;libxslt -->
1633+<g id="edge74" class="edge"><title>75-&gt;libxslt</title>
1634+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/languages/xslt, TO: libxslt">
1635+<path fill="none" stroke="red" d="M2946.8,-148.516C2952.59,-142.621 2959.48,-135.836 2966,-130 2970.24,-126.204 2972.04,-126.087 2976,-122 2982.57,-115.226 2988.99,-107.238 2994.55,-99.7421"/>
1636+<polygon fill="red" stroke="red" points="2997.65,-101.434 3000.64,-91.2714 2991.97,-97.3471 2997.65,-101.434"/>
1637+</a>
1638+</g>
1639+<!-- 53 -->
1640+<g id="node82" class="node"><title>53</title>
1641 <a xlink:href="../www.zorba-xquery.com_modules_excel_datetime.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/datetime">
1642-<ellipse fill="white" stroke="white" cx="8294" cy="-301" rx="44.7575" ry="19.0919"/>
1643-<text text-anchor="middle" x="8294" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="green">datetime</text>
1644-</a>
1645-</g>
1646-<!-- errors_10 -->
1647-<g id="node60" class="node"><title>errors_10</title>
1648-<a xlink:href="../www.zorba-xquery.com_modules_excel_errors.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/errors">
1649-<ellipse fill="white" stroke="white" cx="8150" cy="-35" rx="33.9411" ry="19.0919"/>
1650-<text text-anchor="middle" x="8150" y="-31.9" font-family="Times Roman,serif" font-size="14.00" fill="green">errors</text>
1651-</a>
1652-</g>
1653-<!-- datetime_10&#45;&gt;errors_10 -->
1654-<g id="edge136" class="edge"><title>datetime_10-&gt;errors_10</title>
1655-<path fill="none" stroke="black" d="M8315.44,-284.127C8320.53,-278.916 8325.26,-272.751 8328,-266 8341.54,-232.641 8337.84,-219.63 8328,-185 8315.29,-140.27 8307.37,-127.314 8273,-96 8248.78,-73.9384 8215.11,-57.983 8189.12,-47.9362"/>
1656-<polygon fill="black" stroke="black" points="8190.17,-44.59 8179.58,-44.3746 8187.72,-51.1487 8190.17,-44.59"/>
1657-</g>
1658-<!-- text_10 -->
1659-<g id="node68" class="node"><title>text_10</title>
1660+<ellipse fill="white" stroke="white" cx="5645" cy="-439" rx="41.394" ry="18"/>
1661+<text text-anchor="middle" x="5645" y="-435.3" font-family="Times,serif" font-size="14.00" fill="green">datetime</text>
1662+</a>
1663+</g>
1664+<!-- 62 -->
1665+<g id="node91" class="node"><title>62</title>
1666 <a xlink:href="../www.zorba-xquery.com_modules_excel_text.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/text">
1667-<ellipse fill="white" stroke="white" cx="8292" cy="-212" rx="27" ry="19.0919"/>
1668-<text text-anchor="middle" x="8292" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">text</text>
1669-</a>
1670-</g>
1671-<!-- datetime_10&#45;&gt;text_10 -->
1672-<g id="edge138" class="edge"><title>datetime_10-&gt;text_10</title>
1673-<path fill="none" stroke="black" d="M8293.57,-281.688C8293.3,-269.909 8292.96,-254.619 8292.66,-241.363"/>
1674-<polygon fill="black" stroke="black" points="8296.16,-241.193 8292.43,-231.274 8289.16,-241.35 8296.16,-241.193"/>
1675-</g>
1676-<!-- engineering_10 -->
1677-<g id="node59" class="node"><title>engineering_10</title>
1678+<ellipse fill="white" stroke="white" cx="5660" cy="-286" rx="27" ry="18"/>
1679+<text text-anchor="middle" x="5660" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">text</text>
1680+</a>
1681+</g>
1682+<!-- 53&#45;&gt;62 -->
1683+<g id="edge116" class="edge"><title>53-&gt;62</title>
1684+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/datetime, TO: http://www.zorba-xquery.com/modules/excel/text">
1685+<path fill="none" stroke="black" d="M5646.69,-420.972C5649.27,-395.03 5654.2,-345.357 5657.29,-314.326"/>
1686+<polygon fill="black" stroke="black" points="5660.79,-314.495 5658.29,-304.198 5653.82,-313.803 5660.79,-314.495"/>
1687+</a>
1688+</g>
1689+<!-- 54 -->
1690+<g id="node83" class="node"><title>54</title>
1691 <a xlink:href="../www.zorba-xquery.com_modules_excel_engineering.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/engineering">
1692-<ellipse fill="white" stroke="white" cx="8175" cy="-301" rx="56.0679" ry="19.0919"/>
1693-<text text-anchor="middle" x="8175" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="green">engineering</text>
1694+<ellipse fill="white" stroke="white" cx="5533" cy="-439" rx="51.4931" ry="18"/>
1695+<text text-anchor="middle" x="5533" y="-435.3" font-family="Times,serif" font-size="14.00" fill="green">engineering</text>
1696 </a>
1697 </g>
1698-<!-- engineering_10&#45;&gt;errors_10 -->
1699-<g id="edge150" class="edge"><title>engineering_10-&gt;errors_10</title>
1700-<path fill="none" stroke="black" d="M8213.33,-287.035C8222.33,-281.856 8230.8,-274.981 8236,-266 8254.04,-234.847 8242,-220.496 8236,-185 8229.01,-143.7 8226.34,-132.045 8205,-96 8196.99,-82.4723 8185.68,-69.2834 8175.4,-58.6501"/>
1701-<polygon fill="black" stroke="black" points="8177.7,-55.9966 8168.15,-51.3909 8172.74,-60.9414 8177.7,-55.9966"/>
1702-</g>
1703-<!-- math_10 -->
1704-<g id="node64" class="node"><title>math_10</title>
1705+<!-- 59 -->
1706+<g id="node87" class="node"><title>59</title>
1707 <a xlink:href="../www.zorba-xquery.com_modules_excel_math.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/math">
1708-<ellipse fill="white" stroke="white" cx="7933" cy="-123" rx="31.1127" ry="19.0919"/>
1709-<text text-anchor="middle" x="7933" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">math</text>
1710-</a>
1711-</g>
1712-<!-- engineering_10&#45;&gt;math_10 -->
1713-<g id="edge154" class="edge"><title>engineering_10-&gt;math_10</title>
1714-<path fill="none" stroke="black" d="M8143.18,-285.258C8132.57,-280.753 8120.51,-276.413 8109,-274 8091.54,-270.34 7800.46,-278.77 7788,-266 7762.86,-240.229 7768.17,-215.046 7788,-185 7810.96,-150.21 7857.9,-134.872 7892.17,-128.154"/>
1715-<polygon fill="black" stroke="black" points="7893.13,-131.538 7902.36,-126.333 7891.9,-124.647 7893.13,-131.538"/>
1716-</g>
1717-<!-- engineering_10&#45;&gt;text_10 -->
1718-<g id="edge152" class="edge"><title>engineering_10-&gt;text_10</title>
1719-<path fill="none" stroke="black" d="M8214.21,-287.305C8226.72,-281.835 8240.13,-274.731 8251,-266 8260.63,-258.27 8269.25,-247.809 8276.07,-238.153"/>
1720-<polygon fill="black" stroke="black" points="8279.14,-239.865 8281.81,-229.612 8273.33,-235.961 8279.14,-239.865"/>
1721-</g>
1722-<!-- information_10 -->
1723-<g id="node61" class="node"><title>information_10</title>
1724+<ellipse fill="white" stroke="white" cx="5436" cy="-164" rx="28.3955" ry="18"/>
1725+<text text-anchor="middle" x="5436" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">math</text>
1726+</a>
1727+</g>
1728+<!-- 54&#45;&gt;59 -->
1729+<g id="edge120" class="edge"><title>54-&gt;59</title>
1730+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/engineering, TO: http://www.zorba-xquery.com/modules/excel/math">
1731+<path fill="none" stroke="black" d="M5560.41,-423.64C5578.95,-413.649 5600.5,-401.368 5603,-397 5619.02,-369.045 5619.71,-279.55 5603,-252 5574.77,-205.46 5512.61,-182.656 5472.61,-172.4"/>
1732+<polygon fill="black" stroke="black" points="5473.24,-168.953 5462.7,-170 5471.59,-175.756 5473.24,-168.953"/>
1733+</a>
1734+</g>
1735+<!-- 54&#45;&gt;62 -->
1736+<g id="edge118" class="edge"><title>54-&gt;62</title>
1737+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/engineering, TO: http://www.zorba-xquery.com/modules/excel/text">
1738+<path fill="none" stroke="black" d="M5558,-423.109C5568.84,-417.015 5581.82,-410.192 5594,-405 5604.73,-400.427 5610.56,-405.053 5619,-397 5641.99,-375.064 5652.19,-339.042 5656.64,-314.23"/>
1739+<polygon fill="black" stroke="black" points="5660.15,-314.46 5658.27,-304.034 5653.24,-313.359 5660.15,-314.46"/>
1740+</a>
1741+</g>
1742+<!-- 55 -->
1743+<g id="node84" class="node"><title>55</title>
1744 <a xlink:href="../www.zorba-xquery.com_modules_excel_information.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/information">
1745-<ellipse fill="white" stroke="white" cx="8170" cy="-212" rx="56.7776" ry="19.0919"/>
1746-<text text-anchor="middle" x="8170" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">information</text>
1747-</a>
1748-</g>
1749-<!-- information_10&#45;&gt;errors_10 -->
1750-<g id="edge60" class="edge"><title>information_10-&gt;errors_10</title>
1751-<path fill="none" stroke="black" d="M8187,-193.64C8190.68,-188.602 8194.05,-182.893 8196,-177 8207.31,-142.821 8207.43,-130.138 8196,-96 8191.51,-82.6017 8182.8,-69.7918 8174.15,-59.4005"/>
1752-<polygon fill="black" stroke="black" points="8176.54,-56.8188 8167.31,-51.6203 8171.28,-61.4412 8176.54,-56.8188"/>
1753-</g>
1754-<!-- information_10&#45;&gt;math_10 -->
1755-<g id="edge62" class="edge"><title>information_10-&gt;math_10</title>
1756-<path fill="none" stroke="black" d="M8131.92,-197.701C8087.03,-180.844 8012.99,-153.04 7969.02,-136.527"/>
1757-<polygon fill="black" stroke="black" points="7970.18,-133.222 7959.58,-132.983 7967.72,-139.775 7970.18,-133.222"/>
1758-</g>
1759-<!-- logical_10 -->
1760-<g id="node62" class="node"><title>logical_10</title>
1761+<ellipse fill="white" stroke="white" cx="5542" cy="-286" rx="52.4675" ry="18"/>
1762+<text text-anchor="middle" x="5542" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">information</text>
1763+</a>
1764+</g>
1765+<!-- 55&#45;&gt;59 -->
1766+<g id="edge122" class="edge"><title>55-&gt;59</title>
1767+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/information, TO: http://www.zorba-xquery.com/modules/excel/math">
1768+<path fill="none" stroke="black" d="M5527.26,-268.315C5508.74,-247.345 5476.87,-211.263 5456.11,-187.77"/>
1769+<polygon fill="black" stroke="black" points="5458.52,-185.209 5449.28,-180.031 5453.27,-189.843 5458.52,-185.209"/>
1770+</a>
1771+</g>
1772+<!-- 56 -->
1773+<g id="node85" class="node"><title>56</title>
1774 <a xlink:href="../www.zorba-xquery.com_modules_excel_logical.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/logical">
1775-<ellipse fill="white" stroke="white" cx="8150" cy="-123" rx="36.977" ry="19.0919"/>
1776-<text text-anchor="middle" x="8150" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">logical</text>
1777+<ellipse fill="white" stroke="white" cx="5362" cy="-439" rx="34.1708" ry="18"/>
1778+<text text-anchor="middle" x="5362" y="-435.3" font-family="Times,serif" font-size="14.00" fill="green">logical</text>
1779 </a>
1780 </g>
1781-<!-- logical_10&#45;&gt;errors_10 -->
1782-<g id="edge148" class="edge"><title>logical_10-&gt;errors_10</title>
1783-<path fill="none" stroke="black" d="M8150,-103.905C8150,-92.3736 8150,-77.4389 8150,-64.4228"/>
1784-<polygon fill="black" stroke="black" points="8153.5,-64.0574 8150,-54.0574 8146.5,-64.0575 8153.5,-64.0574"/>
1785-</g>
1786-<!-- lookup_10 -->
1787-<g id="node63" class="node"><title>lookup_10</title>
1788+<!-- 57 -->
1789+<g id="node86" class="node"><title>57</title>
1790 <a xlink:href="../www.zorba-xquery.com_modules_excel_lookup.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/lookup">
1791-<ellipse fill="white" stroke="white" cx="7701" cy="-212" rx="38.1838" ry="19.0919"/>
1792-<text text-anchor="middle" x="7701" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">lookup</text>
1793-</a>
1794-</g>
1795-<!-- lookup_10&#45;&gt;errors_10 -->
1796-<g id="edge156" class="edge"><title>lookup_10-&gt;errors_10</title>
1797-<path fill="none" stroke="black" d="M7722.28,-196.072C7756.5,-171.185 7826.68,-123.128 7893,-96 7965.22,-66.4597 8054.98,-49.2395 8107.05,-41.0123"/>
1798-<polygon fill="black" stroke="black" points="8107.6,-44.4695 8116.94,-39.4858 8106.53,-37.5513 8107.6,-44.4695"/>
1799-</g>
1800-<!-- lookup_10&#45;&gt;math_10 -->
1801-<g id="edge158" class="edge"><title>lookup_10-&gt;math_10</title>
1802-<path fill="none" stroke="black" d="M7726.56,-197.777C7734.87,-193.412 7744.21,-188.77 7753,-185 7800.89,-164.451 7858.07,-145.695 7894.93,-134.318"/>
1803-<polygon fill="black" stroke="black" points="7896.23,-137.583 7904.77,-131.31 7894.18,-130.889 7896.23,-137.583"/>
1804-</g>
1805-<!-- math_10&#45;&gt;errors_10 -->
1806-<g id="edge108" class="edge"><title>math_10-&gt;errors_10</title>
1807-<path fill="none" stroke="black" d="M7959.18,-112.385C7997.53,-96.8304 8069.19,-67.7719 8112.94,-50.0283"/>
1808-<polygon fill="black" stroke="black" points="8114.41,-53.2089 8122.36,-46.2074 8111.78,-46.722 8114.41,-53.2089"/>
1809-</g>
1810-<!-- math_sumproduct_10 -->
1811-<g id="node65" class="node"><title>math_sumproduct_10</title>
1812+<ellipse fill="white" stroke="white" cx="5436" cy="-286" rx="35.1455" ry="18"/>
1813+<text text-anchor="middle" x="5436" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">lookup</text>
1814+</a>
1815+</g>
1816+<!-- 57&#45;&gt;59 -->
1817+<g id="edge124" class="edge"><title>57-&gt;59</title>
1818+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/lookup, TO: http://www.zorba-xquery.com/modules/excel/math">
1819+<path fill="none" stroke="black" d="M5436,-267.807C5436,-248.114 5436,-215.583 5436,-192.39"/>
1820+<polygon fill="black" stroke="black" points="5439.5,-192.161 5436,-182.161 5432.5,-192.161 5439.5,-192.161"/>
1821+</a>
1822+</g>
1823+<!-- 58 -->
1824+<g id="node88" class="node"><title>58</title>
1825 <a xlink:href="../www.zorba-xquery.com_modules_excel_math-sumproduct.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/math-sumproduct">
1826-<ellipse fill="white" stroke="white" cx="7879" cy="-212" rx="82.0244" ry="19.0919"/>
1827-<text text-anchor="middle" x="7879" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">math_sumproduct</text>
1828-</a>
1829-</g>
1830-<!-- math_sumproduct_10&#45;&gt;math_10 -->
1831-<g id="edge112" class="edge"><title>math_sumproduct_10-&gt;math_10</title>
1832-<path fill="none" stroke="black" d="M7890.45,-193.125C7898.12,-180.485 7908.33,-163.659 7916.83,-149.658"/>
1833-<polygon fill="black" stroke="black" points="7919.92,-151.302 7922.12,-140.937 7913.94,-147.671 7919.92,-151.302"/>
1834-</g>
1835-<!-- statistical_10 -->
1836-<g id="node66" class="node"><title>statistical_10</title>
1837+<ellipse fill="white" stroke="white" cx="5309" cy="-286" rx="73.1654" ry="18"/>
1838+<text text-anchor="middle" x="5309" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">math-sumproduct</text>
1839+</a>
1840+</g>
1841+<!-- 58&#45;&gt;59 -->
1842+<g id="edge126" class="edge"><title>58-&gt;59</title>
1843+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/math-sumproduct, TO: http://www.zorba-xquery.com/modules/excel/math">
1844+<path fill="none" stroke="black" d="M5326.66,-268.315C5349.29,-246.93 5388.56,-209.826 5413.36,-186.388"/>
1845+<polygon fill="black" stroke="black" points="5416.01,-188.708 5420.87,-179.296 5411.2,-183.62 5416.01,-188.708"/>
1846+</a>
1847+</g>
1848+<!-- 61 -->
1849+<g id="node89" class="node"><title>61</title>
1850 <a xlink:href="../www.zorba-xquery.com_modules_excel_statistical.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/statistical">
1851-<ellipse fill="white" stroke="white" cx="8027" cy="-212" rx="48.0833" ry="19.0919"/>
1852-<text text-anchor="middle" x="8027" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">statistical</text>
1853-</a>
1854-</g>
1855-<!-- statistical_10&#45;&gt;errors_10 -->
1856-<g id="edge92" class="edge"><title>statistical_10-&gt;errors_10</title>
1857-<path fill="none" stroke="black" d="M8035.09,-192.918C8045.66,-169.067 8065.6,-127.547 8089,-96 8099.08,-82.414 8112.13,-68.9432 8123.58,-58.1301"/>
1858-<polygon fill="black" stroke="black" points="8126.22,-60.456 8131.19,-51.1 8121.47,-55.3137 8126.22,-60.456"/>
1859-</g>
1860-<!-- statistical_10&#45;&gt;math_10 -->
1861-<g id="edge90" class="edge"><title>statistical_10-&gt;math_10</title>
1862-<path fill="none" stroke="black" d="M8008.43,-194.416C7993.81,-180.572 7973.3,-161.161 7957.37,-146.069"/>
1863-<polygon fill="black" stroke="black" points="7959.62,-143.385 7949.95,-139.051 7954.81,-148.468 7959.62,-143.385"/>
1864-</g>
1865-<!-- statistical_zorba_10 -->
1866-<g id="node67" class="node"><title>statistical_zorba_10</title>
1867+<ellipse fill="white" stroke="white" cx="5173" cy="-286" rx="44.2946" ry="18"/>
1868+<text text-anchor="middle" x="5173" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">statistical</text>
1869+</a>
1870+</g>
1871+<!-- 61&#45;&gt;59 -->
1872+<g id="edge132" class="edge"><title>61-&gt;59</title>
1873+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical, TO: http://www.zorba-xquery.com/modules/excel/math">
1874+<path fill="none" stroke="black" d="M5195.15,-270.399C5204.75,-264.354 5216.23,-257.49 5227,-252 5287.13,-221.342 5360.64,-192.665 5402.52,-177.108"/>
1875+<polygon fill="black" stroke="black" points="5403.79,-180.371 5411.96,-173.626 5401.36,-173.804 5403.79,-180.371"/>
1876+</a>
1877+</g>
1878+<!-- 60 -->
1879+<g id="node90" class="node"><title>60</title>
1880 <a xlink:href="../www.zorba-xquery.com_modules_excel_statistical-zorba.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/statistical-zorba">
1881-<ellipse fill="white" stroke="white" cx="8027" cy="-301" rx="73.0388" ry="19.0919"/>
1882-<text text-anchor="middle" x="8027" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="green">statistical_zorba</text>
1883-</a>
1884-</g>
1885-<!-- statistical_zorba_10&#45;&gt;errors_10 -->
1886-<g id="edge58" class="edge"><title>statistical_zorba_10-&gt;errors_10</title>
1887-<path fill="none" stroke="black" d="M8064.57,-284.646C8072.11,-279.703 8079.19,-273.535 8084,-266 8124.96,-201.894 8075.67,-166.604 8104,-96 8109.26,-82.8872 8118.11,-70.1252 8126.65,-59.6925"/>
1888-<polygon fill="black" stroke="black" points="8129.51,-61.7345 8133.35,-51.8628 8124.19,-57.1807 8129.51,-61.7345"/>
1889-</g>
1890-<!-- statistical_zorba_10&#45;&gt;math_10 -->
1891-<g id="edge54" class="edge"><title>statistical_zorba_10-&gt;math_10</title>
1892-<path fill="none" stroke="black" d="M7956.49,-295.992C7885.55,-290.22 7784.97,-279.737 7773,-266 7749.35,-238.862 7752.66,-214.701 7773,-185 7787.14,-164.351 7851.65,-144.098 7894.31,-132.617"/>
1893-<polygon fill="black" stroke="black" points="7895.34,-135.966 7904.12,-130.029 7893.55,-129.198 7895.34,-135.966"/>
1894-</g>
1895-<!-- statistical_zorba_10&#45;&gt;statistical_10 -->
1896-<g id="edge56" class="edge"><title>statistical_zorba_10-&gt;statistical_10</title>
1897-<path fill="none" stroke="black" d="M8027,-281.688C8027,-269.909 8027,-254.619 8027,-241.363"/>
1898-<polygon fill="black" stroke="black" points="8030.5,-241.274 8027,-231.274 8023.5,-241.274 8030.5,-241.274"/>
1899-</g>
1900-<!-- text_10&#45;&gt;errors_10 -->
1901-<g id="edge76" class="edge"><title>text_10-&gt;errors_10</title>
1902-<path fill="none" stroke="black" d="M8289.3,-192.789C8284.98,-168.049 8274.47,-124.815 8251,-96 8234.32,-75.525 8208.83,-60.202 8187.62,-50.0346"/>
1903-<polygon fill="black" stroke="black" points="8189.08,-46.8539 8178.54,-45.8596 8186.16,-53.2148 8189.08,-46.8539"/>
1904-</g>
1905-<!-- text_10&#45;&gt;math_10 -->
1906-<g id="edge78" class="edge"><title>text_10-&gt;math_10</title>
1907-<path fill="none" stroke="black" d="M8271.21,-199.58C8260.97,-194.097 8248.22,-188.184 8236,-185 8179.12,-170.18 8161.79,-187.708 8104,-177 8056.08,-168.121 8002.82,-149.908 7968.67,-137.097"/>
1908-<polygon fill="black" stroke="black" points="7969.74,-133.756 7959.14,-133.475 7967.25,-140.3 7969.74,-133.756"/>
1909-</g>
1910-<!-- hash_11 -->
1911-<g id="node70" class="node"><title>hash_11</title>
1912+<ellipse fill="white" stroke="white" cx="5175" cy="-439" rx="65.9423" ry="18"/>
1913+<text text-anchor="middle" x="5175" y="-435.3" font-family="Times,serif" font-size="14.00" fill="green">statistical-zorba</text>
1914+</a>
1915+</g>
1916+<!-- 60&#45;&gt;59 -->
1917+<g id="edge128" class="edge"><title>60-&gt;59</title>
1918+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical-zorba, TO: http://www.zorba-xquery.com/modules/excel/math">
1919+<path fill="none" stroke="black" d="M5144.86,-422.934C5135.09,-416.401 5125.4,-407.751 5120,-397 5091.1,-339.401 5080.94,-303.261 5120,-252 5153.88,-207.528 5321.94,-180.068 5398.22,-169.707"/>
1920+<polygon fill="black" stroke="black" points="5398.9,-173.147 5408.35,-168.358 5397.98,-166.208 5398.9,-173.147"/>
1921+</a>
1922+</g>
1923+<!-- 60&#45;&gt;61 -->
1924+<g id="edge130" class="edge"><title>60-&gt;61</title>
1925+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical-zorba, TO: http://www.zorba-xquery.com/modules/excel/statistical">
1926+<path fill="none" stroke="black" d="M5174.77,-420.972C5174.43,-395.03 5173.77,-345.357 5173.36,-314.326"/>
1927+<polygon fill="black" stroke="black" points="5176.86,-314.15 5173.23,-304.198 5169.86,-314.243 5176.86,-314.15"/>
1928+</a>
1929+</g>
1930+<!-- 62&#45;&gt;59 -->
1931+<g id="edge134" class="edge"><title>62-&gt;59</title>
1932+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/text, TO: http://www.zorba-xquery.com/modules/excel/math">
1933+<path fill="none" stroke="black" d="M5644.29,-270.917C5636.92,-264.69 5627.82,-257.54 5619,-252 5569.36,-220.83 5506.82,-193.381 5469.2,-178.013"/>
1934+<polygon fill="black" stroke="black" points="5470.32,-174.691 5459.74,-174.188 5467.7,-181.181 5470.32,-174.691"/>
1935+</a>
1936+</g>
1937+<!-- 67 -->
1938+<g id="node93" class="node"><title>67</title>
1939 <a xlink:href="../www.zorba-xquery.com_modules_cryptography_hash.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/cryptography/hash">
1940-<ellipse fill="white" stroke="white" cx="5544" cy="-212" rx="28.9914" ry="19.0919"/>
1941-<text text-anchor="middle" x="5544" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">hash</text>
1942+<ellipse fill="white" stroke="white" cx="2677" cy="-286" rx="27" ry="18"/>
1943+<text text-anchor="middle" x="2677" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">hash</text>
1944 </a>
1945 </g>
1946-<!-- hmac_11 -->
1947-<g id="node71" class="node"><title>hmac_11</title>
1948+<!-- 66 -->
1949+<g id="node94" class="node"><title>66</title>
1950 <a xlink:href="../www.zorba-xquery.com_modules_cryptography_hmac.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/cryptography/hmac">
1951-<ellipse fill="white" stroke="white" cx="5464" cy="-212" rx="33.234" ry="19.0919"/>
1952-<text text-anchor="middle" x="5464" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">hmac</text>
1953+<ellipse fill="white" stroke="white" cx="2601" cy="-286" rx="30.3206" ry="18"/>
1954+<text text-anchor="middle" x="2601" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">hmac</text>
1955 </a>
1956 </g>
1957-<!-- geo_12 -->
1958-<g id="node73" class="node"><title>geo_12</title>
1959+<!-- 43 -->
1960+<g id="node96" class="node"><title>43</title>
1961 <a xlink:href="../expath.org_ns_geo.html" xlink:title="(External module) module uri=http://expath.org/ns/geo">
1962-<ellipse fill="white" stroke="white" cx="3863" cy="-212" rx="27" ry="19.0919"/>
1963-<text text-anchor="middle" x="3863" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">geo</text>
1964+<ellipse fill="white" stroke="white" cx="2433" cy="-286" rx="27" ry="18"/>
1965+<text text-anchor="middle" x="2433" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">geo</text>
1966 </a>
1967 </g>
1968 <!-- GEOS -->
1969-<g id="node98" class="node"><title>GEOS</title>
1970+<g id="node135" class="node"><title>GEOS</title>
1971 <a xlink:href="http://trac.osgeo.org/geos/" xlink:title="GEOS (Geometry Engine - Open Source)">
1972-<polygon fill="none" stroke="red" points="4095,-53 4045,-53 4041,-49 4041,-17 4091,-17 4095,-21 4095,-53"/>
1973-<polyline fill="none" stroke="red" points="4091,-49 4041,-49 "/>
1974-<polyline fill="none" stroke="red" points="4091,-49 4091,-17 "/>
1975-<polyline fill="none" stroke="red" points="4091,-49 4095,-53 "/>
1976-<text text-anchor="middle" x="4068" y="-31.9" font-family="Times Roman,serif" font-size="14.00">GEOS</text>
1977-</a>
1978-</g>
1979-<!-- geo_12&#45;&gt;GEOS -->
1980-<g id="edge34" class="edge"><title>geo_12-&gt;GEOS</title>
1981-<path fill="none" stroke="red" d="M3888.9,-206.566C3918.7,-200.492 3969.19,-190.755 4013,-185 4023.61,-183.606 4101.75,-184.877 4109,-177 4133.38,-150.508 4119.5,-130.436 4109,-96 4108.68,-94.9573 4097.02,-77.6377 4086.21,-61.7202"/>
1982-<polygon fill="red" stroke="red" points="4088.89,-59.4359 4080.37,-53.1336 4083.1,-63.3713 4088.89,-59.4359"/>
1983-</g>
1984-<!-- geoproj_12 -->
1985-<g id="node74" class="node"><title>geoproj_12</title>
1986+<polygon fill="none" stroke="red" points="3111,-91 3061,-91 3057,-87 3057,-55 3107,-55 3111,-59 3111,-91"/>
1987+<polyline fill="none" stroke="red" points="3107,-87 3057,-87 "/>
1988+<polyline fill="none" stroke="red" points="3107,-87 3107,-55 "/>
1989+<polyline fill="none" stroke="red" points="3107,-87 3111,-91 "/>
1990+<text text-anchor="middle" x="3084" y="-69.3" font-family="Times,serif" font-size="14.00">GEOS</text>
1991+</a>
1992+</g>
1993+<!-- 43&#45;&gt;GEOS -->
1994+<g id="edge48" class="edge"><title>43-&gt;GEOS</title>
1995+<a xlink:title="FROM: http://expath.org/ns/geo, TO: GEOS">
1996+<path fill="none" stroke="red" d="M2445.89,-270.113C2452.84,-263.214 2462.03,-255.73 2472,-252 2486.99,-246.392 3035.64,-254.161 3048,-244 3069.65,-226.207 3078.83,-144.728 3082.25,-101.354"/>
1997+<polygon fill="red" stroke="red" points="3085.75,-101.44 3082.99,-91.2096 3078.77,-100.926 3085.75,-101.44"/>
1998+</a>
1999+</g>
2000+<!-- 44 -->
2001+<g id="node97" class="node"><title>44</title>
2002 <a xlink:href="../www.zorba-xquery.com_modules_geoproj.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/geoproj">
2003-<ellipse fill="white" stroke="white" cx="3777" cy="-212" rx="41.0122" ry="19.0919"/>
2004-<text text-anchor="middle" x="3777" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">geoproj</text>
2005-</a>
2006-</g>
2007-<!-- geoproj_12&#45;&gt;item_schema_2 -->
2008-<g id="edge88" class="edge"><title>geoproj_12-&gt;item_schema_2</title>
2009-<path fill="none" stroke="black" d="M3735.99,-211.399C3541.39,-208.46 2718.31,-195.006 2667,-177 2649.78,-170.958 2633.29,-159.194 2620.45,-148.184"/>
2010-<polygon fill="black" stroke="black" points="2622.74,-145.536 2612.95,-141.484 2618.08,-150.756 2622.74,-145.536"/>
2011-</g>
2012-<!-- animation_13 -->
2013-<g id="node76" class="node"><title>animation_13</title>
2014+<ellipse fill="white" stroke="white" cx="2350" cy="-286" rx="37.5442" ry="18"/>
2015+<text text-anchor="middle" x="2350" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">geoproj</text>
2016+</a>
2017+</g>
2018+<!-- 44&#45;&gt;12 -->
2019+<g id="edge110" class="edge"><title>44-&gt;12</title>
2020+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/geoproj, TO: http://www.zorba-xquery.com/modules/schema">
2021+<path fill="none" stroke="black" d="M2312.95,-283.094C2248.58,-279.176 2119.37,-268.442 2082,-244 2062.97,-231.557 2049.8,-209.082 2041.77,-191.277"/>
2022+<polygon fill="black" stroke="black" points="2044.95,-189.808 2037.83,-181.959 2038.5,-192.533 2044.95,-189.808"/>
2023+</a>
2024+</g>
2025+<!-- 49 -->
2026+<g id="node99" class="node"><title>49</title>
2027 <a xlink:href="../www.zorba-xquery.com_modules_image_animation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/animation">
2028-<ellipse fill="white" stroke="white" cx="4817" cy="-123" rx="50.2046" ry="19.0919"/>
2029-<text text-anchor="middle" x="4817" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">animation</text>
2030-</a>
2031-</g>
2032-<!-- error_13 -->
2033-<g id="node78" class="node"><title>error_13</title>
2034-<a xlink:href="../www.zorba-xquery.com_modules_image_error.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/error">
2035-<ellipse fill="white" stroke="white" cx="4662" cy="-35" rx="29.9071" ry="19.0919"/>
2036-<text text-anchor="middle" x="4662" y="-31.9" font-family="Times Roman,serif" font-size="14.00" fill="green">error</text>
2037-</a>
2038-</g>
2039-<!-- animation_13&#45;&gt;error_13 -->
2040-<g id="edge48" class="edge"><title>animation_13-&gt;error_13</title>
2041-<path fill="none" stroke="black" d="M4788.93,-107.064C4762.12,-91.8451 4721.78,-68.9387 4693.8,-53.0529"/>
2042-<polygon fill="black" stroke="black" points="4695.24,-49.8495 4684.82,-47.9559 4691.79,-55.9368 4695.24,-49.8495"/>
2043+<ellipse fill="white" stroke="white" cx="3428" cy="-164" rx="46.2191" ry="18"/>
2044+<text text-anchor="middle" x="3428" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">animation</text>
2045+</a>
2046 </g>
2047 <!-- Magick -->
2048-<g id="node94" class="node"><title>Magick</title>
2049+<g id="node132" class="node"><title>Magick</title>
2050 <a xlink:href="http://www.imagemagick.org/Magick++/" xlink:title="Magick++ C++ Library">
2051-<polygon fill="none" stroke="red" points="4331,-53 4277,-53 4273,-49 4273,-17 4327,-17 4331,-21 4331,-53"/>
2052-<polyline fill="none" stroke="red" points="4327,-49 4273,-49 "/>
2053-<polyline fill="none" stroke="red" points="4327,-49 4327,-17 "/>
2054-<polyline fill="none" stroke="red" points="4327,-49 4331,-53 "/>
2055-<text text-anchor="middle" x="4302" y="-31.9" font-family="Times Roman,serif" font-size="14.00">Magick</text>
2056-</a>
2057-</g>
2058-<!-- animation_13&#45;&gt;Magick -->
2059-<g id="edge20" class="edge"><title>animation_13-&gt;Magick</title>
2060-<path fill="none" stroke="red" d="M4788.72,-107.218C4779.25,-102.711 4768.43,-98.3795 4758,-96 4735.52,-90.8726 4363.6,-98.3575 4343,-88 4331.67,-82.3017 4322.55,-71.8403 4315.81,-61.708"/>
2061-<polygon fill="red" stroke="red" points="4318.71,-59.7331 4310.52,-53.0166 4312.73,-63.3769 4318.71,-59.7331"/>
2062-</g>
2063-<!-- basic_13 -->
2064-<g id="node77" class="node"><title>basic_13</title>
2065+<polygon fill="none" stroke="red" points="3260.25,-91 3205.75,-91 3201.75,-87 3201.75,-55 3256.25,-55 3260.25,-59 3260.25,-91"/>
2066+<polyline fill="none" stroke="red" points="3256.25,-87 3201.75,-87 "/>
2067+<polyline fill="none" stroke="red" points="3256.25,-87 3256.25,-55 "/>
2068+<polyline fill="none" stroke="red" points="3256.25,-87 3260.25,-91 "/>
2069+<text text-anchor="middle" x="3231" y="-69.3" font-family="Times,serif" font-size="14.00">Magick</text>
2070+</a>
2071+</g>
2072+<!-- 49&#45;&gt;Magick -->
2073+<g id="edge56" class="edge"><title>49-&gt;Magick</title>
2074+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/animation, TO: Magick">
2075+<path fill="none" stroke="red" d="M3407.28,-147.713C3397.15,-141.075 3384.49,-133.931 3372,-130 3350.1,-123.106 3289.26,-132.791 3269,-122 3259.43,-116.904 3251.45,-108.249 3245.32,-99.6798"/>
2076+<polygon fill="red" stroke="red" points="3248.22,-97.7185 3239.81,-91.2742 3242.37,-101.556 3248.22,-97.7185"/>
2077+</a>
2078+</g>
2079+<!-- 46 -->
2080+<g id="node100" class="node"><title>46</title>
2081 <a xlink:href="../www.zorba-xquery.com_modules_image_basic.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/basic">
2082-<ellipse fill="white" stroke="white" cx="4718" cy="-123" rx="31.1127" ry="19.0919"/>
2083-<text text-anchor="middle" x="4718" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">basic</text>
2084-</a>
2085-</g>
2086-<!-- basic_13&#45;&gt;error_13 -->
2087-<g id="edge94" class="edge"><title>basic_13-&gt;error_13</title>
2088-<path fill="none" stroke="black" d="M4706.67,-105.192C4698.7,-92.6677 4687.89,-75.6921 4678.91,-61.5724"/>
2089-<polygon fill="black" stroke="black" points="4681.64,-59.3392 4673.32,-52.7816 4675.73,-63.0973 4681.64,-59.3392"/>
2090-</g>
2091-<!-- basic_13&#45;&gt;Magick -->
2092-<g id="edge28" class="edge"><title>basic_13-&gt;Magick</title>
2093-<path fill="none" stroke="red" d="M4699.64,-107.408C4693.2,-102.853 4685.66,-98.4446 4678,-96 4642.53,-84.6839 4376.23,-104.8 4343,-88 4331.76,-82.3162 4322.69,-71.9586 4315.97,-61.8978"/>
2094-<polygon fill="red" stroke="red" points="4318.88,-59.9532 4310.67,-53.2578 4312.92,-63.6124 4318.88,-59.9532"/>
2095-</g>
2096-<!-- graphviz_13 -->
2097-<g id="node79" class="node"><title>graphviz_13</title>
2098+<ellipse fill="white" stroke="white" cx="3335" cy="-164" rx="28.3955" ry="18"/>
2099+<text text-anchor="middle" x="3335" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">basic</text>
2100+</a>
2101+</g>
2102+<!-- 46&#45;&gt;Magick -->
2103+<g id="edge50" class="edge"><title>46-&gt;Magick</title>
2104+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/basic, TO: Magick">
2105+<path fill="none" stroke="red" d="M3320.98,-148.185C3314.25,-141.81 3305.76,-134.747 3297,-130 3285.62,-123.833 3279.76,-129.198 3269,-122 3260.35,-116.209 3252.75,-107.821 3246.67,-99.6711"/>
2106+<polygon fill="red" stroke="red" points="3249.49,-97.592 3240.9,-91.3835 3243.74,-101.591 3249.49,-97.592"/>
2107+</a>
2108+</g>
2109+<!-- 50 -->
2110+<g id="node101" class="node"><title>50</title>
2111 <a xlink:href="../www.zorba-xquery.com_modules_image_graphviz.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/graphviz">
2112-<ellipse fill="white" stroke="white" cx="4400" cy="-123" rx="44.7575" ry="19.0919"/>
2113-<text text-anchor="middle" x="4400" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">graphviz</text>
2114+<ellipse fill="white" stroke="white" cx="3534" cy="-164" rx="41.394" ry="18"/>
2115+<text text-anchor="middle" x="3534" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">graphviz</text>
2116 </a>
2117 </g>
2118 <!-- Graphviz -->
2119-<g id="node100" class="node"><title>Graphviz</title>
2120+<g id="node137" class="node"><title>Graphviz</title>
2121 <a xlink:href="http://www.graphviz.org/" xlink:title="Graphviz - Graph Visualization Software">
2122-<polygon fill="none" stroke="red" points="4255,-53 4193,-53 4189,-49 4189,-17 4251,-17 4255,-21 4255,-53"/>
2123-<polyline fill="none" stroke="red" points="4251,-49 4189,-49 "/>
2124-<polyline fill="none" stroke="red" points="4251,-49 4251,-17 "/>
2125-<polyline fill="none" stroke="red" points="4251,-49 4255,-53 "/>
2126-<text text-anchor="middle" x="4222" y="-31.9" font-family="Times Roman,serif" font-size="14.00">Graphviz</text>
2127-</a>
2128-</g>
2129-<!-- graphviz_13&#45;&gt;Graphviz -->
2130-<g id="edge24" class="edge"><title>graphviz_13-&gt;Graphviz</title>
2131-<path fill="none" stroke="red" d="M4372.61,-107.707C4363.45,-103.229 4353.02,-98.7912 4343,-96 4309,-86.5308 4294.96,-104.944 4264,-88 4252.93,-81.94 4243.75,-71.6227 4236.82,-61.6927"/>
2132-<polygon fill="red" stroke="red" points="4239.69,-59.6849 4231.33,-53.1826 4233.81,-63.4821 4239.69,-59.6849"/>
2133-</g>
2134-<!-- manipulation_13 -->
2135-<g id="node80" class="node"><title>manipulation_13</title>
2136+<polygon fill="none" stroke="red" points="3345.25,-91 3282.75,-91 3278.75,-87 3278.75,-55 3341.25,-55 3345.25,-59 3345.25,-91"/>
2137+<polyline fill="none" stroke="red" points="3341.25,-87 3278.75,-87 "/>
2138+<polyline fill="none" stroke="red" points="3341.25,-87 3341.25,-55 "/>
2139+<polyline fill="none" stroke="red" points="3341.25,-87 3345.25,-91 "/>
2140+<text text-anchor="middle" x="3312" y="-69.3" font-family="Times,serif" font-size="14.00">Graphviz</text>
2141+</a>
2142+</g>
2143+<!-- 50&#45;&gt;Graphviz -->
2144+<g id="edge58" class="edge"><title>50-&gt;Graphviz</title>
2145+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/graphviz, TO: Graphviz">
2146+<path fill="none" stroke="red" d="M3515.35,-147.622C3506.18,-140.964 3494.62,-133.829 3483,-130 3455.93,-121.079 3380.65,-134.431 3355,-122 3344.62,-116.97 3335.63,-108.211 3328.59,-99.5398"/>
2147+<polygon fill="red" stroke="red" points="3331.27,-97.2703 3322.46,-91.378 3325.67,-101.475 3331.27,-97.2703"/>
2148+</a>
2149+</g>
2150+<!-- 47 -->
2151+<g id="node102" class="node"><title>47</title>
2152 <a xlink:href="../www.zorba-xquery.com_modules_image_manipulation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/manipulation">
2153-<ellipse fill="white" stroke="white" cx="4606" cy="-123" rx="62.9325" ry="19.0919"/>
2154-<text text-anchor="middle" x="4606" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">manipulation</text>
2155-</a>
2156-</g>
2157-<!-- manipulation_13&#45;&gt;error_13 -->
2158-<g id="edge122" class="edge"><title>manipulation_13-&gt;error_13</title>
2159-<path fill="none" stroke="black" d="M4617.88,-104.337C4625.83,-91.8387 4636.42,-75.2021 4645.23,-61.358"/>
2160-<polygon fill="black" stroke="black" points="4648.3,-63.051 4650.71,-52.7353 4642.39,-59.2929 4648.3,-63.051"/>
2161-</g>
2162-<!-- manipulation_13&#45;&gt;Magick -->
2163-<g id="edge30" class="edge"><title>manipulation_13-&gt;Magick</title>
2164-<path fill="none" stroke="red" d="M4570.77,-107.247C4559.27,-102.801 4546.3,-98.497 4534,-96 4513.18,-91.7735 4361.87,-97.7542 4343,-88 4331.81,-82.2154 4322.75,-71.8422 4316.02,-61.797"/>
2165-<polygon fill="red" stroke="red" points="4318.94,-59.857 4310.71,-53.1775 4312.98,-63.5277 4318.94,-59.857"/>
2166-</g>
2167-<!-- paint_13 -->
2168-<g id="node81" class="node"><title>paint_13</title>
2169+<ellipse fill="white" stroke="white" cx="3231" cy="-164" rx="57.2688" ry="18"/>
2170+<text text-anchor="middle" x="3231" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">manipulation</text>
2171+</a>
2172+</g>
2173+<!-- 47&#45;&gt;Magick -->
2174+<g id="edge52" class="edge"><title>47-&gt;Magick</title>
2175+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/manipulation, TO: Magick">
2176+<path fill="none" stroke="red" d="M3231,-145.84C3231,-133.281 3231,-115.979 3231,-101.502"/>
2177+<polygon fill="red" stroke="red" points="3234.5,-101.107 3231,-91.1074 3227.5,-101.107 3234.5,-101.107"/>
2178+</a>
2179+</g>
2180+<!-- 48 -->
2181+<g id="node103" class="node"><title>48</title>
2182 <a xlink:href="../www.zorba-xquery.com_modules_image_paint.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/paint">
2183-<ellipse fill="white" stroke="white" cx="4494" cy="-123" rx="31.1127" ry="19.0919"/>
2184-<text text-anchor="middle" x="4494" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">paint</text>
2185-</a>
2186-</g>
2187-<!-- paint_13&#45;&gt;error_13 -->
2188-<g id="edge160" class="edge"><title>paint_13-&gt;error_13</title>
2189-<path fill="none" stroke="black" d="M4514.39,-108.385C4520.57,-104.19 4527.45,-99.7418 4534,-96 4564.7,-78.453 4601.25,-61.3916 4627.42,-49.7956"/>
2190-<polygon fill="black" stroke="black" points="4629.16,-52.855 4636.9,-45.6294 4626.34,-46.4458 4629.16,-52.855"/>
2191-</g>
2192-<!-- paint_13&#45;&gt;Magick -->
2193-<g id="edge44" class="edge"><title>paint_13-&gt;Magick</title>
2194-<path fill="none" stroke="red" d="M4475.56,-107.623C4469.13,-103.082 4461.6,-98.628 4454,-96 4430.63,-87.9196 4364.8,-99.686 4343,-88 4331.9,-82.0477 4322.85,-71.6487 4316.11,-61.6296"/>
2195-<polygon fill="red" stroke="red" points="4319.03,-59.6965 4310.78,-53.044 4313.08,-63.3867 4319.03,-59.6965"/>
2196-</g>
2197-<!-- client_14 -->
2198-<g id="node83" class="node"><title>client_14</title>
2199+<ellipse fill="white" stroke="white" cx="3127" cy="-164" rx="28.3955" ry="18"/>
2200+<text text-anchor="middle" x="3127" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">paint</text>
2201+</a>
2202+</g>
2203+<!-- 48&#45;&gt;Magick -->
2204+<g id="edge54" class="edge"><title>48-&gt;Magick</title>
2205+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/paint, TO: Magick">
2206+<path fill="none" stroke="red" d="M3140.59,-148.172C3147.13,-141.794 3155.4,-134.733 3164,-130 3175.34,-123.758 3181.2,-129.129 3192,-122 3200.78,-116.205 3208.55,-107.816 3214.8,-99.6669"/>
2207+<polygon fill="red" stroke="red" points="3217.76,-101.547 3220.74,-91.3801 3212.07,-97.4689 3217.76,-101.547"/>
2208+</a>
2209+</g>
2210+<!-- 68 -->
2211+<g id="node105" class="node"><title>68</title>
2212 <a xlink:href="../www.zorba-xquery.com_modules_oauth_client.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oauth/client">
2213-<ellipse fill="white" stroke="white" cx="4058" cy="-301" rx="33.234" ry="19.0919"/>
2214-<text text-anchor="middle" x="4058" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="green">client</text>
2215-</a>
2216-</g>
2217-<!-- client_14&#45;&gt;atomic_datetime_2 -->
2218-<g id="edge72" class="edge"><title>client_14-&gt;atomic_datetime_2</title>
2219-<path fill="none" stroke="black" d="M4025,-299.847C3853.68,-293.531 3064.88,-260.314 2837,-177 2817.74,-169.959 2798.29,-158.036 2782.86,-147.182"/>
2220-<polygon fill="black" stroke="black" points="2784.89,-144.326 2774.73,-141.299 2780.78,-149.997 2784.89,-144.326"/>
2221-</g>
2222-<!-- client_14&#45;&gt;atomic_random_2 -->
2223-<g id="edge66" class="edge"><title>client_14-&gt;atomic_random_2</title>
2224-<path fill="none" stroke="black" d="M4024.85,-300.182C3964.34,-298.104 3832.25,-290.864 3724,-266 3610.68,-239.972 3582.36,-228.258 3478,-177 3460.42,-168.366 3441.95,-156.949 3426.74,-146.838"/>
2225-<polygon fill="black" stroke="black" points="3428.43,-143.76 3418.19,-141.066 3424.52,-149.562 3428.43,-143.76"/>
2226-</g>
2227-<!-- client_14&#45;&gt;hmac_11 -->
2228-<g id="edge68" class="edge"><title>client_14-&gt;hmac_11</title>
2229-<path fill="none" stroke="black" d="M4091.23,-299.692C4202.6,-295.353 4572.83,-281.302 4879,-274 4894,-273.642 5405.46,-272.463 5419,-266 5431.13,-260.208 5441.15,-249.402 5448.64,-238.97"/>
2230-<polygon fill="black" stroke="black" points="5451.7,-240.68 5454.32,-230.413 5445.87,-236.809 5451.7,-240.68"/>
2231-</g>
2232-<!-- error_14 -->
2233-<g id="node84" class="node"><title>error_14</title>
2234+<ellipse fill="white" stroke="white" cx="2515" cy="-439" rx="30.3206" ry="18"/>
2235+<text text-anchor="middle" x="2515" y="-435.3" font-family="Times,serif" font-size="14.00" fill="green">client</text>
2236+</a>
2237+</g>
2238+<!-- 68&#45;&gt;10 -->
2239+<g id="edge144" class="edge"><title>68-&gt;10</title>
2240+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/random">
2241+<path fill="none" stroke="black" d="M2484.69,-436.639C2431.35,-433.559 2324.02,-424.077 2300,-397 2249.06,-339.577 2264.96,-239.487 2276.51,-191.776"/>
2242+<polygon fill="black" stroke="black" points="2279.96,-192.445 2279.03,-181.891 2273.17,-190.718 2279.96,-192.445"/>
2243+</a>
2244+</g>
2245+<!-- 68&#45;&gt;18 -->
2246+<g id="edge150" class="edge"><title>68-&gt;18</title>
2247+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/converters/base64">
2248+<path fill="none" stroke="black" d="M2485.64,-434.23C2327.05,-413.866 1572.92,-317.036 1382.67,-292.607"/>
2249+<polygon fill="black" stroke="black" points="1383.11,-289.135 1372.74,-291.333 1382.22,-296.078 1383.11,-289.135"/>
2250+</a>
2251+</g>
2252+<!-- 68&#45;&gt;66 -->
2253+<g id="edge146" class="edge"><title>68-&gt;66</title>
2254+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/cryptography/hmac">
2255+<path fill="none" stroke="black" d="M2532.67,-424.284C2541.22,-416.93 2551.1,-407.279 2558,-397 2575.34,-371.159 2587.23,-337.3 2594.04,-314.009"/>
2256+<polygon fill="black" stroke="black" points="2597.48,-314.693 2596.81,-304.119 2590.74,-312.803 2597.48,-314.693"/>
2257+</a>
2258+</g>
2259+<!-- 69 -->
2260+<g id="node106" class="node"><title>69</title>
2261 <a xlink:href="../www.zorba-xquery.com_modules_oauth_error.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oauth/error">
2262-<ellipse fill="white" stroke="white" cx="4058" cy="-212" rx="29.9071" ry="19.0919"/>
2263-<text text-anchor="middle" x="4058" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">error</text>
2264-</a>
2265-</g>
2266-<!-- client_14&#45;&gt;error_14 -->
2267-<g id="edge74" class="edge"><title>client_14-&gt;error_14</title>
2268-<path fill="none" stroke="black" d="M4058,-281.688C4058,-269.909 4058,-254.619 4058,-241.363"/>
2269-<polygon fill="black" stroke="black" points="4061.5,-241.274 4058,-231.274 4054.5,-241.274 4061.5,-241.274"/>
2270-</g>
2271-<!-- http_client_15 -->
2272-<g id="node87" class="node"><title>http_client_15</title>
2273+<ellipse fill="white" stroke="white" cx="2515" cy="-286" rx="27.4223" ry="18"/>
2274+<text text-anchor="middle" x="2515" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">error</text>
2275+</a>
2276+</g>
2277+<!-- 68&#45;&gt;69 -->
2278+<g id="edge152" class="edge"><title>68-&gt;69</title>
2279+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/oauth/error">
2280+<path fill="none" stroke="black" d="M2515,-420.972C2515,-395.03 2515,-345.357 2515,-314.326"/>
2281+<polygon fill="black" stroke="black" points="2518.5,-314.198 2515,-304.198 2511.5,-314.198 2518.5,-314.198"/>
2282+</a>
2283+</g>
2284+<!-- 71 -->
2285+<g id="node111" class="node"><title>71</title>
2286 <a xlink:href="../expath.org_ns_http-client.html" xlink:title="(External module) module uri=http://expath.org/ns/http-client">
2287-<ellipse fill="white" stroke="white" cx="5309" cy="-212" rx="51.8276" ry="19.0919"/>
2288-<text text-anchor="middle" x="5309" y="-208.9" font-family="Times Roman,serif" font-size="14.00" fill="green">http_client</text>
2289-</a>
2290-</g>
2291-<!-- client_14&#45;&gt;http_client_15 -->
2292-<g id="edge70" class="edge"><title>client_14-&gt;http_client_15</title>
2293-<path fill="none" stroke="black" d="M4091.23,-299.776C4202.6,-295.7 4572.86,-282.38 4879,-274 4899.33,-273.444 5225.98,-273.19 5245,-266 5260.69,-260.07 5275.24,-248.517 5286.48,-237.614"/>
2294-<polygon fill="black" stroke="black" points="5289.21,-239.834 5293.72,-230.246 5284.21,-234.93 5289.21,-239.834"/>
2295-</g>
2296-<!-- http_client_15&#45;&gt;http_client_6 -->
2297-<g id="edge140" class="edge"><title>http_client_15-&gt;http_client_6</title>
2298-<path fill="none" stroke="black" d="M5278.86,-196.413C5268.42,-191.797 5256.46,-187.351 5245,-185 5205.6,-176.915 3834.57,-191.36 3797,-177 3781.76,-171.174 3767.86,-159.631 3757.2,-148.708"/>
2299-<polygon fill="black" stroke="black" points="3759.72,-146.278 3750.36,-141.322 3754.59,-151.036 3759.72,-146.278"/>
2300-</g>
2301-<!-- http_client_15&#45;&gt;data_converters_html_8 -->
2302-<g id="edge144" class="edge"><title>http_client_15-&gt;data_converters_html_8</title>
2303-<path fill="none" stroke="black" d="M5294.56,-230.41C5281.29,-245.403 5260.07,-264.892 5236,-270 5221.71,-273.033 1042.29,-273.033 1028,-270 999.751,-264.005 970.834,-248.966 949.324,-235.704"/>
2304-<polygon fill="black" stroke="black" points="951.196,-232.748 940.876,-230.353 947.45,-238.661 951.196,-232.748"/>
2305-</g>
2306-<!-- http_client_15&#45;&gt;http_client_error_15 -->
2307-<g id="edge142" class="edge"><title>http_client_15-&gt;http_client_error_15</title>
2308-<path fill="none" stroke="black" d="M5313.99,-192.688C5317.09,-180.711 5321.12,-165.103 5324.58,-151.696"/>
2309-<polygon fill="black" stroke="black" points="5327.98,-152.526 5327.1,-141.968 5321.21,-150.774 5327.98,-152.526"/>
2310-</g>
2311-<!-- http_client_15&#45;&gt;cURL -->
2312-<g id="edge38" class="edge"><title>http_client_15-&gt;cURL</title>
2313-<path fill="none" stroke="red" d="M5278.86,-196.426C5268.42,-191.811 5256.46,-187.362 5245,-185 5215.94,-179.008 4203.84,-189.635 4177,-177 4134.47,-156.981 4151.05,-116.995 4109,-96 4079.33,-81.1892 3988.88,-104.3 3960,-88 3949.62,-82.1391 3941.62,-71.8947 3935.83,-61.965"/>
2314-<polygon fill="red" stroke="red" points="3938.89,-60.2737 3931.12,-53.0691 3932.7,-63.5455 3938.89,-60.2737"/>
2315-</g>
2316-<!-- functx_16 -->
2317-<g id="node89" class="node"><title>functx_16</title>
2318+<ellipse fill="white" stroke="white" cx="3956" cy="-286" rx="46.1964" ry="18"/>
2319+<text text-anchor="middle" x="3956" y="-282.3" font-family="Times,serif" font-size="14.00" fill="green">http-client</text>
2320+</a>
2321+</g>
2322+<!-- 68&#45;&gt;71 -->
2323+<g id="edge148" class="edge"><title>68-&gt;71</title>
2324+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://expath.org/ns/http-client">
2325+<path fill="none" stroke="black" d="M2544.77,-434.881C2724.44,-416.053 3664.44,-317.552 3901.62,-292.699"/>
2326+<polygon fill="black" stroke="black" points="3902.14,-296.163 3911.72,-291.64 3901.41,-289.201 3902.14,-296.163"/>
2327+</a>
2328+</g>
2329+<!-- 71&#45;&gt;2 -->
2330+<g id="edge154" class="edge"><title>71-&gt;2</title>
2331+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://www.zorba-xquery.com/modules/http-client">
2332+<path fill="none" stroke="black" d="M3909.61,-284.488C3701.69,-282.047 2863.75,-270.588 2815,-244 2794.23,-232.673 2779.61,-209.717 2770.7,-191.457"/>
2333+<polygon fill="black" stroke="black" points="2773.78,-189.794 2766.44,-182.161 2767.42,-192.71 2773.78,-189.794"/>
2334+</a>
2335+</g>
2336+<!-- 71&#45;&gt;64 -->
2337+<g id="edge158" class="edge"><title>71-&gt;64</title>
2338+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://www.zorba-xquery.com/modules/converters/html">
2339+<path fill="none" stroke="black" d="M3911.85,-291.546C3750.88,-311.451 3180.12,-379.265 2707,-401 2684.54,-402.032 1110,-405.668 1088,-401 1052.58,-393.483 1044.31,-345.823 1042.78,-314.264"/>
2340+<polygon fill="black" stroke="black" points="1046.28,-314.155 1042.49,-304.26 1039.28,-314.357 1046.28,-314.155"/>
2341+</a>
2342+</g>
2343+<!-- 71&#45;&gt;1 -->
2344+<g id="edge156" class="edge"><title>71-&gt;1</title>
2345+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://expath.org/ns/error">
2346+<path fill="none" stroke="black" d="M3954.57,-267.807C3952.93,-248.114 3950.22,-215.583 3948.28,-192.39"/>
2347+<polygon fill="black" stroke="black" points="3951.75,-191.836 3947.43,-182.161 3944.77,-192.417 3951.75,-191.836"/>
2348+</a>
2349+</g>
2350+<!-- 71&#45;&gt;cURL -->
2351+<g id="edge64" class="edge"><title>71-&gt;cURL</title>
2352+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: cURL">
2353+<path fill="none" stroke="red" d="M3911.42,-280.877C3822.57,-272.478 3630.94,-253.389 3620,-244 3580.07,-209.726 3629.62,-162.21 3588,-130 3570.6,-116.532 3211.58,-132.039 3192,-122 3182.51,-117.133 3174.85,-108.477 3169.07,-99.8428"/>
2354+<polygon fill="red" stroke="red" points="3171.91,-97.7644 3163.74,-91.0131 3165.91,-101.383 3171.91,-97.7644"/>
2355+</a>
2356+</g>
2357+<!-- 39 -->
2358+<g id="node113" class="node"><title>39</title>
2359 <a xlink:href="../www.functx.com_index.html" xlink:title="(Zorba-core) module uri=http://www.functx.com/">
2360-<ellipse fill="white" stroke="white" cx="8411" cy="-301" rx="36.0624" ry="19.0919"/>
2361-<text text-anchor="middle" x="8411" y="-297.9" font-family="Times Roman,serif" font-size="14.00" fill="red">functx</text>
2362+<ellipse fill="white" stroke="white" cx="5784" cy="-439" rx="72.192" ry="18"/>
2363+<text text-anchor="middle" x="5784" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">www.functx.com</text>
2364 </a>
2365 </g>
2366-<!-- imap_17 -->
2367-<g id="node91" class="node"><title>imap_17</title>
2368+<!-- 73 -->
2369+<g id="node115" class="node"><title>73</title>
2370 <a xlink:href="../www.zorba-xquery.com_modules_email_imap.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/email/imap">
2371-<ellipse fill="white" stroke="white" cx="4300" cy="-123" rx="31.1127" ry="19.0919"/>
2372-<text text-anchor="middle" x="4300" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">imap</text>
2373-</a>
2374-</g>
2375-<!-- c‑client -->
2376-<g id="node96" class="node"><title>c‑client</title>
2377-<a xlink:href="http://www.washington.edu/imap/" xlink:title="c‑client Library part of UW IMAP toolkit">
2378-<polygon fill="none" stroke="red" points="4171,-53 4117,-53 4113,-49 4113,-17 4167,-17 4171,-21 4171,-53"/>
2379-<polyline fill="none" stroke="red" points="4167,-49 4113,-49 "/>
2380-<polyline fill="none" stroke="red" points="4167,-49 4167,-17 "/>
2381-<polyline fill="none" stroke="red" points="4167,-49 4171,-53 "/>
2382-<text text-anchor="middle" x="4142" y="-31.9" font-family="Times Roman,serif" font-size="14.00">c‑client</text>
2383-</a>
2384-</g>
2385-<!-- imap_17&#45;&gt;c‑client -->
2386-<g id="edge42" class="edge"><title>imap_17-&gt;c‑client</title>
2387-<path fill="none" stroke="red" d="M4281.12,-107.463C4274.77,-103.027 4267.41,-98.6762 4260,-96 4226.39,-83.8578 4210.93,-105.886 4180,-88 4169.57,-81.969 4161.24,-71.7931 4155.08,-61.9607"/>
2388-<polygon fill="red" stroke="red" points="4158.03,-60.085 4150.02,-53.1563 4151.96,-63.571 4158.03,-60.085"/>
2389-</g>
2390-<!-- smtp_17 -->
2391-<g id="node92" class="node"><title>smtp_17</title>
2392+<ellipse fill="white" stroke="white" cx="3736" cy="-164" rx="28.3955" ry="18"/>
2393+<text text-anchor="middle" x="3736" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">imap</text>
2394+</a>
2395+</g>
2396+<!-- cclient -->
2397+<g id="node131" class="node"><title>cclient</title>
2398+<a xlink:href="http://www.washington.edu/imap/" xlink:title="c-client library part of UW IMAP toolkit">
2399+<polygon fill="none" stroke="red" points="3418,-91 3368,-91 3364,-87 3364,-55 3414,-55 3418,-59 3418,-91"/>
2400+<polyline fill="none" stroke="red" points="3414,-87 3364,-87 "/>
2401+<polyline fill="none" stroke="red" points="3414,-87 3414,-55 "/>
2402+<polyline fill="none" stroke="red" points="3414,-87 3418,-91 "/>
2403+<text text-anchor="middle" x="3391" y="-69.3" font-family="Times,serif" font-size="14.00">cclient</text>
2404+</a>
2405+</g>
2406+<!-- 73&#45;&gt;cclient -->
2407+<g id="edge68" class="edge"><title>73-&gt;cclient</title>
2408+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/email/imap, TO: cclient">
2409+<path fill="none" stroke="red" d="M3722.53,-148.124C3715.8,-141.575 3707.14,-134.388 3698,-130 3607.93,-86.7405 3488.3,-76.7467 3428.45,-74.54"/>
2410+<polygon fill="red" stroke="red" points="3428.44,-71.038 3418.34,-74.2212 3428.22,-78.0346 3428.44,-71.038"/>
2411+</a>
2412+</g>
2413+<!-- 72 -->
2414+<g id="node116" class="node"><title>72</title>
2415 <a xlink:href="../www.zorba-xquery.com_modules_email_smtp.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/email/smtp">
2416-<ellipse fill="white" stroke="white" cx="4220" cy="-123" rx="31.1127" ry="19.0919"/>
2417-<text text-anchor="middle" x="4220" y="-119.9" font-family="Times Roman,serif" font-size="14.00" fill="green">smtp</text>
2418-</a>
2419-</g>
2420-<!-- smtp_17&#45;&gt;c‑client -->
2421-<g id="edge46" class="edge"><title>smtp_17-&gt;c‑client</title>
2422-<path fill="none" stroke="red" d="M4200.86,-107.808C4193.96,-101.942 4186.33,-94.9696 4180,-88 4172.7,-79.9515 4165.53,-70.4863 4159.42,-61.7986"/>
2423-<polygon fill="red" stroke="red" points="4162.24,-59.7213 4153.7,-53.4515 4156.46,-63.6788 4162.24,-59.7213"/>
2424+<ellipse fill="white" stroke="white" cx="3661" cy="-164" rx="28.3955" ry="18"/>
2425+<text text-anchor="middle" x="3661" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">smtp</text>
2426+</a>
2427+</g>
2428+<!-- 72&#45;&gt;cclient -->
2429+<g id="edge66" class="edge"><title>72-&gt;cclient</title>
2430+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/email/smtp, TO: cclient">
2431+<path fill="none" stroke="red" d="M3645.71,-148.765C3637.93,-142.199 3628.01,-134.812 3618,-130 3555.21,-99.809 3474.58,-84.9292 3428.26,-78.4006"/>
2432+<polygon fill="red" stroke="red" points="3428.46,-74.8961 3418.08,-77.0237 3427.52,-81.8329 3428.46,-74.8961"/>
2433+</a>
2434+</g>
2435+<!-- 35 -->
2436+<g id="node118" class="node"><title>35</title>
2437+<a xlink:href="../www.zorba-xquery.com_modules_debugger_dbgp-message-handler.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/debugger/dbgp-message-handler">
2438+<ellipse fill="white" stroke="white" cx="1339" cy="-439" rx="90.4879" ry="18"/>
2439+<text text-anchor="middle" x="1339" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">dbgp-message-handler</text>
2440+</a>
2441+</g>
2442+<!-- 35&#45;&gt;18 -->
2443+<g id="edge108" class="edge"><title>35-&gt;18</title>
2444+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/debugger/dbgp-message-handler, TO: http://www.zorba-xquery.com/modules/converters/base64">
2445+<path fill="none" stroke="black" d="M1339,-420.972C1339,-395.03 1339,-345.357 1339,-314.326"/>
2446+<polygon fill="black" stroke="black" points="1342.5,-314.198 1339,-304.198 1335.5,-314.198 1342.5,-314.198"/>
2447+</a>
2448+</g>
2449+<!-- 42 -->
2450+<g id="node120" class="node"><title>42</title>
2451+<a xlink:href="../www.w3.org_2005_xqt-errors.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xqt-errors">
2452+<ellipse fill="white" stroke="white" cx="6111" cy="-439" rx="45.244" ry="18"/>
2453+<text text-anchor="middle" x="6111" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">xqt-errors</text>
2454+</a>
2455+</g>
2456+<!-- 36 -->
2457+<g id="node121" class="node"><title>36</title>
2458+<a xlink:href="../www.zorba-xquery.com_errors.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/errors">
2459+<ellipse fill="white" stroke="white" cx="6016" cy="-439" rx="31.2965" ry="18"/>
2460+<text text-anchor="middle" x="6016" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">errors</text>
2461+</a>
2462+</g>
2463+<!-- 37 -->
2464+<g id="node122" class="node"><title>37</title>
2465+<a xlink:href="../www.zorba-xquery.com_warnings.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/warnings">
2466+<ellipse fill="white" stroke="white" cx="5924" cy="-439" rx="42.3456" ry="18"/>
2467+<text text-anchor="middle" x="5924" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">warnings</text>
2468+</a>
2469+</g>
2470+<!-- 52 -->
2471+<g id="node125" class="node"><title>52</title>
2472+<a xlink:href="../www.zorba-xquery.com_modules_util-jvm.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/util-jvm">
2473+<ellipse fill="white" stroke="white" cx="3837" cy="-164" rx="39.4691" ry="18"/>
2474+<text text-anchor="middle" x="3837" y="-160.3" font-family="Times,serif" font-size="14.00" fill="green">util-jvm</text>
2475+</a>
2476+</g>
2477+<!-- 52&#45;&gt;JDK -->
2478+<g id="edge60" class="edge"><title>52-&gt;JDK</title>
2479+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/util-jvm, TO: JDK">
2480+<path fill="none" stroke="red" d="M3816.7,-148.537C3805.55,-141.471 3791.14,-133.708 3777,-130 3755.48,-124.357 2995.85,-132.05 2976,-122 2966.48,-117.181 2958.82,-108.535 2953.05,-99.8952"/>
2481+<polygon fill="red" stroke="red" points="2955.88,-97.8142 2947.72,-91.0548 2949.88,-101.427 2955.88,-97.8142"/>
2482+</a>
2483+</g>
2484+<!-- 45 -->
2485+<g id="node128" class="node"><title>45</title>
2486+<a xlink:href="../www.zorba-xquery.com_modules_csx.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/csx">
2487+<ellipse fill="white" stroke="white" cx="6311" cy="-439" rx="27" ry="18"/>
2488+<text text-anchor="middle" x="6311" y="-435.3" font-family="Times,serif" font-size="14.00" fill="green">csx</text>
2489+</a>
2490+</g>
2491+<!-- 17 -->
2492+<g id="node129" class="node"><title>17</title>
2493+<a xlink:href="../www.zorba-xquery.com_modules_full-text.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/full-text">
2494+<ellipse fill="white" stroke="white" cx="6227" cy="-439" rx="38.4949" ry="18"/>
2495+<text text-anchor="middle" x="6227" y="-435.3" font-family="Times,serif" font-size="14.00" fill="red">full-text</text>
2496+</a>
2497 </g>
2498 </g>
2499 </svg>
2500\ No newline at end of file
2501
2502=== modified file 'doc/zorba/xqdoc/src/generate-module-dependencies-svg.xq'
2503--- doc/zorba/xqdoc/src/generate-module-dependencies-svg.xq 2012-05-03 12:31:51 +0000
2504+++ doc/zorba/xqdoc/src/generate-module-dependencies-svg.xq 2012-05-18 15:41:19 +0000
2505@@ -14,17 +14,17 @@
2506 : limitations under the License.
2507 :)
2508
2509-import module namespace z="http://www.zorba-xquery.com/module-dependencies" at "zorba_module_dependencies.xqi";
2510+import module namespace z="http://www.zorba-xquery.com/module-dependencies" at "zorba_module_dependencies.xqy";
2511
2512 import module namespace dot="http://www.zorba-xquery.com/modules/image/graphviz";
2513
2514 (: make xqdoc has to be run prior to thins in order to generate the XQDoc XML's :)
2515 (: this variable sets the destination of the XQDoc XML's :)
2516-declare variable $xqdocXMLPath as xs:string external;
2517+declare variable $ZorbaBuildFolder external;
2518
2519 (
2520-z:create-collections($xqdocXMLPath)
2521-, dot:dot(z:create_graph(),())
2522+z:create-collections($ZorbaBuildFolder)
2523+, dot:dot(z:create_graph(),())
2524 (:, z:create_graph():)
2525 ,z:delete-collections()
2526 )
2527\ No newline at end of file
2528
2529=== removed file 'doc/zorba/xqdoc/src/zorba_module_dependencies.xqi'
2530--- doc/zorba/xqdoc/src/zorba_module_dependencies.xqi 2012-05-15 23:55:36 +0000
2531+++ doc/zorba/xqdoc/src/zorba_module_dependencies.xqi 1970-01-01 00:00:00 +0000
2532@@ -1,432 +0,0 @@
2533-(:
2534- : Copyright 2006-2009 The FLWOR Foundation.
2535- :
2536- : Licensed under the Apache License, Version 2.0 (the "License");
2537- : you may not use this file except in compliance with the License.
2538- : You may obtain a copy of the License at
2539- :
2540- : http://www.apache.org/licenses/LICENSE-2.0
2541- :
2542- : Unless required by applicable law or agreed to in writing, software
2543- : distributed under the License is distributed on an "AS IS" BASIS,
2544- : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2545- : See the License for the specific language governing permissions and
2546- : limitations under the License.
2547-:)
2548-
2549-(:
2550- : author Sorin Nasoi
2551- :)
2552-
2553-module namespace z = "http://www.zorba-xquery.com/module-dependencies";
2554-
2555-declare namespace an = "http://www.zorba-xquery.com/annotations";
2556-declare namespace zm = "http://www.zorba-xquery.com/manifest";
2557-
2558-import module namespace file = "http://expath.org/ns/file";
2559-import module namespace dot = "http://www.zorba-xquery.com/modules/image/graphviz";
2560-import module namespace xqdoc2html = "http://www.zorba-xquery.com/modules/xqdoc2xhtml/";
2561-import module namespace functx = "http://www.functx.com/";
2562-
2563-import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";
2564-import module namespace ddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";
2565-
2566-import schema namespace xqdoc = "http://www.xqdoc.org/1.0";
2567-
2568-declare variable $z:nodesCollector := <modules/>;
2569-
2570-declare variable $z:edgesCollector := <edges/>;
2571-
2572-declare variable $z:typeModule := 'module';
2573-declare variable $z:typeExternalLibrary := 'library';
2574-declare variable $z:typeSchema := 'schema';
2575-
2576-declare variable $z:colors as xs:string* := ('red' , 'green');
2577-declare variable $z:moduleTypes as xs:string* := ('Zorba-core', 'External module');
2578-
2579-(:~
2580- : Collector for the Zorba manifest
2581- :)
2582-declare %private variable $z:ZorbaManifest := <manifest/>;
2583-
2584-(:=========================================================================================================:)
2585-declare variable $z:level1Weight as xs:string* :=
2586-("www.w3.org", "XDM", "store", "introspection", "reflection",
2587- "external", "xqdoc","data processing", "programming languages", "excel",
2588- "cryptography", "geo", "image", "OAuth", "expath.org",
2589- "www.functx.com", "communication");
2590-
2591-declare variable $z:level1Colors as xs:string* :=
2592-("mediumvioletred", "lightsteelblue", "sienna", "dimgray", "slategray",
2593- "Gold", "moccasin","tan", "RosyBrown", "wheat",
2594- "LightGreen", "forestgreen", "olivedrab", "darkkhaki", "cornflowerblue",
2595- "yellow", "Chartreuse");
2596-
2597-
2598-declare variable $z:collection as xs:QName := xs:QName("z:collection");
2599-declare collection z:collection as node()*;
2600-
2601-declare %private function z:fix-uri($moduleUri) as xs:string
2602-{
2603- (: TODO there's a bug in the ZorbaManifest.xml :)
2604- if($moduleUri = "http://expath.org/ns/http-client") then
2605- concat($moduleUri,".xq")
2606- else $moduleUri
2607-};
2608-
2609-declare %private function z:get-project-root(
2610- $moduleUri as xs:string
2611- ) as xs:string
2612-{
2613- xs:string(data($z:ZorbaManifest/module[@uri= z:fix-uri($moduleUri)]/@projectRoot))
2614-};
2615-
2616-declare %private function z:get-is-core(
2617- $moduleUri) as xs:boolean
2618-{
2619- xs:boolean(data($z:ZorbaManifest/module[@uri= z:fix-uri($moduleUri)]/@isCore))
2620-};
2621-
2622-declare %an:sequential function z:create-collection-categories (
2623-$collectionName as xs:QName,
2624-$xqdocXmlPath as xs:string)
2625-{
2626- ddl:create($collectionName);
2627-
2628- (: gather all the XQDoc XML's :)
2629- for $xqdocRelPath in file:list($xqdocXmlPath, fn:false(), "*.xml")
2630- let $path := fn:concat($xqdocXmlPath, file:directory-separator(), $xqdocRelPath )
2631- let $xqdoc := fn:parse-xml(file:read-text($path))
2632- return dml:apply-insert-nodes($collectionName, $xqdoc);
2633-};
2634-
2635-declare %an:sequential function z:create-collections($xqdocXMLPath as xs:string)
2636-{
2637- variable $xqdocBuildPath as xs:string :=
2638- fn:substring-before($xqdocXMLPath, fn:concat(file:directory-separator(),"xml"));
2639-
2640- variable $xqdocXmlConfigPath as xs:string :=
2641- fn:concat($xqdocBuildPath, file:directory-separator(), "config");
2642-
2643- variable $manifestXMLPath := trace(concat($xqdocXMLPath,file:directory-separator(),
2644- "..",file:directory-separator(),
2645- "..",file:directory-separator(),
2646- "..",file:directory-separator(),
2647- "..",file:directory-separator(),"ZorbaManifest.xml"),"$manifestXMLPath");
2648- variable $manifestXML := fn:parse-xml(file:read-text($manifestXMLPath));
2649- variable $moduleManifests := $manifestXML//*:module;
2650-
2651- for $module in $moduleManifests
2652- return
2653- insert node <module uri="{data($module/zm:uri)}"
2654- isCore="{data($module/@isCore)}"
2655- version="{if (exists(data($module/@version))) then data($module/@version) else ''}"
2656- projectRoot="{data($module/zm:projectRoot)}"/> as last into $z:ZorbaManifest;
2657-
2658- z:create-collection-categories (xs:QName("z:collection"), $xqdocXMLPath);
2659-
2660- z:fill-nodesCollector();
2661-
2662- z:fill_edgesCollector();
2663-};
2664-
2665-declare %an:sequential function z:delete-collections()
2666-{
2667- dml:delete-nodes(dml:collection(xs:QName("z:collection")));
2668- ddl:delete(xs:QName("z:collection"));
2669-};
2670-
2671-(:~
2672- : Fill the $z:nodesCollector with all the available modules.
2673- :)
2674-declare %an:sequential function z:fill-nodesCollector() as xs:string*
2675-{
2676- for $category in $z:level1Weight
2677- return
2678- for $docNode in dml:collection(xs:QName("z:collection"))
2679- let $xqdoc := $docNode/xqdoc:xqdoc
2680- let $lModuleUri := data($xqdoc/xqdoc:module/xqdoc:uri)
2681- let $lModuleProject := if(exists($xqdoc/xqdoc:module/xqdoc:custom[@tag="project"]))
2682- then $xqdoc/xqdoc:module/xqdoc:custom[@tag="project"]/text()
2683- else data($xqdoc/xqdoc:module/xqdoc:uri)
2684- let $tok := tokenize($lModuleProject,"/")[1]
2685- let $subProject as xs:string? := replace(replace(substring-after($lModuleProject,concat($tok,"/")),"/","_")," ","_")
2686- let $subProjectFinal := if(not(contains($subProject,"2005"))
2687- and ($subProject ne "")
2688- and not($lModuleProject = $lModuleUri))
2689- then concat($subProject,"_")
2690- else ()
2691- let $lName := concat($subProjectFinal,fn:replace(substring-before(data($xqdoc/xqdoc:module/xqdoc:name),"."),"-","_"))
2692- where (fn:starts-with($lModuleProject, $category) or
2693- fn:contains($lModuleProject, $category))
2694- return
2695- if(exists($lName)) then
2696- z:collect-node ($lModuleUri,
2697- $lName,
2698- $category,
2699- fn:string(index-of($z:level1Weight,$category))
2700- )
2701- else ()
2702-};
2703-
2704-declare %private %an:sequential function z:collect-node (
2705- $moduleURI as xs:string,
2706- $name as xs:string,
2707- $lModuleProject as xs:string,
2708- $catUi as xs:string)
2709-{
2710- insert node <module uri="{$moduleURI}"
2711- name="{$name}"
2712- moduleProject="{$lModuleProject}"
2713- catUi="{$catUi}" />
2714- as last into $z:nodesCollector;
2715-};
2716-
2717-(:~
2718- : Fill $z:edgesCollector with all the edges (the links between the nodes) for both modules and eternal library dependencies.
2719- :)
2720-declare %an:sequential function z:fill_edgesCollector()
2721-{
2722- for $docNode in dml:collection(xs:QName("z:collection"))
2723- let $xqdoc := $docNode/xqdoc:xqdoc
2724- return
2725- (
2726- (: add imported modules :)
2727- if (fn:count($xqdoc/xqdoc:imports//xqdoc:import[@type = "library"]) > 0) then
2728- for $import in $xqdoc/xqdoc:imports//xqdoc:import[@type = "library"]
2729- let $from := $z:nodesCollector//module[@uri=data($xqdoc/xqdoc:module/xqdoc:uri)]
2730- let $to := $z:nodesCollector//module[@uri=string($import/xqdoc:uri/text())]
2731- return
2732- z:collect-edge(data($z:nodesCollector//module[@uri = data($xqdoc/xqdoc:module/xqdoc:uri)]/@catUri),
2733- concat(data($from/@name),'_',data($from/@catUi)),
2734- data($xqdoc/xqdoc:module/xqdoc:uri),
2735- concat(data($to/@name),'_',data($to/@catUi)),
2736- string($import/xqdoc:uri/text()),
2737- $z:typeModule)
2738- else
2739- (),
2740- (: add external c++ libraries dependencies :)
2741-
2742- if (fn:count($xqdoc/xqdoc:module/xqdoc:comment//xqdoc:library) > 0) then
2743- for $libraryDependency in $xqdoc/xqdoc:module/xqdoc:comment//xqdoc:library
2744- let $from := $z:nodesCollector//module[@uri=data($xqdoc/xqdoc:module/xqdoc:uri)]
2745- let $to := $libraryDependency/*:a
2746- return
2747- z:collect-edge(data($z:nodesCollector//module[@uri eq data($xqdoc/xqdoc:module/xqdoc:uri)]/@catUri),
2748- concat(data($from/@name),'_',data($from/@catUi)),
2749- data($xqdoc/xqdoc:module/xqdoc:uri),
2750- concat(data($to/text()),'|',data($to/@href) ),
2751- "",
2752- $z:typeExternalLibrary)
2753- else
2754- ())
2755-};
2756-
2757-declare %private %an:sequential function z:collect-edge (
2758- $catUri as xs:string?,
2759- $nameFrom as xs:string?,
2760- $uriFrom as xs:string?,
2761- $nameTo as xs:string?,
2762- $uriTo as xs:string?,
2763- $type as xs:string?)
2764-{
2765- insert node <edge catUri ="{$catUri}"
2766- nameFrom="{$nameFrom}"
2767- uriFrom ="{$uriFrom}"
2768- nameTo ="{$nameTo}"
2769- uriTo ="{$uriTo}"
2770- type ="{$type}" />
2771- as last into $z:edgesCollector;
2772-};
2773-
2774-declare function z:test()
2775-{
2776-(:
2777- string-join(
2778- for $edge in $z:edgesCollector//edge
2779- return fn:concat($edge/@catUri,"|", $edge/@nameFrom, "|", $edge/@uriFrom, "|", $edge/@nameTo),"
2780-")
2781-
2782- string-join(
2783- for $module in $z:nodesCollector//module
2784- return fn:concat($module/@uri,"|", $module/@name, "|", $module/@moduleProject, "|", $module/@catUi),"
2785-")
2786-:)
2787-};
2788-
2789-(:~
2790- : This function returns the module type (see $z:moduleType)
2791- : based on the existance of the externals functions withing the module and also
2792- : it takes into account the imported modules.
2793- :)
2794-declare function z:get_module_type($moduleUri as xs:string) as xs:integer
2795-{
2796- if(z:get-is-core($moduleUri)) then xs:integer(1)
2797- else xs:integer(2)
2798-};
2799-
2800-(:~
2801- : Format the properties of a module dot shape (link to a file, tooltip, color of the text showing the module name).
2802- :)
2803-declare function z:get_shape_properties(
2804- $ModuleUri as xs:string,
2805- $lLabel as xs:string) as xs:string
2806-{
2807- let $file as xs:string := concat(xqdoc2html:get-filename($ModuleUri),".html")
2808- let $type := z:get_module_type($ModuleUri)
2809- return
2810- fn:concat('[URL="../',$file,'" tooltip="(',$z:moduleTypes[$type],') module uri=', $ModuleUri,'" label="',$lLabel,'" fontcolor="', $z:colors[$type] ,'"]')
2811-};
2812-
2813-(:~
2814- : Get the nodes that represent modules based on a provided category URI.
2815- :)
2816-declare function z:nodes_modules(
2817- $category as xs:string) as xs:string
2818-{
2819- let $nodes :=
2820- string-join(
2821- for $node in $z:nodesCollector//module
2822- let $lModuleUri := data($node/@uri)
2823- let $lLabel := data($node/@name)
2824- let $lName := concat($lLabel,'_', data($node/@catUi),z:get_shape_properties($lModuleUri, $lLabel))
2825- where $node[@moduleProject = $category]
2826- order by $lModuleUri
2827- return
2828- $lName,";
2829- ")
2830- return
2831- if($nodes eq '') then ''
2832- else concat($nodes,';')
2833-
2834-};
2835-
2836-(:~
2837- : Get the nodes that represent external library dependencies.
2838- :)
2839-declare function z:nodes_external_libraries() as xs:string
2840-{
2841- let $nodes :=
2842- string-join(
2843- for $edge in $z:edgesCollector//edge
2844- let $tok := tokenize(data($edge/@nameTo),'\|')
2845- let $nodeLabel := replace(tokenize($tok[1],' ')[1],'\+','')
2846- let $link := $tok[2]
2847- let $node := data($edge/@nameTo)
2848- let $lName := concat($nodeLabel,'[URL="',$link,'" tooltip="', $tok[1],'" label="',$nodeLabel,'"]')
2849- where data($edge/@type) eq $z:typeExternalLibrary
2850- group by $nodeLabel
2851- return
2852- $lName,";
2853- ")
2854- return
2855- if($nodes eq '') then ''
2856- else concat($nodes,';')
2857-};
2858-
2859-(:~
2860- : Get all the edges (the links between the nodes) for both modules and eternal library dependencies.
2861- :)
2862-declare function z:edges($category) as xs:string
2863-{
2864-let $lcatUri := data($category/@uri)
2865-let $edges :=
2866- string-join(
2867- for $edge in $z:edgesCollector//edge
2868- where $lcatUri eq $edge/@catUri
2869- return concat($edge/@nameFrom,'->',$edge/@nameTo),
2870- ';
2871-')
2872-return
2873- if($edges eq '') then ''
2874- else concat($edges,';')
2875-};
2876-
2877-(:~
2878- : Get all the edges (the links between the nodes) between modules.
2879- :)
2880-declare function z:edges_modules() as xs:string
2881-{
2882-let $edges :=
2883- string-join(
2884- for $edge in $z:edgesCollector//edge
2885- where data($edge/@type) eq $z:typeModule
2886- return concat(' ',$edge/@nameFrom,'->',$edge/@nameTo),
2887- ';
2888-')
2889-return
2890- if($edges eq '') then ''
2891- else concat($edges,';')
2892-};
2893-
2894-(:~
2895- : Get all the edges (the links between the nodes) between modules and externall c++ libraries.
2896- :)
2897-declare function z:edges_libraries() as xs:string
2898-{
2899-let $edges :=
2900- string-join(
2901- for $edge in $z:edgesCollector//edge
2902- let $tok := tokenize(data($edge/@nameTo),'\|')
2903- let $nodeLabel := replace(tokenize($tok[1],' ')[1],'\+','')
2904- where data($edge/@type) eq $z:typeExternalLibrary
2905- return concat(' ',$edge/@nameFrom,'->',$nodeLabel,'[color="red"]'),
2906- ';
2907-')
2908-return
2909- if($edges eq '') then ''
2910- else concat($edges,';')
2911-};
2912-
2913-(:~
2914- : Generate the cluster for the external c++ libraries.
2915- :)
2916-declare function z:create_subgraph_libraries() as xs:string
2917-{
2918- concat('
2919-
2920- subgraph clusterExternalCPPLibs { style=filled; color=darksalmon; node [shape=box3d, color=red];
2921- ',
2922- z:nodes_external_libraries(),'
2923-
2924-',
2925- z:edges_libraries(),'
2926- label="External C++ Library dependencies"; }')
2927-};
2928-
2929-(:~
2930- : Generate the cluster for a specific category.
2931- :)
2932-declare function z:create_subgraph(
2933- $category as xs:string) as xs:string
2934-{
2935-concat('
2936- subgraph cluster',
2937- index-of($z:level1Weight,$category),
2938- (: '{ node [style=filled]; color=',data($category/@color),'; :)
2939- ' { style=filled; color=',$z:level1Colors[index-of($z:level1Weight,$category)],'; node [style="filled", color=white];
2940- ',
2941-z:nodes_modules($category),'
2942-',
2943-' label="',$category,'";','}')
2944-};
2945-
2946-(:~
2947- : Generate the BIG cluster.
2948- :)
2949-declare function z:create_graph() as xs:string
2950-{
2951- concat('digraph G {
2952-' ,
2953- string-join(
2954- for $cat1 in $z:level1Weight
2955- return z:create_subgraph($cat1)
2956- ,('
2957- ')), z:create_subgraph_libraries()
2958- ,"
2959-
2960-",
2961- z:edges_modules(),"
2962- }"
2963- )
2964-};
2965
2966=== added file 'doc/zorba/xqdoc/src/zorba_module_dependencies.xqy'
2967--- doc/zorba/xqdoc/src/zorba_module_dependencies.xqy 1970-01-01 00:00:00 +0000
2968+++ doc/zorba/xqdoc/src/zorba_module_dependencies.xqy 2012-05-18 15:41:19 +0000
2969@@ -0,0 +1,462 @@
2970+(:
2971+ : Copyright 2006-2009 The FLWOR Foundation.
2972+ :
2973+ : Licensed under the Apache License, Version 2.0 (the "License");
2974+ : you may not use this file except in compliance with the License.
2975+ : You may obtain a copy of the License at
2976+ :
2977+ : http://www.apache.org/licenses/LICENSE-2.0
2978+ :
2979+ : Unless required by applicable law or agreed to in writing, software
2980+ : distributed under the License is distributed on an "AS IS" BASIS,
2981+ : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2982+ : See the License for the specific language governing permissions and
2983+ : limitations under the License.
2984+:)
2985+
2986+(:
2987+ : author Sorin Nasoi
2988+ :)
2989+
2990+module namespace z = "http://www.zorba-xquery.com/module-dependencies";
2991+
2992+declare namespace an = "http://www.zorba-xquery.com/annotations";
2993+declare namespace zm = "http://www.zorba-xquery.com/manifest";
2994+
2995+import module namespace file = "http://expath.org/ns/file";
2996+import module namespace functx = "http://www.functx.com/";
2997+
2998+import module namespace dot = "http://www.zorba-xquery.com/modules/image/graphviz";
2999+import module namespace xqd = "http://www.zorba-xquery.com/modules/xqdoc";
3000+import module namespace xqdoc2html = "http://www.zorba-xquery.com/modules/xqdoc2xhtml/";
3001+import module namespace pxqdoc = "http://www.zorba-xquery.com/modules/project_xqdoc";
3002+import module namespace fetch = "http://www.zorba-xquery.com/modules/fetch";
3003+import module namespace dml = "http://www.zorba-xquery.com/modules/store/static/collections/dml";
3004+import module namespace ddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";
3005+import module namespace err = "http://www.zorba-xquery.com/modules/xqdoc2xhtml/error";
3006+
3007+declare namespace werr = "http://www.w3.org/2005/xqt-errors";
3008+
3009+import schema namespace xqdoc = "http://www.xqdoc.org/1.0";
3010+
3011+declare variable $z:nodesCollector := <modules/>;
3012+
3013+declare variable $z:edgesCollector := <edges/>;
3014+
3015+declare variable $z:typeModule := 'module';
3016+declare variable $z:typeExternalLibrary := 'library';
3017+declare variable $z:typeSchema := 'schema';
3018+
3019+declare variable $z:colors as xs:string* := ('red' , 'green');
3020+declare variable $z:moduleTypes as xs:string* := ('Zorba-core', 'External module');
3021+
3022+(:~
3023+ : Collector for the Zorba manifest
3024+ :)
3025+declare %private variable $z:ZorbaManifest := <manifest/>;
3026+
3027+(:=========================================================================================================:)
3028+declare variable $z:level1Weight as xs:string* :=
3029+("www.w3.org", "XDM", "store", "introspection", "reflection",
3030+ "external", "xqdoc","data processing", "programming languages", "excel",
3031+ "cryptography", "geo", "image", "OAuth", "expath.org",
3032+ "www.functx.com", "communication", "debugger", "error", "utils",
3033+ "www.zorba-xquery.com");
3034+
3035+declare variable $z:level1Colors as xs:string* :=
3036+("mediumvioletred", "lightsteelblue", "sienna", "dimgray", "slategray",
3037+ "Gold", "moccasin","tan", "RosyBrown", "wheat",
3038+ "LightGreen", "forestgreen", "olivedrab", "darkkhaki", "cornflowerblue",
3039+ "yellow", "Chartreuse", "DarkGoldenRod", "DarkSeaGreen", "DarkSlateBlue ",
3040+ "DodgerBlue");
3041+
3042+
3043+declare variable $z:collection as xs:QName := xs:QName("z:collection");
3044+declare collection z:collection as node()*;
3045+
3046+declare %private function z:get-is-core(
3047+ $moduleUri) as xs:boolean
3048+{
3049+ if(fn:string(data($z:ZorbaManifest/module[@uri= $moduleUri]/@isCore)) = "true") then fn:true()
3050+ else fn:false()
3051+};
3052+
3053+declare %an:sequential function z:create-collections($ZorbaBuildFolder as xs:string)
3054+{
3055+ ddl:create($z:collection);
3056+
3057+ variable $zorbaManifestPath := concat($ZorbaBuildFolder,
3058+ file:directory-separator(),
3059+ "ZorbaManifest.xml");
3060+
3061+ variable $manifestXML := pxqdoc:load-manifest($zorbaManifestPath);
3062+ variable $moduleManifests := $manifestXML/zm:manifest/zm:module;
3063+ if(count($moduleManifests) eq xs:integer(0)) then ();
3064+ else
3065+ {
3066+ try
3067+ {
3068+ for $module in $moduleManifests
3069+ let $moduleURI := data($module/zm:uri)
3070+ let $moduleFetched := fetch:content($moduleURI, "MODULE")
3071+ let $xqdoc := xqd:xqdoc-content($moduleFetched)
3072+ return
3073+ {
3074+ insert node <module uri="{$moduleURI}"
3075+ isCore="{data($module/@isCore)}"
3076+ version="{if (exists(data($module/@version))) then data($module/@version) else ''}"
3077+ projectRoot="{data($module/zm:projectRoot)}"/> as last into $z:ZorbaManifest;
3078+
3079+ dml:apply-insert-nodes($z:collection, $xqdoc);
3080+ }
3081+ }
3082+ catch *
3083+ {
3084+ fn:error($err:UE004,
3085+ concat("Error processing module ",
3086+ $werr:code,
3087+ " - ",
3088+ $werr:description));
3089+ }
3090+ }
3091+
3092+ z:fill-nodesCollector();
3093+
3094+ z:fill_edgesCollector();
3095+};
3096+
3097+declare %an:sequential function z:delete-collections()
3098+{
3099+ dml:delete-nodes(dml:collection(xs:QName("z:collection")));
3100+ ddl:delete(xs:QName("z:collection"));
3101+};
3102+
3103+declare %private function z:getModuleProject(
3104+ $moduleUri as xs:string) as xs:string {
3105+
3106+ for $docNode in dml:collection(xs:QName("z:collection"))
3107+ let $lModuleUri := data($docNode/xqdoc:module/xqdoc:uri),
3108+ $lModuleProject := $docNode/xqdoc:module/xqdoc:comment/xqdoc:custom[@tag="project"]/text(),
3109+ $lTmp := substring-after($lModuleUri,'http://'),
3110+ $lTmpTok := tokenize($lTmp,'/'),
3111+ $lTmp2 := if(ends-with($lTmp,'/')) then substring($lTmp,1,string-length($lTmp)-1) else string-join(functx:value-except($lTmpTok,$lTmpTok[last()]),'/'),
3112+ $lModuleName := if(ends-with($lModuleUri,'/')) then $lTmpTok[last()-1] else $lTmpTok[last()],
3113+ $structure := if(exists($lModuleProject)) then $lModuleProject else $lTmp2
3114+ where fn:string($lModuleUri) eq $moduleUri
3115+ return $structure
3116+};
3117+
3118+(:~
3119+ : Fill the $z:nodesCollector with all the available modules.
3120+ :)
3121+declare %an:sequential function z:fill-nodesCollector()
3122+{
3123+ for $docNode in dml:collection(xs:QName("z:collection"))
3124+ let $lModuleUri := data($docNode/xqdoc:module/xqdoc:uri)
3125+ let $structure := z:getModuleProject(fn:string($lModuleUri))
3126+ return
3127+ z:collect-node ($lModuleUri,
3128+ $structure,
3129+ fn:string(index-of(dml:collection(xs:QName("z:collection")), $docNode))
3130+ )
3131+};
3132+
3133+declare %private %an:sequential function z:collect-node (
3134+ $moduleURI as xs:string,
3135+ $lModuleProject as xs:string,
3136+ $index as xs:string)
3137+{
3138+ insert node <module uri="{$moduleURI}"
3139+ moduleProject="{$lModuleProject}"
3140+ index="{$index}" />
3141+ as last into $z:nodesCollector;
3142+};
3143+
3144+declare %private function z:get_subgraphs() as xs:string*
3145+{
3146+ let $subgraphs as xs:string* := distinct-values(
3147+ for $module in $z:nodesCollector//module
3148+ return fn:string(data($module/@moduleProject))
3149+ )
3150+ (: Order the subgraphs based on the Level1Weight :)
3151+ return for $str in $z:level1Weight
3152+ return
3153+ for $tmp in $subgraphs
3154+ where starts-with($tmp, $str)
3155+ order by $tmp
3156+ return $tmp
3157+};
3158+
3159+
3160+(:~
3161+ : Fill $z:edgesCollector with all the edges (the links between the nodes) for both modules and eternal library dependencies.
3162+ :)
3163+declare %an:sequential function z:fill_edgesCollector()
3164+{
3165+ for $xqdoc in dml:collection(xs:QName("z:collection"))
3166+ return
3167+ (
3168+ (: add imported modules :)
3169+ if (fn:count($xqdoc/xqdoc:imports//xqdoc:import[@type = "library"]) > 0) then
3170+ for $import in $xqdoc/xqdoc:imports//xqdoc:import[@type = "library"]
3171+ let $from := $z:nodesCollector//module[@uri=data($xqdoc/xqdoc:module/xqdoc:uri)]
3172+ let $to := $z:nodesCollector//module[@uri=string($import/xqdoc:uri/text())]
3173+ return
3174+ z:collect-edge(data($z:nodesCollector//module[@uri = data($xqdoc/xqdoc:module/xqdoc:uri)]/@catUri),
3175+ fn:string(data($from/@index)),
3176+ data($xqdoc/xqdoc:module/xqdoc:uri),
3177+ fn:string(data($to/@index)),
3178+ string($import/xqdoc:uri/text()),
3179+ $z:typeModule)
3180+ else
3181+ (),
3182+ (: add external c++ libraries dependencies :)
3183+
3184+ if (fn:count($xqdoc/xqdoc:module/xqdoc:comment/xqdoc:custom[@tag="library"]) > 0) then
3185+ for $libraryDependency in $xqdoc/xqdoc:module/xqdoc:comment/xqdoc:custom[@tag="library"]
3186+ let $from := $z:nodesCollector//module[@uri=data($xqdoc/xqdoc:module/xqdoc:uri)]
3187+ let $to := $libraryDependency/*:a
3188+ return
3189+ z:collect-edge(fn:string(data($from/@moduleProject)),
3190+ fn:string(data($from/@index)),
3191+ fn:string(data($from/@uri)),
3192+ concat(fn:data($to),'|',data($to/@href) ),
3193+ "",
3194+ $z:typeExternalLibrary)
3195+ else
3196+ ())
3197+};
3198+
3199+declare %private %an:sequential function z:collect-edge (
3200+ $catUri as xs:string?,
3201+ $nameFrom as xs:string?,
3202+ $uriFrom as xs:string?,
3203+ $nameTo as xs:string?,
3204+ $uriTo as xs:string?,
3205+ $type as xs:string?)
3206+{
3207+ insert node <edge catUri ="{$catUri}"
3208+ nameFrom="{$nameFrom}"
3209+ uriFrom ="{$uriFrom}"
3210+ nameTo ="{$nameTo}"
3211+ uriTo ="{$uriTo}"
3212+ type ="{$type}" />
3213+ as last into $z:edgesCollector;
3214+};
3215+
3216+declare function z:test() as xs:string
3217+{
3218+(:
3219+ string-join(
3220+ for $edge in $z:edgesCollector//edge
3221+ return fn:concat($edge/@catUri,"|", $edge/@nameFrom, "|", $edge/@uriFrom, "|", $edge/@nameTo),"
3222+")
3223+ :)
3224+ (:
3225+ string-join(
3226+ for $module in $z:nodesCollector//module
3227+ return fn:concat($module/@uri,"|", $module/@moduleProject, "|", $module/@catUi),"
3228+")
3229+:)
3230+};
3231+
3232+(:~
3233+ : This function returns the module type (see $z:moduleType)
3234+ : based on the existance of the externals functions withing the module and also
3235+ : it takes into account the imported modules.
3236+ :)
3237+declare function z:get_module_type($moduleUri as xs:string) as xs:integer
3238+{
3239+ if(z:get-is-core($moduleUri)) then xs:integer(1)
3240+ else xs:integer(2)
3241+};
3242+
3243+(:~
3244+ : Format the properties of a module dot shape (link to a file, tooltip, color of the text showing the module name).
3245+ :)
3246+declare function z:get_shape_properties(
3247+ $ModuleUri as xs:string,
3248+ $lLabel as xs:string) as xs:string
3249+{
3250+ let $file as xs:string := concat(xqdoc2html:get-filename($ModuleUri),".html")
3251+ let $type := z:get_module_type($ModuleUri)
3252+ return
3253+ fn:concat('[URL="../',$file,'" tooltip="(',$z:moduleTypes[$type],') module uri=', $ModuleUri,'" label="',$lLabel,'" fontcolor="', $z:colors[$type] ,'"]')
3254+};
3255+
3256+(:~
3257+ : Get the nodes that represent modules based on a provided category URI.
3258+ :)
3259+declare function z:nodes_modules(
3260+ $category as xs:string) as xs:string
3261+{
3262+ let $nodes :=
3263+ string-join(
3264+ for $module in $z:nodesCollector//module
3265+ let $lModuleUri := data($module/@uri)
3266+ let $tok := tokenize($lModuleUri,"/")
3267+ let $lLabel := if(ends-with($lModuleUri,'/')) then $tok[last()-1] else $tok[last()]
3268+ let $lName := concat(data($module/@index),z:get_shape_properties($lModuleUri, $lLabel))
3269+ where fn:string(data($module/@moduleProject)) = $category
3270+ order by $lModuleUri
3271+ return
3272+ $lName,";
3273+ ")
3274+ return
3275+ if($nodes eq '') then ''
3276+ else concat($nodes,';')
3277+
3278+};
3279+
3280+(:~
3281+ : Get the nodes that represent external library dependencies.
3282+ :)
3283+declare function z:nodes_external_libraries() as xs:string
3284+{
3285+ let $nodes :=
3286+ string-join(
3287+ for $edge in $z:edgesCollector//edge
3288+ let $tok := tokenize(data($edge/@nameTo),'\|')
3289+ let $nodeLabel := replace(replace(tokenize($tok[1],' ')[1],'\+',''),'-','')
3290+ let $link := $tok[2]
3291+ let $node := data($edge/@nameTo)
3292+ let $lName := concat($nodeLabel,'[URL="',$link,'" tooltip="', $tok[1],'" label="',$nodeLabel,'"]')
3293+ where data($edge/@type) eq $z:typeExternalLibrary
3294+ group by $nodeLabel
3295+ return
3296+ $lName,";
3297+ ")
3298+ return
3299+ if($nodes eq '') then ''
3300+ else concat($nodes,';')
3301+};
3302+
3303+(:~
3304+ : Get all the edges (the links between the nodes) between modules.
3305+ :)
3306+declare function z:edges_modules() as xs:string
3307+{
3308+let $edges :=
3309+ string-join(
3310+ for $edge in $z:edgesCollector//edge
3311+ where data($edge/@type) eq $z:typeModule
3312+ return concat(' ',$edge/@nameFrom,'->',$edge/@nameTo,'[tooltip="FROM: ',concat($edge/@uriFrom,', TO: ',$edge/@uriTo),'"]')
3313+,';
3314+')
3315+return
3316+ if($edges eq '') then ''
3317+ else concat($edges,';')
3318+};
3319+
3320+(:~
3321+ : Get all the edges (the links between the nodes) between modules and externall c++ libraries.
3322+ :)
3323+declare function z:edges_libraries() as xs:string
3324+{
3325+let $edges :=
3326+ string-join(
3327+ for $edge in $z:edgesCollector//edge
3328+ let $tok := tokenize(data($edge/@nameTo),'\|')
3329+ let $nodeLabel := replace(replace(tokenize($tok[1],' ')[1],'\+',''),"-","")
3330+ where data($edge/@type) eq $z:typeExternalLibrary
3331+ return concat(' ',$edge/@nameFrom,'->',$nodeLabel,'[tooltip="FROM: ',
3332+ concat($edge/@uriFrom,', TO: ',$nodeLabel)
3333+ ,'" color="red"]'),
3334+ ';
3335+')
3336+return
3337+ if($edges eq '') then ''
3338+ else concat($edges,';')
3339+};
3340+
3341+(:~
3342+ : Generate the cluster for the external c++ libraries.
3343+ :)
3344+declare function z:create_subgraph_libraries() as xs:string
3345+{
3346+ concat('
3347+
3348+ subgraph clusterExternalCPPLibs { style=filled; color=darksalmon; node [shape=box3d, color=red];
3349+ ',
3350+ z:nodes_external_libraries(),'
3351+
3352+',
3353+ z:edges_libraries(),'
3354+ label="External C++ Library dependencies"; }')
3355+};
3356+
3357+(:~
3358+ : Generate the cluster for a specific category.
3359+ :)
3360+declare function z:create_subgraph(
3361+ $category as xs:string,
3362+ $subGraphs as xs:string*) as xs:string
3363+{
3364+ concat('
3365+ subgraph cluster',
3366+ index-of($z:level1Weight, $category),
3367+ ' { style=filled; color=',$z:level1Colors[index-of($z:level1Weight,$category)],'; node [style="filled", color=white];
3368+ ',
3369+ z:create_subgraph-rec($category,
3370+ for $tmp in $subGraphs
3371+ where (starts-with($tmp, $category) and (contains($tmp,"/")))
3372+ return $tmp),'
3373+ ',
3374+z:nodes_modules($category),'
3375+',
3376+' label="',$category,'"; tooltip="',$category,'"}')
3377+};
3378+
3379+declare %private function z:create_subgraph-rec(
3380+ $category as xs:string,
3381+ $subGraphs as xs:string*
3382+ ) as xs:string
3383+{
3384+let $lSubGraphs := distinct-values( for $tmp in $subGraphs
3385+ return tokenize(substring-after($tmp, concat($category,"/")),"/")[1]
3386+ )
3387+return
3388+string-join(
3389+for $sg in $lSubGraphs
3390+let $newSg := concat($category,"/",$sg)
3391+return
3392+concat('
3393+ subgraph cluster',
3394+ translate($newSg," -./",""),'{ style=filled;
3395+ ',
3396+ z:create_subgraph-rec($newSg,
3397+ for $tmp in $subGraphs
3398+ where starts-with($tmp, $newSg)
3399+ return $tmp),'
3400+ ',
3401+z:nodes_modules($newSg),'
3402+',
3403+' label="',$sg,'"; tooltip="',$newSg,'"}'),'
3404+')
3405+};
3406+
3407+(:~
3408+ : Generate the BIG cluster.
3409+ :)
3410+declare function z:create_graph() as xs:string
3411+{
3412+let $subgraphs := z:get_subgraphs()
3413+return
3414+ concat('digraph G { penwidth=1; pencolor=black; label="Zorba modules dependency graph"; tooltip="Zorba modules dependency graph"
3415+' ,
3416+ string-join(
3417+ for $cat1 in $z:level1Weight
3418+ return z:create_subgraph( $cat1,
3419+ for $val in $subgraphs
3420+ where starts-with($val, $cat1)
3421+ return $val
3422+ )
3423+ ,('
3424+ ')), z:create_subgraph_libraries()
3425+ ,"
3426+
3427+",
3428+ z:edges_modules(),"
3429+ }"
3430+ )
3431+};
3432\ No newline at end of file
3433
3434=== modified file 'modules/com/zorba-xquery/www/modules/project_xqdoc.xq'
3435--- modules/com/zorba-xquery/www/modules/project_xqdoc.xq 2012-05-03 12:31:51 +0000
3436+++ modules/com/zorba-xquery/www/modules/project_xqdoc.xq 2012-05-18 15:41:19 +0000
3437@@ -70,8 +70,14 @@
3438 else ();
3439 };
3440
3441-declare %private %an:nondeterministic function pxqdoc:load-manifest(
3442- $zorbaManifestPath as xs:string)
3443+(:~
3444+ : This function loads the ZorbaManifest.xml
3445+ :
3446+ : @param $zorbaManifestPath location of ZorbaManifest.xml.
3447+ : @return the manifest.
3448+ :)
3449+declare %an:nondeterministic function pxqdoc:load-manifest(
3450+ $zorbaManifestPath as xs:string) as document-node()?
3451 {
3452 try
3453 {
3454
3455=== modified file 'modules/com/zorba-xquery/www/modules/xqdoc2xhtml/index.xq'
3456--- modules/com/zorba-xquery/www/modules/xqdoc2xhtml/index.xq 2012-05-03 12:31:51 +0000
3457+++ modules/com/zorba-xquery/www/modules/xqdoc2xhtml/index.xq 2012-05-18 15:41:19 +0000
3458@@ -199,28 +199,14 @@
3459
3460 };
3461
3462-(:~
3463- : Returns the URI of the module given the passed <pre>$folderPath</pre> using
3464- : the Zorba URI resolving mechanism.
3465- :
3466- : @param $folderPath the folder path.
3467- : @return the URI of the module.
3468- :)
3469- (:
3470-declare %private function xqdoc2html:get-URI-from-location($folderPath as xs:string) as xs:string {
3471- let $tok := tokenize($folderPath, fn:concat("\",file:directory-separator()))
3472- return
3473- fn:concat('http://', $tok[3],'.', $tok[2],'.', $tok[1], substring-after($folderPath, $tok[3]))
3474-};
3475-:)
3476-
3477-(:~ Returns the string resulting from replacing the directory-separators (i.e. / ) with '_'
3478+(:~
3479+ : Returns the string resulting from replacing the directory-separators (i.e. // ) with '_'
3480 :
3481 : @param $moduleURI the path to the module URI.
3482- : @return the string resulting from replacing the directory-separators (i.e. / ) with '_'.
3483+ : @return the string resulting from replacing the directory-separators (i.e. // ) with '_'.
3484 :
3485 :)
3486-declare %private function xqdoc2html:get-filename($moduleURI as xs:string) as xs:string {
3487+declare function xqdoc2html:get-filename($moduleURI as xs:string) as xs:string {
3488 let $lmodule := if(fn:ends-with($moduleURI,"/")) then fn:concat($moduleURI,"index") else $moduleURI
3489 return
3490 replace(
3491@@ -419,6 +405,17 @@
3492
3493 dml:delete-nodes(dml:collection(xs:QName("xqdoc2html:collection")));
3494 ddl:delete(xs:QName("xqdoc2html:collection"));
3495+
3496+ (:delete modules_new.svg if it exists:)
3497+ variable $SVGGraph := fn:concat($xhtmlRequisitesPath,
3498+ file:directory-separator(),
3499+ "images",
3500+ file:directory-separator(),
3501+ "modules_new.svg");
3502+
3503+ if(file:exists($SVGGraph)) then
3504+ file:delete($SVGGraph);
3505+ else ();
3506 };
3507
3508 declare %private function xqdoc2html:get-project-root(

Subscribers

People subscribed via source and target branches