The source-page: http://xfront.com/accelerating-adoption-of-XML-vocabularies/
Roger L. Costello
XML kelime haznenizin benimsenmesini hızlandırmak ister misiniz? Bunun bir yolu, herkesin kullanması için 800 kiloluk goril kuvveti olması. Ancak bu kısa sürede kızgınlık ve isyanla sonuçlanacak. Daha iyi bir yol, insanların gerçekten kullanmak isteyecekleri ve zaman veya para için büyük bir yatırım yapmalarını gerektirmeyen ve hemen birlikte çalışmaya başlamalarına izin vermeyen bir şey oluşturmaktır. İşte nasıl:
- XML sözlüğünüzü oluştururken, yalnızca işaretlemenin anlamını değil, aynı zamanda onu işleyen uygulamalardaki davranışını da belirtin.
- Uygunluk kurallarını belirtin.
- Bir test takımı oluşturun.
- Davranışı uygulayan bir uygulama oluşturun.
- Uygulamayı test odasına göre doğrulayın.
- Uygulamayı dünyaya sunun.
İdeal olarak, uygulamanın birkaç uygulaması yaratılacaktır (elbette her biri aynı davranışa sahip!). Bu şekilde kullanıcılar performans veya büyüklüğüne veya hangi programlama dilinde uygulandığına bağlı olarak bir uygulama seçebilirler.
Bu kadar! Bunu yapın ve XML sözlüğünüz hızlı bir şekilde kabul edilebilir.
Örnek: XSLT kelime dağarcığını dikkate alın. XSLT spesifikasyonu sadece her bir elementin ve niteliğin anlamını değil aynı zamanda davranışlarını da belirtir. XSLT spesifikasyonu uygunluk kurallarını içerir. Bir XSLT test paketi var. XSLT belirtiminde belirtilen davranışı uygulayan bir XSLT işlemci olarak adlandırılan bir uygulama oluşturuldu. Aslında, uygulamanın birçok uygulaması yaratılmıştır: Xalan, Saxon, Sableton ve diğerleri.
“Davranış belirleyerek” derken ne demek istediğimi biraz daha açıklayayım. Tekrar düşünün XSLT. XSLT belirtimi, <xsl:for-each> öğesinin bir düğüm koleksiyonunu tanımladığını söylüyor. Bu anlamdır. Ayrıca, uyumlu bir uygulamanın select özelliği tarafından tanımlanan her düğüm üzerinde yineleme yapması gerektiğini (her biri için bir öğenin seçim özelliği vardır) ve öğeleri <xsl:for-each> içinde yürütmesi gerektiğini belirtir. Bu davranış. Bu nedenle, XSLT belirtimi bir uygulamanın <xsl:for-each> öğesinde nasıl davranması gerektiğini belirtir. Tüm XSLT kelimeleri için aynen.
XML Şeması belirtimi, XML Şeması doğrulayıcılarının davranışını belirlemek için iyi bir iş çıkarır. Örneğin, bir XML Şeması’ndaki bir öğe bildirimi için, bir doğrulayıcının, bir XML örneği belgesinin bir öğenin doğru sayıda oluşumunu içerdiğini ve içeriğinin doğru türde olduğunu kontrol etmesi gerektiğini belirtir. Bu nedenle, doğrulayıcının XML Şeması kelime haznesinde nasıl davranması gerektiğini belirtir. Bu nedenle, “davranış belirtmek”, “sözcükteki bu öğe (veya özellik) için tanımlamak anlamına gelir; uygulama bunu, bunu ve bunu yapmalıdır.”
İnsanların bir XML kelime hazinesi oluştururken yaptığı hata, davranışını belirtmedikleridir. Davranışın ne olması gerektiğini anlamak için onu “dünyaya” bırakıyorlar. Bunun klasik bir örneği HTML’dir. Tarayıcı geliştiricileri, davranışın ne olması gerektiğine karar vermek zorunda kaldı. Uygun davranış hakkında çok çeşitli fikirleri vardı. Sonuçta IE, Firefox ve diğer tarayıcıların hepsi farklı davranıyordu. Sonunda davranışları ortak bir şekilde anlamaları üzerine bir araya gelmeleri 10 yıl sürdü. HTML özelliği davranışları belirledi, uygunluk kuralları ve bir test takımı sağlasaydı, o zaman 10 yıl önce tarayıcılarla aynı davranırdık.
Davranış belirtirken göz önünde bulundurmanız gereken şey şudur: XML sözlüğünüz uygulamaya bir XML belgesi mi yoksa iki XML belgesi olarak mı verilecek? (Veya dahası?) Ne demek istediğimi görmek için bazı örnekler verelim:
- Tarayıcı uygulamaları bir belge (bir HTML belgesi) işler
- XML Şeması doğrulayıcıları iki belge işler (bir XML Şeması belgesi ve bir XML belgesi)
- XSLT işlemciler iki belge işler (bir XSLT belgesi ve bir XML belgesi)
Bu örneklerde uygulamalar şunlardır: tarayıcı, XML Şema doğrulayıcısı ve XSLT işlemci. Bu uygulamalar bir XML sözlüğünü işler. XML sözlüğüne bağlı olarak, bir uygulama bir giriş belgesi veya iki giriş belgesi (veya daha fazla) gerektirebilir.
Veri Birlikte Çalışabilirliği
Sık sık, “Veri birlikte çalışabilirliğini sağlamak için her uygulamanın XML sözlüğünü aynı şekilde yorumlaması/anlaması gerektiğini” duydum.
Aynı yorumu/anlayışı sağlamak için aynı uygulamayı kullanmaktan daha iyi bir yol!
Aynı uygulamayı kullanarak mükemmel veri birlikte çalışabilirliğine sahip olabiliriz. NOT: “Aynı uygulama” derken, bir dizi uygulama kastediyorum. Böylece, Xalan, Saxon ve Sabletron hepsi aynı uygulamadır – hepsi XSLT işlemcilerdir. Aynı uygulamayı kullanmak, örneğin herkesin Xalan kullandığı anlamına gelmez. Bir kişi Xalan’ı kullanabilir, diğeri Sakson kullanır, diğeri Sabletron. Sorun yok; hepsinde aynı davranış var; hepsi XSLT uygunluk kurallarına uyar; hepsi XSLT test takımını geçiyor.
İşte aynı uygulamanın paylaşılan kullanımıyla veri birlikte çalışabilirliğinin nasıl sağlandığını gösteren bir örnek.
Örnek: XSLT’yi düşünün. Bir XSLT belgesi oluşturabilir ve XSLT işlemcimde çalıştırabilirim. XSLT belgesini size gönderebilirim ve siz de onu XSLT işlemcinizde çalıştırabilirsiniz. Aynı davranışı alıyoruz. <xsl:for-each> elementinin ne anlama geldiği ve nasıl davranması gerektiği konusunda tamamen hemfikiriz. XSLT sözlüğündeki diğer tüm öğeler ve nitelikler için aynı. Başarılı bir şekilde birlikte çalıştık. Bunu ne etkinleştirdi? Cevap: Birlikte çalışabilirliği sağlayan şey aynı uygulamayı kullandığımız gerçeğidir. (Yine, uygulamanın aynı uygulamasını kullandığımız anlamına gelmediğini vurgulamalıyım; Xalan kullanıyor olabilirsiniz ve Saxon kullanıyor olabilirim; sorun değil; ikisi de XSLT işlemcisi.)
İkinci bir XSLT belgesi oluşturabilir ve size gönderebilirim. Yine mükemmel bir birlikte çalışabilirliğe sahibiz. Ve üçüncü bir XSLT belgesi. Ve bunun gibi. XSLT işlemci uygulaması, mükemmel bir anlayış/birlikte çalışabilirlikle sonsuz farklı XSLT dönüşümü oluşturulmasını, değiştirilmesini ve yürütülmesini kolaylaştırır.
Tekrarlamak
İşte ana noktalar:
- Bir XML sözlüğü oluşturduğunuzda, XML sözlüğünün davranışını belirtin. Uygunluk gereksinimlerini belirtin. Bir test takımı oluşturun. Her biri aynı davranışa sahip olan uyumlu uygulamalar uygulayın (uygulamalar boyut, performans, programlama dili, vb. Değişebilir). Herkes uygulamaları kullanır.
- XML kelime dağarcığının ortak anlayışıyla veri birlikte çalışabilirliği sağlanamıyor. XML kelime uygulamasının ortak kullanımıyla veri birlikte çalışabilirliği sağlanır.
- Davranışını belirtmeden bir XML kelime hazinesi oluşturmak kötü bir fikirdir. En iyi gecikmiş veri birlikte çalışabilirliği, en kötü ihtimalle başarısız veri birlikte çalışabilirliği için bir reçetedir.
Son Güncelleme: 17 Ağustos 2018