El archivo client_types.xml
El archivo client_types.xml proporciona el soporte de detección de clientes para servlets que amplían PageListServlet. Mediante la utilización de los datos de configuración del archivo tipos_clientes.xml, los servlets pueden determinar el tipo de lenguaje que el cliente que realiza la llamada necesita para la respuesta.
Con el soporte de detección de tipo de cliente los servlets pueden llamar a los archivos JSP (JavaServer Pages) correctos con el método callPage. Los servlets seleccionan archivos JSP según el tipo de lenguaje de marcación de la solicitud.
Los servlets deben utilizar la siguiente versión del método callPage para determinar el tipo de lenguaje que necesita el cliente:
callPage(String mlName, String pageName, HttpServletRequest request,
HttpServletResponse response)
donde los argumentos son:
- mlName: un tipo de lenguaje de marcación
- pageName: un nombre de página definido en la configuración de PageListServlet
- request: el objeto HttpServletRequest
- response: el objeto HttpServletResponse
Revise el ejemplo de extensión del código PageListServlet en Extensión de PageListServlet para ver cómo un servlet invoca el método callPage.
En el ejemplo, el método de detección del tipo de cliente, getMLTypeFromRequest(HttpServletRequestrequest request), que PageListServlet proporciona, inspecciona las cabeceras de solicitud del objeto HttpServletRequest y busca una coincidencia en el archivo client_types.xml.
El método de detección de tipo de cliente realiza lo siguiente:
- Utiliza la entrada HttpServletRequest y el archivo tipos_clientes.xml para comprobar la existencia de un nombre y valor de solicitud HTTP coincidentes.
- Si se encuentra una coincidencia, este método devuelve el valor del lenguaje de marcación configurado para el elemento <client-type>.
- Si se encuentran varias coincidencias, el método devuelve el lenguaje de marcación del primer elemento <client-type> para el que se ha encontrado una coincidencia.
- Si no se encuentra ninguna coincidencia, el método devuelve el valor del lenguaje de marcación de la página predeterminada definida en la configuración de PageListServlet.
Ubicación
El archivo tipos_clientes.xml se encuentra en el directorio raíz_instalación/properties.
Notas sobre la utilización
Revise las respuestas a las siguientes preguntas de uso:
- ¿Es este un archivo de sólo lectura?
No
- ¿Este archivo lo actualiza un componente del producto?
No
- Si es así, ¿qué activa su actualización?
Este archivo lo crean y actualizan manualmente los usuarios.
- ¿Cómo y cuándo se utiliza el contenido de este archivo?
Los servlets que son una ampliación de PageListServlet, utilizan este archivo para determinar el tipo de lenguaje que requieren para la respuesta a los clientes que efectúan la llamada.
Entrada de archivo de ejemplo
<?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.xml</value>
</request-header>
</client-type>
</clients>