load('wortliste.xml'); $xml = new DOMDocument(); $xml->load('bereinigte_texte.xml'); $xpath_wortliste = new DOMXPath($wortliste); $xpath_xml = new DOMXPath($xml); switch ($aktion) { case "Eins lemmatisieren": $wort = $xpath_xml->query("//w[@xml:id = '$xml_id']"); $wort->item(0)->setAttribute("lemmaRef", "$lexer_id"); echo "Das Wort mit der ID $xml_id wurde erfolgreich zu $lexer_id lemmatisiert."; echo '
'; $wort = $xpath_wortliste->query("//eintrag[@id = '$xml_id']"); $wort->item(0)->setAttribute("lemmaRef", "$lexer_id"); break; case "Alle lemmatisieren": $woerter = $xpath_wortliste->query("//eintrag[text() = '$wortform']"); foreach ($woerter as $wort) { $wort->setAttribute("lemmaRef", "$lexer_id"); $id = $wort->getAttribute("id"); $wort_xml = $xpath_xml->query("//w[@xml:id = '$id']"); $wort_xml->item(0)->setAttribute("lemmaRef", "$lexer_id"); } break; case "Nicht lemmatisieren": $wort = $xpath_xml->query("//w[@xml:id = '$xml_id']"); $wort->item(0)->setAttribute("lemmaRef", ""); echo "Das Wort mit der ID $xml_id wurde nicht lemmatisiert."; echo '
'; $wort = $xpath_wortliste->query("//eintrag[@id = '$xml_id']"); $wort->item(0)->setAttribute("lemmaRef", ""); break; } $xml->save('bereinigte_texte.xml'); $wortliste->save('wortliste.xml'); unset($xml); unset($wortliste); unset($xpath_wortliste); unset($xpath_xml); } ?> load('wortliste.xml'); $xpath = new DOMXPath($wortliste); //Suche das erste nicht lemmatisierte Wort und rufe ID und Wortform ab. $woerter = $xpath->query("//eintrag[not(@lemmaRef)]"); if ($woerter->length == 0) { exit ("Alle Wörter wurden lemmatisiert."); } $xml_id = $woerter->item(0)->getAttribute('id'); $wortform = $woerter->item(0)->nodeValue; $id = intval(substr($xml_id, 2)); $anzahl_rest = $woerter->length; //Ausgabe der Informationen echo "Es sind noch $anzahl_rest Wörter übrig zum Lemmatisieren."; echo '
'; echo "Die XML-ID lautet: $xml_id"; echo '
'; echo "Die ID lautet: $id"; echo '
'; echo "Die Wortform lautet: $wortform"; echo '
'; echo "Der Kontext (10 Wörter links und rechts) lautet:"; //Zeige Kontext links for ($i = 10; $i > 0; $i--) { $vorgaenger_id = $id - $i; $vorgaenger_xml_id = "w_$vorgaenger_id"; $vorgaenger = $xpath->query("//eintrag[@id = '$vorgaenger_xml_id']"); if ( $vorgaenger->length != 0 ) { echo $vorgaenger->item(0)->nodeValue; echo ' '; } } ?> query("//eintrag[@id = '$nachfolger_xml_id']"); if ( $nachfolger->length != 0 ) { echo ' '; echo $nachfolger->item(0)->nodeValue; } } ?>