XML Harici Öğe Örneği

Bu örnekte XML kodu renklendirilmektedir. Bir harici öğe gönderimi eylemcisinin diğer belgeleri içermek ve çözümlemek amacıyla nasıl kullanıldığı gösterilmiştir. Bunun yanında, PI hedeflerinin ve bunları içeren kodun nasıl ele alınacağı da gösterilmiştir.

Bu örnek için kullanılan XML belgeler:

Örnek 1 - Harici Öğe Örneği

<?php
$file
= "xmltest.xml";

function
trustedFile($file)
{
// sadece sahibi olduğumuz yerel dosyalara güveniyoruz
if (!preg_match("@^([a-z][a-z0-9+.-]*)\:\/\/@i", $file)
&&
fileowner($file) == getmyuid()) {
return
true;
}
return
false;
}

function
startElement($parser, $name, $attribs)
{
echo
"&lt;<font color=\"#0000cc\">$name</font>";
if (
count($attribs)) {
foreach (
$attribs as $k => $v) {
echo
" <font color=\"#009900\">$k</font>=\"<font
color=\"#990000\">
$v</font>\"";
}
}
echo
"&gt;";
}

function
endElement($parser, $name)
{
echo
"&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function
characterData($parser, $data)
{
echo
"<b>$data</b>";
}

function
PIHandler($parser, $target, $data)
{
switch (
strtolower($target)) {
case
"php":
global
$parser_file;
// Çözümlenen belge "güvenilir" ise içerdiği PHP kodu da

Örnek 2 xmltest.xml

<?xml version='1.0'?> <!DOCTYPE chapter SYSTEM "/sadece/bir/test.dtd" [ <!ENTITY plainEntity "DNM öğesi"> <!ENTITY systemEntity SYSTEM "xmltest2.xml"> ]> <chapter> <TITLE>&plainEntity; başlığı</TITLE> <para> <informaltable> <tgroup cols="3"> <tbody> <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row> <row><entry>a2</entry><entry>c2</entry></row> <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row> </tbody> </tgroup> </informaltable> </para> &systemEntity; <section id="about"> <title>Belge hakkında/title> <para> <!-- Bu bir açıklama --> <?php echo 'Merhaba! PHP sürümü: ' . phpversion(); ?> </para> </section> </chapter>

xmltest.xml dosyasında içerilen dosya:

Örnek 3 xmltest2.xml

<?xml version="1.0"?> <!DOCTYPE foo [ <!ENTITY testEnt "deneme öğesi"> ]> <foo> <element attrib="value"/> &testEnt; <?php echo "Burada çalıştırılacak bir PHP kodu var."; ?> </foo>
To Top