94 lines
4.1 KiB
HTML
94 lines
4.1 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<LINK rel="stylesheet" type="text/css" href="../../../rzahg/ic.css">
|
|
|
|
<title>client_types.xml</title>
|
|
</head>
|
|
|
|
<BODY>
|
|
<!-- Java sync-link -->
|
|
<SCRIPT LANGUAGE="Javascript" SRC="../../../rzahg/synch.js" TYPE="text/javascript"></SCRIPT>
|
|
|
|
<h5><a name="servpxml"></a>client_types.xml</h5>
|
|
|
|
<p>The client_types.xml file provides client type detection support for servlets extending PageListServlet. Using the configuration data in the client_types.xml file, servlets can determine the language type that calling clients require for the response.</p>
|
|
|
|
<p>The client type detection support allows servlets to call appropriate JavaServer Pages (JSP) files with the callPage() method. Servlets select JSP files based on the markup-language type of the request.</p>
|
|
|
|
<p>Servlets must use the following version of the callPage() method to determine the markup language type required by the client:</p>
|
|
|
|
<pre> callPage(String <em>mlName</em>,
|
|
String <em>pageName</em>,
|
|
HttpServletRequest <em>request</em>,
|
|
HttpServletResponse <em>response</em>)</pre>
|
|
|
|
<p>where the arguments are:</p>
|
|
|
|
<ul>
|
|
<li><em>mlName</em> is a markup language type</li>
|
|
<li><em>pageName</em> is a page name that is defined in the PageListServlet configuration</li>
|
|
<li><em>request</em> is the HttpServletRequest object</li>
|
|
<li><em>response</em> is the HttpServletResponse object</li>
|
|
</ul>
|
|
|
|
<p>To see how the callPage() method is invoked by a servlet, see <a href="servpex.htm">Example: Extending PageListServlet</a>.</p>
|
|
|
|
<p>In the example, the client type detection method that is provided by the PageListServlet, getMLTypeFromRequest(HttpServletRequestrequest), inspects the HttpServletRequest object request headers and searches for a match in the client_types.xml file.</p>
|
|
|
|
<p>The client type detection method performs these functions:</p>
|
|
|
|
<ul>
|
|
<li>Uses the input HttpServletRequest and the client_types.xml file to check for a matching HTTP request name and value.</li>
|
|
<li>Returns the markup-language value configured for the <client-type> element, if a match is found.</li>
|
|
<li>If multiple matches are found, this method returns the markup language for the first <client-type> element for which a match is found.</li>
|
|
<li>If no match is found, returns the value of the markup language for the default page defined in the PageListServlet configuration.</li>
|
|
</ul>
|
|
|
|
<p>The client_types.xml file is located in the /QIBM/UserData/WebASE51/ASE/<em>instance</em>/properties directory, where <em>instance</em> is the name of your instance.</p>
|
|
|
|
<p><strong>Sample file entry</strong></p>
|
|
|
|
<pre> <?xml version="1.0"?>
|
|
|
|
<!DOCTYPE clients [
|
|
<!ELEMENT client-type (description,markup-language,request-header+)>
|
|
<!ELEMENT description (#PCDATA)>
|
|
<!ELEMENT markup-language (#PCDATA)>
|
|
<!ELEMENT request-header (name,value)>
|
|
<!ELEMENT clients (client-type+)>
|
|
<!ELEMENT name (#PCDATA)>
|
|
<!ELEMENT value (#PCDATA)>]>
|
|
|
|
<clients>
|
|
<client-type>
|
|
<description>IBM Speech Client</description>
|
|
<markup-language>VXML</markup-language>
|
|
<request-header>
|
|
<name>user-agent</name>
|
|
<value>IBM VoiceXML pre-release version 000303</value>
|
|
</request-header>
|
|
<request-header>
|
|
<name>accept</name>
|
|
<value>text/vxml</value>
|
|
</request-header>
|
|
</client-type>
|
|
<client-type>
|
|
<description>WML Browser</description>
|
|
<markup-language>WML</markup-language>
|
|
<request-header>
|
|
<name>accept</name>
|
|
<value>text/x-wap.wml</value>
|
|
</request-header>
|
|
<request-header>
|
|
<name>accept</name>
|
|
<value>text/vnd.wap.wml</value>
|
|
</request-header>
|
|
</client-type>
|
|
</clients></pre>
|
|
|
|
</body>
|
|
</html>
|
|
|