Документация 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
Описание
Добавляет префикс пространства имён к локальному имени.
OpenTag
FUNCTION OpenTag(sTag VARCHAR2, sAttribs VARCHAR2 := NULL, sNSPrefix VARCHAR2 := NULL) RETURN VARCHAR2 deterministic;
Описание
Возвращает текст строки для открытия тега.
Параметры:
- sTag - наименование тега;
- sAttribs - список атрибутов тега (если не пустой, должен начинаться с пробела);
- sNSPrefix - префикс пространства имён.
CloseTag
Описание
Возвращает текст строки для закрытия тега.
Параметры:
- 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
Описание
Добавляет одну строку к другой через разделитель.
Параметры:
- cTarget - строка-приёмник;
- cLine - добавляемая строка;
- sDelimiter - разделитель между строками; если одна из строк пустая, разделитель игнорируется.
Если добавляемая строка пустая, строка-приёмник остаётся без изменений.
AppendStrLn
Описание
Аналогична AppendLn, но для Varchar2.
AppendStrToCLOBLn
Описание
Аналогична 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
Описание
Добавляет атрибут пространства имён.
Параметры:
- sAttribs - изменяемый список атрибутов;
- sNSPrefix - префикс пространства имён; если null, добавляется атрибут пространства имён по умолчанию;
- sNSURI - sNSURI - URI пространства имён.
Escape
Описание
Заменяет специальные символы на соответствующие выражения (< и т.п.).
Escape
ReplaceWhitespace
Описание
Выполняет обработку whitespace-символов в соответствии со спецификацией xmlschema: все последовательные символы #9, #10, #13, ' ' заменяются одиночным пробелом.
CollapseWhitespace
Описание
Выполняет обработку 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.