it-swarm-tr.com

SGML, XML, HTML ve XHTML arasındaki ilişki ve farklar

  1. "Profil" in ne anlama geldiğini merak ediyordum Wikipedia :

    XML, bir ISO standardı SGML'nin profilidir ve XML'in çoğu değişmeden SGML'den gelir.

  2. http://xml-tips.assistprogramming.com/sgml-xml-html-xhtml-all-together.html uyarınca:

    HTML, SGML'nin bir alt kümesidir.

    XML, SGML'nin oldukça işlevsel bir alt kümesidir.

    XHTML HTML'yi genişletir ve alt kümeler.

    "Biri diğerinin altkümesi", ilk kodun sözdizimsel olarak doğru ve anlamsal olarak ikincininkiyle aynı olduğu anlamına mı geliyor?

    Temel küme teorisi anlamında olduğu gibi,

    • , XML ve XHTML'nin SGML'nin tüm farklı alt kümeleri nelerdir?
    • xML ve HTML neredeyse birbiriyle kesişmiyor mu?
    • xHTML hem XML hem de HTML'nin bir üst kümesidir?
  3. Dördün amacındaki ve/veya ne zaman kullanılacağına dair farklılıkların yukarıdaki bağlantıdan biraz daha özlü ve net bir özetini bekleyebilir miyim? Amaçları arasındaki net çizgi hakkında gerçekten kafam karıştı.
  4. http://xml-tips.assistprogramming.com/sgml-xml-html-xhtml-all-together.html uyarınca:

    XML tek bir Biçimlendirme Dili değildir. Kullanıcıların kendi biçimlendirme dillerini tasarlamalarına izin veren bir meta dildir.

    Ben XML ve HTML anlamak için nasıl SGML alt kümeleri olduğunu merak ediyordum, ancak XML bir biçimlendirme dili değil, biçimlendirme dilleri tasarımı için bir meta dil iken HTML bir biçimlendirme dilidir?

    SGML ve XHTML'nin ikisi de biçimlendirme dili tasarlamak için üstdil midir?

  5. Her iki bağlantıda olduğu gibi, HTML'nin SGML'nin bir uygulaması ve SGML'nin bir alt kümesi olduğunu ve XHTML'nin bir XML uygulaması olduğunu belirtin. Bir dilin bir diğerinin uygulaması olduğunu ve bir dilin diğerinin alt kümesi olduğunu söylemek arasındaki farkları merak ediyorum.
16
Tim

HTML ve XML'nin ikisi de biçimlendirme dilleridir (dolayısıyla * ML). XML, rastgele verileri temsil etmek için uygun genel bir biçimlendirme dilidir; HTML ise yalnızca web sayfalarını temsil etmek için uygun olan belirli bir işaretleme dilidir.

HTML ve XHTML'nin her ikisi de yalnızca SGML'nin alt kümeleridir, ancak XHTML'nin XML olarak da doğrulanması için ek spesifikasyonları vardır. XML'i XHTML'nin etkili vaftiz babası olarak düşünün.

Bu üç dilin tamamında SGML ile olan bu ilişki nedeniyle, birçok benzerlik vardır, ancak hepsi farklı diller olarak kabul edilir. Ancak, bu dilleri tanımlayanların çoğu SGML üzerindeki kısıtlamalarıdır.

  • HTML, kullanılmasına izin verilen bir etiket listesi tanımlayarak SGML'yi kısıtlar.
  • XML, kapatılmamış veya boş başlangıç ​​ve bitiş etiketlerine izin vermeyerek SGML'yi kısıtlar ve özniteliklerin açık olmasını sağlar. XML ayrıca SGML'de bulunmayan çok sayıda ek kısıtlamaya sahiptir.
  • XHTML, SGML'yi HTML'deki etiketlerle (çerçeve kümesi ve diğerleri gibi bazı hariç tutmalarla) ve XML'deki etiket ve varlık kısıtlamalarıyla kısıtlar.

Teknik şartları sindirmek zor olsa da, bu belgeyi yararlı bulabilirsiniz. http://www.w3.org/TR/NOTE-sgml-xml-971215

XML, biçimlendirme dillerini tanımlamak için bir meta dil değildir. Gerçekten bu sadece SGML. XML sadece bir veri biçimlendirme biçimlendirme dilidir. Alıntı yaptığınız kaynak teknik terimleri yanlış kullanıyor, bu yüzden kafa karıştırıcılar.

