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