عنصر <xsl:output> في XSLT

التعريف والاستخدام

يحدد عنصر <xsl:output> تنسيق مستند الناتج.

ملاحظة:<xsl:output> هو عنصر رئيسي (top-level element)، يجب أن يكون فرعًا لـ <xsl:stylesheet> أو <xsl:transform>.

القواعد النحوية

<xsl:output
method="xml|html|text|name"
version="string"
encoding="string"
omit-xml-declaration="yes|no"
standalone="yes|no"
doctype-public="string"
doctype-system="string"
cdata-section-elements="namelist"
indent="yes|no"
media-type="string"/>

خصائص

خصائص قيمة وصف
method
  • xml
  • html
  • نص
  • اسم
اختياري. تحديد تنسيق الناتج. الإفتراضي هو XML. Netscape 6 يدعم فقط "html" و "xml".
إصدار media-type اختياري. تعيين إصدار W3C للتنسيق الصادر. (يستخدم فقط عند method="html" أو method="xml").
encoding media-type encoding
اختياري. تعيين قيمة الخاصية الترميز في الناتج.
  • indent
  • yes

omit-xml-declaration

اختياري.

"yes" يحدد أن يجب تجنب إعلان XML في الناتج (<?xml...?>).

"no" يحدد أن يجب أن يتم تضمين إعلان XML في الناتج. الافتراضي هو "no".
    • indent
    • yes
standalone
اختياري. تحديد ما إذا كان يجب على معالج XSLT أن ينشئ إعلان مستقل للمستند؛ يجب أن تكون القيمة yes أو no. الافتراضي هو "no". لا يدعم Netscape 6 هذه الخاصية. media-type doctype-public
اختياري. تحديد معرف الجمهور الذي يجب استخدامه في DTD. وهو قيمة الخاصية PUBLIC في إعلان DOCTYPE في الناتج. media-type doctype-system
اختياري. تحديد معرف النظام الذي يجب استخدامه في DTD. وهو قيمة الخاصية SYSTEM في إعلان DOCTYPE في الناتج. cdata-section-elements namelist
اختياري. قائمة من العناصر المفصولة بالفضاءات،والنص الموجود في هذه العناصر يجب أن يتم عرضه كجزء من CDATA.
  • indent
  • yes
no
اختياري. تحديد ما إذا كان يجب إضافة فجوات عند ناتج شجرة النص. يجب أن تكون القيمة yes أو no. لا يدعم Netscape 6 هذه الخاصية. media-type string

اختياري. يُحدد نوع البيانات MIME (نوع البيانات الإعلامي). الافتراضي هو "text/xml". لا يدعم Netscape 6 هذه الخاصية.

خصائص method

يُستخدم العلامة لتحديد الطريقة العامة لتحديد الناتج للشجرة. إذا لم يكن هناك بادئة،فإن العلامة تشير إلى الطريقة المحددة في هذا المستند،وكانت يجب أن تكون "xml" أو "html" أو "text" أو غير اسم NCName المحدد. إذا كانت هناك بادئة،فسيتم توسيعها وتحديد الطريقة الناتجة.

يتم اختيار القيمة الافتراضية الخاصية method كالتالي. إذا كان أي من الشروط التالية صحيحة،فإن طريقة الناتج الافتراضية هي "html":

يحتوي العنصر الجذر في شجرة الناتج على عناصر فرعية.

كل نقاط النص التي تسبق أول عنصر فرعي للعنصر الجذر في شجرة الناتج تحتوي فقط على أحرف بيضاء.

إذا لم يكن هناك عنصر <xsl:output> أو لم يتم تحديد قيمة الخاصية method لعنصر <xsl:output>،فينبغي استخدام طريقة الناتج الافتراضية.

مثال

مثال 1

في هذا المثال،الناتج هو مستند XML،الإصدار 1.0.تم تعيين طريقة ترميز الحروف على "ISO-8859-1"،وسيتم إجراء التدرج في الناتج لتحسين قابلة القراءة:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
...
...
</xsl:stylesheet>

مثال 2

در این مثال، خروجی مستند HTML است، نسخه 4.0. روش کدگذاری کاراکتر به تنظیم شده به "ISO-8859-1"، خروجی فاصله‌گذاری می‌شود تا خوانایی بهبود یابد:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes"/>
...
...
</xsl:stylesheet>