عنصر <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
  • text
  • name
قابل انتخاب. تعریف فرمت خروجی. پیش‌فرض XML است. Netscape 6 تنها پشتیبانی از "html" و "xml" را دارد.
version string قابل انتخاب. تنظیم شماره نسخه W3C برای فرمت خروجی. (فقط در method="html" یا method="xml" استفاده می‌شود).
encoding string اختیاری. ارزش attribute属性的encoding در خروجی را تنظیم می‌کند.
omit-xml-declaration
  • yes
  • no

اختیاری.

"yes" مشخص می‌کند که باید توضیح XML در خروجی حذف شود (<?xml...?>).

"no" مشخص می‌کند که باید توضیح XML در خروجی قرار گیرد. پیش‌فرض "no" است.

standalone
    • yes
    • no
اختیاری. مشخص می‌کند آیا XSLT پردازنده باید توضیح مستقل مستند را خروجی کند یا خیر؛ این ارزش باید "yes" یا "no" باشد. پیش‌فرض "no" است. Netscape 6 این attribute را پشتیبانی نمی‌کند.
doctype-public string اختیاری. مشخص می‌کند شناسه‌ی عمومی مورد استفاده در DTD. این شناسه ارزش attribute属性的PUBLIC در توضیح DOCTYPE در خروجی است.
doctype-system string اختیاری. مشخص می‌کند شناسه‌ی سیستم مورد استفاده در DTD. این شناسه ارزش attribute属性的SYSTEM در توضیح DOCTYPE در خروجی است.
cdata-section-elements namelist اختیاری. لیستی از عناصر با فاصله‌های خالی جدا شده است که باید به عنوان بخش CDATA خروجی شوند.
indent
  • yes
  • no
اختیاری. مشخص می‌کند که آیا باید فضاهای خالی در خروجی نتیجه اضافه شود یا خیر؛ این ارزش باید "yes" یا "no" باشد. Netscape 6 این attribute را پشتیبانی نمی‌کند.
media-type string اختیاری. نوع MIME خروجی را تعریف می‌کند (نوع رسانه‌ی داده‌ها). پیش‌فرض "text/xml" است. Netscape 6 این attribute را پشتیبانی نمی‌کند.

attribute属性的method

شناسه‌ای برای نشان دادن روش کلی خروجی درخت نتیجه است. اگر هیچ پیشوندی وجود نداشته باشد، شناسه‌ای که در این مستند مشخص شده است باید باشد و باید یکی از "xml"، "html"، "text" یا نام‌گذاری‌های NCName نباشد). اگر پیشوند وجود داشته باشد، باید توسعه داده شود و شناسه‌ی روش خروجی نشان داده شود.

انتخاب ارزش پیش‌فرض attribute属性的method به صورت زیر است. اگر هر یک از شرایط زیر صادق باشد، روش خروجی پیش‌فرض "html" خواهد بود:

نقطه‌ی ریشه درخت نتیجه شامل فرزندان عناصر است.

نام توسعه‌ی اولین فرزند عناصر ریشه در درخت نتیجه شامل بخش محلی "html" (هر ترکیب از حروف بزرگ و کوچک) و URI نام‌گذاری شده خالی است.

هر نقطه‌ی متنی قبل از اولین فرزند عناصر ریشه در درخت نتیجه فقط شامل کاراکترهای خالی است.

در غیر این صورت، روش خروجی پیش‌فرض "xml" است. اگر هیچ عنصر <xsl:output> وجود نداشته باشد یا اگر هیچ عنصر <xsl:output> روش attribute属性的值的指定 نداشته باشد، باید از روش خروجی پیش‌فرض استفاده شود.

مثال

مثال 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>