Funciones para la creación automática de sitemaps en lenguaje Xml.
Las funciones de esta página están ordenadas de forma alfabética por las diferentes gramáticas del lenguaje Tol (
Text, Set, Serie, Anything, Code, Date, Real,...) y,
dentro de cada gramática, por el nombre de la función.
Pueden encontrarse 2 o más funciones con idéntico nombre,
pero con distintas maneras de programarse o con diferentes comentarios en diferentes idiomas,
estas funciones aparecerán unas a continuación de las otras.
//////////////////////////////////////////////////////////////////////////////
Real XsmDir(Text xsmFil, // Fichero de salida
Text dirPth, // Directorio a explorar
Text urlDom) // Dominio con /, ie. http://www.omrforms.es/
//////////////////////////////////////////////////////////////////////////////
{
Text WriteLn("Output file: "+xsmFil+"\n"+
"Input path: "+dirPth+"\n"+
"Domain: "+urlDom);
Set setDir = EvalSet(XsmTyp, Set(Text filExt) // htm, html, pdf,...
{
Text WriteLn("Get files for: "+filExt);
DirExtAll(dirPth, filExt, TRUE, TRUE)
});
Set getDir = BinGroup("<<", setDir);
Text WriteLn("Init Xml site map");
Text WriteFile(xsmFil, ReplaceTable(XsmHea, // Domain and date
[[ [["DOM",urlDom]] ]] << XsmDateRepTab(Now)));
Text WriteLn("Exclusions, not "+XsmExc);
Set getSel = Select(getDir, Real(Text pth) { !TextFind(pth, XsmExc) });
Set filCic = EvalSet(getSel, Real(Text filPth)
{
Text filUrl = Replace(filPth, "web/", urlDom);
Date filDte = FileTime(filPth);
Set repTab = XsmDateRepTab(filDte) <<
[[
[[ "URL", filUrl ]]
]];
Text AppendFile(xsmFil, ReplaceTable(XsmUrl, repTab));
TRUE
});
Text AppendFile(xsmFil, XsmEnd);
Text WriteLn("Xml site map: "+F(Card(filCic))+" pages");
Card(filCic)
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(
"Crea un sitemap con el contenido de un directorio, retorna el numero de
ficheros includos en el sitemap.",
XsmDir);
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Set XsmDateRepTab(Date dteFil) // Fecha con segundo de un fichero
//////////////////////////////////////////////////////////////////////////////
{
// 123456789.123456789.
// y2005m07d20h17i40s35.00
Text dteTxt = FormatDate(dteFil, "%cy%Ym%md%d%uh%hi%is%s");
[[ SetOfText("YEA", Sub(dteTxt, 2, 5)),
SetOfText("MTH", Sub(dteTxt, 7, 8)),
SetOfText("DAY", Sub(dteTxt, 10, 11)),
SetOfText("HOU", Sub(dteTxt, 13, 14)),
SetOfText("MIN", Sub(dteTxt, 16, 17)),
SetOfText("SEC", Sub(dteTxt, 19, 20)),
SetOfText("'", Char(34) )
]]
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(
"Retorna una tabla de reemplazamientos para las fechas.",
XsmDateRepTab);
//////////////////////////////////////////////////////////////////////////////
2015 asolver.com | Aviso legal | XHTML | Δ Θ Ξ | Creative Commons | Mapa y funciones del sitio