Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Dr. Galip AYDIN.  DOM bir W3C (World Wide Web Consortium) standardıdır  XML ve HTML gibi dokümanlara eri ş im için standart.

Benzer bir sunumlar


... konulu sunumlar: "Dr. Galip AYDIN.  DOM bir W3C (World Wide Web Consortium) standardıdır  XML ve HTML gibi dokümanlara eri ş im için standart."— Sunum transkripti:

1 Dr. Galip AYDIN

2  DOM bir W3C (World Wide Web Consortium) standardıdır  XML ve HTML gibi dokümanlara eri ş im için standart bir yol tanımlar  "The W3C Document Object Model (DOM) is a platform and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document."

3  DOM standart modeller tanımlayan 3 farklı parça/seviye içerir Core DOM: Herhangi bir yapısal doküman için XML DOM: XML dokümanları için HTML DOM: HTML Dokümanları için

4  XML için standart bir nesne modeli Standart bir programlama arayüzü Platform ve dilden ba ğ ımsız  XML DOM bütün XML elementleri için nesne ve özellikleri ve bunlara eri ş im için gerekli metodları (arayüzler) tanımlar  Di ğ er bir deyi ş le DOM, XML elementlerine eri ş im, de ğ i ş tirme, ekleme, silme gibi i ş lemler için bir standart sa ğ lar.

5  DOM açısından XML içindeki her ş ey bir dü ğ ümdür (node) Dokümanın kendisi doküman dü ğ ümüdür Her bir xml elementi bir element dü ğ ümüdür XML elementlerinin içindeki yazılar yazı dü ğ ümüdür (text node) Herbir nitelik (attribute) nitelik dü ğ ümüdür Yorum dü ğ ümleri de bulunabilir

6

7  Dü ğ üm a ğ acındaki her bir dü ğ ümün di ğ erleriyle hiyerar ş ik bir ili ş kisi vardır  Bu ili ş kileri anlatmak için ebeveyn, çocuk ve karde ş (parent, children, siblings) terimleri kullanılır  Ebeveyn dü ğ ümlerin çocukları vardır  Aynı seviyedeki çocuklar karde ş (kız veya erkek) olarak adlandırılırlar

8  Bir dü ğ üm a ğ acında en tepedeki dü ğ üme kök denir  Kök dü ğ üm hariç her dü ğ ümün sadece bir ebeveyni vardır  Bir dü ğ ümün sınırsız sayıda çocu ğ u olabilir  Çocu ğ u olmayan dü ğ ümlere yaprak denir  Aynı ebeveyne sahip, aynı seviyedeki dü ğ ümlere karde ş denir

9

10  XML dokümanlarını ayrı ş tırmak için kullanılan çe ş itli uygulamalar (parser) yazılmı ş tır  XML DOM modeli elemanlara eri ş im, de ğ i ş tirmek, silmek veya eklemek için metotlar içerir ancak öncelikle dokümanın DOM nesnesine yüklenmesi gerekir

11 if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest(); } else // IE 5/6 { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET","books.xml",false); xhttp.send(); xmlDoc=xhttp.responseXML;

12  x.nodeName – x dü ğ ümünün ismi  x.nodeValue - x dü ğ ümünün de ğ eri  x.parentNode - x dü ğ ümünün ebeveyn dü ğ ümü  x.childNodes - x dü ğ ümünün çocukları olan dü ğ ümler  x.attributes - x dü ğ ümünün nitelikleri

13  x.getElementsByTagName(name) – verilen isimdeki bütün elementleri getir  x.appendChild(node) – x dü ğ ümüne bir çocuk dü ğ üm ekle  x.removeChild(node) – x dü ğ ümünden verilen dü ğ ümü sil

14 xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].childNodes; y=xmlDoc.getElementsByTagName("book")[0].firstChild; for (i=0;i

15 text=" "; text=text+" Everyday Italian "; text=text+" Giada De Laurentiis "; text=text+" 2005 "; text=text+" "; xmlDoc=loadXMLString(text); // documentElement always represents the root node x=xmlDoc.documentElement.childNodes; for (i=0;i

16  DOM4J  JDOM  Apache XML projeleri  …

17 import java.net.URL; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; public class Foo { public Document parse(URL url) throws DocumentException { SAXReader reader = new SAXReader(); Document document = reader.read(url); return document; }

18 public void bar(Document document) throws DocumentException { Element root = document.getRootElement(); // iterate through child elements of root for ( Iterator i = root.elementIterator(); i.hasNext(); ) { Element element = (Element) i.next(); // do something } // iterate through child elements of root with element name "foo" for ( Iterator i = root.elementIterator( "foo" ); i.hasNext(); ) { Element foo = (Element) i.next(); // do something } // iterate through attributes of root for ( Iterator i = root.attributeIterator(); i.hasNext(); ) { Attribute attribute = (Attribute) i.next(); // do something }

19 public void treeWalk(Document document) { treeWalk( document.getRootElement() ); } public void treeWalk(Element element) { for ( int i = 0, size = element.nodeCount(); i < size; i++ ) { Node node = element.node(i); if ( node instanceof Element ) { treeWalk( (Element) node ); } else { // do something.... }

20 import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; public class Foo { public Document createDocument() { Document document = DocumentHelper.createDocument(); Element root = document.addElement( "root" ); Element author1 = root.addElement( "author" ).addAttribute( "name", "James" ).addAttribute( "location", "UK" ).addText( "James Strachan" ); Element author2 = root.addElement( "author" ).addAttribute( "name", "Bob" ).addAttribute( "location", "US" ).addText( "Bob McWhirter" ); return document; }

21  SAX DOM’a alternatif olarak geli ş tirilmi ş bir sıralı eri ş im ayrı ş tırıcısıdır (parser).  XML dokümanlarını okumak için gerekli araçları sa ğ lar.  SAX olay-güdümlü (event-driven) olarak çalı ş an akı ş a göre çalı ş an (stream-parser) bir ayrı ş tırıcıdır.  SAX ayrı ş tırıcısı kar ş ıla ş tı ğ ı dü ğ ümleri sırasıyla i ş ler (event), ve bu i ş leme dokümanın sonuna kadar devam eder.

22  SAX DOM’a göre daha küçük hafızaya ihtiyaç duyar. Özellikle büyük XML dokümanlarının i ş lenmesinde bu büyük bir avantajdır.  DOM parser tüm XML a ğ acının hafızaya yüklenmesine gereksinim duyar.  Olay-güdümlü yakla ş ım dolayısıyla SAX parser DOM’a göre genellikle daha hızlıdır.  XSLT ve XPATH gibi bazı teknolojiler tüm XML a ğ acına ihtiyaç duydukları için SAX parser kullanamazlar.

23  Ara ş tırın !  sjsxp  Woodstox  Aalto


"Dr. Galip AYDIN.  DOM bir W3C (World Wide Web Consortium) standardıdır  XML ve HTML gibi dokümanlara eri ş im için standart." indir ppt

Benzer bir sunumlar


Google Reklamları