تحفيز:
وظيفة الفرز تجعل البيانات الموجودة على صفحتنا تبدو أكثر إنسانية، وهو تأثير وظيفي شائع جدًا رأيناه على مواقع الويب. في الماضي، كان الفرز التلقائي يتم باستخدام الكثير من التعليمات البرمجية النصية، وهو الأمر الذي كان صعبًا على المتحمسين العاديين. ومع ذلك، فمن الأسهل التعامل معها باستخدام XML. اجعل صفحتك أكثر روعة، هاها، هل أنت متحمس أيضًا!
مادة:
يحتوي الفرز الديناميكي لوحدات تخزين XML على ملفين: paixu.xml وpaixu.xsl
والوظائف هي:
بدون تحديث الصفحة، يمكن إعادة فرز البيانات وعرضها وفقًا لاحتياجات المستخدم الخاصة، مما يؤدي إلى تحسين وظيفة تفاعل البيانات بشكل فعال وجعل صفحتك أكثر ألوانًا.
تأثير:
تصفح هنا
شفرة:
paixu.xml
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="paixu.xsl" ?>
<فكرة زرقاء>
<فريق>
<blue_ID>1</blue_ID>
<blue_name>الطيران الشراعي</blue_name>
<blue_text>فرز بسيط</blue_text>
<blue_time>2002-1-11 17:35:33</blue_time>
<blue_class>موضوع XML</blue_class>
</فريق>
<فريق>
<blue_ID>2</blue_ID>
<blue_name>الطائر الطائر</blue_name>
<blue_text>زواجك سيؤذيك</blue_text>
<blue_time>2001-09-06 12:45:51</blue_time>
<blue_class>جوهر الري</blue_class>
</فريق>
<فريق>
<blue_ID>3</blue_ID>
<blue_name>كاو زي</blue_name>
<blue_text>تطبيق التعبيرات النمطية في منتدى UBB</blue_text>
<blue_time>2001-11-23 21:02:16</blue_time>
<blue_class>جوهر برمجة الويب</blue_class>
</فريق>
<فريق>
<blue_ID>4</blue_ID>
<blue_name>تايلانج</blue_name>
<blue_text>الدليل الكامل لحفلة التوجيه الكلاسيكية لنهاية العام v0.1</blue_text>
<blue_time>2000-12-08 10:22:48</blue_time>
<blue_class>منطقة الري بالمنتدى</blue_class>
</فريق>
<فريق>
<blue_ID>5</blue_ID>
<blue_name>mmkk</blue_name>
<blue_text>ملخص رسالة خطأ Asp</blue_text>
<blue_time>2001-10-13 16:39:05</blue_time>
<blue_class>جافا سكريبت</blue_class>
</فريق>
</بلو آيديا>
paixu.xsl
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet xmlns:xsl=" http://www.w3.org/TR/WD-xsl ">
<xsl:تطابق القالب="/">
<أتش تي أم أل>
<الرأس>
<title> نصائح عملية لمجلد XML (1): الفرز الديناميكي</title>
<نمط>
body,BlueIdea,team,blue_ID,blue_name,blue_text,blue_time,blue_class{ الخط: 12px "宋体"، "Arial"، "Times New Roman" }؛
table { حجم الخط: 12 بكسل؛ الحدود: 0 بكسل لون الحدود: #99CC99 #99CC99 #CCCCCC #CCCCCC؛
تمتد { حجم الخط: 12px اللون: أحمر }
</نمط>
<النص البرمجي>
سيارات الأجرة الوظيفية(x)
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
SortField=document.XSLDocument.selectSingleNode(" //@order-by ");
SortField.value=x;
Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
}
</script>
</الرأس>
<الجسم>
<p align="center"><span>نصائح عملية لمجلد XML (1): الفرز الديناميكي</span></p>
<div id="Layer1" name="Layer1">
<xsl:apply-templates حدد = "BlueIdea" />
</div>
</الجسم>
</html>
</xsl:قالب>
<xsl:template match="BlueIdea">
<عرض الجدول = "500" الحدود = "1" محاذاة = "المركز" cellpadding = "1" تباعد الخلايا = "1" bordercolordark = "#ffffff" bordercolorlight = "#ADAAAD">
<tr bgcolor="#FFCC99" align="center">
<td style="cursor:s-resize" onClick="taxis('blue_ID')">الرقم</td>
<td style="cursor:s-resize" onClick="taxis('blue_name')">الاسم</td>
<td style="cursor:s-resize" onClick="taxis('blue_text')">الموضوع</td>
<td style="cursor:s-resize" onClick="taxis('blue_time')">وقت النشر</td>
<td style="cursor:s-resize" onClick="taxis('blue_class')">التصنيف</td>
</tr>
<xsl:apply-templates حدد = "team" order-by = "blue_ID"/>
</الجدول>
</xsl:قالب>
<xsl:مطابقة القالب = "فريق">
<tr align="center">
<xsl:apply-templates حدد = "blue_ID" />
<xsl:apply-templates حدد = "blue_name" />
<xsl:apply-templates حدد = "blue_text" />
<xsl:apply-templates حدد = "blue_time" />
<xsl:apply-templates حدد = "blue_class" />
</tr>
</xsl:قالب>
<xsl:تطابق القالب = "blue_ID">
<td bgcolor="#eeeeee">
<xsl:قيمة />
</TD>
</xsl:قالب>
<xsl:تطابق القالب = "blue_name">
<TD>
<xsl:قيمة />
</TD>
</xsl:قالب>
<xsl:تطابق القالب='blue_text'>
<TD>
<xsl:قيمة />
</TD>
</xsl:قالب>
<xsl:مطابقة القالب = "blue_time">
<TD>
<xsl:قيمة />
</TD>
</xsl:قالب>
<xsl:تطابق القالب='blue_class'>
<TD>
<xsl:قيمة />
</TD>
</xsl:قالب>
</xsl:ورقة الأنماط>
يشرح:
1) paixu.xml هو ملف بيانات، وأعتقد أن الجميع لن يواجهوا أي مشكلة.
2) paixu.xsl هو ملف بتنسيق، وهناك العديد من الأشياء التي يجب الانتباه إليها.
(1) في البرنامج النصي:
sortField=document.XSLDocument.selectSingleNode(" //@order-by ");
الوظيفة هي: العثور على العقدة الأولى بترتيب السمة، بحيث تكون العقدة المقابلة لها
<xsl:apply-templates حدد = "team" order-by = "blue_ID"/>
ولذلك، فإن قيمة الترتيب خلال عملية onLoad الأولى هي blue_ID.
ونحقق غرض الفرز من خلال إعادة تعريف قيمة الترتيب حسب.
Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
الوظيفة هي: تغيير Layer1 بعد تحويل بيانات XML، وذلك بعد تمرير المعلمة "blue_name"،
<td style="cursor:s-resize" onClick="taxis('blue_name)">الاسم</td>
نقوم بتعديل قيمة الترتيب حسب إلى "blue_name"، أي استخدام "blue_name" كطريقة فرز.
ثم قم بعرض المحتوى المصنف الجديد عن طريق إعادة عرض قيمة HTML الداخلية للطبقة 1.
(٢) في المتن:
ترتيبًا
لا يمكنك تفويت هذا، وإلا فلن تتمكن من العثور عليه. !
<?xml version="1.0" encoding="gb2312" ?>
شيء آخر:
نادرًا ما تتم إضافة التشفير = "gb2312" إلى الكود الموضح في معظم كتب XML المدرسية.
لذلك، عندما نستخدم اللغة الصينية في XML، سيتم الإبلاغ عن خطأ والسبب هو عدم كتابة هذا الإعلان.
حاشية:
بعد أن أصبح الجميع على دراية بفكرة الفرز الديناميكي، ستجد أن طريقة التنفيذ لدينا بسيطة جدًا في الواقع.
ما عليك سوى تعديل قيمة الترتيب حسب ثم عرضها مرة أخرى.
في وظائف الاستعلام الديناميكي والترحيل الديناميكي، ما زلنا نتبع هذه الفكرة.