• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

dxl и поля с хинтами

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Всем привет!

Столкнулся вот с какой проблемой.
Есть документ. На форме документа есть поле с хинтом.
Этот документ рендерится в RT-поле нового документа. Этот новый документ сохраняется и dxl-ится.
В результате в xml-файле получается фигня. Содержимое RT-поля получается кодированным. Похоже на Base64-кодировку, но никакими методами раскодировать эти данные и получить вменяемый текст не получается.
Кто-то решал подобную задачу?

Вариант с удалением хинта в дизайне или обход xml перед рендерингом в RT-поле не предлагать.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
может стрим в специфичном формате?
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Та хз.
В хелпе нашел такое
*RICHTEXTOPTION_DXL (0) (default) Richtext is output in its normal DXL format, as a <richtext> element.
*RICHTEXTOPTION_RAW (1) Richtext is output as a <rawitemdata> element containing the raw data for the richtext item, encoded in Base64. This option can be useful if the only purpose of the DXL will be to import it into another database, because it assures that the imported data will be precisely the same as the original.

у меня принудительно 0. Но по какой-то причине при наличии хинтов получаю rawitemdata.
Онлайновыми декодерами пробовал прочитать - получаю кое-где читабельный текст, а в основном - кучу псевдографики. Намека на xml нету :(
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
весь код как делается экспорт приведи
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Код:
Set doctmp = dbCurrent.Createdocument()       
    Set item = doctmp.Createrichtextitem("Body")
    Call doc.Rendertortitem(item )
    doctmp.Form = "tmp"   
    item.IsSigned = False
    item.IsEncrypted = False
    Call doctmp.ComputeWithForm( False, False )
    Call doctmp.Save(True, False, True)   


    Set stream = session.CreateStream
    Call stream.Open(flXml, "UTF-16")
    Stream.Truncate
    
    '    получаем xml-данные
    Set domParser = session.CreateDOMParser()   
    Set exporter = session.CreateDXLExporter( doctmp, domParser )
    exporter. ConvertNotesbitmapsToGIF = True
    exporter.Mimeoption = 0
    exporter.Richtextoption = 0
    exporter.OutputDOCTYPE = False
    exporter.Process
        
    Call domParser.SetOutPut(stream)
    Call domParser.Serialize
    
    Call stream.Close()
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!