Bu yazım bir nevi "XML Intro" makalemin devamı niteliğindedir.Bildiğiniz üzere "markup language" (işaretleme dilleri) ne "XML Intro" makalemde giriş yapmıştım. Bu makalemde de diğer bir işaretleme dili olan HTML işaretleme dilini inceleyeceğiz. Html ve xml işaretleme dillerinin, yine bu dillere çok benzer xHtml diliyle olan benzerliklerini ve farklılıklarını inceleyeceğiz.
- HTML (Hyper Text Markup Language)
Açılımının anlamı "yüksek metin işaretleme dili" dir. Programlama dili değildir, çünkü sadece Html dilinin çalışabilen bir yapısı yoktur. Diğer programlar tarafından yorumlanabilir. Yine Xml in tasarımcısı Tim Berners Lee tarafından Isviçre 'nin Cern kentinde tasarlanmıştır. Internet üzerinden text, resim, müzik, video gibi değişik tipteki verilerin nasıl taşınması gerektiğini belirtmek için kullanılan bir işaretleme dilidir. Browser lar bu html dosyalarını yorumlayarak son kullanıcıya web sayfasını gösterirler. Tüm browser ların bir html sayfasını okuyabilmesi için belirli bir standatı verdır. Html de bize bu standartı sağlar. Fakat yine de her browser ın bir HTML sayfasını yorumlama şekli kasıtlı olarak farklı olabilir.
Html sayfası sunulur ve daha sonra bu sayfayı okumak isteyenler okur. Yani bir publisher (yayıncı) birden fazla da subscriber (abone) vardır. Html in çıkış amacıda zaten Tim Berners Lee 'nin makalelerini yayınlamak ve paylaşmak istemesiydi. Önceleri intranetti daha sonra 1989-90 yıllarında tüm www tarafından erişilebilidi. Yayını yapan kişi yazının bazı yerlerini bold, italik vs.. yapmak isteyebilir. Yada başlık kullanmak isteyebilir.
Bir html çıktısı birden fazla sayfanın bağlanmasıyla da üretilebilir. Ve bileşenlerinde "ccs, javascript, jquery" gibi öğerler de barındırabilir. "Client Side" tarafından "Server Side" tarafına yapılan "get request" (istek), sunucuda sayfanın oluşmasını sağlar. Oluşan sayfa bileşenleriyle birlikte bir "Html" sayfasına "render" edilir ve gelen isteğe karşı "response" (tepki yada yanıt) verilmiş olur. Ayrıca "page life cyle" makalemde bu süreci anlatacağım.
Html dosyaların aktarımı için HTTP (Hyper Text Transfer Protocol) protokolü kullanılır. Html sayfalar sunucuda .html yada .htm uzantılı olarak kaydedilir. Fakat eğer browser da görüntülenen kaynak, aynı makinedeki bir dosya sisteminden okuyorsam ftp protocol u görünecektir. Asp.net development tools yayınlar, biz de erişebiliriz. Localhost sunucuyu ve port u gösterir. Normalde 80 nolu internet portundan yayınlanır ama kendi makinemizde çalışıyorsak, hem sunucu hem de istemci olduğumuzdan dolayı (localhost), farklı gösterecektir.
Html sayfası sunulur ve daha sonra bu sayfayı okumak isteyenler okur. Yani bir publisher (yayıncı) birden fazla da subscriber (abone) vardır. Html in çıkış amacıda zaten Tim Berners Lee 'nin makalelerini yayınlamak ve paylaşmak istemesiydi. Önceleri intranetti daha sonra 1989-90 yıllarında tüm www tarafından erişilebilidi. Yayını yapan kişi yazının bazı yerlerini bold, italik vs.. yapmak isteyebilir. Yada başlık kullanmak isteyebilir.
Bir html çıktısı birden fazla sayfanın bağlanmasıyla da üretilebilir. Ve bileşenlerinde "ccs, javascript, jquery" gibi öğerler de barındırabilir. "Client Side" tarafından "Server Side" tarafına yapılan "get request" (istek), sunucuda sayfanın oluşmasını sağlar. Oluşan sayfa bileşenleriyle birlikte bir "Html" sayfasına "render" edilir ve gelen isteğe karşı "response" (tepki yada yanıt) verilmiş olur. Ayrıca "page life cyle" makalemde bu süreci anlatacağım.
Html dosyaların aktarımı için HTTP (Hyper Text Transfer Protocol) protokolü kullanılır. Html sayfalar sunucuda .html yada .htm uzantılı olarak kaydedilir. Fakat eğer browser da görüntülenen kaynak, aynı makinedeki bir dosya sisteminden okuyorsam ftp protocol u görünecektir. Asp.net development tools yayınlar, biz de erişebiliriz. Localhost sunucuyu ve port u gösterir. Normalde 80 nolu internet portundan yayınlanır ama kendi makinemizde çalışıyorsak, hem sunucu hem de istemci olduğumuzdan dolayı (localhost), farklı gösterecektir.
Xml de bir kök element olurdu ve bu kök elementin altında birçok element olurdu. Html de ise kök element html tag idir. Aşağıdaki gibi bir html dosyası ekliyorum.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
<head>
<title>Yazılımda Son Nokta</title>
<meta name="author"
content="Gaffar
Salkım />
<meta name="description"
content="Bu site
bir başka site" />
<meta name="keywords"
content="c#,
programlama, web, html, xHtml, css, javascript" />
</head>
Altsatıra geçmek için satır sonunda "br" (breaking return) tag i kullanılır:
<body>
Gaffar Salkım<br />
</body>
kullanılırHtml document içerisinde başı boş bir metnin olması önerilmez. Bu metin "span" teglerine alınabilir.Bu teg c sharp kontrollerindeki Label dır.Label lar Html e render edildiğinde span olarak dönüştürülürler. Yada metnimi "p" (paragraf) teglerine de alabilirim.
kullanılırHtml document içerisinde başı boş bir metnin olması önerilmez. Bu metin "span" teglerine alınabilir.Bu teg c sharp kontrollerindeki Label dır.Label lar Html e render edildiğinde span olarak dönüştürülürler. Yada metnimi "p" (paragraf) teglerine de alabilirim.
<span>Gaffar Salkım</span>
6 çeşit başlık boyutu vardır. "h1" en büyük, "h6" (h-header) en küçüktür. Ne kadar bir kısıtlama olarak görünse de web browser ları için "SEO" (Search Engine Optimization - Arama Motoru Optimizasyonu) için gerekli bir standart oluşturmada faydalıdır.
<h1>
gaffar salkım</h1>
<h2>
gaffar salkım</h2>
<h3>
gaffar salkım</h3>
<h4>
gaffar salkım</h4>
<h5>
gaffar salkım</h5>
<h6>
gaffar salkım</h6>
şeklindedir.
Html document i içerisinde yazdığınız yazılarda kelimeler arası bir boşluk koymak istediğinizde hiç bir html ifadesi kullanmanıza gerek yoktur.
<body>
Gaffar
Salkım
</body>
<body>
Gaffar Salkım
</body>
<body>
Gaffar Salkım
</body>
şeklinde bir "space" hakkımızı da kullanarak yazabiliriz.
Metnimizin italik olması için i (italic) tegleri arasında, kalın olması için b (bold) tegleri arasında, altı çizili olması için u (underline) tegleri arasında yazmalıyız.
<i>gaffar salkım</i>
<u>gaffar salkım</u>
<b>gaffar salkım</b>
gaffar salkım gaffar salkım gaffar salkım
Metnimizin hem italik, hem de bold olması için:
<i><b>gaffar salkım</b></i>
yada
<b><i>gaffar salkım</i></b>
şeklinde yazmalıyız.
gaffar salkım
"strong" tegi "bold" tegine çok benzerdir, yazı tipine göre benzerlik azalı yada artar. Makalede vurgulanmak istenilen metinler bu teg arasında yazılmalıdır. "small" küçük, "big" tagi ise metni büyük bir font size ile yazar.
<strong>gaffar salkım</strong>
<small>gaffar
salkım</small>
<big>gaffar salkım</big><br />
gaffar salkım gaffar salkım gaffar salkım
"cite" tegi makalelerde alıntıyı belirtmek için kullanılır. İtalik bir fonta sahiptir. Yazı rengi ve fontu da farklıdır.
<cite>Bu bir alıntıdır.. </cite>
Bu bir alıntıdır..
Bir paragraf şeklinde bir alıntı yapılacaksa "blockquote" (blok alıntı) tegi kullanılır. Girintili bir şekilde belirtilir.
<blockquote>
Lorem
ipsum dolor sit amet, consectetur adipiscing elit. Cras luctus quam
imperdiet sit amet pretium elit lobortis. Integer nulla augue, elementum
in,
dapibus et ligula. Nunc augue enim, cursus id facilisis at, lobortis
Aliquam convallis sollicitudin pretium. Pellentesque a tincidunt est.
turpis.
</blockquote>
<pre>
Lorem
ipsum
dolor sit amet,
consectetur adipiscing elit.
Cras luctus quam at libero
</pre>
<br/>
Metni sağdan sola yazmak istersek "bdo" tegleri arasında "dir" (direction) attribute değerine "rtl" (right to left) vererek yazabiliriz. Yine "ltr" (left to right) diyerek duz yazabiliriz.
<bdo dir="rtl">gaffar salkım</bdo>
<code>
<pre>
public
class Category
{
public int Id { get; set; }
public string CategoryName { get; set; }
private List<Book> _book;
public List<Book> Books
{
get
{
return _book = _book ?? new List<Book>();
}
set
{
_book = value;
}
}
}
</pre>
</code>
<abbr title="Eğitmen">gaffar salkım</abbr>
<acronym>gaffar salkım</acronym>
"center" tegleri arasındaki öğeler tahmin edildiği üzere sayfanın ortasında yer alırlar.
<center>
Gaffar
Salkım
</center>
<code> | Bilgisayar kod yazısı |
<kbd> | Klavye yazısı |
<samp> | Örnek bilgisayar kod yazısı |
<tt> | Defines teletype text |
<var> | Bir değişken/kararsız yazı |
<pre> | Biçimlendirilmiş yazı |
<tt>Teletype text</tt>
"sub" tegi, altyazı, "suo" tegi ise üst yazı belirtir.
H<sub>2</sub>O X<sup>2</sup>+Y<sup>2</sup>=1
H2O X2+Y2=1
"dl" tegi terim listesi oluşturmamızı sağlar. "dl" tegleri içerisinde "dt" teginde terim, "dd" teginde ise açıklaması yazılır. Böylece açıklamalar girintili bir yapı şeklinde görünür.
<dl>
<dt>Terim1</dt>
<dd>Terim1 açıklama</dd>
<dt>Terim2</dt>
<dd>Terim2 açıklama</dd>
</dl>
- Terim1
- Terim1 açıklama
- Terim2
- Terim2 açıklama
- XHTML (Extensible HTML )
XHTML, Html 4.0 dilinin Xml 1.0 dilindeki extensible (genişletilebilirlik) ilkesine göre yeniden düzenlenmiş halidir. 20 Ocak 2000 de W3C tarafından bir web standartı olarak kabul edilmiştir. Html in hemen hemen aynısı olmasına rağmen kodlamada farklılıklar vardır. Genişletilebilir olduğundan dolayı yeni elementler eklenebilir.
Html e göre daha kesin kurallar konulmuştur. Html de bir tag i açtıktan sonra kapatmasak da olurdu ve attribute lerde değer verirken tırnak kullanmasak da, tek tırnak kullansak da olurdu. Fakat xHtml de bir tag açılmışsa mutlaka kapanmalıdır. Vaya atrribute değeri mutlaka çift tırmakla verilmelidir. İlk açılan element son kapanmalıdır. Bu da şu anlama gelmektedir ki standartlaşma daha iyi olduğundan dolayı, hızlı okuma gibi avatajlar sağlanmıştır. XHtml deki elementlerin özellikleri ve nerelerde kullanılabileceği DDT dosyasında belirlenmiştir. Ayrıca Html den farklı olarak, bu kesin standartlaşma sayesinde, XHtml deki bilgiler başka amaçlarla da kullanılabilir. Örneğin bir XHtml dökümanı Xslt sayesinde pdf formatına dönüştürülebilir.
XHtml, herhangi bir xml i okuyan editör ile editlenebilir. Namespace kullanarak, bir xml dökümanın içerisinde
başka bir xml dökümanından element kullanılabilir. XHtml de bu geçerlidir.
Bir XHtml dökümanını oluştururken yine Html deki gibi bir Html root elementi olmalıdır. Ayrıca xmlns (xml namespace) attribute u ileXHtml namespace i belirtilmelidir.
<html xmlns="http://www.w3.org/1999/xhtml">
XHtml de de büyük-küçük harf duyarlılığı vardır. Ama element isimleri ve attribute ler küçük harf olmalıdır.
Başka bir yazıda görüşmek dileğiyle, hoşçaklın..
Hiç yorum yok:
Yorum Gönder