Re[3]: XSLT... вопрос о префиксе NS
От: isek Украина  
Дата: 10.11.05 13:11
Оценка:
Здравствуйте, 166MMX, Вы писали:

MMX>Здравствуйте, isek, Вы писали:


I>>Здравствуйте, 166MMX, Вы писали:


MMX>>>Всем привет!

MMX>>>Подскажите, как в XML-ке поставить префиксы пространства имен у элементов ??

I>> Хм, вот так, как ты это сделал...


MMX>Мило... и как я сам не догадался ?

MMX>просто входящяя XML-ка несколько больше... эдак в 2000 строк...
MMX>поэтому и прошу дать совет по поводу подходящей трансформации

Судя по постановке вопсроса, средство не важно какое?
Я бы сделал это поиском с заменой (по регулярному выраэению). Примерно так (JScript):



// Загрузить xml-файл
var  oXmlDoc = new ActiveXObject("Microsoft.XMLDOM");
oXmlDoc.load(g_oFS.GetParentFolderName("old.xml"))

// Префикс
var ns = "v:";

// Получить старый xml
var str = oXmlDoc.xml;

// Всатвить префикс в элементы   
re = /<(.* )/g;    
var str2    =    str.replace(re, "<" + ns + "$1");
// Всатвить префикс в атрибуты   
re = / (.*=\")/g;    
str2    =    str2.replace(re, " " + ns + "$1");

// Загрузить новый xml
oXmlDoc.loadXML(str2);

// Сохранить
oXmlDoc.save("new.xml");


ВНИМАНИЕ! РегЭкспы не исчерпывающие — их надо будет дошаманить (возможны пустые элементы и т.д.)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.