RDF für LVInfo

This commit is contained in:
Andreas Österreicher
2007-04-25 12:19:51 +00:00
parent 45a9c4a985
commit 6b5b0b5404
2 changed files with 180 additions and 10 deletions
+41 -10
View File
@@ -1,7 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head></head>
<body>
<h1 style="text-align: center;">RDF-Spezifikationen am Technikum Wien</h1>
<br>
@@ -55,9 +54,7 @@ Attribute:</span><br>
<h2>Lehrstunde</h2>
<span style="font-weight: bold;">Aufruf:</span>
lehrstunde.rdf.php?datum=...&amp;datum_bis=...stg_kz=...&amp;sem=...&amp;ver=...&amp;grp=...&amp;einheit=...<br>
Beispiel: <a target="_blank"
href="lehrstunde.rdf.php?datum=2006-03-20&amp;stg_kz=258">lehrstunde.rdf.php?datum=2006-03-20&amp;stg_kz=258</a><span
style="font-weight: bold;"><br>
Beispiel: <a target="_blank" href="lehrstunde.rdf.php?datum=2006-03-20&amp;stg_kz=258">lehrstunde.rdf.php?datum=2006-03-20&amp;stg_kz=258</a><span style="font-weight: bold;"><br>
<br>
Parameter</span>: <br>
<ul>
@@ -93,8 +90,42 @@ Attribute:</span><br>
<li>lehrform</li>
<li>studiengang</li>
<li>farbe</li>
<li>anmerkung<br>
<li>anmerkung</li>
</ul><br>
<h2>LVInfo</h2>
<span style="font-weight: bold;">Aufruf:</span> lvinfo.rdf.php?stg_kz=...&amp;semester=...<br>
Beispiel: <a target="_blank" href="lvinfo.rdf.php?stg_kz=258&amp;semester=2">lvinfo.rdf.php?stg_kz=258&amp;semester=2</a><span style="font-weight: bold;"><br>
<br>
Parameter</span>: <br>
<ul>
<li>stg_kz</li><li>semester (optional)<br>
</li>
</ul>
</body>
</html>
<span style="font-weight: bold;">
Attribute:</span><br>
<ul>
<li>lehrveranstaltung_id</li>
<li>kurzbz</li>
<li>bezeichnung</li>
<li>studiengang_kz</li>
<li>semester</li>
<li>unterrichtssprache</li>
<li>ects</li>
<li>semesterstunden</li>
<li>sprache</li>
<li>titel</li>
<li>lehrziele</li>
<li>lehrinhalte</li>
<li>methodik</li>
<li>voraussetzungen</li>
<li>unterlagen</li>
<li>pruefungsordnung</li>
<li>anmerkungen</li>
<li>kurzbeschreibung</li>
</ul>
</body></html>
+139
View File
@@ -0,0 +1,139 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$rdf_url='http://www.technikum-wien.at/lvinfo';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:LVINFO="<?php echo $rdf_url; ?>/rdf#"
>
<?php
if(isset($_GET['stg_kz']) && is_numeric($_GET['stg_kz']))
$stg_kz=$_GET['stg_kz'];
else
die('Studiengang ist ungueltig');
if(isset($_GET['semester']))
if(is_numeric($_GET['semester']))
$sem = $_GET['semester'];
else
die('Semester muss eine gueltige Zahl sein');
else
unset($sem);
$qry = "SET CLIENT_ENCODING to 'UNICODE';
SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id as lv_lehrveranstaltung_id,
tbl_lehrveranstaltung.kurzbz as lv_kurzbz,
tbl_lehrveranstaltung.bezeichnung as lv_bezeichnung,
tbl_lehrveranstaltung.studiengang_kz as lv_studiengang_kz,
tbl_lehrveranstaltung.semester as lv_semester,
tbl_lehrveranstaltung.sprache as unterrichtssprache,
tbl_lehrveranstaltung.ects as ects,
tbl_lehrveranstaltung.semesterstunden as lv_semesterstunden,
tbl_lvinfo.*
FROM lehre.tbl_lehrveranstaltung JOIN campus.tbl_lvinfo USING(lehrveranstaltung_id)
WHERE
tbl_lehrveranstaltung.aktiv=true AND
tbl_lehrveranstaltung.lehre=true AND
tbl_lvinfo.aktiv=true AND
tbl_lvinfo.genehmigt=true AND
tbl_lehrveranstaltung.studiengang_kz='$stg_kz'";
if(isset($sem))
$qry .= " AND tbl_lehrveranstaltung.semester='$sem'";
$qry .= "ORDER BY lv_studiengang_kz, lv_semester, lv_kurzbz, sprache";
if($result = pg_query($conn, $qry))
{
$arr = array();
while($row = pg_fetch_object($result))
{
?>
<RDF:Description id="<?php echo $row->lv_lehrveranstaltung_id.'/'.$row->sprache; ?>" about="<?php echo $rdf_url.'/'.$row->lv_lehrveranstaltung_id.'/'.$row->sprache; ?>" >
<LVINFO:lehrveranstaltung_id><![CDATA[<?php echo $row->lv_lehrveranstaltung_id; ?>]]></LVINFO:lehrveranstaltung_id>
<LVINFO:kurzbz><![CDATA[<?php echo $row->lv_kurzbz; ?>]]></LVINFO:kurzbz>
<LVINFO:bezeichnung><![CDATA[<?php echo $row->lv_bezeichnung; ?>]]></LVINFO:bezeichnung>
<LVINFO:studiengang_kz><![CDATA[<?php echo $row->lv_studiengang_kz; ?>]]></LVINFO:studiengang_kz>
<LVINFO:semester><![CDATA[<?php echo $row->lv_semester; ?>]]></LVINFO:semester>
<LVINFO:unterrichtssprache><![CDATA[<?php echo $row->unterrichtssprache; ?>]]></LVINFO:unterrichtssprache>
<LVINFO:ects><![CDATA[<?php echo $row->ects; ?>]]></LVINFO:ects>
<LVINFO:semesterstunden><![CDATA[<?php echo $row->lv_semesterstunden; ?>]]></LVINFO:semesterstunden>
<LVINFO:sprache><![CDATA[<?php echo $row->sprache; ?>]]></LVINFO:sprache>
<LVINFO:titel><![CDATA[<?php echo $row->titel; ?>]]></LVINFO:titel>
<LVINFO:lehrziele><![CDATA[<?php echo $row->lehrziele; ?>]]></LVINFO:lehrziele>
<LVINFO:lehrinhalte><![CDATA[<?php echo $row->lehrinhalte; ?>]]></LVINFO:lehrinhalte>
<LVINFO:methodik><![CDATA[<?php echo $row->methodik; ?>]]></LVINFO:methodik>
<LVINFO:voraussetzungen><![CDATA[<?php echo $row->voraussetzungen; ?>]]></LVINFO:voraussetzungen>
<LVINFO:unterlagen><![CDATA[<?php echo $row->unterlagen; ?>]]></LVINFO:unterlagen>
<LVINFO:pruefungsordnung><![CDATA[<?php echo $row->pruefungsordnung; ?>]]></LVINFO:pruefungsordnung>
<LVINFO:anmerkungen><![CDATA[<?php echo $row->anmerkungen; ?>]]></LVINFO:anmerkungen>
<LVINFO:kurzbeschreibung><![CDATA[<?php echo $row->kurzbeschreibung; ?>]]></LVINFO:kurzbeschreibung>
</RDF:Description>
<?php
$arr[$row->lv_studiengang_kz][$row->lv_semester][$row->lv_lehrveranstaltung_id][$row->sprache]=$row->lv_lehrveranstaltung_id.'/'.$row->sprache;
}
//Hierarchie hinausschreiben
echo '<RDF:Seq about="'.$rdf_url.'/liste"> '."\n";
foreach ($arr as $stg=>$stgitem)
{
echo '<RDF:li>'."\n\t".'<RDF:Seq about="'.$stg.'">'."\n";
foreach ($stgitem as $sem=>$semitem)
{
echo "\t".'<RDF:li>'."\n\t\t".'<RDF:Seq about="'.$stg.'/'.$sem.'">'."\n";
foreach ($semitem as $lvid=>$lvitem)
{
echo "\t\t<RDF:li>\n\t\t\t".'<RDF:Seq about="'.$rdf_url.'/'.$lvid.'" >'."\n";
foreach ($lvitem as $sprache=>$spracheitem)
{
echo "\t\t\t\t".'<RDF:li resource="'.$rdf_url.'/'.$lvid.'/'.$sprache.'" />'."\n";
}
echo "\t\t\t".'</RDF:Seq>'."\n\t\t".'</RDF:li>'."\n";
}
echo "\t\t</RDF:Seq>\n\t</RDF:li>\n";
}
echo "\t</RDF:Seq>\n</RDF:li>\n";
}
echo "</RDF:Seq>\n";
}
?>
</RDF:RDF>