Amaçları

XML, kendi veri biçiminizi tanımlamak içindir. Verileri iki sistem arasında geçirmek istiyorsanız, XML genellikle bunu yapmanın yoludur.

Örneğin, web sitenizden faturalandırma sisteminize bir müşteri siparişi iletmeniz gerekiyorsa bu XML yükünü oluşturabilirsiniz:

<order id="12345">
    <name>John Doe</name>
    <item id="443">Adult Diapers</item>
</order>

Web siteniz daha sonra bu XML'i faturalandırma sisteminize gönderir ve bu da daha sonra bu XML'deki verileri ayrıştırabilir.

XHTML ve HTML açıkçası sadece web sayfaları içindir. XHTML'nin temel amacı, web geliştirmenin önceki yıllarında (on yıllar) sahip olduğumuz belirsizliği ortadan kaldırmaktır. 90'ların sonlarına doğru başladığımda, ciddi şekilde özensiz kodlara izin veren HTML 3.2 kullanıyorduk. HTML 4+ ve XHTML, açık tarayıcı etiketlerini, açık öznitelikleri ve izin verilmeyen etiketleri güçlü bir şekilde önererek veya uygulayarak hem tarayıcılarda hem de insanlarda daha kolay olmasını ve tarayıcılar arası beklenmedik farklılıklardan kaçınmayı denemeye çalışır.

8
Jordan

XML'in SGML'nin bir alt kümesi olduğunu söyleyerek başlayacağım, sonra XHTML XML'nin bir alt kümesidir.

HTML, SGML'ye dayanmaktadır, ancak bazı farklı kurallara sahiptir. XHTML temel olarak güncellenmiş bir sürüm HTML'sidir, ancak bazı kurallarla doğru XML olması için yerleştirir.

HTML 5 Standard'ın diğer özelliklerle nasıl çalıştığına dair bazı notlar. http://dev.w3.org/html5/spec/Overview.html#compliance-with-other-specifications

SGML ve XML arasındaki farklardan veya birini diğerinden ne zaman kullanacağınızdan emin değilim. XML yaygın olarak kullanılsa da.

XHTML ve HTML için muhtemelen her zaman XHTML kullanmaktan daha iyidir. Hataların bulunması daha kolaydır ve bonus olarak da geçerli XML olacaktır.

6
WalterJ89

Bunların tarihi sizi burada aydınlatabilir. Meta diller, profiller, altkümeler ve örnekler hakkında konuşmak biraz kurudur! Kısa ve basit tutmaya çalışacağım.

SGML, 1960'lı yıllarda 3 IBM mühendisi tarafından ayrıntılı yasal, hükümet, endüstriyel ve askeri belgeleri saklama aracı olarak tasarlanan GML'den (Genelleştirilmiş İşaretleme Dili) gelişti. GML, 1986'da SGML olarak standardize edilene kadar yavaş yavaş rafine edildi.

GML/SGML kendi başına bir dil değildir . Daha ziyade bir meta dil , yani uygun dilleri tanımlamak için bir dildir veya çeşitli ayrıntılı dokümanların biçimlendirilmesinin genel olarak tutarlı bir şekilde tasarlanabileceği "kurallar". Bu nedenle, her farklı belge türü, kendi SGML uyumlu etiket adları ve ilişkili özniteliklerin yanı sıra tanımlı herhangi bir resmi genel tanımlayıcı/ad alanı, şema, vb. Tanımlayacaktır. Bu şekilde tanımlanan her biçim bu nedenle belge için ayrı bir veri depolama dili haline gelmiştir. ilgili tür. SGML kurallarına uygun tüm belgeler arasındaki tutarlılık nedeniyle, bu belgelerdeki verileri harmanlamak/işlemek için kod yazmak ve ortak bir formatı paylaşan belgeler arasında veri aktarmak mümkündür.

