DOM XML (PHP 4)
PHP Manual

DOM XML (PHP 4) İşlevleri

Kullanımı Önerilmeyen İşlevler

DOM standardına uygun olmayan bir kaç işlev bulunmakta olup artık kullanılmamaları gerekir. Bu işlevler aşağıdaki tabloda listelenmiştir. DomNode_append_child() işlevinin davranışı değişmiştir. Artık bir kardeş değil bir çocuk düğüm eklemektedir. Bu durum uygulamanızın davranışını bozuyorsa, bu işlev yerine bir DOM işlevi olmayan DomNode_append_sibling() işlevini kullanın.

Önerilmeyen işlevler ve eşdeğerleri
Eski işlev Yeni işlev
xmldoc() domxml_open_mem()
xmldocfile() domxml_open_file()
domxml_new_xmldoc() domxml_new_doc()
domxml_dump_mem() DomDocument::dump_mem()
domxml_dump_mem_file() DomDocument::dump_file()
DomDocument_dump_mem_file() DomDocument::dump_file()
DomDocument_add_root() DomDocument::create_element() işlevinden sonra DomNode::append_child()
DomDocument_dtd() DomDocument::doctype()
DomDocument_root() DomDocument::document_element()
DomDocument_children() DomNode::child_nodes()
DomDocument_imported_node() Karşılığı yoktur.
DomNode_add_child() Örneğin, DomDocument::create_element() ile yeni bir düğüm oluşturup çocuk düğümü DomNode::append_child() ile ekleyin.
DomNode_children() DomNode::child_nodes()
DomNode_parent() DomNode::parent_node()
DomNode_new_child() Örneğin, DomDocument::create_element() ile yeni bir düğüm oluşturup çocuk düğümü DomNode::append_child() ile ekleyin.
DomNode_set_content() Örneğin, DomDocument::create_text_node() ile yeni bir düğüm oluşturup çocuk düğümü DomNode::append_child() ile ekleyin.
DomNode_get_content() İçerik bir metin düğümü olup içeriğe DomNode::child_nodes() ile erişilebilir.
DomNode_set_content() İçerik bir metin düğümü olup DomNode::child_nodes() işlevi ile eklenebilir.

Sınıflar

Modül arayüzü 2. seviye DOM standardına mümkün olduğunca uygun olup arayüz tamamen nesne yönelimlidir. Bu modülü kullanabilmek için DOM standardını bilmeniz iyi olacaktır. Arayüz nesne yönelimli olsa da ilk değiştirgesinde nesneyi aktarmak suretiyle kullanılabilen nesne yönelimli olmayan bazı işlevler de vardır. Bu işlevler esas olarak, eklentinin eski sürümlerine uyumluluk için vardır ve yeni betiklerde kullanılmamalıdır.

Bu arayüz DOM arayüzünden iki bakımdan farklıdır. İlki, tüm sınıf özellikleri aynı isimde birer işlev olarak gerçeklenmiştir. İkinci fark ise, işlev isimlerinin PHP isimlendirme kurallarına göre verilmiş olmasıdır. Yani, örneğin, lastChild() DOM işlevi last_child() adıyla gerçeklenmiştir.

Bu modülde tanımlanan sınıflar ve yöntemleri aşağıdaki tablolarda listelenmiştir. DOM standardına eşdeğer sınıflar DOMxxx biçeminde isimlendirilmiştir.

Sınıf listesi
Sınıf ismi Ebeveyn sınıflar
DomAttribute DomNode
DomCData DomNode
DomComment DomCData :
DomDocument DomNode
DomDocumentType DomNode
DomElement DomNode
DomEntity DomNode
DomEntityReference DomNode
DomProcessingInstruction DomNode
DomText DomCData : DomNode
Parser DomParser
XPathContext  

DomDocument sınıfı (DomDocument : DomNode)
Yöntem ismi İşlev ismi Açıklama
DomDocument::doctype DomDocument_doctype()  
DomDocument::document_element DomDocument_document_element()  
DomDocument::create_element DomDocument_create_element()  
DomDocument::create_text_node DomDocument_create_text_node()  
DomDocument::create_comment DomDocument_create_comment()  
DomDocument::create_cdata_section DomDocument_create_cdata_section()  
DomDocument::create_processing_instruction DomDocument_create_processing_instruction()  
DomDocument::create_attribute DomDocument_create_attribute()  
DomDocument::create_entity_reference DomDocument_create_entity_reference()  
DomDocument::get_elements_by_tagname DomDocument_get_elements_by_tagname()  
DomDocument::get_element_by_id DomDocument_get_element_by_id()  
DomDocument::dump_mem DomDocument_dump_mem() DOM standardı değil
DomDocument::dump_file DomDocument_dump_file() DOM standardı değil
DomDocument::html_dump_mem DomDocument_html_dump_mem() DOM standardı değil
DomDocument::xpath_init xpath_init() DOM standardı değil
DomDocument::xpath_new_context xpath_new_context() DOM standardı değil
DomDocument::xptr_new_context xptr_new_context() DOM standardı değil

