XML, DOCTYPE, SGML, XHTML, HTML
SGML Dilbilgisi gibi bir mekanizma kullanilarak dökümanlarin yapisini özel tanimlanmis tag8217;ler kullanarak yapisini tanimlamamiza yarar. HTML Internet üzerinde veri paylaşımı için kullanılan en yaygın metin tabanlı dildir. XHTML8217;in ismi Extensible Hypertext Markup Language kelimelerinden türemiştir
Markup Dili Ne Demek?
Markup dillerine örnek olrak HTML,WML vs.. verilebilir. Bu dillerde veriler bazı işaretlerle (etiket) işaretlenirler. Örneğin bir HTML kodunda bir başlık yazısı <h1> etiketi ile işaretlenir. Sonuç olarak bir belgedeki verileri işaretlemeye yarayan dillere markup dilleri denir.
Yukarıdaki tanımlar birbirine benzemektedir. Bazı kelimeler veri, tanımlama,standart vs.. gibi çok fazla kullanılmış. Tanımlardaki bir farklılık XML'in hem bir teknoloji hem de bir dil olmasından doğmaktadır. Bazı tanımlar sadece XML teknolojisini tanımlarken bazıları dil olarak XML'i tanımlamışlar.
XML Nedir?
• XML bir document'in(belgenin) yapısını ve görünümünü tanımlamak için kullanılan uluslararası bir standartdır.
• XML (Extensible Markup Language - Genişletilebilir İşaretleme Dili) yapılandırılmış belge ve verilerin evrensel formatıdır
• XML text tabanlı markup dilidir ve data alış verişinde kullanılan bir standard'ır
• XML bilginin yapısını tanımlamak için kullanılan bir teknolojidir.
• XML bilgiyi tanımlayan ve web'te bilgi alış verişi için kullanılan standard bir biçimdir.
• XML markup dillerini tanımlayan bir metadilidir.
• XML verinin yapılandırılması ve tanımlanması için kullanılan bir teknolojidir.
• XML herhangi bir verinin biçimlenmesi,tanımlanması için kullanılan bir teknolojidir.
Bütün bu tanımlardan şu sonuçlar çıkarılabilir
• XML hem bir teknolojidir hem de bir dildir
• XML dil olarak markup dil'leri yaratmaya yarar.
• XML verileri tanımlamak için kullanılan bir teknolojidir.
• XML verileri tanımlamak için bir standart oluşturmak için yaratılmıştır.
• XML verileri standart bir şekilde tanımladığından web'te veya herhagi iki program arasında veri alış verişi kolaylaştırmaktadır
SGML NEDiR?
SGML International Standards Organization(ISO) tarafindan 1986 yilinda kabul edilmis ve onaylanmis bilgi-yönetimi standardidir. SGML platform-bagimsiz ve uygulama-bagimsiz dökümanlar yaratmak saglamak için olusturulmustur. Dilbilgisi gibi bir mekanizma kullanilarak dökümanlarin yapisini özel tanimlanmis tag’ler kullanarak yapisini tanimlamamiza yarar.
SGML bir meta-dil dir. Yani yeni diller üretmeye müsait bir yapiya sahiptir. Burada ilginç olan nokta XML'in SGML gibi bir meta-dil den türemesine ragmen kendisinin de bir meta-dil olmasidir. Yani XML içinden de yeni diller türetilebilir.
XML de önemli olan kavramlardan birincisi DTD dir.
HTML’de dikkat ettiyseniz ilk satir:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 FINAL //EN">
olarak görünür. Burada Web browser’a html’in hangi DTD’sini kullanacagi söylenir. Burada DTD Document Type Declaration’dir. Fakat kesinlikle bu XML’de ileride kullanacagimiz DTD yani Document Type Definiton ile karistirilmamalidir.
HTML’deki Document Type Declaration bize hangi tür bir dökümana sahip oldugumuzu söylerken , XML’de Document Type Definition ise dökümanin syntax’inin geçerli(valid) oldugu yerleri tanimlar.
XML'in bilisim dünyasina kattigi en büyük yenilik süphesiz ortak bir dil olmasi. internet'in ilk zamanlarinda html taglari ile tek renkli web sayfalari yapabilmek bile bir basari sayilirken çok kisa sürede grafikler kullanilmaya baslandi. Artik internet sayfalari her yerden ulasilabilen birer brosür haline geldi. Ancak buda yetmedi ve kullanici bazinda islem yapabilmek,veriler ile çalisarak dinamik sayfalar üretmek ihtiyaci hissedildi. Bunun için CGI ve PERL ortaya çikti ancak kodlamasi zordu. Bu sebep ile ASP,PHP gibi server side çalisan ve örnegin ASP için sadece VBScript bilmenizin yeterli oldugu ortam yaratildi. Elbetteki hiçbir sey ihtiyaçlari uzun süre karsilamiyordu ve sonunda .Net piyasaya girdi derlenebilen web uygulamalari karsimiza çikti. Bütün bu asamalar gerçeklesirken kusku yokki en büyük yenilik uygulamalarimizda verilerin kullanilmasiydi. Bu asamada degisik veritabani sistemleri kullanildi. MS Access,SQL Server,Oracle,vs. Tüm bu veri tabani sistemleri ayri firmalarin ayri yapilara sahip ürünleriydi ve haberlesmeleri çogu zaman mümkün olmuyordu. iste paragrafin basinda degindigimiz konu yani XML in ortak dil olmasi konusu bu sebep ile çok önemli. B2B,B2C,C2C uygulamalar ile çalisiyoruz ve bazen sizin sisteminizden ilgili sisteme bir takim verilerin postalanmasi ve bir takim verilerin alinmasi gerekiyor. Bu asamada artik karsi tarafin sisteminin ne oldugu bizi ilgilendirmiyor. Biz gönderiyi XML formatinda hazirliyoruz ve karsi sistem bu paketi açarak kendi sisteminde yorumluyor.
Yazimizin sonunda XML'in ortak veri paylasiminda kullanildigini yazdik ancak peki biz bu XML datayi SQL Server'dan nasil alacagiz. Olusturulan data blogunun manuel olarak XML'e dönüstürmesi düsünülemez. iste bu asamada karsimizahemen SQL Server 2000 in bu özelligi varmi sorusu geliyor. MS SQL Server 2000 ile gelen yeniliklerin basinda XML Data Export sayiliyor. Bunun anlami SQL Server'dan query ler kullanarak sonucu XML olarak alabilmemiz. Bir önceki versiyon olan MS SQL Server 7.0 dan bence de en büyük farki bu. Bu sebep ile bir sonraki yazimizda konumuz. MS SQL Server'dan XML Data Export'u.
HTML(Hyper Text Markup Language-Zengin Metin İşaret Dili)
Internet üzerinde veri paylaşımı için kullanılan en yaygın metin tabanlı dildir.Yazı, görüntü, video gibi değişik verileri ve bunları içeren sayfaları birbirine basitçe bağlamak ve internet tarayıcıları tarafından düzgün olarak görüntülenmesi için gerekli kuralları belirlemektir.Html kodları "<" ve ">" arasına yazılıp "</" ve ">" biter.HTML dosyalarının aktarımı için HTTP (Hyper Text Transfer Protocol) kullanılır.HTML dosyaları sunucu bilgisayarın sabit diskinde .html ya da .htm uzantısı ile saklanır.
XML(eXtensible Markup Language-Genişletilebilir İşaretleme Dili)
W3C tarafından tasarlanan insanlar ve işletim sistemleri tarafından kolayca okunacak dökümanlar oluşturmaya yarayan;herhangi bir verinin biçimlenmesi,tanımlanması için kullanılan;verinin yapılandırılması ve tanımlanması için kullanılan bir standarttır.Farklı sistemler arasında veri alışverisi yapmaya yarar.Tasarıcısı Tim Berners Lee'dir.
Verinin tanımlanması ve tarif edilmesi için kulanılır.HTML deki yapının aksine XML de kullanılacak olan tag ler önceden tanımlı değildir.Yani bir XML dökümanının yapısı tamamıyle kullanıcı tarafından oluşturulur.
XML ve HTML arasındaki en belirgin fark XML in verinin kendisiyle ilgilenmesi HTML in ise verinin sunumuyla ilgilenmesidir.Buna bağlı olarak HTML dökümanları veriye ilişkin şekillendirme bilgilerini içerirken XML dökümanları ise verinin tanım bilgilerini içermektedir. XML in tasarım amaçlarından biri de verinin taşınmasıdır.
XHTML(Extensible HyperText Markup Language-Geliştirilebilir Büyütülmüş Metin İşaretleme Dili
26 Haziran 2000'den beri bir web standartı olan XHTML istemci taraflı bir metin işaretleme dilidir.Kısaca Xml'in html içinde kullanılması diyebiliriz.XHTML herhangi bir XML aracı ile edit edilebilir. Belki binlerce XML dili mevcuttur. Her dil için ayrı bir editor kullanmak yerine tek bir XML editorü kullanmak daha yararlıdır. XHTML bir XML dili olduğu için bir XHTML dosyasının içeriği XML araçlarıyla görülebilir , değiştirilebilir.XHTML genişletilebilir (extensible). Bu sayede yeni element'ler eklenebilir.XHTML XSLT ile herhangi başka bir XML dosyasına veya başka bir tip'e dönüştürülebilir. Bu sayede XHTML'de saklanmış bilgi başka şekillerde değerlendirilebilir.Bir XML dosyasındaki bilgiler DOM denilen bir nesneye çevrilirler. Bu sayede herhangi bir XML dosyasının içeriğine aynı model kullanılarak erişilebilir. Böylece tüm XML dokümanları için tek bir script dili kullanılabilir.Bir XML document'inin içine namespace kullanarak diğer XML dillerinden element'ler kullanılabilir. Örneğin XHTML içine SVG veya MathML gömülebilir. XHTML'i değerlendiren program (Örneğin browser) bu MathML veya SVG element'lerini değerlendirebilir. Tam tersine başka bir XML document'inin içene XHTML namespace'i kullanarak XHTML gömülebilir.
DOCTYPE
DOCTYPE tanımladığımızda tarayıcıya dökümanın yapısı hakkında ön bilgi veriyoruz ve tarayıcı da dökümana buna göre davranıyor. Eğer bir XHTML DOCTYPE belirlersek uymamız gereken kurallar biraz daha artıyor (açılan bütün etiketleri kapama, etiketler için küçük harf kullanma, vs). Herhangi bir DOCTYPE belirlemeden bir sayfa yaparsak Mozilla türevi tarayıcılar Quirks Mode denen bir modda çalışıyor ve sayfamızda standartları aramıyorlar. Bunun amacı eski, standartlara uygun olmayan tarayıcılar için daha önceden hazırlanmış olan sayfaların görüntülenmesini bozmamadır.
HTML Yerine XHTML
Nedir XHTML ?
Son günlerde bilgisayar dünyasında hemen hemen her konuda XML kelimesi geçmektedir. İnternet, Network, İşletim Sistemleri ,Grafik-Animasyon programları, Web Servar'ları, Office programları vs.. bir çok alanda kullanılmaktadır. XML'in bu gücü nedeniyle HTML yerini XHTMl'e bırakmıştır.
XHTML (Extensible HTML) bir XML dilidir ve HTML'in işlevini görmektedir. XML'in tüm kurallarına uyar. XHTML ile HTML'in farklarına bakalım
• XHTML genişletilebilir (extensible). Bu sayede yeni element'ler eklenebilir.
• İnternet'e birbirinden çok farklı araçlardan bağlanılmaktadır. Cep telefonu, Tv, Palm vs.. Tüm bu sistemlerde web sayfasının görünebilmesi için standard bir dile ihtiyaç vardır.
• HTML hoşgörülü bir dildir. Bir etiket'i kapatmasanızda olur. Attribute'lerin değerlerini çift veya tek tırnak hatta tırnaksız olrak verebilirsiniz. Bu hoşgörülülük nedeniyle bir HTML dosyasının doğru yazılıp yazılmadığına emin olamazsınız. Halbuki XHTMl'de kurallar kesindir. Bir etiket açılmıssa kesinlikle kapatılmalıdır. Attribute değerleri çift tırnak ile verilir. Bir element'in özellikleri (attribute'leri, hangi element'lerin içinde olabileceği vs..) belirlidir. Bir element uygun olmadığı yerde kullanılamaz. Bu kurallar DTD ile verilir.
• XHTML herhangi bir XML aracı ile edit edilebilir. Belki binlerce XML dili mevcuttur. Her dil için ayrı bir editor kullanmak yerine tek bir XML editorü kullanmak daha yararlıdır. XHTML bir XML dili olduğu için bir XHTML dosyasının içeriği XML araçlarıyla görülebilir , değiştirilebilir.
• XHTML XSLT ile herhangi başka bir XML dosyasına veya başka bir tip'e dönüştürülebilir. Bu sayede XHTML'de saklanmış bilgi başka şekillerde değerlendirilebilir. Halbuki HTML'in kuralları kesin olmadığı için içeriğine ulaşmak zor olur. Örneğim XHTML sayfası bir XSLT ile PDF formatına çevrilebilir.
• Bir XML dosyasındaki bilgiler DOM denilen bir nesneye çevrilirler. Bu sayede herhangi bir XML dosyasının içeriğine aynı model kullanılarak erişilebilir. Böylece tüm XML dokümanları için tek bir script dili kullanılabilir. Halbuki HTML için kullanılan JavaScript diğer XML dilleri için kullanılamamaktadır.
• Bir XML document'inin içine namespace kullanarak diğer XML dillerinden element'ler kullanılabilir. Örneğin XHTML içine SVG veya MathML gömülebilir. XHTML'i değerlendiren program (Örneğin browser) bu MathML veya SVG element'lerini değerlendirebilir. Tam tersine başka bir XML document'inin içene XHTML namespace'i kullanarak XHTML gömülebilir.
Doğru Bir XHTML Oluşturmak
Bir XHTML document'inin root element'i HTML olmalıdır. ve xmlns attribute'si ile XHTML namesapce'si belirtilmelidir
<html xmlns="http://www.w3.org/1999/xhtml"/>
DOCTYPE declaration'u bulunmalıdır. Bu declaration html elementinden önce olmalıdır.
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml">
.........
</html>
Açılan her element kapatılmalıdır.
<p>Bu paragraph well-formed'dir</p>
bunun yerine
<p>Bu paragraph well-formed değildir
<p>Çünkü p etiketi kapanmadan yenisi açıldı
XHTML case-sensitive'dir Yani büyük küçük harf birbirinden farklıdır. XHTML'de tüm etiketler ve attribute'ler küçük harftir.
Bir element'in içinde hiç birşey yoksa bile kapatılmalıdır. Örneğin br etiketinin içinde hiç bir etiket veya içerik yoktur.
<p>Bu paragraph well-formed'dir<br/>
Çünkü br etiketi kapatılmıştır</p>
script veya stiller eklerken & veya < gibi işaretler kullanılmaz. Bunların yerine entity referansları kullanımalıdır Örneğin & yerine & ve < yerine < kullanımalıdır. Eğer çok fazla bu işaretleri kullanıyorsanız CDATA element'ini kullanmalısınız.
<script type="text/javascript">
<![CDATA[
... burada < veya < işaretlerini kullanabilirsiniz.
]]>
</script>
Tek başına attribute kullanılamaz. Her attribute'nin değeri olmalıdır. Örneğin readonly attributesi HTML'deki gibi kullanılamaz.
<input type="text" size="10" readonly>
yerine
<input type="text" size="10" readonly="readonly"/>
kullanmalısınız
XML nedir?
XML (Extensible Markup Language - Genişletilebilir İşaretleme Dili) yapılandırılmış belge ve verilerin evrensel formatıdır. XML sayesinde her birey ve kuruluş gerektiğinde kendi veri ve belgelerini belirtmek için kendi saklama ve aktarma biçimlerini belirlemek zorunda kalmaz. Farklı taraflar ortak bir formatta anlaşarak kolayca iletişim kurabilirler. Herhangi bir konuda bilgi içeren belge XML'le belirtilebilir. Örneğin şu okuduğunuz dokümanı XML'le belirtmek istersek şöyle yazmamız yeterlidir.
<faq id="XmlFaq">
<info>
<title> XML'de Sıkça Sorulan Sorular</title>
<author> Önder Teker</author>
</info>
<body>
<item id="1">
<question> XML Nedir? </question>
<answer> İşte budur! </question>
</item>
<item id="2">
<question> XML Nerelerde kullanılır? </question>
<answer> İşte buralarda kullanılır! </question>
</item>
</body>
</faq>
Aynı bilgiyi SQL'le yapmaya çalışsaydık birçok tablo yapmamız gerekirdi. Kendimize göre bir format uydursaydık, onun içinden bir bilgiye erişmek için parse etmemiz, HTML' dönüştürmemiz için de tek tek her elemanı bulup başına sonuna HTML tag'ları eklememiz gerekirdir. Bütün bu işler XML'le birlikte kolayca yapılabilir hale gelmiştir. XML'in özellikleri arasında Unicode olması, metinli (insanlar tarafından okunabilir) olması da sayılabilir.
XML nerelerde kullanılır?
Her yerde! XML'in kullanılmadığı çok yer vardır ama kullanılamayacağı hemen hemen hiç bir yer yoktur. HTML üretmek için, makineler arasında iletişim kurmak için hatta veritabanı olarak bile kullanılabilir.
XML kimindir?
Kimsenin! XML kimsenin malı olmayan evrensel bir standarttır. W3 Consorsium (W3C) adlı kar amaçsız bir organizasyon tarafından geliştirilmiştir. IBM, Microsoft, Sun dahil bir çok büyük şirket W3C'nin çeşitli çalışmalara katılmaktadır.
HTML
XML'le HTML arasındaki fark nedir?
ML genel amaçlı bir dilken HTML sadece web sayfalarını oluşturmak için kullanılır. HTML sabit etiketlerden oluşurken XML'de herkes istediği etiketi kullanabilir. HTML hatalara karşı nispeten hoşgörülüyken XML'de belgenin doğruluğunu sağlamak için sıkı bir kontrol vardır. Aslında XML'in geniş kullanım alanı düşünüldüğünde karşılaştırma yapmanın bile doğru olmayacağı görülür.
HTML'i geliştirmek yerine niye XML ortaya çıkartıldı?
HTML son gelişmelerle birlikte yetersiz kalmaya başladı. Radikal bir değişikliğe ihtiyaç duyulduğu için XML ortaya çıktı. XML ayrıca HTML'i kapsayan daha büyük bir sistem olduğundan, HTML hiç kullanılmadığı alanlarda da kullabilir durumdadır.
XML HTML'in yerine geçecek mi?
Hayır. Web sayfalarında HTML XML'in bir alt kümesi olarak (XHTML) kullanılmaya devam edecek. Bir çok yerde XML'deki veri yine XML formatı olan XSLT ile XHTML'e dönüştürülerek kullanılmaya devam edecektir.
HTML bilen biri kolayca XML öğrenebilir mi?
XML HTML'i çok aşan bir teknoloji. Ancak ikisi de <etiket name="value> şeklinde kullanılan birer markup dili olduğu için HTML bilenler bilmeyenlere göre daha avantajlı durumda olabilirler. Ancak HTML bilgisi XML'in bütün kullanımlar için yeterli değildir.
XML öğrenmeden önce HTML öğrenmek gerekir mi?
Hayır. Eğer XML'i web sayfalarında kullanmak gibi amaç yoksa HTML öğrenmeye gerek bile yok. Zaten XML öğrenen kolaylıkla HTML'i de öğrenebilir. Sadece HTML'e özgü etiketlerin anlamlarını bilmek yeterli olacaktır.
XHTML
XHTML’in ismi Extensible Hypertext Markup Language kelimelerinden türemiştir. Amacı HTML’yi ortadan kaldırmaktır. HTML 4.01 sürümü ile benzer bir çok yönü vardır. XHTML HTML’nin daha kolay anlaşılır ve kuralcı sürümüdür de diyebiliriz. XHTML HTML’nin XML olarak düzenlenmiş halidir.
XHTML bir web standardı olarak 26 Ocak 2000’de W3C tarafından kabul edilmiştir. XHTML normalde kullanılan HTML’nin yeni nesil sürümü olduğu için web gezginleri ve diğer uygulamalar tarafından kabul edilmesi zaman alacaktır. Bu arada örütbağı uygulamalarınızı mevcut XHTML standardına getirmek istiyorsanız HTML 4.01 sürümü ile uygun hale getirmek ile işe başlayabilirsiniz. Aşağıdaki 10 kuralı da uygularsanız uygulamalarınız XHTML uyumlu hale gelecektir.
Dökümanlar XML uyumlu olmalıdır. HTML’de geçerli olan bu kod: <b><i>Bu yazı kalın ve yatıktır</b></i> XHTML’de geçerli değildir. Elemanlar düzgün biçimde iç içe geçmelidir <b><i>Bu yazı kalın ve italiktir</i></b> Tüm XHTML elemanları <html> kök elemanı içinde bulunmalıdır. Diğer tüm elemanlar alt elemanlara sahip olabilir. Alt elemanların başlangıç ve bitiş tagları olmalı ve doğru biçimde iç içe geçmelidir. Temel döküman yapısı şu şekilde olmalıdır.
<html>
<head>.......</head>
<body>.......</body>
</html>
Markup dillerine örnek olrak HTML,WML vs.. verilebilir. Bu dillerde veriler bazı işaretlerle (etiket) işaretlenirler. Örneğin bir HTML kodunda bir başlık yazısı <h1> etiketi ile işaretlenir. Sonuç olarak bir belgedeki verileri işaretlemeye yarayan dillere markup dilleri denir.
Yukarıdaki tanımlar birbirine benzemektedir. Bazı kelimeler veri, tanımlama,standart vs.. gibi çok fazla kullanılmış. Tanımlardaki bir farklılık XML'in hem bir teknoloji hem de bir dil olmasından doğmaktadır. Bazı tanımlar sadece XML teknolojisini tanımlarken bazıları dil olarak XML'i tanımlamışlar.
XML Nedir?
• XML bir document'in(belgenin) yapısını ve görünümünü tanımlamak için kullanılan uluslararası bir standartdır.
• XML (Extensible Markup Language - Genişletilebilir İşaretleme Dili) yapılandırılmış belge ve verilerin evrensel formatıdır
• XML text tabanlı markup dilidir ve data alış verişinde kullanılan bir standard'ır
• XML bilginin yapısını tanımlamak için kullanılan bir teknolojidir.
• XML bilgiyi tanımlayan ve web'te bilgi alış verişi için kullanılan standard bir biçimdir.
• XML markup dillerini tanımlayan bir metadilidir.
• XML verinin yapılandırılması ve tanımlanması için kullanılan bir teknolojidir.
• XML herhangi bir verinin biçimlenmesi,tanımlanması için kullanılan bir teknolojidir.
Bütün bu tanımlardan şu sonuçlar çıkarılabilir
• XML hem bir teknolojidir hem de bir dildir
• XML dil olarak markup dil'leri yaratmaya yarar.
• XML verileri tanımlamak için kullanılan bir teknolojidir.
• XML verileri tanımlamak için bir standart oluşturmak için yaratılmıştır.
• XML verileri standart bir şekilde tanımladığından web'te veya herhagi iki program arasında veri alış verişi kolaylaştırmaktadır
SGML NEDiR?
SGML International Standards Organization(ISO) tarafindan 1986 yilinda kabul edilmis ve onaylanmis bilgi-yönetimi standardidir. SGML platform-bagimsiz ve uygulama-bagimsiz dökümanlar yaratmak saglamak için olusturulmustur. Dilbilgisi gibi bir mekanizma kullanilarak dökümanlarin yapisini özel tanimlanmis tag’ler kullanarak yapisini tanimlamamiza yarar.
SGML bir meta-dil dir. Yani yeni diller üretmeye müsait bir yapiya sahiptir. Burada ilginç olan nokta XML'in SGML gibi bir meta-dil den türemesine ragmen kendisinin de bir meta-dil olmasidir. Yani XML içinden de yeni diller türetilebilir.
XML de önemli olan kavramlardan birincisi DTD dir.
HTML’de dikkat ettiyseniz ilk satir:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 FINAL //EN">
olarak görünür. Burada Web browser’a html’in hangi DTD’sini kullanacagi söylenir. Burada DTD Document Type Declaration’dir. Fakat kesinlikle bu XML’de ileride kullanacagimiz DTD yani Document Type Definiton ile karistirilmamalidir.
HTML’deki Document Type Declaration bize hangi tür bir dökümana sahip oldugumuzu söylerken , XML’de Document Type Definition ise dökümanin syntax’inin geçerli(valid) oldugu yerleri tanimlar.
XML'in bilisim dünyasina kattigi en büyük yenilik süphesiz ortak bir dil olmasi. internet'in ilk zamanlarinda html taglari ile tek renkli web sayfalari yapabilmek bile bir basari sayilirken çok kisa sürede grafikler kullanilmaya baslandi. Artik internet sayfalari her yerden ulasilabilen birer brosür haline geldi. Ancak buda yetmedi ve kullanici bazinda islem yapabilmek,veriler ile çalisarak dinamik sayfalar üretmek ihtiyaci hissedildi. Bunun için CGI ve PERL ortaya çikti ancak kodlamasi zordu. Bu sebep ile ASP,PHP gibi server side çalisan ve örnegin ASP için sadece VBScript bilmenizin yeterli oldugu ortam yaratildi. Elbetteki hiçbir sey ihtiyaçlari uzun süre karsilamiyordu ve sonunda .Net piyasaya girdi derlenebilen web uygulamalari karsimiza çikti. Bütün bu asamalar gerçeklesirken kusku yokki en büyük yenilik uygulamalarimizda verilerin kullanilmasiydi. Bu asamada degisik veritabani sistemleri kullanildi. MS Access,SQL Server,Oracle,vs. Tüm bu veri tabani sistemleri ayri firmalarin ayri yapilara sahip ürünleriydi ve haberlesmeleri çogu zaman mümkün olmuyordu. iste paragrafin basinda degindigimiz konu yani XML in ortak dil olmasi konusu bu sebep ile çok önemli. B2B,B2C,C2C uygulamalar ile çalisiyoruz ve bazen sizin sisteminizden ilgili sisteme bir takim verilerin postalanmasi ve bir takim verilerin alinmasi gerekiyor. Bu asamada artik karsi tarafin sisteminin ne oldugu bizi ilgilendirmiyor. Biz gönderiyi XML formatinda hazirliyoruz ve karsi sistem bu paketi açarak kendi sisteminde yorumluyor.
Yazimizin sonunda XML'in ortak veri paylasiminda kullanildigini yazdik ancak peki biz bu XML datayi SQL Server'dan nasil alacagiz. Olusturulan data blogunun manuel olarak XML'e dönüstürmesi düsünülemez. iste bu asamada karsimizahemen SQL Server 2000 in bu özelligi varmi sorusu geliyor. MS SQL Server 2000 ile gelen yeniliklerin basinda XML Data Export sayiliyor. Bunun anlami SQL Server'dan query ler kullanarak sonucu XML olarak alabilmemiz. Bir önceki versiyon olan MS SQL Server 7.0 dan bence de en büyük farki bu. Bu sebep ile bir sonraki yazimizda konumuz. MS SQL Server'dan XML Data Export'u.
HTML(Hyper Text Markup Language-Zengin Metin İşaret Dili)
Internet üzerinde veri paylaşımı için kullanılan en yaygın metin tabanlı dildir.Yazı, görüntü, video gibi değişik verileri ve bunları içeren sayfaları birbirine basitçe bağlamak ve internet tarayıcıları tarafından düzgün olarak görüntülenmesi için gerekli kuralları belirlemektir.Html kodları "<" ve ">" arasına yazılıp "</" ve ">" biter.HTML dosyalarının aktarımı için HTTP (Hyper Text Transfer Protocol) kullanılır.HTML dosyaları sunucu bilgisayarın sabit diskinde .html ya da .htm uzantısı ile saklanır.
XML(eXtensible Markup Language-Genişletilebilir İşaretleme Dili)
W3C tarafından tasarlanan insanlar ve işletim sistemleri tarafından kolayca okunacak dökümanlar oluşturmaya yarayan;herhangi bir verinin biçimlenmesi,tanımlanması için kullanılan;verinin yapılandırılması ve tanımlanması için kullanılan bir standarttır.Farklı sistemler arasında veri alışverisi yapmaya yarar.Tasarıcısı Tim Berners Lee'dir.
Verinin tanımlanması ve tarif edilmesi için kulanılır.HTML deki yapının aksine XML de kullanılacak olan tag ler önceden tanımlı değildir.Yani bir XML dökümanının yapısı tamamıyle kullanıcı tarafından oluşturulur.
XML ve HTML arasındaki en belirgin fark XML in verinin kendisiyle ilgilenmesi HTML in ise verinin sunumuyla ilgilenmesidir.Buna bağlı olarak HTML dökümanları veriye ilişkin şekillendirme bilgilerini içerirken XML dökümanları ise verinin tanım bilgilerini içermektedir. XML in tasarım amaçlarından biri de verinin taşınmasıdır.
XHTML(Extensible HyperText Markup Language-Geliştirilebilir Büyütülmüş Metin İşaretleme Dili
26 Haziran 2000'den beri bir web standartı olan XHTML istemci taraflı bir metin işaretleme dilidir.Kısaca Xml'in html içinde kullanılması diyebiliriz.XHTML herhangi bir XML aracı ile edit edilebilir. Belki binlerce XML dili mevcuttur. Her dil için ayrı bir editor kullanmak yerine tek bir XML editorü kullanmak daha yararlıdır. XHTML bir XML dili olduğu için bir XHTML dosyasının içeriği XML araçlarıyla görülebilir , değiştirilebilir.XHTML genişletilebilir (extensible). Bu sayede yeni element'ler eklenebilir.XHTML XSLT ile herhangi başka bir XML dosyasına veya başka bir tip'e dönüştürülebilir. Bu sayede XHTML'de saklanmış bilgi başka şekillerde değerlendirilebilir.Bir XML dosyasındaki bilgiler DOM denilen bir nesneye çevrilirler. Bu sayede herhangi bir XML dosyasının içeriğine aynı model kullanılarak erişilebilir. Böylece tüm XML dokümanları için tek bir script dili kullanılabilir.Bir XML document'inin içine namespace kullanarak diğer XML dillerinden element'ler kullanılabilir. Örneğin XHTML içine SVG veya MathML gömülebilir. XHTML'i değerlendiren program (Örneğin browser) bu MathML veya SVG element'lerini değerlendirebilir. Tam tersine başka bir XML document'inin içene XHTML namespace'i kullanarak XHTML gömülebilir.
DOCTYPE
DOCTYPE tanımladığımızda tarayıcıya dökümanın yapısı hakkında ön bilgi veriyoruz ve tarayıcı da dökümana buna göre davranıyor. Eğer bir XHTML DOCTYPE belirlersek uymamız gereken kurallar biraz daha artıyor (açılan bütün etiketleri kapama, etiketler için küçük harf kullanma, vs). Herhangi bir DOCTYPE belirlemeden bir sayfa yaparsak Mozilla türevi tarayıcılar Quirks Mode denen bir modda çalışıyor ve sayfamızda standartları aramıyorlar. Bunun amacı eski, standartlara uygun olmayan tarayıcılar için daha önceden hazırlanmış olan sayfaların görüntülenmesini bozmamadır.
HTML Yerine XHTML
Nedir XHTML ?
Son günlerde bilgisayar dünyasında hemen hemen her konuda XML kelimesi geçmektedir. İnternet, Network, İşletim Sistemleri ,Grafik-Animasyon programları, Web Servar'ları, Office programları vs.. bir çok alanda kullanılmaktadır. XML'in bu gücü nedeniyle HTML yerini XHTMl'e bırakmıştır.
XHTML (Extensible HTML) bir XML dilidir ve HTML'in işlevini görmektedir. XML'in tüm kurallarına uyar. XHTML ile HTML'in farklarına bakalım
• XHTML genişletilebilir (extensible). Bu sayede yeni element'ler eklenebilir.
• İnternet'e birbirinden çok farklı araçlardan bağlanılmaktadır. Cep telefonu, Tv, Palm vs.. Tüm bu sistemlerde web sayfasının görünebilmesi için standard bir dile ihtiyaç vardır.
• HTML hoşgörülü bir dildir. Bir etiket'i kapatmasanızda olur. Attribute'lerin değerlerini çift veya tek tırnak hatta tırnaksız olrak verebilirsiniz. Bu hoşgörülülük nedeniyle bir HTML dosyasının doğru yazılıp yazılmadığına emin olamazsınız. Halbuki XHTMl'de kurallar kesindir. Bir etiket açılmıssa kesinlikle kapatılmalıdır. Attribute değerleri çift tırnak ile verilir. Bir element'in özellikleri (attribute'leri, hangi element'lerin içinde olabileceği vs..) belirlidir. Bir element uygun olmadığı yerde kullanılamaz. Bu kurallar DTD ile verilir.
• XHTML herhangi bir XML aracı ile edit edilebilir. Belki binlerce XML dili mevcuttur. Her dil için ayrı bir editor kullanmak yerine tek bir XML editorü kullanmak daha yararlıdır. XHTML bir XML dili olduğu için bir XHTML dosyasının içeriği XML araçlarıyla görülebilir , değiştirilebilir.
• XHTML XSLT ile herhangi başka bir XML dosyasına veya başka bir tip'e dönüştürülebilir. Bu sayede XHTML'de saklanmış bilgi başka şekillerde değerlendirilebilir. Halbuki HTML'in kuralları kesin olmadığı için içeriğine ulaşmak zor olur. Örneğim XHTML sayfası bir XSLT ile PDF formatına çevrilebilir.
• Bir XML dosyasındaki bilgiler DOM denilen bir nesneye çevrilirler. Bu sayede herhangi bir XML dosyasının içeriğine aynı model kullanılarak erişilebilir. Böylece tüm XML dokümanları için tek bir script dili kullanılabilir. Halbuki HTML için kullanılan JavaScript diğer XML dilleri için kullanılamamaktadır.
• Bir XML document'inin içine namespace kullanarak diğer XML dillerinden element'ler kullanılabilir. Örneğin XHTML içine SVG veya MathML gömülebilir. XHTML'i değerlendiren program (Örneğin browser) bu MathML veya SVG element'lerini değerlendirebilir. Tam tersine başka bir XML document'inin içene XHTML namespace'i kullanarak XHTML gömülebilir.
Doğru Bir XHTML Oluşturmak
Bir XHTML document'inin root element'i HTML olmalıdır. ve xmlns attribute'si ile XHTML namesapce'si belirtilmelidir
<html xmlns="http://www.w3.org/1999/xhtml"/>
DOCTYPE declaration'u bulunmalıdır. Bu declaration html elementinden önce olmalıdır.
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml">
.........
</html>
Açılan her element kapatılmalıdır.
<p>Bu paragraph well-formed'dir</p>
bunun yerine
<p>Bu paragraph well-formed değildir
<p>Çünkü p etiketi kapanmadan yenisi açıldı
XHTML case-sensitive'dir Yani büyük küçük harf birbirinden farklıdır. XHTML'de tüm etiketler ve attribute'ler küçük harftir.
Bir element'in içinde hiç birşey yoksa bile kapatılmalıdır. Örneğin br etiketinin içinde hiç bir etiket veya içerik yoktur.
<p>Bu paragraph well-formed'dir<br/>
Çünkü br etiketi kapatılmıştır</p>
script veya stiller eklerken & veya < gibi işaretler kullanılmaz. Bunların yerine entity referansları kullanımalıdır Örneğin & yerine & ve < yerine < kullanımalıdır. Eğer çok fazla bu işaretleri kullanıyorsanız CDATA element'ini kullanmalısınız.
<script type="text/javascript">
<![CDATA[
... burada < veya < işaretlerini kullanabilirsiniz.
]]>
</script>
Tek başına attribute kullanılamaz. Her attribute'nin değeri olmalıdır. Örneğin readonly attributesi HTML'deki gibi kullanılamaz.
<input type="text" size="10" readonly>
yerine
<input type="text" size="10" readonly="readonly"/>
kullanmalısınız
XML nedir?
XML (Extensible Markup Language - Genişletilebilir İşaretleme Dili) yapılandırılmış belge ve verilerin evrensel formatıdır. XML sayesinde her birey ve kuruluş gerektiğinde kendi veri ve belgelerini belirtmek için kendi saklama ve aktarma biçimlerini belirlemek zorunda kalmaz. Farklı taraflar ortak bir formatta anlaşarak kolayca iletişim kurabilirler. Herhangi bir konuda bilgi içeren belge XML'le belirtilebilir. Örneğin şu okuduğunuz dokümanı XML'le belirtmek istersek şöyle yazmamız yeterlidir.
<faq id="XmlFaq">
<info>
<title> XML'de Sıkça Sorulan Sorular</title>
<author> Önder Teker</author>
</info>
<body>
<item id="1">
<question> XML Nedir? </question>
<answer> İşte budur! </question>
</item>
<item id="2">
<question> XML Nerelerde kullanılır? </question>
<answer> İşte buralarda kullanılır! </question>
</item>
</body>
</faq>
Aynı bilgiyi SQL'le yapmaya çalışsaydık birçok tablo yapmamız gerekirdi. Kendimize göre bir format uydursaydık, onun içinden bir bilgiye erişmek için parse etmemiz, HTML' dönüştürmemiz için de tek tek her elemanı bulup başına sonuna HTML tag'ları eklememiz gerekirdir. Bütün bu işler XML'le birlikte kolayca yapılabilir hale gelmiştir. XML'in özellikleri arasında Unicode olması, metinli (insanlar tarafından okunabilir) olması da sayılabilir.
XML nerelerde kullanılır?
Her yerde! XML'in kullanılmadığı çok yer vardır ama kullanılamayacağı hemen hemen hiç bir yer yoktur. HTML üretmek için, makineler arasında iletişim kurmak için hatta veritabanı olarak bile kullanılabilir.
XML kimindir?
Kimsenin! XML kimsenin malı olmayan evrensel bir standarttır. W3 Consorsium (W3C) adlı kar amaçsız bir organizasyon tarafından geliştirilmiştir. IBM, Microsoft, Sun dahil bir çok büyük şirket W3C'nin çeşitli çalışmalara katılmaktadır.
HTML
XML'le HTML arasındaki fark nedir?
ML genel amaçlı bir dilken HTML sadece web sayfalarını oluşturmak için kullanılır. HTML sabit etiketlerden oluşurken XML'de herkes istediği etiketi kullanabilir. HTML hatalara karşı nispeten hoşgörülüyken XML'de belgenin doğruluğunu sağlamak için sıkı bir kontrol vardır. Aslında XML'in geniş kullanım alanı düşünüldüğünde karşılaştırma yapmanın bile doğru olmayacağı görülür.
HTML'i geliştirmek yerine niye XML ortaya çıkartıldı?
HTML son gelişmelerle birlikte yetersiz kalmaya başladı. Radikal bir değişikliğe ihtiyaç duyulduğu için XML ortaya çıktı. XML ayrıca HTML'i kapsayan daha büyük bir sistem olduğundan, HTML hiç kullanılmadığı alanlarda da kullabilir durumdadır.
XML HTML'in yerine geçecek mi?
Hayır. Web sayfalarında HTML XML'in bir alt kümesi olarak (XHTML) kullanılmaya devam edecek. Bir çok yerde XML'deki veri yine XML formatı olan XSLT ile XHTML'e dönüştürülerek kullanılmaya devam edecektir.
HTML bilen biri kolayca XML öğrenebilir mi?
XML HTML'i çok aşan bir teknoloji. Ancak ikisi de <etiket name="value> şeklinde kullanılan birer markup dili olduğu için HTML bilenler bilmeyenlere göre daha avantajlı durumda olabilirler. Ancak HTML bilgisi XML'in bütün kullanımlar için yeterli değildir.
XML öğrenmeden önce HTML öğrenmek gerekir mi?
Hayır. Eğer XML'i web sayfalarında kullanmak gibi amaç yoksa HTML öğrenmeye gerek bile yok. Zaten XML öğrenen kolaylıkla HTML'i de öğrenebilir. Sadece HTML'e özgü etiketlerin anlamlarını bilmek yeterli olacaktır.
XHTML
XHTML’in ismi Extensible Hypertext Markup Language kelimelerinden türemiştir. Amacı HTML’yi ortadan kaldırmaktır. HTML 4.01 sürümü ile benzer bir çok yönü vardır. XHTML HTML’nin daha kolay anlaşılır ve kuralcı sürümüdür de diyebiliriz. XHTML HTML’nin XML olarak düzenlenmiş halidir.
XHTML bir web standardı olarak 26 Ocak 2000’de W3C tarafından kabul edilmiştir. XHTML normalde kullanılan HTML’nin yeni nesil sürümü olduğu için web gezginleri ve diğer uygulamalar tarafından kabul edilmesi zaman alacaktır. Bu arada örütbağı uygulamalarınızı mevcut XHTML standardına getirmek istiyorsanız HTML 4.01 sürümü ile uygun hale getirmek ile işe başlayabilirsiniz. Aşağıdaki 10 kuralı da uygularsanız uygulamalarınız XHTML uyumlu hale gelecektir.
Dökümanlar XML uyumlu olmalıdır. HTML’de geçerli olan bu kod: <b><i>Bu yazı kalın ve yatıktır</b></i> XHTML’de geçerli değildir. Elemanlar düzgün biçimde iç içe geçmelidir <b><i>Bu yazı kalın ve italiktir</i></b> Tüm XHTML elemanları <html> kök elemanı içinde bulunmalıdır. Diğer tüm elemanlar alt elemanlara sahip olabilir. Alt elemanların başlangıç ve bitiş tagları olmalı ve doğru biçimde iç içe geçmelidir. Temel döküman yapısı şu şekilde olmalıdır.
<html>
<head>.......</head>
<body>.......</body>
</html>
Yorumunuzu Ekleyin