SGML, çok sayıda ancak daha küçük boyutlu belge için aşırı ayrıntılı bulundu. XML, 1996 ve 2006 arasında bir alt kümesi (Word profili etkin biçimde aynı anlama gelir hem küçük hem de büyük belgeleri işleyebilen SGML. Bir meta dilin alt kümesi olan XML, daha basit olsa da, bir meta-dildir. XML'nin, bir ağdaki sistemler arasında hem kolay depolama hem de aktarma için uygun belge formatları tasarlamak için bir temel sağladığını söyleyebilirsiniz.

SGML'nin standartlaştırılmasından sonra ancak XML'e sadeleştirilmeden önce, internet ortaya çıktı ve bununla birlikte kolay aktarım ve ekran hem belgeler hem de gevşek veriler. Sonuç HTML dili, bir örneği (zaman zaman uygulaması olarak adlandırılır ), çeşitli veri türlerini görüntülemek için standart bir yol sağlayan önceden tanımlanmış 18 etikete sahip SGML metin, resimler, ses vb. HTML, bazı öğelerin başlangıç ​​veya bitiş etiketlerini atlamasına izin veren SGML'lerden yararlanır. HTML'nin sonraki sürümleri buna yeni etiketler ve öznitelikler ekledi ve mevcut bazı etiketleri geçersiz kıldı. HTML 5'e kadar, HTML'de her zaman SGML'nin alt dili olarak kalacak şekilde değişiklikler yapıldı.

XML standardize edildikten sonra, mevcut HTML etiketi adlarını etiket kapatma, ad alanları, şemalar, vb. Konusundaki XML'in titizliği ile birleştiren XHTML adı verilen bir örneği çıktı. XHTML başlangıçta verilerin depolanması, aktarılması ve görüntülenmesi için yararlı olma vaadini taşıyordu. HTML 5 çıkana kadar HTML'yi web materyalini görüntülemenin en yaygın yolu olarak değiştirmek gibi görünüyordu. HTML 5, özellikle multimedya yüklü web siteleri için daha zengin bir veri görüntüleme sağlamak için SGML'de tanımlanan özelliklerin ötesine geçen bazı sözdizimsel özelliklere sahipti. Zaman geçtikçe, HTML 5'e, en azından ilgili verilerin görüntülenmesi kadar, yeni XHTML sürümlerinin yerini almasının mümkün olmadığı noktaya kadar veri görüntüleme/kullanım için kullanımını daha da zenginleştiren ek özellikler eklendi. HTML ve XHTML standartları W3C çalışma grupları tarafından yapılsa da, bu dillerin "yerinde" gerçek yayılımı ilerici web tasarımcıları tarafından yapılır ve medya (reklam/PR/pazarlama) sektöründe çalışanlardan daha ilerici bir şey yoktur: sadece reklam ajansı sitelerinin yaratıcılığına diğer sitelere kıyasla bakın. Bu sektör, yeni HTML 5 dilini aldı ve SVG, ses, video ve yeni API'ler için kapasitesini kullanmaktan çok memnundu. HTML 5'in hazır olarak benimsenmesi, genel olarak web tasarımcıları arasındaki popülerliğine yol açtı; bu, YouTube ve diğer çeşitli sitelerdeki çevrimiçi beceri ve püf noktalarının çevrimiçi alışverişi ile hızlandırıldı. Güncellenmiş bir XHTML sürümü, XHTML5 ortaya çıktı, ancak gerçekten katı bir XML türevi değil, XML-serileştirilmiş bir HTML5 sürümü. Sitelerin yalnızca küçük bir kısmının bunun için herhangi bir faydası olduğu görülmektedir.

Bu veri dillerinin arkasındaki hikaye bu. Umarım hepsinin anlamını ve amacını ayırt etmenize yardımcı olur. Felsefi olarak, bu hikaye yeni bir teknoloji (internet) için önemli bir etkinleştirme aracının (SGML), artan çeşitlilikte taleplerle yeni ortamda, orijinal sınırlarını aşabileceğini, ancak kavramsal olarak daha basit, pratik olarak daha çok yönlü ve etkili bir şekilde daha güçlü olabileceğini göstermektedir.

2
Trunk

Genellikle standartlar dünyasında, bir standardın "profili", standardın sunduğu seçeneklerin bir seçimidir: örneğin, standart belgelerin UTF-8 veya UTF-16'da kodlanmasına izin veriyorsa, standardın bir profili gerekebilir UTF-8 ile kodlanacaktır. "Altküme" terimi çok benzer bir anlama sahiptir; tartışmasız "profil" terimi biraz daha geniştir.

1
Michael Kay