Забрзано усвојување на XML лексикони

Оригиналот: Accelerating Adoption of XML Vocabularies

Сакате да се забрза усвојувањето на вашите XML вокабулар? Еден начин е да се има £ 800 горила сила секого да го користи. Но тоа наскоро ќе резултира со незадоволство и бунт. А подобар начин е да се создаде нешто што луѓето навистина ќе сакате да го користите и да не бара од нив една голема инвестиција во време, ниту пари и ви овозможува да ги почне interoperating веднаш. Еве како:

  1. Кога ќе се создаде вашиот XML вокабулар, се определи не само на значењето на Селектирај туку и нејзиното однесување во апликации кои го обработи.
  2. Наведат правила усогласеност.
  3. Создаде тест сопствена.
  4. Создаде некоја апликација што ја спроведува однесување.
  5. Потврдување на пријавата против тест сопствена.
  6. Направи апликација на располагање на светот.

Идеално, ќе се создадат повеќе имплементации на пријавата (секоја со истото однесување, се разбира!). На тој начин корисниците можат да изберат за имплементација врз основа на своите перформанси или големината или кој програмски јазик што беше имплементиран во.

Тоа е! Го направи ова и вашиот XML вокабулар може брзо да се усвои.

Пример: Размислете за вокабуларот XSLT. Спецификација XSLT одредува не само на значењето на секој елемент и атрибутот но и на нивното однесување. Спецификација XSLT содржи правила усогласеност. Постои тест XSLT сопствена. Апликација наречена XSLT процесор-е создаден за кој се спроведува однесување наведени во спецификацијата на XSLT. Всушност, да се создадени повеќе имплементации на пријавата: Xalan, саксонската, Sableton, и други.

Дозволете ми да се осврнам малку повеќе од она што го велам „наведувајќи однесување.“ Разгледа повторно XSLT. Спецификација XSLT вели дека <XSL: за-секое> елемент идентификува колекција на јазли. Што значи дека е. Таа, исто така, вели дека во согласност апликација мора да iterate во текот на секој јазол идентификуван од страна на одберете атрибут (за-секој елемент има избери атрибут) и извршување на елементи во рамките <XSL: за-секое>. Тоа е однесување. Така, спецификацијата на XSLT прецизира како апликација мора да се однесуваат на <XSL: за-секое> елемент. Истото важи и за целиот XSLT речник.

Спецификација на XML шемата не е добра работа на одредување на однесувањето на валидаторите XML шемата. На пример, тоа се наведува дека, за прогласување на елемент во XML шема, еден валидатор мора да провери дали документот XML пример содржи точниот број на појавувања на елемент и неговата содржина е на точниот тип. Така, се специфицира како валидатора мора да се однесуваат на вокабуларот на XML шемата. Значи, да се „одредите однесување“ значи да се опише „за овој елемент (или атрибут) во вокабуларот, барањето мора да го направите ова, ова и ова.“

Луѓе прават грешка при создавањето на XML вокабулар е дека тие не успеваат да се наведе неговото однесување. Тие го остави на „светот“ за да дознаам што треба да биде однесувањето. Класичен пример за ова е HTML. Прелистувачот програмерите мораа да одлучи што треба да биде однесувањето. Тие се многу различни идеи за правилно однесување. Последица на тоа е дека IE, Firefox, и на сите други пребарувачи однесувал поинаку. Беа потребни 10 години пред тие конечно се собраа на заедничко разбирање на однесувањето. Имаше HTML спецификацијата наведено однесувањето, под правилата на усогласеноста и тест пакет, тогаш ние би имале идентично однесуваат прелистувачи пред 10 години.

Една работа што треба да се земат предвид при одредување на однесувањето е ова: ќе ги вашите XML вокабулар да се хранат во апликацијата како еден XML документ или како две XML документи? (Или повеќе) Да го земеме неколку примери за да видите што мислам:

  • Прелистувач апликации процес еден документ (HTML документ)
  • Валидатори XML Шема процесира два документи (документ XML шема и XML документ)
  • XSLT процесор обработува два документи (документ XSLT и XML документ)

Во овие примери на апликации се: интернет пребарувач, валидатора XML шемата, и XSLT процесор. Овие апликации се процесира на XML вокабулар. Во зависност од XML вокабулар, барање може да бара еден влезен документ или две влезни документи (или повеќе).

Интероперабилност на податоци

Јас често слушната тоа рече: „За да се постигне интероперабилност податоци секоја апликација мора да го толкува / разбере XML вокабулар на ист начин.“

Што подобар начин да се обезбеди ист толкување / разбирање, отколку да се користи истата апликација!

Со користење на истото барање може да имаме совршен интероперабилност податоци. Забелешка: Кога велам „иста апликација“ Се е збир на имплементации. Така, Xalan, саксонските и Sabletron се сите исти примена-сите тие се XSLT процесори. Користење на истите се не значи дека, на пример, дека секој го користи Xalan. Едно лице може да се користи Xalan, друг го користи саксонската, а друг Sabletron. Тоа е во ред; сите тие имаат иста однесување; сите тие ги следат правилата на XSLT сообразност; сите тие да го положат тестот XSLT Suite.

Еве еден пример за да се илустрира како се постигне интероперабилност податоци преку заедничко користење на иста апликација.

Пример: Размислете XSLT. Јас може да се создаде документ XSLT и се пушта и на мојот XSLT процесор. Јас може да се испрати документ XSLT на вас и да ви се пушта и на вашиот XSLT процесор. Ние го добиете истиот однесување. Се согласуваме совршено на она што на <XSL: за-секое> елемент значи и како треба да се однесуваме. Истото важи и за сите други елементи и атрибути во вокабуларот XSLT. Имаме успешно interoperated. Што овозможија ова? Одговор: Што му интероперабилноста е фактот дека ние сме со користење на истото барање. (Повторно, морам да истакнам дека тоа не значи дека ние сме со користење на истите имплементација на пријавата; може да се користат Xalan и јас може да се користат саксонската, а тоа е во ред;. Тие се и XSLT процесори)

Јас може да се создаде втор XSLT документ и да го испратам. Повторно, имаме совршен интероперабилност. И трета документ XSLT. И така натаму. Апликацијата XSLT процесор овозможува да се создаде, разменуваат и егзекутирани со совршено разбирање / интероперабилност бескрајни различни XSLT преобразува.

Повториме

Тука се главните точки:

  1. Кога ќе се создаде на XML вокабулар, одредува однесувањето на XML вокабулар. Специфицира барањата усогласеност. Создаде тест сопствена. Спроведување во согласност апликации, секоја со истото однесување (имплементации може да се разликуваат во големина, перформанси, програмски јазик, итн.) Секој користите имплементации.
  2. Интероперабилност податоци не се постигнува преку заедничко разбирање на XML вокабулар. Интероперабилност податоци се постигнува преку заедничко користење на апликација на XML вокабулар е.
  3. Креирање на XML вокабулар без да прецизира своето однесување е лоша идеја. Тоа е рецепт за задоцнето интероперабилност податоци, во најдобар случај, не успеа интероперабилност податоци во најлош случај.