The transformation rule called extractLoginFormAndMenus (line 5) is
defined by an xquery
element. This element has one optional attribute named
preTransform (line 6). By setting it to true (which is the default value), the input
data is then considered to be not well-formed XML (i.e., HTML) and will be converted to (well-formed) XHTML content (i.e., a process often called tidying) before the XQuery stylesheet is applied.
As we did not want to implement the XQuery script directly in the rule-body, we use the
import element (i.e.,
import
) which allows the specification of an external
XQuery stylesheet file - i.e., gmx2html-table.xql, line 7) to be imported.
The complete listing of this script can be found in the appendix (see figure A.3).
It is similar to the script used for content-adaption for mobile clients,
but it does not only deliver the login form.
In addition, it shows some ''important'' menus and produces HTML-code instead of WML-output.
The extractLoginForm-transformation-rule is also implemented as XQuery-script.
This time, the xquery element has one child named script
(e.g., lines 13-28). This element indicates that the XQuery script
is implemented directly in the rule database
The XQuery-code (lines 15-26) is implemented quite straightforward: First an HTML-form with the name ''login''
is extracted. Then it is wrapped into a WML card element and finally presented
as WML-document (wml
!DOCTYPE wml...).
Because WAP browsers do check the Content-Type header field and will produce
an error message whenever HTML-content is detected, it is required to change the value
of this field to indicate that WML-content is delivered (i.e., text/vnd.wap.wml, line 11).
Figures 3.5 and 3.4 show screenshots of the transformations
as seen on a traditional browser and a WAP phone.
Suppose that the information being extracted from the web page is large
and needs to be split over a number of smaller pages. In this case, the splitting
elements
foxy:group
and
foxy:subgroup
are ''inserted'' into the extracted
content by means of XQuery or XSL instructions. The
layoutPage
-element can then be
used within the rule implementations to browse between the resulting page splits.
Note that in web sites which use a common layout (i.e., corporate identity),
FOXY is especially effective because the same HTTP-request pattern and transformation
rules can be applied to a large number of web pages.
![]() |
root 2006-05-22