• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Dxl -> Xml

garrick

Lotus Team
26.10.2009
1 351
151
BIT
188
Существуют ли какие-либо быстрые способы преобразования DXL в стандарный XML (data), понятный другим программам. Например:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">DXL</div></div><div class="sp-body"><div class="sp-content">
Код:
<?xml version='1.0'?>
<!DOCTYPE document SYSTEM 'xmlschemas/domino_8_5_3.dtd'>
<document xmlns='http://www.lotus.com/dxl' version='8.5' maintenanceversion='3.3' replicaid='C325777A004B7013' form='Person'>
<item name='ZIP'><text>601903</text></item>
<item name='REGION'><text>Владимирская</text></item>
<item name='REGION_CODE'><text>3300000000000</text></item>
<item name='AREA_CODE'><text/></item>
<item name='CITY_CODE'><text>3300000400000</text></item>
<item name='LOCALITY'><text/></item>
<item name='LOCALITY_CODE'><text/></item>
<item name='STREET_CODE'><text>33000004000000200</text></item>
</document>

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">XML (что-то типа такого)</div></div><div class="sp-body"><div class="sp-content">
Код:
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<fields>
<field name="1"><value>Project 1</value></field>
<field name='ZIP'><value>601903</value></field>
<field name='REGION'><value>Владимирская</value></field>
<field name='REGION_CODE'><value>3300000000000</value></field>
<field name='AREA_CODE'><value/></field>
<field name='CITY_CODE'><value>3300000400000</value></field>
<field name='LOCALITY'><value/></field>
<field> name='LOCALITY_CODE'><value/></field>
<field name='STREET_CODE'><value>33000004000000200</value></field>
</fields>
</xfdf>

Про XSLTransformer в курсе. Может чего готовое есть? Надо ещё и заголовок переписывать, и с кодировками косяки какие-то.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
а подсунуть свою схему не пробывали?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
ХСЛТ и есть самый готовый - просто преобразуете в "нужный" нэймспэйс (определяете свой)
смотрите примеры для ФОП (здесь)
 

garrick

Lotus Team
26.10.2009
1 351
151
BIT
188
Блин! Не первый раз пытаюсь сделать что-то полезное с помощью DXLExporter/DXLImporter. Оно вообще на что-нибудь годится кроме выгрузки/загрузки из самого себя в себя. Проще принтами правильный XML самому сделать, чем потом порядок навести в этой каше. Кто-нибудь вообще этим пользуется? Научите меня.
P.S. К вопросу это не относится. Вопрос решен путём прямого формирования XML нужной структуры, без DXL посредника.
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
180
garrick
Для построение структуры XML, лично я использовал либо Dom parser, либо Sax parser, так можно свою структуру генерить.
Через Print/Write тоже можно, но на любителя.
DXLExporter использовал для сравнения документов, ну и дизайна.
Через DXLImporter можно подгружать дизайн в базу.
 

garrick

Lotus Team
26.10.2009
1 351
151
BIT
188
Через Print/Write тоже можно, но на любителя.
Нужно было просто выгрузить данные для последующей загрузки в другую (не Lotus) систему, которая умеет принимать данные в XML формате, причём соответствие полей настраивается. Но читать DXL она отказалась наотрез.
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">В итоге написал такой простой код:</div></div><div class="sp-body"><div class="sp-content">
Код:
	Dim session As New NotesSession
Dim db As NotesDatabase
Dim unprocessed As NotesDocumentCollection		
Dim f As Integer

Set db = session.currentdatabase
Set unprocessed = db.unprocesseddocuments
Dim doc As NotesDocument
Set doc = unprocessed.getfirstdocument	

f = FreeFile
Open "c:\dxl\data.xml" For Output As f charset = "UTF-8"
Print #f, {<?xml version="1.0" encoding="UTF-8"?>}
Print #f, {<DATA>}
Print #f, Tab(4) + {<} + doc.Form(0) + {>} 
ForAll i In doc.Items
If Left(i.Name, 1) <> "$" Then 
Print #f, Tab(8) + {<} + i.Name + {>} + i.Text + {</} + i.Name + {>}
End if	
End ForAll
Print #f, Tab(4) + {</} + doc.Form(0) + {>}
Print #f, {</DATA>}	
Close f

В итоге DXL опять в пролёте.
DXLExporter использовал для сравнения документов, ну и дизайна.
Через DXLImporter можно подгружать дизайн в базу.
Вот именно. Я так понимаю ни на что другое оно и не годится.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
Вот именно. Я так понимаю ни на что другое оно и не годится.
для правки элементов дизайна и РТполей незаменим
а в других случайх лучше самому побайтово сделать
 
Мы в соцсетях:

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