OGUZHANPW
Onlar ABC'yi öğrettiler ama DEF'yi biz öğrendik.
- Mesajlar
- 42
- En iyi cevaplar
- 0
- Beğeniler
- 20
- Puanları
- 0
Öncelikle, Bu makalemde xenforo da kullanılan <xen:if> ve xsd dosya türünde <xsd:eif> vb. elementlerin nasıl yapıldığı ve internette bulunamayan php içerisinde ister veritabanından ister düz xml yazaraktan <xxx:element> vb. kodların nasıl yazıldığını göstereceğim..
PHP:
<?php
$xsdstring = <<<XML
<?xml version="1.0" encoding="ISO-8859-1" ?>
<opw:schema xmlns:opw="http://www.w3.org/2001/XMLSchema">
<opw:element name="1">
<opw:alt>
<opw:element name="1.1" type="opw:string"/>
<opw:element name="1.2">
<opw:alt>
<opw:element name="1.2.1"/>
<opw:element name="1.2.2"/>
<opw:element name="1.2.3"/>
<opw:element name="1.2.4"/>
</opw:alt>
</opw:element>
<opw:degisken>
<opw:if ifname="deger"/>
</opw:degisken>
</opw:alt>
</opw:element>
</opw:schema>
XML;
$doc = new DOMDocument();
$doc->loadXML(mb_convert_encoding($xsdstring, 'utf-8', mb_detect_encoding($xsdstring)));
$xpath = new DOMXPath($doc);
$xpath->registerNamespace('opw', 'http://www.w3.org/2001/XMLSchema');
function echoElements($indent, $elementDef) {
global $doc, $xpath;
echo "<b>".$indent.$elementDef->getAttribute('name')."</b><br><br>";
$elementDefs = $xpath->evaluate("opw:alt/opw:element", $elementDef);
foreach($elementDefs as $elementDef) {
echoElements($indent . " ", $elementDef);
}
}
$elementDefs = $xpath->evaluate("/opw:schema/opw:element");
foreach($elementDefs as $elementDef) {
echoElements("", $elementDef);
}
function echoifElements($indents, $elementDefsss) {
global $doc, $xpath;
echo "<font style='color:red;'>".$indents.$elementDefsss->getAttribute('ifname')."</font><br><br>";
$elementDefss = $xpath->evaluate("opw:alt/opw:degisken/opw:if", $elementDefsss);
foreach($elementDefss as $elementDefsss) {
echoifElements($indents . " ", $elementDefsss);
}
}
$elementDefss = $xpath->evaluate("/opw:schema/opw:element");
foreach($elementDefss as $elementDefsss) {
echoifElements("", $elementDefsss);
}
?>
Yukarıdaki belirttiğim php kodu içerisinde ben opw kullandım. Eğer notepad++ programını kullanıyor iseniz CTRL+F tuşlarına basarak önünüze çıkan pencereden değiştir sekmesine basarak aranan bölümüne opw, değiştir bölümüne ise istediğinizi yazabilirsiniz. Fakat değiştir bölümüne u, ğ, ü, ö gibi harfler kullanmamaya dikkat edelim çünkü hata çıkabiliyor.
Yukarıda vermiş olduğum php kodu içerisinde eğer bilmiyor iseniz kodu boşluk anlamına gelmektedir.
Verdiğim veriyi test etmek için buraya tıklayabilirsiniz.
___
Yukarıda vermiş olduğum php kodu içerisinde eğer bilmiyor iseniz kodu boşluk anlamına gelmektedir.
Verdiğim veriyi test etmek için buraya tıklayabilirsiniz.
___