DomElement sınıfı (DomElement : DomNode)
Yöntem ismi İşlev ismi Açıklama
DomElement::tagname DomElement_tagname()  
DomElement::get_attribute DomElement_get_attribute()  
DomElement::set_attribute DomElement_set_attribute()  
DomElement::remove_attribute DomElement_remove_attribute()  
DomElement::get_attribute_node DomElement_get_attribute_node()  
DomElement::set_attribute_node DomElement_set_attribute_node()  
DomElement::get_elements_by_tagname DomElement_get_elements_by_tagname()  
DomElement::has_attribute DomElement_has_attribute()  

DomNode sınıfı
Yöntem ismi Açıklama
DomNode::node_name()  
DomNode::node_value()  
DomNode::node_type()  
DomNode::last_child()  
DomNode::first_child()  
DomNode::child_nodes()  
DomNode::previous_sibling()  
DomNode::next_sibling()  
DomNode::parent_node()  
DomNode::owner_document()  
DomNode::insert_before()  
DomNode::append_child()  
DomNode::append_sibling() DOM standardı değil. Bu yöntem DomNode::append_child() yönteminin davranışını taklit eder.
DomNode::remove_child()  
DomNode::has_child_nodes()  
DomNode::has_attributes()  
DomNode::clone_node()  
DomNode::attributes()  
DomNode::unlink_node() DOM standardı değil
DomNode::replace_node() DOM standardı değil
DomNode::set_content() DOM standardı değil, kullanımı önerilmiyor.
DomNode::get_content() DOM standardı değil, kullanımı önerilmiyor.
DomNode::dump_node() DOM standardı değil
DomNode::is_blank_node() DOM standardı değil

DomAttribute sınıfı (DomAttribute : DomNode)
Yöntem ismi İşlev ismi Remark
DomAttribute::name() DomAttribute_name()  
DomAttribute::value() DomAttribute_value()  
DomAttribute::specified() DomAttribute_specified()  

DomProcessingInstruction sınıfı (DomProcessingInstruction : DomNode)
Yöntem ismi İşlev ismi Açıklama
DomProcessingInstruction::target() DomProcessingInstruction_target()  
DomProcessingInstruction::data() DomProcessingInstruction_data()  

Parser sınıfı
Yöntem ismi İşlev ismi Açıklama
Parser::add_chunk() Parser_add_chunk()  
Parser::end() Parser_end()  

XPathContext sınıfı
Yöntem ismi İşlev ismi Açıklama
XPathContext:eval() XPathContext_eval()  
XPathContext::eval_expression() XPathContext_eval_expression()  
XPathContext::register_ns() XPathContext_register_ns()  

DomDocumentType sınıfı (DomDocumentType : DomNode)
Yöntem ismi İşlev ismi Açıklama
DomDocumentType::name() DomDocumentType_name()  
DomDocumentType::entities() DomDocumentType_entities()  
DomDocumentType::notations() DomDocumentType_notations()  
DomDocumentType::public_id() DomDocumentType_public_id()  
DomDocumentType::system_id() DomDocumentType_system_id()  
DomDocumentType::internal_subset() DomDocumentType_internal_subset()  

DomDtd sınıfı DomNode sınıfından, DomComment sınıfı ise DomCData sınıfından türetilmiştir.

Örnekler

Bu eklentinin belgelerindeki pek çok örnek bir XML dizge gerektirir. Bu dizgeyi her örnekte yinelemek yerine bir dosyaya konup, her örnekte bu dosya içerilmiştir. Bu dosyanın içeriği aşağıda verilmiştir. Siz de bir XML belge oluşturup domxml_open_file() ile okutabilirdiniz.

Örnek 1 - XML dizgesi olarak içerilecek example.inc dosyası

<?php
$xmlstr 
"<?xml version='1.0' standalone='yes'?>
<!DOCTYPE chapter SYSTEM '/share/sgml/Norman_Walsh/db3xml10/db3xml10.dtd'
[ <!ENTITY sp \"spanish\">
]>
<!-- lsfj  -->
<chapter language='en'><title language='en'>Title</title>
 <para language='ge'>
  &sp;
  <!-- comment -->
  <informaltable ID='findme' language='&sp;'>
   <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>
</chapter>"
;
?>

İçindekiler


DOM XML (PHP 4)
PHP Manual