Замечание к документу "Тэкс, понял, уточняю конечную задачу. (+)"   >>>   
Тема: ну это могу рассказать ;)...

Создан:Mikhail Cholokov 04/29/2009 01:40 PM
Модифицирован:Mikhail Cholokov 04/29/2009 01:53 PM
Папка:
05. Notes APIs (C/DXL/etc), 06. Разработка Notes-приложений
Тип сообщения:
Мне лень заполнять это поле

Сообщение:
прийдется парсить DXL (шобы ДОМ не строить - хотя есть любители ;)
варианта два:
-java
-LS
чем хорошо на LS - общение с объектами стрима напрямую
чем плохо - писать парсер и обработку самому ;)

чем хороша java - есть парсеры и я выкладвал здесь - LAX - дергает все чё ни попадя, файлообразное, из дока скидывает на диск (это моно изменить)
можно переделать на чё угодно (любой DXL тег) - изменить название метода - и всё
чем "плохо" - обмен с LS - тока стрингами (и скалярные типы) или их массивы, через бридж

коротко про ДХЛ для файлов - base64 энкоденая тушка хранится в теге (унутре) <filedata>

пример как оно дегает файл:
import org.xml.sax.*;
import java.io.*;
import org.base64.util.*;
public class FileData {
private String fileName="";
private FileOutputStream outFile=null;
private StringBuffer sBuff=new StringBuffer("");
private String rootPath="";
private String filePath="";

public FileData(String path){super(); rootPath=path;}
public void textOffiledata(String fileData){
// System.out.print(fileData);
sBuff.append(fileData);
}
public void startfile(AttributeList list){
filePath=rootPath + list.getValue("name");
}
public void startfiledata(AttributeList list){
System.out.print("start file->");
openStream(filePath);
}
public void endfiledata(){
closeStream();
System.out.println("<-end file");
}
*********************
класс для гифов - аналогично для жопега (textOfjpeg, startjpeg, endjpeg)
public class GifData {
private String fileName="";
// private OutputStream outStream=null;
private FileOutputStream outFile=null;
private StringBuffer sBuff=new StringBuffer("");
private String rootPath="";
private String filePath="";

public GifData(String path){super(); rootPath=path;}

public void textOfgif(String fileData){
// System.out.print(fileData);
sBuff.append(fileData);
}
public void startgif(AttributeList list){
System.out.print("start gif->");
//за название берем системное время в мс
filePath=rootPath + (new Long(System.currentTimeMillis())).toString() + "bin.gif";
//list.getValue();
openStream(filePath);
}
public void endgif(){
closeStream();
System.out.println("<-end gif");
}
//**********************************************************
пример как оно подключает класс:
String dxlOut=exporter.exportDxl(doc);
ByteArrayInputStream in = new ByteArrayInputStream(dxlOut.getBytes("UTF-8"));

Lax lax = new Lax();

//Создаем инстансы классов, кот. обрабатывают конкретные элементы XML
FileData fdata=new FileData("."+(new Character(File.separatorChar)).toString());
....
lax.addHandler(fdata);
lax.parseDocument(true, lax, in);
усё

ваще в вашей ситуации - код будет короче (ещё короче) - нужны тока методы textOf...
кот. дергают стринги с кодированным содержимым, их же мы можем и выводить в методы для LS2J

Иерархия документов данной дискуссии:
Копирование вложенного файла из обычного документа Lotus Notes в документ Lotus Notes с MIMEEntity. (+) (Ivan Tsibanenko) (28.04.2009 20:22:53)
.... др. словами - хочется ХТМЛ и картинку к нему, из дока, РТ типа, завернуть в mime и получить другой док? (Mikhail Cholokov) (28.04.2009 21:16:21)
........ Так точно! (-) (Ivan Tsibanenko) (29.04.2009 10:44:52)
............ полного решения щас под рукой нет, интересуют детали: (Mikhail Cholokov) (29.04.2009 12:17:31)
................ Тэкс, понял, уточняю конечную задачу. (+) (Ivan Tsibanenko) (29.04.2009 12:48:30)
.................... Писал, думал заменить MakeHTMLItem... (Vlad Sh) (29.04.2009 15:12:31)
.................... ну это могу рассказать ;)... (Mikhail Cholokov) (29.04.2009 13:40:03)
.................... Через DXL сразу получается обьект уже в BASE64... (Rinat N. Karimov; Matrix) (29.04.2009 13:14:47)
.................... Спасибо Ринат и Михаил! Ушёл думать... (-) (Ivan Tsibanenko) (29.04.2009 14:11:20)


Разработчикам и администраторам: курсы, книги, сертификация