diff --git a/gramps2/ChangeLog b/gramps2/ChangeLog index 21419d23c..c3b60faa8 100644 --- a/gramps2/ChangeLog +++ b/gramps2/ChangeLog @@ -1,3 +1,11 @@ +2005-10-05 Alex Roitman + * doc/grampsxml.dtd: Add to CVS (replaces gramps.dtd). + * src/WriteXML.py: Bring in sync with the DTD: + + add PUBLIC declaration of the DTD file + + remove db stats as attributes of the database element + + prepend all handles and hlinks with "_" (conform to XML ID) + + replace "aka" with "name", "name" with "name preferred=1" + 2005-10-05 Julio Sanchez * src/plugins/ReorderIds.py: handle more cases correctly diff --git a/gramps2/doc/gramps.dtd b/gramps2/doc/gramps.dtd deleted file mode 100644 index 6bd69e7c1..000000000 --- a/gramps2/doc/gramps.dtd +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/gramps2/src/WriteXML.py b/gramps2/src/WriteXML.py index 2330fba6c..45692970d 100644 --- a/gramps2/src/WriteXML.py +++ b/gramps2/src/WriteXML.py @@ -65,6 +65,9 @@ try: except: _gzip_ok = 0 + +_xml_version = "1.0.0" + #------------------------------------------------------------------------- # # @@ -205,16 +208,17 @@ class XmlWriter: total = person_len + family_len + place_len + source_len self.g.write('\n') - self.g.write('\n') - self.g.write("\n") + self.g.write('\n' + % (_xml_version,_xml_version)) + + self.g.write("\n") self.g.write("
\n") self.g.write(" \n" % place_len) + self.g.write("/>\n") self.g.write(" \n") self.write_line("resname",owner.get_name(),3) self.write_line("resaddr",owner.get_address(),3) @@ -236,7 +240,7 @@ class XmlWriter: if person: self.g.write(' default="%s" home="%s"' % (person.get_gramps_id (), - person.get_handle())) + "_"+person.get_handle())) self.g.write(">\n") keys = self.db.get_person_handles(sort_handles=False) @@ -259,9 +263,9 @@ class XmlWriter: self.write_line("gender","F",3) else: self.write_line("gender","U",3) - self.dump_name("name",person.get_primary_name(),3) + self.dump_name(person.get_primary_name(),True,3) for name in person.get_alternate_names(): - self.dump_name("aka",name,3) + self.dump_name(name,False,3) self.write_line("nick",person.get_nick_name(),3) birth = self.db.get_event_from_handle(person.get_birth_handle()) @@ -307,7 +311,7 @@ class XmlWriter: else: frel='' self.g.write(" \n" % \ - (alt[0], mrel, frel)) + ("_"+alt[0], mrel, frel)) for family_handle in person.get_family_handle_list(): self.write_ref("parentin",family_handle,3) @@ -369,7 +373,7 @@ class XmlWriter: self.callback(float(count)/float(total)) count = count + 1 self.g.write(" \n" % - (source.get_gramps_id(), source.get_handle(), + (source.get_gramps_id(), "_"+source.get_handle(), source.get_change_time())) self.write_force_line("stitle",source.get_title(),3) self.write_line("sauthor",source.get_author(),3) @@ -415,7 +419,7 @@ class XmlWriter: if len(self.db.get_bookmarks()) > 0: self.g.write(" \n") for person_handle in self.db.get_bookmarks(): - self.g.write(' \n' % person_handle) + self.g.write(' \n' % ("_"+person_handle)) self.g.write(" \n") if len(self.db.name_group) > 0: @@ -472,7 +476,7 @@ class XmlWriter: sp = " "*index com = self.fix(w.get_comment()) if w.get_type() == RelLib.Event.ID: - self.g.write('%s\n' % (sp,w.get_value())) + self.g.write('%s\n' % (sp,"_"+w.get_value())) if com: self.g.write(' %s%s\n' % (sp,com)) self.g.write('%s\n' % sp) @@ -521,7 +525,7 @@ class XmlWriter: self.g.write('%s\n' % (sp2,ord.get_status())) if ord.get_family_handle(): self.g.write('%s\n' % - (sp2,self.fix(ord.get_family_handle()))) + (sp2,"_"+self.fix(ord.get_family_handle()))) if ord.get_note() != "": self.write_note("note",ord.get_note_object(),index+1) for s in ord.get_source_references(): @@ -538,12 +542,12 @@ class XmlWriter: q = source_ref.get_confidence_level() self.g.write(" " * index) if p == "" and c == "" and t == "" and d.is_empty() and q == 2: - self.g.write('\n' % source.get_handle()) + self.g.write('\n' % ("_"+source.get_handle())) else: if q == 2: - self.g.write('\n' % source.get_handle()) + self.g.write('\n' % ("_"+source.get_handle())) else: - self.g.write('\n' % (source.get_handle(),q)) + self.g.write('\n' % ("_"+source.get_handle(),q)) self.write_line("spage",p,index+1) self.write_text("scomments",c,index+1) self.write_text("stext",t,index+1) @@ -552,12 +556,12 @@ class XmlWriter: def write_ref(self,label,gid,index=1): if gid: - self.g.write('%s<%s hlink="%s"/>\n' % (" "*index,label,gid)) + self.g.write('%s<%s hlink="%s"/>\n' % (" "*index,label,"_"+gid)) def write_id(self,label,person,index=1): if person: self.g.write('%s<%s id="%s" handle="%s" change="%d"' % - (" "*index,label,person.get_gramps_id(),person.get_handle(), + (" "*index,label,person.get_gramps_id(),"_"+person.get_handle(), person.get_change_time())) comp = person.get_complete_flag() if comp: @@ -570,7 +574,7 @@ class XmlWriter: comp = family.get_complete_flag() sp = " " * index self.g.write('%s%s\n' % (' '*indent,label,self.fix(value),label)) - def dump_name(self,label,name,index=1): + def dump_name(self,name,preferred=False,index=1): sp = " "*index name_type = name.get_type() - self.g.write('%s<%s' % (sp,label)) + self.g.write('%s\n' % (sp,label)) + self.g.write('%s\n' % sp) def append_value(self,orig,val): if orig: @@ -750,7 +756,7 @@ class XmlWriter: sp = ' '*indent for photo in list: mobj_id = photo.get_reference_handle() - self.g.write('%s 0 or note: self.g.write('>\n') @@ -828,7 +834,7 @@ class XmlWriter: if self.strip_photos: path = os.path.basename(path) self.g.write('