Warning: include_once(/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php): failed to open stream: No such file or directory in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: include_once(): Failed opening '/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php' for inclusion (include_path='.:/opt/php/lib/php') in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp09/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2009 - Gruppe 1 - Xml-DTD

DTDs zu den Templates

Um die genaue Struktur der im XML-Format beschriebenen Daten festzulegen und somit die XML-Datei auf Validität zu prüfen, sind DTDs (Document Type Definitions) notwendig. Die DTD zum Template my_alliance.xml.erb

<?xml version="1.0"?>
 <alliance 
    alliance_id = '<%=@alliance.id%>'
    name= '<%=@alliance.name%>'
    leader_id='<%=@alliance.leader.id%>'
    leader= '<%=@alliance.leader.name%>'
    count = '<%= @alliance.members.count%>'
    iam_leader= '<%=@boo%>' >
 </alliance>

hat die folgende Gestalt:

<!ELEMENT alliance (#PCDATA) >
<!ATTLIST alliance alliance_id CDATA #REQUIRED >
<!ATTLIST alliance name CDATA #IMPLIED>
<!ATTLIST alliance leader_id CDATA #IMPLIED>
<!ATTLIST alliance leader CDATA #IMPLIED>
<!ATTLIST alliance count CDATA #IMPLIED>
<!ATTLIST alliance iam_leader CDATA #IMPLIED>

Da die Templates aus XML-Code mit embedded-ruby bestehen, können sie so nicht validiert werden. Daher muss man eine konkrete Ausprägung erzeugen, in diesem Fall mit dem Aufruf

http://server:port/alliance/my_alliance.xml

Die Ausgabe

<?xml version="1.0"?>
 <alliance 
     alliance_id = '22'
     name= 'mega Allianz'
     leader_id='6'
     leader= 'jama'
     count = '2'
     iam_leader= 'NO' >
 </alliance>

kann nun mit der DTD-Datei in einem XML-Validator wie beispielsweise Validome (http://www.validome.org/xml/validate/) auf Validität geprüft werden.


Page last modified on August 22, 2009, at 11:26 AM