Responder HTML o XML
La salida de un programa DKL es un árbol XML, por lo tanto puede producirse HTML fácilmente como se muestra a continuación:
#include "dkli.dkh"
/* Establecer la declaración de tipo de documento
con base en la recomendación del w3c
https://www.w3.org/QA/2002/04/valid-dtd-list.html */
#set "meta-xml-declaration" "<!DOCTYPE html>\r\n"
// Contenido HTML codificado en DKL
html
{
head
{
title{$"Título de la página"}
}
body
{
h1{$"Encabezado"}
p{$"Párrafo de texto"}
}
}
Salida HTML
<!DOCTYPE html>
<html >
<head >
<title >
Título de la página
</title>
</head>
<body >
<h1 >
Encabezado
</h1>
<p >
Párrafo de texto
</p>
</body>
</html>
Del mismo modo, devolver XML se implementa así:
#include "dkli.dkh"
// Contenido XML codificado en DKL
xml //Siempre debe existir un único nodo raíz
{
#! //Conmutación de contexto (a IMPERATIVO)
@http_context<"response/headers/content-type">:"text/xml;charset=utf-8" //Establece encabezado de respuesta http
#$ //Conmutación de contexto (a DECLARARIVO)
cliente(nombre="Juan Pérez")
{
compras
{
compra(id="V001" fecha="2021-01-23" total="1992.5")
compra(id="V032" fecha="2021-02-03" total="4852")
}
}
}
Salida en el navegador