well sorry i've done a bad copy paste...
here it is
void treatMedida(final pt.efacec.se.aut.frk.cmp.Event event){
String value = event.getValue("Value").toString();
String uidAll = event.getValue("Uid").toString();
String[] uids = uidAll.split(":",2);
String uid = uids[0]+event.getValue("Type");
String tag = event.getValue("SxTag").toString();
Element element = doc.getElementById(uid);// elemento da medida
NodeList nl = element.getChildNodes();
// vai buscar a posição y
Element element_temp = (Element)nl.item(nl.getLength()-4);
String posY = element_temp.getAttribute("y");
// vai buscar a secção cdata
String cdata = nl.item(nl.getLength()-2).getNodeValue();
if (event.getValue("STImposed").toString().equals("0")
&& cdata.indexOf("notImposed")!=-1
|| event.getValue("STImposed").toString().equals("1")
&& cdata.indexOf("notImposed")==-1){
Node n = doc.getElementById("value"+uids[0]).getChildNodes().item(0);
n.setNodeValue(value);
svgCreator.writeXmlToFile("d:\\marinho\\svgbib\\tmp2.svg", doc);
}else {
if (event.getValue("STImposed").toString().equals("1")){
// se troca para imposto
Document svgDoc = svgDoc = svgCreator.parseXmlFile(lib_dir+medida_imposta_dir, false);
// busca elemento <g>
NodeList list = svgDoc.getElementsByTagName("svg").item(0).getChildNodes();
Element gElement = (Element)list.item(1);
gElement.setAttribute("id", uid );
// Tratar da posição dos elementos e texto
NodeList l = gElement.getChildNodes();
for ( int i = 0 ; i < l.getLength() ; i++){
if ( l.item(i).getNodeName().equals("text")){
Element el = (Element) l.item(i);
//para o elemento onde o valor está contido tenha id unico
if(el.getAttribute("id").equals("value")) el.setAttribute("id", el.getAttribute("id")+uids[0]);
el.setAttribute("y",posY);
NodeList textList = el.getChildNodes();
for (int j =0; j < textList.getLength() ; j++){
if (textList.item(j).getNodeValue()!=null && textList.item(j).getNodeValue().equals("XXXXXUIDXXXXX"))
textList.item(j).setNodeValue(uid);
if (textList.item(j).getNodeValue()!=null && textList.item(j).getNodeValue().equals("XXXXXTAGXXXXX"))
textList.item(j).setNodeValue(tag);
}
}
}
// Make a copy of the element subtree suitable for inserting into doc2
Node dup = doc.importNode(gElement, true);
element.getParentNode().replaceChild(dup,element);
//alterar o valor
doc.getElementById("value"+uids[0]).getChildNodes().item(0).setNodeValue(value);
//ver resultado num ficheiro
svgCreator.writeXmlToFile("d:\\marinho\\svgbib\\tmp.svg", doc);
}else {
// not implemented
}
}
// fast repaint
jsvgCanvas.getUpdateManager().getUpdateRunnableQueue().invokeLater(new Runnable(){public void run(){jsvgCanvas.repaint();}});
}
---------------------------------------------------------------
Filipe Marinho
[EMAIL PROTECTED]
EFACEC Sistemas de Electrónica, S.A
Rua Engº Frederico Ulrich
Apart. 3078 - 4471-907 Moreira Maia
PORTUGAL
Telf 229402000
---------------------------------------------------------------