Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / XSD валидация даты / 6 сообщений из 6, страница 1 из 1
08.02.2018, 09:17
    #39598709
xsd
xsd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD валидация даты
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
procedure test_reg
is
 l_xsd_test varchar2(4000) :=    
  '<xsd:schema targetNamespace="urn:TEST" 
  xmlns="urn:TEST" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:xdb="http://xmlns.oracle.com/xdb">      
          <xsd:element name="issueDate" type="xsd:dateTime" xdb:SQLType="TIMESTAMP WITH TIME ZONE" form="qualified"/>[
   </xsd:schema>';
BEGIN

DBMS_XMLSCHEMA.registerSchema (
     SCHEMAURL => 'http://test.com/xsd/TEST.xsd'
    ,SCHEMADOC => l_xsd_test
  );
END;

procedure test_validate
is
  l_xml xmltype;                                                                  
  l_txt clob := '<?xml version="1.0" encoding="UTF-8"?>   
   <ns0:issueDate xmlns:ns0="urn:TEST">2018-02-06T12:07:25.141+03:00</ns0:issueDate>';
begin

  l_xml := xmltype(xmlData => l_txt, schema => 'http://test.com/xsd/TEST.xsd');

  l_xml.schemavalidate();
exception
when OTHERS then
  log(sqlerrm);
end;



пытаюсь валидировать дату в формате 2018-02-06T12:07:25.141+03:00
выдает ошибку

ORA-30992: возникла ошибка на Xpath /issueDate[@SYS_XDBBODY$]
ORA-01858: вместо ожидаемой цифры обнаружен нецифровой символ

Код: plaintext
 type="xsd:dateTime" xdb:SQLType="TIMESTAMP WITH TIME ZONE" 
есть

чего ей еще не хватает ?
...
Рейтинг: 0 / 0
08.02.2018, 12:37
    #39598878
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD валидация даты
xsd,

Код: plsql
1.
TIME ZONE" form="qualified"/> [


так задумано?
...
Рейтинг: 0 / 0
08.02.2018, 13:01
    #39598905
xsd
xsd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD валидация даты
envxsd,

Код: plsql
1.
TIME ZONE" form="qualified"/> [


так задумано?

нет, это опечатка не в исходном коде, а при постинге на сей форум
просто пытался докинуть тегов, но не вышло, удалил, но один символ затерялся
так что проблема не в этом
...
Рейтинг: 0 / 0
08.02.2018, 13:57
    #39598978
merch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD валидация даты
xsd, возьми свой xml, xsd, открой ресурс "валидация xml по xsd online" и посмотри, ок или нет.
Если нет - то тебе явно не на эту ветку форума.
...
Рейтинг: 0 / 0
08.02.2018, 15:10
    #39599077
xsd
xsd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD валидация даты
merchxsd, возьми свой xml, xsd, открой ресурс "валидация xml по xsd online" и посмотри, ок или нет.
Если нет - то тебе явно не на эту ветку форума.

в джаве у меня всё валидируется отлично
...
Рейтинг: 0 / 0
08.02.2018, 15:33
    #39599121
xsd
xsd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD валидация даты
опа....

таки решение само нашлось
https://www.eehelp.com/question/validate-the-xml-datetime-ora-01830-01858/

Код: plsql
1.
ALTER SESSION SET nls_numeric_characters = '.,'



и всё валидируется

я подозревал что дело в параметрах, но чтобы nls_numeric_characters....
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / XSD валидация даты / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]