Документация iSZN

pkXML.sql

Преобразование типов данных

StrToNum

FUNCTION StrToNum(sTagValue VARCHAR2, iStrict PLS_INTEGER := 0) RETURN NUMBER;

Описание

Извлекает значение типа Number из текста элемента.
Параметры:

  • sTagValue - значение числа;
  • iStrict - определяет поведение при некорректном значении.

При пустом значении sTagValue возвращает null.

DateToStr

FUNCTION DateToStr(dDate DATE, iAddTimezone PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Преобразует значение типа Date в текстовый формат.
Параметры:

  • dDate - преобразуемое значение даты;
  • iAddTimezone - добавлять ли часовой пояс (0/1).

Добавляемый часовой пояс берётся из текущих настроек ОС.
Если dDate=null, возвращает null.

StrToDate

FUNCTION StrToDate(sTagValue VARCHAR2, iStrict PLS_INTEGER := 0) RETURN DATE;

Описание

Извлекает значение типа Date из текста элемента.
Параметры:

  • sTagValue - значение даты в формате ISO yyyy-mm-ddZ;
  • iStrict - определяет поведение при некорректном значении.

Часовой пояс игнорируется (отбрасывается).
При пустом значении sTagValue возвращает null.

DateTimeToStr

FUNCTION DateTimeToStr(dDate DATE, iAddTimezone PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

Преобразует значение даты и времени типа Date в текстовый формат.
Параметры:

  • dDate - преобразуемое значение даты и времени;
  • iAddTimezone - добавлять ли часовой пояс (0/1).

Добавляемый часовой пояс берётся из текущих настроек ОС.
Если dDate=null, возвращает null.

StrToDateTime

FUNCTION StrToDateTime(sValue VARCHAR2, iUseTZ PLS_INTEGER := 0, iStrict PLS_INTEGER := 0) RETURN DATE;

Описание

Извлекает значение типа DateTime из текста элемента.
Параметры:

  • sValue - значение даты и времени;
  • iUseTZ - определяет, учитывать ли часовой пояс (0/1);
  • iStrict - определяет поведение при некорректном значении.

Если учитывается часовой пояс, то время приводится к часовому поясу ОС, иначе часовой пояс в значении просто
отбрасывается.
При пустом значении sValue возвращает null.

TimestampToStr

FUNCTION TimestampToStr(tValue TIMESTAMP, iAddTimezone PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

Преобразует значение типа Timestamp в текстовый формат.
Параметры:

  • tValue - значение даты и времени;
  • iAddTimezone - добавлять ли часовой пояс (0/1).

Добавляемый часовой пояс берётся из текущих настроек ОС.
Если tValue=null, возвращает null.

StrToTimestamp

FUNCTION StrToTimestamp(sValue VARCHAR2, iUseTZ PLS_INTEGER := 1, iStrict PLS_INTEGER := 1) RETURN TIMESTAMP;

Описание

Извлекает значение типа Timestamp из текста элемента.
Параметры:

  • sValue - значение даты и времени;
  • iUseTZ - определяет, учитывать ли часовой пояс (0/1);
  • iStrict - определяет поведение при некорректном значении.

Если учитывается часовой пояс, то время приводится к часовому поясу ОС, иначе часовой пояс в значении просто
отбрасывается.
При пустом значении sValue возвращает null.

BoolStrToInt

FUNCTION BoolStrToInt(sValue VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER deterministic;

Описание

Преобразует текстовое представление значения xs:boolean в числовое. Значения '1', 'true' преобразуются в 1; Значения '0', 'false' преобразуются в 1. В остальных случаях поведение определяется параметром iStrict.

GMonthStrToInt

FUNCTION GMonthStrToInt(sValue VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER deterministic;

Описание

Преобразует текстовое представление значения xs:gMonth (формат –MM) в числовое. Информация о часовом поясе игнорируется. Если значение некорректно, поведение определяется параметром iStrict.

GYearMonthStrToDate

FUNCTION GYearMonthStrToDate(sValue VARCHAR2, iStrict PLS_INTEGER) RETURN DATE deterministic;

Описание

Преобразует текстовое представление значения xs:gYearMonth (формат YYYY-MM) дату (начало соответствующего месяца). Информация о часовом поясе игнорируется. Отрицательный номер года не поддерживается. Если значение некорректно, поведение определяется параметром iStrict.

Функции для работы с тегами XML

QName

FUNCTION QName(sNSPrefix VARCHAR2, sLocalName VARCHAR2) RETURN VARCHAR2 deterministic;

Описание

Добавляет префикс пространства имён к локальному имени.

OpenTag

FUNCTION OpenTag(sTag VARCHAR2, sAttribs VARCHAR2 := NULL, sNSPrefix VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Возвращает текст строки для открытия тега.
Параметры:

  • sTag - наименование тега;
  • sAttribs - список атрибутов тега (если не пустой, должен начинаться с пробела);
  • sNSPrefix - префикс пространства имён.

CloseTag

FUNCTION CloseTag(sTag VARCHAR2, sNSPrefix VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Возвращает текст строки для закрытия тега.
Параметры:

  • sTag - наименование тега;
  • sNSPrefix - префикс пространства имён.

MakeEmptyTag

FUNCTION MakeEmptyTag(sTag VARCHAR2, sAttribs VARCHAR2, sNSPrefix VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Создаёт и возвращает тег XML без текста.
Параметры:

  • sTag - наименование тега;
  • sAttribs - список атрибутов тега (если не пустой, должен начинаться с пробела);
  • sNSPrefix - префикс пространства имён.

При отсутствии атрибутов возвращает null.

MakeMandatoryEmptyTag

FUNCTION MakeMandatoryEmptyTag(sTag VARCHAR2, sAttribs VARCHAR2 := NULL, sNSPrefix VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Создаёт и возвращает тег XML без текста.
Параметры:

  • sTag - наименование тега;
  • sAttribs - список атрибутов тега (если не пустой, должен начинаться с пробела);
  • sNSPrefix - префикс пространства имён.

При отсутствии атрибутов возвращает пустой тег без атрибутов.

MakeTag

FUNCTION MakeTag(sTag VARCHAR2, sTagValue VARCHAR2, sAttribs VARCHAR2 := NULL, sDelimiter VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Создаёт и возвращает тег XML.
Параметры:

  • sTag - наименование тега;
  • sTagValue - текст тега (для Varchar-версии);
  • cTagValue - текст тега (для CLOB-версии);
  • sAttribs - список атрибутов тега (если не пустой, должен начинаться с пробела);
  • sDelimiter - разделитель между открывающей, закрывающей частями и текстом тега; игнорируется, если текст тега отсутствует.

Если текст тега отсутствует, возвращает пустой тег с атрибутами.
Если отсутствуют и текст тега, и атрибуты, возвращает null.

MakeTag

FUNCTION MakeTag(sTag VARCHAR2, cTagValue IN CLOB, sAttribs VARCHAR2 := NULL, sDelimiter VARCHAR2 := NULL) RETURN CLOB deterministic;

MakeQTag

FUNCTION MakeQTag(sNSPrefix VARCHAR2, sTag VARCHAR2, sTagValue VARCHAR2, sAttribs VARCHAR2 := NULL, sDelimiter VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Аналогична MakeTag, но с возможностью задать префикс пространства имён.

MakeQTag

FUNCTION MakeQTag(sNSPrefix VARCHAR2, sTag VARCHAR2, cTagValue IN CLOB, sAttribs VARCHAR2 := NULL, sDelimiter VARCHAR2 := NULL) RETURN CLOB deterministic;

MakeMandatoryTag

FUNCTION MakeMandatoryTag(sTag VARCHAR2, sTagValue VARCHAR2, sAttribs VARCHAR2 := NULL, sDelimiter VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Создаёт и возвращает тег XML.
Параметры:

  • sTag - наименование тега;
  • sTagValue - текст тега (для Varchar-версии);
  • cTagValue - текст тега (для CLOB-версии);
  • sAttribs - список атрибутов тега (если не пустой, должен начинаться с пробела);
  • sDelimiter - разделитель между открывающей, закрывающей частями и текстом тега; игнорируется, если текст тега отсутствует.

Если текст тега отсутствует, возвращает пустой тег с атрибутами.
Если отсутствуют и текст тега, и атрибуты, возвращает пустой тег без атрибутов.

MakeMandatoryTag

FUNCTION MakeMandatoryTag(sTag VARCHAR2, cTagValue IN CLOB, sAttribs VARCHAR2 := NULL, sDelimiter VARCHAR2 := NULL) RETURN CLOB deterministic;

MakeMandatoryQTag

FUNCTION MakeMandatoryQTag(sNSPrefix VARCHAR2, sTag VARCHAR2, sTagValue VARCHAR2, sAttribs VARCHAR2 := NULL, sDelimiter VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Аналогична MakeMandatoryTag, но с возможностью задать префикс пространства имён.

MakeMandatoryQTag

FUNCTION MakeMandatoryQTag(sNSPrefix VARCHAR2, sTag VARCHAR2, cTagValue IN CLOB, sAttribs VARCHAR2 := NULL, sDelimiter VARCHAR2 := NULL) RETURN CLOB deterministic;

MakeTagLn

FUNCTION MakeTagLn(sTag VARCHAR2, sTagValue VARCHAR2, sAttribs VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Создаёт и возвращает тег, используя в качестве разделителя между открывающей, закрывающей частями и текстом тега
перенос строки.
Параметры:

  • sTag - наименование тега;
  • sTagValue - текст тега (для Varchar-версии);
  • cTagValue - текст тега (для CLOB-версии);
  • sAttribs - список атрибутов тега (если не пустой, должен начинаться с пробела).

Если текст тега отсутствует, возвращает пустой тег с атрибутами.
Если отсутствуют и текст тега, и атрибуты, возвращает null.

MakeTagLn

FUNCTION MakeTagLn(sTag VARCHAR2, cTagValue IN CLOB, sAttribs VARCHAR2 := NULL) RETURN CLOB deterministic;

MakeQTagLn

FUNCTION MakeQTagLn(sNSPrefix VARCHAR2, sTag VARCHAR2, sTagValue VARCHAR2, sAttribs VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Аналогична MakeTagLn, но с возможностью задать префикс пространства имён.

MakeQTagLn

FUNCTION MakeQTagLn(sNSPrefix VARCHAR2, sTag VARCHAR2, cTagValue IN CLOB, sAttribs VARCHAR2 := NULL) RETURN CLOB deterministic;

MakeMandatoryTagLn

FUNCTION MakeMandatoryTagLn(sTag VARCHAR2, sTagValue VARCHAR2, sAttribs VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Создаёт и возвращает тег, используя в качестве разделителя между открывающей, закрывающей частями и текстом тега
перенос строки.
Параметры:

  • sTag - наименование тега;
  • sTagValue - текст тега (для Varchar-версии);
  • cTagValue - текст тега (для CLOB-версии);
  • sAttribs - список атрибутов тега (если не пустой, должен начинаться с пробела).

Если текст тега отсутствует, возвращает пустой тег с атрибутами.
Если отсутствуют и текст тега, и атрибуты, возвращает пустой тег без атрибутов.

MakeMandatoryTagLn

FUNCTION MakeMandatoryTagLn(sTag VARCHAR2, cTagValue IN CLOB, sAttribs VARCHAR2 := NULL) RETURN CLOB deterministic;

MakeMandatoryQTagLn

FUNCTION MakeMandatoryQTagLn(sNSPrefix VARCHAR2, sTag VARCHAR2, sTagValue VARCHAR2, sAttribs VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;

Описание

Аналогична MakeMandatoryTagLn, но с возможностью задать префикс пространства имён.

MakeMandatoryQTagLn

FUNCTION MakeMandatoryQTagLn(sNSPrefix VARCHAR2, sTag VARCHAR2, cTagValue IN CLOB, sAttribs VARCHAR2 := NULL) RETURN CLOB deterministic;

AppendLn

PROCEDURE AppendLn(cTarget IN OUT NOCOPY CLOB, cLine IN CLOB, sDelimiter VARCHAR2 := Cr);

Описание

Добавляет одну строку к другой через разделитель.
Параметры:

  • cTarget - строка-приёмник;
  • cLine - добавляемая строка;
  • sDelimiter - разделитель между строками; если одна из строк пустая, разделитель игнорируется.

Если добавляемая строка пустая, строка-приёмник остаётся без изменений.

AppendStrLn

PROCEDURE AppendStrLn(sTarget IN OUT NOCOPY VARCHAR2, sLine VARCHAR2, sDelimiter VARCHAR2 := Cr);

Описание

Аналогична AppendLn, но для Varchar2.

AppendStrToCLOBLn

PROCEDURE AppendStrToCLOBLn(cTarget IN OUT NOCOPY CLOB, sLine VARCHAR2, sDelimiter VARCHAR2 := Cr);

Описание

Аналогична AppendLn, но для добавления Varchar2 к CLOB.

AddAttr

PROCEDURE AddAttr(sAttribs IN OUT NOCOPY VARCHAR2, sAttrName VARCHAR2, sAttrValue VARCHAR2, sNSPrefix VARCHAR2 := NULL);

Описание

Дополняет атрибут в список атрибутов XML-тега, если значение атрибута не пустое.
Параметры:

  • sAttribs - список атрибутов;
  • sAttrName - наименование атрибута;
  • sAttrValue - значение атрибута;
  • sNSPrefix - префикс пространства имён.

Если значение атрибута пустое, список атрибутов остаётся без изменений.

AddMandatoryAttr

PROCEDURE AddMandatoryAttr(sAttribs IN OUT NOCOPY VARCHAR2, sAttrName VARCHAR2, sAttrValue VARCHAR2, sNSPrefix VARCHAR2 := NULL);

Описание

Добавляет атрибут в список атрибутов XML-тега, если значение атрибута не пустое.
Параметры:

  • sAttribs - список атрибутов;
  • sAttrName - наименование атрибута;
  • sAttrValue - значение атрибута;
  • sNSPrefix - префикс пространства имён.

Если значение атрибута пустое, атрибут добавляется с пустым значением (””).
В процессе формирования списка атрибутов пробел добавляется не только между атрибутами, но и в начало списка.

AddNSAttr

PROCEDURE AddNSAttr(sAttribs IN OUT NOCOPY VARCHAR2, sNSPrefix VARCHAR2, sNSURI VARCHAR2);

Описание

Добавляет атрибут пространства имён.
Параметры:

  • sAttribs - изменяемый список атрибутов;
  • sNSPrefix - префикс пространства имён; если null, добавляется атрибут пространства имён по умолчанию;
  • sNSURI - sNSURI - URI пространства имён.

Escape

FUNCTION Escape(sValue VARCHAR2) RETURN VARCHAR2 deterministic;

Описание

Заменяет специальные символы на соответствующие выражения (< и т.п.).

Escape

FUNCTION Escape(cValue IN CLOB) RETURN CLOB deterministic;

ReplaceWhitespace

FUNCTION ReplaceWhitespace(sValue VARCHAR2) RETURN VARCHAR2 deterministic;

Описание

Выполняет обработку whitespace-символов в соответствии со спецификацией xmlschema: все последовательные символы #9, #10, #13, ' ' заменяются одиночным пробелом.

CollapseWhitespace

FUNCTION CollapseWhitespace(sValue VARCHAR2) RETURN VARCHAR2 deterministic;

Описание

Выполняет обработку whitespace-символов в соответствии со спецификацией xmlschema: 1. Все последовательные символы #9, #10, #13, ' ' заменяются одиночным пробелом. 2. После этого ведущие и терминирующие пробелы удаляются.

Функции для работы с данными XML

XMLTransform

FUNCTION XMLTRANSFORM(bData BLOB, bTransform BLOB) RETURN BLOB;

Описание

Выполняет XSLT-преобразование над XML-данными.
Параметры:

  • bData - исходные XML-данные;
  • bTransform - XSLT-преобразование.

Возвращает результат преобразования или null, если хотя бы один из входных параметров равен null.

XMLTransform

FUNCTION XMLTRANSFORM(bData BLOB, sTransform VARCHAR2) RETURN BLOB;

Описание

Выполняет XSLT-преобразование над XML-данными.
Параметры:

  • bData - исходные XML-данные;
  • sTransform - URL XSLT-преобразования.

Возвращает результат преобразования или null, если хотя бы один из входных параметров равен null.