From a4ee442a39ca1e54cb3a03bc94f9946a1ee3dc35 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Wed, 14 May 2003 11:27:46 +0000 Subject: [PATCH] Update namespace with leave/enter. git-svn-id: http://dom-editor.googlecode.com/svn/branches/Gtk2@486 ef21e15d-ca94-4315-9c45-0d95b1b2e117 --- Dome/Model.py | 15 ++++++--------- Dome/View.py | 2 +- Dome/support.py | 16 ---------------- 3 files changed, 7 insertions(+), 26 deletions(-) diff --git a/Dome/Model.py b/Dome/Model.py index 8cf6480..713e13a 100644 --- a/Dome/Model.py +++ b/Dome/Model.py @@ -15,13 +15,6 @@ from xml.dom import Node import support from Beep import Beep -def get_xslt_source(doc, dome_data): - print "get_xslt_source", dome_data - src = doc.createElementNS(None, 'Source') - if file: - src.appendChild(support.import_with_ns(doc, dome_data.documentElement)) - return src - class Model: def __init__(self, path, root_program = None, dome_data = None, do_load = 1): "If root_program is given, then no data is loaded (used for lock_and_copy)." @@ -74,7 +67,11 @@ class Model: self.root_program = xslt.import_sheet(doc) x = implementation.createDocument(None, 'xslt', None) data_to_load = x.documentElement - src = get_xslt_source(x, dome_data) + src = doc.createElementNS(None, 'Source') + if file: + # TODO: import_with_ns? + src.appendChild(self.import_with_ns(doc, + dome_data.documentElement)) data_to_load.appendChild(x.createElementNS(None, 'Result')) data_to_load.appendChild(src) dome_data = None @@ -171,7 +168,7 @@ class Model: if self.get_locks(node): raise Exception("Can't enter locked node!") m = Model(self.get_base_uri(node), root_program = self.root_program, do_load = 0) - copy = support.import_with_ns(m.doc, node) + copy = self.doc.importNode(node, 1) root = m.get_root() m.replace_node(root, copy) self.lock(node) diff --git a/Dome/View.py b/Dome/View.py index 8b6318e..6d493e5 100644 --- a/Dome/View.py +++ b/Dome/View.py @@ -452,7 +452,7 @@ class View: (old_model, old_node, old_marked) = self.chroots.pop() self.update_stack() - copy = old_model.doc.importNode(self.model.get_root(), 1) + copy = old_model.import_with_ns(self.model.get_root()) old_model.unlock(old_node) old_model.replace_node(old_node, copy) self.set_model(old_model) diff --git a/Dome/support.py b/Dome/support.py index ed9e654..eb5d83b 100644 --- a/Dome/support.py +++ b/Dome/support.py @@ -49,22 +49,6 @@ def send_to_file(data, path): return 1 -def import_with_ns(doc, node): - nss = GetAllNs(node) - - node = doc.importNode(node, 1) - for ns in nss.keys(): - if ns == 'xml': - continue - uri = nss[ns] - if ns or uri: - if ns is None: - ns = 'xmlns' - else: - ns = 'xmlns:' + ns - node.setAttributeNS(XMLNS_NAMESPACE, ns, uri) - return node - def fix_broken_html(data): """Pre-parse the data before sending to tidy to fix really really broken stuff (eg, MS Word output). Returns None if data is OK""" -- 2.11.4.GIT