Hier wird gezeigt, wie man eine XM-Sitemap anlegen kann. Voraussetzung ist das man den Stattic-Builder einsetzt und hiermit die Datei linkliste.html erzeugt.
Diese Datei dient als Grundlage um die XML-Datei zu erzeugen.
Wir legen dazu eine Informationseite an. Die Vorlage für diese Seite enthält nur zwei Zeilen:
<!--spmacro:include(xmlsm.ipl)-->
__xmlsm::generate__
Die eingebundene xmlsm.ipl erzeugt die XML-Ausgabe.
Hier der Code von xmlsm.ipl
<!--spmacro:module(xmlsm)
## Vom Static Builder erzeugte Linkliste
## Pfad relativ zum Scriptverzeichnis
my $m_linkliste = "../../linkliste.html";
sub generate {
open(LINKS, "<$m_linkliste");
my @lines = <LINKS>;
close (LINKS);
my @links;
my @ausgaben;
my $ln;
my $html;
foreach my $ln (@lines) {
$ln =~ s/\r//g;
$ln =~ s/\n//g;
$html .= $ln;
}
@lines = ();
@lines = split(/<br>/, $html);
foreach my $ln (@lines) {
if ($ln =~ /^.*"(.*\.html)".*>(.*)<\/a>/i) {
if ($1 ne '') {
push(@ausgaben,$1);
}
}
}
my $out = qq{<?xml version="1.0" encoding="ISO-8859-1"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">};
for (my $i = 0; $i <= $#ausgaben; $i++) {
$out .= qq{<url>
<loc>$ausgaben[$i]</loc>
<lastmod>2010-01-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
};
++$i;
}
$out .= qq{
</urlset>};
main::mprint($out);
}
-->