format-number(123456.78, '$,0000|$,0000-', 'format1')→ '123456,7800'
format-number(-123456.78, '$,00001$,0000-', 'format1')→ '123456,7800-'
format-number(-123456.78, '000:000:000,00$$', 'format1')→ 'N000:123:456,78'
format-number('zero', '000:000:000,00$$', 'format1') -> 'not-a-number'
format-number(1 div 0, '$,$', 'format1')→ '∞'
format-number(-1 div 0, '$,$', 'format1')→ 'N∞'
Определение десятичного формата:
Примеры функций format-number:
format-number(123456789, '#', 'format2')→ '012345678'
format-number(123456789, '#')→ '123456780'
Определение десятичного формата:
Примеры функций format-number:
format-number(123456789, '#', 'format3')→ '23456789:'
format-number(12345.06789, '#.#####', 'format3')→ '23456.1789:'
Десятичный формат, определяемый элементом xsl:decimal-format, в отличие от многих других элементов не может переопределяться в преобразованиях со старшим порядком импорта. Элементы xsl:decimal-formatдолжны определять десятичные форматы с различными именами (за исключением тех случаев, когда значения их атрибутов полностью совпадают).
Контроль вывода документа
Несмотря на то, что XSLT-процессоры должны лишь только преобразовывать логические модели документов, организованные в виде деревьев, многие из них имеют также возможность выдавать результат преобразования в виде последовательности символов.
Синтаксис этого элемента приведен ниже:
method = "xml" | "html" | "text" | " имя "
version = " токен "
encoding = " строка "
omit-xml-declaration = "yes" | "no"
standalone = "yes" | "no"
doctype-public = " строка "
doctype-system = " строка "
cdata-section-elements = " имена "
indent = "yes" | "no"
media-type = " строка "/>
Элемент верхнего уровня xsl:outputпозволяет указывать, каким образом должно быть выведено результирующее дерево.
Главным атрибутом элемента xsl:outputявляется атрибут method, который определяет, какой метод должен использоваться для вывода документа. Значением этого атрибута может быть любое имя, но при этом техническая рекомендация XSLT определяет только три стандартных метода вывода — "xml", "html"и "text". В том случае, если процессор поддерживает нестандартный метод вывода, его реализация полностью зависит от производителя.
Если в преобразовании не определен элемент xsl:outputили в нем не указан атрибут method, метод преобразования выбирается по умолчанию исходя из следующих условий.
□ Если корень выходящего документа имеет дочерний элемент с локальным именем " html" (в любом регистре символов), которому предшествуют только пробельные символы, методом вывода по умолчанию становится "html".
□ Во всех остальных случаях методом вывода по умолчанию является "xml".
Пример
Для документа
XSL Transformations (XSLT)
Version 1.0
Методом вывода по умолчанию будет "html", а для документа
XSL Transformations (XSLT)
Version 1.0
будет выбран метод вывода "xml".
Помимо главного атрибута method, элемент xsl:outputимеет следующие атрибуты:
□ version(версия) — определяет версию языка выходящего документа;
□ indent(индентация) — определяет, должен ли процессор добавлять пробельные символы для более наглядного форматирования документа;
□ encoding(кодировка) — определяет, в какой кодировке должен быть выведен документ. Значение этого атрибута не зависит от регистра символов, то есть значения encoding="utf-8"и encoding="UtF-8"будут эквивалентны. В атрибуте encodingможно использовать только печатаемые символы ASCII, то есть символы интервала от #x21до #x7e. Значением encodingдолжно быть название набора символов, определенное в стандартах IANA (Internet Assigned Numbers Authority) или RFC2278. В противном случае, атрибут должен начинаться символами " x-";
□ media-type— определяет тип содержимого MIME выходящего документа;
□ doctype-system— определяет системный идентификатор, который должен быть использован в декларации типа документа (DTD);
□ doctype-public— определяет публичный идентификатор, который должен быть использован в декларации типа документа (DTD);
□ omit-xml-declaration(пропустить декларацию XML) — определяет, нужно ли включать декларацию XML в выходящий документ или нет. Значением этого атрибута должно быть либо "yes"(пропустить декларацию), либо "no"(включить декларацию в выходящий документ);
□ standalone(самостоятельный документ) — определяет, должен ли процессор выводить указание на самостоятельность документа (standalone declaration). Значением этого атрибута может быть либо "yes"(выводить указание), либо "no"(не выводить указание на самостоятельность);
Читать дальше