-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxqdoc_conversion_doc.html
executable file
·182 lines (173 loc) · 8.27 KB
/
xqdoc_conversion_doc.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<html>
<head>
<title>xqDoc Documentation -- Conversion</title>
</head>
<body bgcolor="#FFFFFF" alink="#666666" vlink="#666666">
<!-- Output the Header -->
<table width="650" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<a href="index.html"><img src="logo.gif" border="0"/></a>
<br/>
<img src="line_1pixel_horizontal.gif" width="650" height="1"/>
</td>
</tr>
</table>
<p/>
<table width="650" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#DEDFE2" width="143" valign="top">
<br/>
<font face="Arial" size="+1"color="#4F5982">Project</font>
<br/>
<font face="Arial" color="#666666"> <a href="history.html" style="text-decoration:none">History</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="mission.html" style="text-decoration:none">Mission</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="quotes.html" style="text-decoration:none">Quotes</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="license.html" style="text-decoration:none">License</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="news.html" style="text-decoration:none">News</a></font>
<br/>
<p/>
<font face="Arial" size="+1" color="#4F5982">Related Efforts</font>
<br/>
<font face="Arial" color="#666666"> <a href="xquery-style.html" style="text-decoration:none">XQuery Style</a></font>
<br/>
<p/>
<font face="Arial" size="+1"color="#4F5982">Quick Start</font>
<br/>
<font face="Arial" color="#666666"> <a href="qs_general.html" style="text-decoration:none">General</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="qs_basex.html" style="text-decoration:none">BaseX</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="qs_exist.html" style="text-decoration:none">eXist</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="qs_marklogic.html" style="text-decoration:none">MarkLogic</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="qs_saxon.html" style="text-decoration:none">Saxon</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="qs_xquerydoc.html" style="text-decoration:none">xquerydoc</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="qs_zorba.html" style="text-decoration:none">Zorba</a></font>
<br/>
<p/>
<font face="Arial" size="+1"color="#4F5982">Documentation</font>
<br/>
<font face="Arial" color="#666666"> <a href="assumptions_doc.html" style="text-decoration:none">Assumptions</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="limitations_doc.html" style="text-decoration:none">Limitations</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="xqdoc_comments_doc.html" style="text-decoration:none">xqDoc Comments</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="xqdoc_schema_doc.html" style="text-decoration:none">xqDoc Schema</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="xqdoc_conversion_doc.html" style="text-decoration:none">xqDoc Conversion</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="xqdoc_display_doc.html" style="text-decoration:none">xqDoc Display</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="xqdoc_drivers_doc.html" style="text-decoration:none">xqDoc Drivers</a></font>
<br/>
<p/>
<font face="Arial" size="+1"color="#4F5982">Downloads</font>
<br/>
<font face="Arial" color="#666666"> <a href="binaries.html" style="text-decoration:none">Binaries</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="source.html" style="text-decoration:none">Source</a></font>
<br/>
<p/>
<font face="Arial" size="+1"color="#4F5982">Sample Output</font>
<br/>
<font face="Arial" color="#666666"> <a href="basic.html" style="text-decoration:none">xqDoc Basic</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="standard.html" style="text-decoration:none">xqDoc Standard</a></font>
<br/>
<font face="Arial" color="#666666"> <a href="enhanced.html" style="text-decoration:none">xqDoc Enhanced</a></font>
<br/>
<p/>
<font face="Arial" size="+1"color="#4F5982">Credits</font>
<br/>
<font face="Arial" color="#666666"> <a href="who_we_are.html" style="text-decoration:none">Who We Are</a></font>
<br/>
</td>
<!-- Spacer -->
<td width="5"/>
<!-- Vertical Line-->
<td width="2" bgcolor="#4F5982"/>
<td width="500" valign="top">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<img src="line_1pixel_horizontal.gif" width="350" height="1"/>
</td>
<td align="middle" width="150">
<font face="Arial" color="#4F5982" size="+1"><i>xqDoc Conversion</i></font>
</td>
</tr>
</table>
<p/>
<table width="500" border="0" cellspacing="5" cellpadding="5">
<tr>
<td>
<font face="Arial" color="#666666">
The xqDoc conversion package is a collection of vendor neutral Java classes with the sole responsibility of
converting valid XQuery library modules and main modules into xqDoc XML. The package leverages the open source <a href="http://www.antlr.org">ANTLR</a>
parser to assist with the processing of XQuery library modules and main modules. There are some key
<a href="assumptions_doc.html">assumptions</a> and <a href="limitations_doc.html">limitations</a>
associated with the xqDoc conversion package that have been documented.
<p/>
The following is a brief description for the major classes contained in the xqDoc conversion package
and their basic interactions with one another and the outside world.
<p/>
<br/>
<b>XQDocController</b>
<p/>
This is the class that drivers will use to process a library module or main module. Drivers will
have the ability to set 'predefined' namespace and prefix mappings as well as a default function
namespace. After a driver invokes the process() method in XQDocController, the controller will create
the supporting cast of objects including the XQDocContext (the context) and XQDocParser (the parser). The
controller will then pass control to the parser (after setting the context in the parser) to begin processing the module.
When the parser is finished processing the module, the controller will call a method in the context to set
the generated xqDoc XML and xqDoc URI in the XQDocPayload and return the payload to the driver.
<p/>
<br/>
<b>XQDocContext</b>
<p/>
This class is created and initialized by the controller. It is then passed to the parser where the
parser will make periodic callbacks that will set variables in the context. When called by the controller
(after the parser is finished processing the module) the context will then create the XQDocXML class and invoke methods to generate the xqDoc XML.
Finally, the context will create the XQDocPayload and set the generated xqDoc XML and xqDoc URI
in this payload. This payload is then returned to the driver (via the controller).
<p/>
<br/>
<b>XQDocPayload</b>
<p/>
This is the 'container' class that will hold the response returned from the controller to the driver. The
payload (set by the context) will consist of the generated xqDoc XML and the xqDoc URI. Although not required, the driver should then store the xqDoc
XML into the vendor specific XML database with the associated xqDoc URI or the filesystem with an appropriate filename.
<p/>
<br/>
<b>XQDocXML</b>
<p/>
This is the class that knows how to generate xqDoc XML. The context will create and invoke various methods (and
supply the necessary information) to enable this class to construct the xqDoc XML.
<p/>
<br/>
<b>XQDocParser</b>
<p/>
This is the ANTLR generated class (addressed by this interface) that will actually parse the library
and main modules. While processing the module, the parser will make periodic callbacks to the context.
These callbacks will set variables in the context that will subsequently enable XQDocXML to generate
the xqDoc XML.
<p/>
<br/>
The <a target="javadoc" href="javadoc/conversion/index.html">javadoc</a> or <a href="source.html">source</a> for
the xqDoc conversion package is a great resource for uncovering further details about the classes contained
in this package.
</font>
</td>
</tr>
</table>
</body>
</html>