تشانغ جيان، جامعة بكين للبريد والاتصالات
قيود XML
حاليًا، يتم تخزين بيانات محتوى العديد من مواقع الويب في قواعد بيانات أو ملفات بيانات. بالنسبة لمطوري برامج الويب، إذا كانوا يريدون استخراج معلومات مفيدة من قاعدة البيانات، فإن الطريقة التقليدية هي كتابة البرامج النصية على جانب الخادم (مثل VBScript وJavaScript وCGI وASP وPerl وما إلى ذلك) وتنفيذ استعلام قاعدة البيانات SQL. يحصل على السجلات ذات الصلة، ثم ينظم نتائج الاستعلام في صفحة HTML ويعيدها إلى العميل. يستخدم المستخدم المتصفح لمراقبة النتائج النهائية.
من أجل تحسين مرونة خدمات النظام وقابلية التوسع وتمكين نطاق أوسع من أهداف الخدمة، تبذل العديد من مواقع الويب التجارية قصارى جهدها لتوفير قواعد العمل والبيانات الأصلية ونماذج العرض التقديمي كخدمات مستقلة. ومن الواضح أن طريقة HTML في تضمين البيانات المعروضة لا تلبي هذه الحاجة. ولذلك، فإن تخزين البيانات الأصلية في مستندات XML واستخدام أوراق الأنماط لعرض المحتوى هي من مزايا تقنية XML المناسبة للتجارة الإلكترونية. ولكن في جوهرها، فإن تقنية XSL ليست موجهة لعرض البيانات، فهي تقنية تحويل تنسيق أقل ثراءً بكثير من HTML من حيث وسائل وأساليب العرض. بالنسبة للمبرمجين، الحل الأكثر مثالية هو الجمع بين تقنيتي HTML وXML لتكمل مزايا بعضهما البعض، بحيث يمكن للبيانات الأصلية الحقيقية الحفاظ على معناها الأصلي وبنيتها مع الاستفادة الكاملة من عرض HTML المتغير باستمرار . جزيرة بيانات XML هي نتاج هذا الاندماج التكنولوجي، فهي تستخدم علامة <XML> لتضمين بيانات XML مباشرة في صفحات HTML، وبالتالي تحقيق المزايا التكميلية للاثنين.
كيفية التعامل مع جزر البيانات في IE
لكي تكون قادرًا على التعامل مع هذا النوع من صفحات HTML مع كود XML المضمن، قدم Internet Explorer 4.0 (المشار إليه فيما يلي باسم IE 4.0) تقنية DSO (كائنات مصدر البيانات، كائن مصدر البيانات)، وهي تنفيذها مع برنامج جافا.
على سبيل المثال:
<APPLET CODE="com.ms.xml.dso.XMLDSO.class"
ID="xmldso" WIDTH=0 HEIGHT=0 MAYSCRIPT=TRUE>
<PARAM NAME="URL" VALUE="myXML.xml">
< /APPLET>
في المثال أعلاه، تحدد سمة CODE تطبيق DSO Java الصغير، وتضمن سمة MAYSCRIPT أن البرنامج النصي للعميل يمكنه معالجة كائن البيانات، وتحدد علامة PARAM موقع مستند XML.
يتمثل تقييد استخدام Java في أنه يمكنها فقط وصف عنوان URL الخاص بـ XML في مستند HTML، ولكن لا يمكنها تضمين علامة XML فيه مباشرةً. ولا يزال هذا بعيدًا عن حل جزيرة البيانات الحقيقية. قامت Microsoft بتوسيع تقنية DSO في Internet Explorer 5.0 (المشار إليه فيما بعد بـ IE 5.0)، مما أدى إلى اختراق القيود السابقة ودمج HTML وXML بشكل حقيقي. تدعم صفحات HTML الاستخدام المباشر لعلامات <XML>.
على سبيل المثال:
<HTML>
<XML ID="xmldso">
<?xml version="1.0"?>
بعض XML...
</XML>
طالما أن معرف كل جزيرة بيانات فريد، فيمكن تضمينه في يتم تضمين جزر البيانات في الصفحة حيثما كان ذلك ضروريًا، ويكون مشغلو نظام التوزيع (DSOs) مستقلين عن بعضهم البعض.
بالإضافة إلى طريقة التضمين المباشر في المثال أعلاه، يمكنك أيضًا استخدام مراجع خارجية لربط جزر البيانات.
على سبيل المثال:
<XML ID="xmldso" SRC="myXML.xml">
</XML>
بهذه الطريقة، فقط عندما تستمر كائنات عملاء الشركة في استخدام IE 4.0، ومن أجل حل مشكلات التوافق لهؤلاء العملاء، برنامج Java هو خيارات يجب على المبرمجين مراعاتها.
في تقنية DSO المطبقة بواسطة IE 5.0، إذا كانت البيانات نتيجة الاستعلام عن قاعدة البيانات من خلال لغة SQL، فسيتم تخزينها في مجموعة سجلات ADO (كائنات بيانات ActiveX). يرسل الخادم عنصر تحكم ActiveX هذا (عادةً مجموعة سجلات ADO) إلى العميل، حيث يقوم برنامج البرنامج النصي للعميل بإجراء المزيد من المعالجة. في الواقع، يتعامل IE 5.0 مع جزر بيانات XML كمجموعة سجلات ADO خاصة.
ربط بيانات XML
1. تعيين مجموعة سجلات ADO
يتم تعيين كل عنصر رئيسي في XML إلى سجل في مجموعة سجلات ADO، ويتم تعيين العناصر الفرعية وفقًا لذلك إلى الحقول (وتسمى أيضًا المجالات) في مجموعة السجلات.
على سبيل المثال، جزيرة بيانات XML books.xml موجودة كما يلي:
<XML ID="xmldso">
<?xml version="1.0"?>
<booklist>
<book>
<title>Straight Talk About Computers</title>
< Isbn>72 -80088-005</isbn>
</book>
<book>
<title> ميكروويف ذواقة </title>
<isbn>72-80081-082</isbn>
</book>
</booklist>
</XML >
في هذا الوقت، مجموعة سجلات ADO المعينة هي:
العنوان isbn
Straight Talk About Computers 72-80088-005
Gourmet Microwave 72-80081-082
2. ربط عناصر HTML
بعد تضمين جزر البيانات في مستند HTML، يمكنك ربط جزر بيانات XML بعناصر HTML. يحتوي كل إدخال DSO (أي جزيرة البيانات) على رقم معرف فريد. أولاً، قم بتعيين سمة DATASRC في عنصر HTML إلى المعرف المقابل لربط عنصر HTML بجزيرة البيانات. ثم حدد عنصر XML المستخرج عن طريق تعيين قيمة سمة DATAFLD.
على سبيل المثال، تكون التعليمات البرمجية المرتبطة بعنصر DIV كما يلي:
<DIV ID=title DATASRC=#xmldso DATAFLD="title"></DIV>
<DIV ID=price DATASRC=#xmldso DATAFLD="isbn"></ DIV>
ملاحظة: لا يمكن ربط كافة عناصر HTML بجزر بيانات XML. حاليًا، العناصر التي تدعم آلية ربط DSO هذه هي كما يلي:
A. APPLET، BUTTON، DIV، FRAME، IFRAME، IMG، INPUT (الأنواع هنا هي: CHECKBOX، HIDDEN، LABEL، PASSWORD، RADIO وTEXT)، LABEL، Marquee، SELECT، SPAN، TABLE و TEXTAREA.
3. بيانات XML صريحة بتنسيق جدولي
إذا قمت بربط بيانات XML بعنصر TABLE، فيمكن عرضها تلقائيًا بتنسيق جدولي متعدد الصفوف.
على سبيل المثال، الكود الذي يربط بيانات XML بعنصر TABLE هو كما يلي:
<TABLE BORDER=1 DATASRC="#xmldso">
<THEAD>
<TR><TH>Title</TH>
<TH>ISBN</TH ></TR >
</THEAD>
<TBODY>
<TR><TD><DIV DATAFLD="title"></DIV></TD>
<TD><DIV DATAFLD="isbn">
</DIV>< /TD>< /TR>
</TBODY>
</TABLE>
بهذه الطريقة، يتم ربط الاثنين عن طريق تعيين سمة DATASRC في عنصر TABLE إلى #xmldso. ينقسم الجدول إلى قسمين: الرأس (THEAD) ونص الجدول (TBODY). سيتم عرض كل عنصر <book> كصف من الجداول، ويتم تحديد البيانات التي يتم عرضها في كل عمود بواسطة سمة DATAFLD في عنصر DIV.