summaryrefslogtreecommitdiff
path: root/xml2po
diff options
context:
space:
mode:
authorDanilo Šegan <danilo@src.gnome.org>2005-02-23 10:29:01 +0000
committerDanilo Šegan <danilo@src.gnome.org>2005-02-23 10:29:01 +0000
commitfb002707782509475f8b2aaebd060b7a9114de3c (patch)
treec11e21b441e48fd04b92fc0a31523c361aa10f60 /xml2po
parent212e37e1d031f485daf1fd5f6fc7293bf1367965 (diff)
downloadgnome-doc-utils-fb002707782509475f8b2aaebd060b7a9114de3c.tar.gz
Add DTD in replaceNodeContentsWithText.
Diffstat (limited to 'xml2po')
-rw-r--r--xml2po/ChangeLog4
-rwxr-xr-xxml2po/xml2po.py9
2 files changed, 12 insertions, 1 deletions
diff --git a/xml2po/ChangeLog b/xml2po/ChangeLog
index 24de8c3..3937d87 100644
--- a/xml2po/ChangeLog
+++ b/xml2po/ChangeLog
@@ -1,3 +1,7 @@
+2005-02-23 Danilo Šegan <dsegan@gmx.net>
+
+ * xml2po.py (replaceNodeContentsWithText): Add DTD here as well.
+
2004-12-23 Danilo Šegan <dsegan@gmx.net>
* TODO: Added tag-simplifying request by Francesco.
diff --git a/xml2po/xml2po.py b/xml2po/xml2po.py
index 831fad5..922bd7f 100755
--- a/xml2po/xml2po.py
+++ b/xml2po/xml2po.py
@@ -276,7 +276,14 @@ def replaceNodeContentsWithText(node,text):
"""Replaces all subnodes of a node with contents of text treated as XML."""
#print >> sys.stderr, text
if node.children:
- tmp = '<%s>%s</%s>' % (startTagForNode(node), text, node.name)
+ try:
+ # Lets add document DTD so entities are resolved
+ dtd = node.doc.intSubset()
+ tmp = dtd.serialize()
+ except:
+ tmp = ''
+
+ tmp += '<%s>%s</%s>' % (startTagForNode(node), text, node.name)
try:
newnode = libxml2.parseMemory(tmp,len(tmp))
except: