Konu Başlığı: XML Hakkında
View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 01.12.2003   #1 (permalink)
stNonStop
 
stNonStop's Avatar
 
Üyelik Tarihi: 16.02.2002
Yer: İstanbul
Yaş: 29
Mesaj: 1,809
Görsel: 5
XML Hakkında

www.csharpnedir.com adresinde yazmış olduğum XML Hakkındaki Makalelerim;

http://www.csharpnedir.com/makalegoster.asp?Mid=39

Makale Konusu : Bir XML Belgesinin Anatomisi
Yazar : Aziz Durmaz
Tarih : 07.12.2002


Bu makalemizde bir XML belgesi olusturarak onun anatomisini inceleyip, CSS yardimiyla browserda nasil görüntüleyebilecegimizden bahsedecegiz.

XML HTML metin tabanli bir dil oldugundan dolayi basit bir metin düzenleyicisi ile yazila bilinir. Buradaki islemlerimiz için Notepad yeterli olacaktir. Simdi gelin asagidaki örnek XML belgesini olusturalim.

Kod:
<?XML version="1.0" encoding="ISO-8859-9" ?>

<!-- Açiklama Bölümü: C#nedir?com Yazarları Listesi -->

<YAZAR_LISTESI>

   <YAZAR>
      <AD>Aziz</AD>
      <SOYAD>Durmaz</SOYAD>
      <EMAIL>nonstop79@angelfire.com</EMAIL>
      <HAKKINDA>Yildiz Teknik Üniversitesi Elektronik Haberlesme Mühendisli Bölümünde Lisans egitimine devam etmektedir. PHP ve MySQL üzerinde çalismaktadir. web Programciligi ve Tasarimi meslegini icra etmektedir. </HAKKINDA>
   </YAZAR>

   <YAZAR>
      <AD>Sefer</AD>
      <SOYAD>ALGAN</SOYAD>
      <EMAIL>algans@itu.edu.tr</EMAIL>
      <HAKKINDA>C#nedir?com kurucularindan olan yazarimiz su an halen Istanbul Teknik Unv. Elektronik Haberlesme Mühendisliginde lisans egitimi almaktadir. Yazarimiz C,C++ C#, JAVA dilleri ve web Teknolojileri üzerine çalismaktadir.</HAKKINDA>
   </YAZAR>

   <YAZAR>
      <AD>Ahmet Faruk</AD>
      <SOYAD>NACAROGLU</SOYAD>
      <EMAIL>nacaroglu@yahoo.com</EMAIL>
      <HAKKINDA>Bogaziçi Üniversitesi bilgisayar ve Ögretim Teknolojileri Egitimi bölümü son sinif ögrencisidir. C/C++ ve ile ilgilenmistir. Su siralar C# ve .NET üzerine çalismalarini sürdükmektedir.</HAKKINDA>
   </YAZAR> 

   <YAZAR>
      <AD>Cemal</AD>
      <SOYAD>YILMAZ</SOYAD>
      <EMAIL>yilmazcem@itu.edu.tr</EMAIL>
      <HAKKINDA>Istanbul Teknik Unv. Elektronik ve Haberlesme Mühendisligi bölümünde ögrenimine devam etmektedir. C,C++ ve MFC ile ilgili çalismalari devam etmektedir.</</HAKKINDA>
   </YAZAR> 

   <YAZAR>
      <AD>Volkan</AD>
      <SOYAD>Öner</SOYAD>
      <EMAIL>mjjvol@yahoo.com</EMAIL>
      <HAKKINDA>Yazarimiz Ege Üniversitesi, bilgisayar ögretmenligi son sinif ögrencisidir.</HAKKINDA>
   </YAZAR> 

</YAZAR_LISTESI>
Yazdigimiz Örnek XML metinini yukaridan asagiya dogru incelemeye baslayalim. Ilk üç satirdan olusan blok giris bölümü olarak adlandirilir. Bu blogun ilk satir ise XML bildirimini içerir Bu satirla yazdigimiz dokumanin bir XML belgesi oldugunu deklare edip, versiyonunu belirtmis ve kullanacagimiz dil biçiminiz (encoding) belirtmis durumdayiz.

<?XML version="1.0" encoding="ISO-8859-9"?>

http://www.csharpnedir.com/MImages/xml_ilk_1.gif

Ikinci satira bosluk satiridir. Bu satir sadece XML belgesinin baskalari tarafindan rahat okunmasi amaciyla birakilmistir. XML islemcisi bu satirlari göz ardi edecektir.

Üçüncü satir ise yorum satiridir. <!-- baslayip --> ile biten bölüm arasina -- isaretleri haricinde herhangi bir sey yazila bilinir. Bu kismin her XML belgesinde olacak diye bir kosul yoktur. Bu yorum kismi XML belgemizin baskalari tarafindan daha rahat anlasilmasi için yazmaktayiz. Hatirlarsak XML amaçlarindan biri okunabilirligi yüksek olan belgeler olusturmakti.

<!-- Açiklama Bölümü: C# Nedir ? Yazarlari Listesi -->

Giris bölümünde, örnekte bulunan bildirimler ve yorumlar haricinde belgenin türünü ve yapisini belirleyen bir bildirim veya XML görüntülemek için CSS gibi bir belgeyi ekleye bilirsiniz.

Giris bölümünden sonra gelen ilk etiket (tag) kök elemanina ait etiket(tag)dir. Örnegimizde kök eleman YAZAR_LISTESI`dir. Tüm XML belgelerinde tek bir kök eleman bulunmalidir. Bu elemanin içine yerlesmis olan diger elemanlar ve veriler esas verinin bulundugu ve siniflandirildigi bölümdür.

http://www.csharpnedir.com/MImages/xml_ilk_2.gif

Yazmis oldugumuz örnegimizin browserda görüntüsü asagidaki sekilde çikacaktir. Herhangi bir sekilde XML belgemizin nasil görüntülenecegine dair bir bildirim yapmadigimizdan dolayi internet Explorer belgemizi kendinde mevcut olan default biçimde bize gösterecektir.

http://www.csharpnedir.com/MImages/xml_ilk_3.gif

XML Belgemize bir CSS belgesi ekleyerek belgemizi bizim belirledigimiz formatlarda görüntülenmesini saglaya biliriz. Ekleyecegimiz CSS dosyasinin link ni yukarida belirttigimiz gibi giris bölümünde tanimlamamiz gerekmektedir. Isterseniz ilk önce CSS dosyamizi bir olusturalim.

Kod:
YAZAR
{ 
    display:block; 
    margin-top:12pt; 
    font-size:10pt
}

AD 
{ 
    font-size:16pt; 
    font-weight:bold; 
    font-style:italic; 
    margin-left:20pt;
}

SOYAD 
{ 
    font-size:16pt; 
    font-weight:bold; 
    font-style:italic;
}

EMAIL
{ 
    display:block; 
    margin-left:15pt; 
    font-size:14pt; 
    font-weight:bold; 
    color : Blue;
}

HAKKINDA
{
    display:block;
    margin-left:12pt
}
XML belgemize CSS dosyasini giris bölümüne <?XML-stylesheet type="text/CSS" href="XML.CSS" ?> satirini ekleyerek eklemekteyiz. Buradaki <?XML-stylesheet bölümü stylesheet islem yönergesi oldugunu type="text/CSS" bunun bir CSS dosyasi oldugunu href="XML.CSS" ise CSS dosyasinin bulundugu yeri ve ismini belirtmektedir. href bölümüne URL girile bilinir. Sonuç olarak örnek XML belgemiz asagidaki sekle dönüsmüstür.

Kod:
<?XML version="1.0" encoding="ISO-8859-9" ?>

<!-- Açiklama Bölümü: C#nedir?com Yazarları Listesi -->

<?XML-stylesheet type="text/CSS" href="XML.CSS" ?> 

<YAZAR_LISTESI>

   <YAZAR>
      <AD>Aziz</AD>
      <SOYAD>Durmaz</SOYAD>
      <EMAIL>nonstop79@angelfire.com</EMAIL>
      <HAKKINDA>Yildiz Teknik Üniversitesi Elektronik Haberlesme Mühendisli Bölümünde Lisans egitimine devam etmektedir. PHP ve MySQL üzerinde çalismaktadir. web Programciligi ve Tasarimi meslegini icra etmektedir. </HAKKINDA>
   </YAZAR>

   <YAZAR>
      <AD>Sefer</AD>
      <SOYAD>ALGAN</SOYAD>
      <EMAIL>algans@itu.edu.tr</EMAIL>
      <HAKKINDA>C#nedir?com kurucularindan olan yazarimiz su an halen Istanbul Teknik Unv. Elektronik Haberlesme Mühendisliginde lisans egitimi almaktadir. Yazarimiz C,C++ C#, JAVA dilleri ve web Teknolojileri üzerine çalismaktadir.</HAKKINDA>
   </YAZAR>

   <YAZAR>
      <AD>Ahmet Faruk</AD>
      <SOYAD>NACAROGLU</SOYAD>
      <EMAIL>nacaroglu@yahoo.com</EMAIL>
      <HAKKINDA>Bogaziçi Üniversitesi bilgisayar ve Ögretim Teknolojileri Egitimi bölümü son sinif ögrencisidir. C/C++ ve ile ilgilenmistir. Su siralar C# ve .NET üzerine çalismalarini sürdükmektedir.</HAKKINDA>
   </YAZAR> 

   <YAZAR>
      <AD>Cemal</AD>
      <SOYAD>YILMAZ</SOYAD>
      <EMAIL>yilmazcem@itu.edu.tr</EMAIL>
      <HAKKINDA>Istanbul Teknik Unv. Elektronik ve Haberlesme Mühendisligi bölümünde ögrenimine devam etmektedir. C,C++ ve MFC ile ilgili çalismalari devam etmektedir.</</HAKKINDA>
   </YAZAR> 

   <YAZAR>
      <AD>Volkan</AD>
      <SOYAD>Öner</SOYAD>
      <EMAIL>mjjvol@yahoo.com</EMAIL>
      <HAKKINDA>Yazarimiz Ege Üniversitesi, bilgisayar ögretmenligi son sinif ögrencisidir.</HAKKINDA>
   </YAZAR> 

</YAZAR_LISTESI>
Yukaridaki CSS belgesini kullanarak XML belgemiz internet Explorer da asagidaki sekilde görüntülenecektir.

http://www.csharpnedir.com/MImages/xml_ilk_4.gif

Herhangi bir elemani veya elemana ait olmasi gereken bir biçim özelligini CSS belgemizde belirtmeseydik. Bir üstündeki elemana ait özellikleri alarak görüntülenecektir. Örnegin HAKKIMIZDA elemanin font size i belirtilmemistir. font size onu kapsayan YAZAR elemanindan gelmektedir. Bu sayede HAKKIMIZDA 10pt lik bir font size`a sahip olmaktadir.
__________________
St. Nonstop

Elektronik ve Haberleşme Mühendisi
Aziz DURMAZ
stNonStop şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin