3. وصف ملف التحويل XSL (persons.xsl)
في الروتين ، يتم استخدام XSL لتنسيق بيانات XML وإعادتها إلى العميل في HTML. يمكن أيضًا تنفيذ هذه العملية على جانب العميل ، ولكن بالنظر إلى قضية التوافق ، يتبنى الروتين طريقة التنسيق من خلال ASP على جانب الخادم.
محتويات ملف XSL هي كما يلي:
<؟ XML الإصدار = "1.0" الترميز = "GB2312"؟ > < XSL: ورقة الأنماط xmlns: xsl = "http://www.w3.org/1999/xsl/transform" الإصدار = "1.0"> < XSL: قالب قالب = "/أشخاص"> < لغة البرنامج النصي = "JavaScript"> وظيفة إضافة () { Window.Open ("add.asp" ، "add" ، "العرض = 300 ، الارتفاع = 320 ، تغيير حجم = لا") ؛ } تحرير الوظيفة (intid) { window.Open ("edit.asp؟ id ="+intid ، "edit" ، "width = 300 ، height = 320 ، resize = no") ؛ } </السيناريو > < TABLE ALIGN = "Center" > < tr > < td align = "right"> < a href = "javaScript: add () ؛"> إضافة جهة اتصال جديدة </a> </td> </tr > </الجدول > < table align = "center" cellpacing = "1" cellpadding = "2" bgColor = "#666600"> < tr bgcolor = "#e5e5e5" > < TD >< XSL: Text Disable-Output-escaping = "Yes" > & </XSL: Text > nbsp ؛ </td > < td > الاسم </td > < td > الاسم الإنجليزي </td > < TD > الهاتف المحمول </TD > < td > tel </td > < td > البريد الإلكتروني </td > < td > qq </td > < TD > الشركة حيث تقع </TD > </tr > < XSL: for-ECH SELECT = "Person" > < tr bgcolor = "#ffffff" > < td align = "right"> < xsl: قيمة select = "position ()"/> </td> < td style = "color:#990000"> <a> < xsl: اسم السمة = "href" : السمة> < xsl: اسم السمة = "العنوان"> معلومات التعديل </xsl: السمة> < xsl: value-of select = "name"/> </a> </td > < TD >< XSL: قيمة select = "nick"/></td > < TD >< XSL: قيمة select = "mobile"/></td > < td >< xsl: قيمة select = "tel"/></td > < td ><a>< xsl: اسم السمة = "href" > mailto: < xsl: value-of select = "email"/></xsl: attribute> < xsl: value-of select = "email"/> </a></td > < TD >< XSL: قيمة SELECT = "QQ"/></TD > < TD >< XSL: قيمة select = "الشركة"/></td > </tr > </XSL: من أجل each > </الجدول > </XSL: قالب > </XSL: ورقة الأنماط > |
يتم الانتهاء من التحويل على جانب الخادم باستخدام وظيفة.
'************************************************** الوصف: تنسيق ملف XML باستخدام ملف XSL. المؤلف: GWD 2002-11-05 'المعلمات: strxmlfile - ملف xml ، مسار + اسم الملف 'strxslfile - ملف XSL ، مسار + اسم الملف "العودة: النجاح - سلسلة HTML المنسقة 'فشل - رسالة خطأ مخصص '************************************************** وظيفة formatxml (strxmlfile ، strxslfile) Dim OBJXML ، OBJXSL strxmlfile = server.mappath (strxmlfile) strxslfile = server.mappath (strxslfile) تعيين OBJXML = server.createObject ("msxml2.domdocument") تعيين OBJXSL = server.createBject ("msxml2.domdocument") objxml.async = خطأ إذا objxml.load (strxmlfile) ثم objxsl.async = خطأ objxsl.validateOnparse = خطأ إذا كان objxsl.load (strxslfile) ثم عند استئناف الخطأ التالي 'أخطاء الصيد في طريقة transformnode formatxml = objxml.transformNode (objxsl) إذا objxsl.parseerror.errorcode <> 0 ثم استجابة. write "<br> < hr>" استجابة. Response.write "<br> سبب الخطأ:" & objxsl.parseerror.reason Response.write "<br> خط الخطأ:" & objxsl.parseerror.line formatxml = "< spanalert" "> خطأ في ملف XML! </span>" إنهاء إذا آخر استجابة. write "<br> < hr>" استجابة. Response.write "<br> سبب الخطأ:" & objxsl.parseerror.reason Response.write "<br> خط الخطأ:" & objxsl.parseerror.line formatxml = "< spanalert" "> خطأ في تحميل XSL! </span>" إنهاء إذا آخر استجابة. write "<br> < hr>" استجابة. "رمز الخطأ" Response.write "<br> سبب الخطأ:" & objxml.parseerror.reason Response.write "<br> خط الخطأ:" & objxml.parseerror.line formatxml = "< spanalert" "> خطأ في تحميل ملف XML! </span>" إنهاء إذا تعيين OBJXSL = لا شيء تعيين OBJXML = لا شيء وظيفة نهاية |