* src/GrampsDb/_ReadXML.py (start_attribute): Support attributes
in event and eventref; (stop_cause): Create attribute on cause tag. * src/Editors/_EditEventRef.py (_create_tabbed_pages): Typos. * src/Editors/_EditEvent.py (_create_tabbed_pages): Typo. * data/grampsxml.rng: Document XML changes (xml 1.1.2). * data/grampsxml.dtd: Document XML changes (xml 1.1.2). * src/GrampsDb/_WriteXML.py (dump_event_ref): Write attributes; (write_event): write attributes, remove cause. svn: r7182
This commit is contained in:
parent
bd18b2f976
commit
8f188fee5e
@ -1,4 +1,13 @@
|
||||
2006-08-15 Alex Roitman <shura@gramps-project.org>
|
||||
* src/GrampsDb/_ReadXML.py (start_attribute): Support attributes
|
||||
in event and eventref;
|
||||
(stop_cause): Create attribute on cause tag.
|
||||
* src/Editors/_EditEventRef.py (_create_tabbed_pages): Typos.
|
||||
* src/Editors/_EditEvent.py (_create_tabbed_pages): Typo.
|
||||
* data/grampsxml.rng: Document XML changes (xml 1.1.2).
|
||||
* data/grampsxml.dtd: Document XML changes (xml 1.1.2).
|
||||
* src/GrampsDb/_WriteXML.py (dump_event_ref): Write attributes;
|
||||
(write_event): write attributes, remove cause.
|
||||
* src/GrampsDb/_GrampsBSDDB.py: Cleanup on upgrades.
|
||||
|
||||
2006-08-14 Alex Roitman <shura@gramps-project.org>
|
||||
|
@ -24,15 +24,15 @@
|
||||
-->
|
||||
|
||||
<!--
|
||||
This is the Document Type Definition file for v1.1.1
|
||||
This is the Document Type Definition file for v1.1.2
|
||||
of the GRAMPS XML genealogy data format.
|
||||
Please use the following formal public identifier to identify it:
|
||||
|
||||
"-//GRAMPS//DTD GRAMPS XML V1.1.1//EN"
|
||||
"-//GRAMPS//DTD GRAMPS XML V1.1.2//EN"
|
||||
|
||||
For example:
|
||||
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.1.1//EN"
|
||||
"http://gramps-project.org/xml/1.1.1/grampsxml.dtd"
|
||||
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.1.2//EN"
|
||||
"http://gramps-project.org/xml/1.1.2/grampsxml.dtd"
|
||||
[...]>
|
||||
-->
|
||||
|
||||
@ -53,7 +53,7 @@ DATABASE
|
||||
|
||||
<!ELEMENT database (header, name-formats?, events?, people?, families?,
|
||||
sources?, places?, objects?, repositories?, bookmark?)>
|
||||
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.1.1/">
|
||||
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.1.2/">
|
||||
|
||||
<!-- ************************************************************
|
||||
HEADER
|
||||
@ -198,7 +198,7 @@ EVENT
|
||||
<!ELEMENT events (event)*>
|
||||
|
||||
<!ELEMENT event (type?,(daterange|dateval|datestr)?,place?,cause?,
|
||||
description?,note?,sourceref*,objref*)>
|
||||
description?,attribute*,note?,sourceref*,objref*)>
|
||||
<!ATTLIST event
|
||||
id CDATA #REQUIRED
|
||||
handle ID #REQUIRED
|
||||
@ -356,7 +356,7 @@ SHARED ELEMENTS
|
||||
conf CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT eventref (note?)>
|
||||
<!ELEMENT eventref (attribute*,note?)>
|
||||
<!ATTLIST eventref
|
||||
hlink IDREF #REQUIRED
|
||||
priv (0|1) #IMPLIED
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
<grammar
|
||||
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
|
||||
ns="http://gramps-project.org/xml/1.1.1/"
|
||||
ns="http://gramps-project.org/xml/1.1.2/"
|
||||
xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
|
||||
<start><element name="database">
|
||||
@ -325,8 +325,10 @@
|
||||
<optional><element name="place">
|
||||
<attribute name="hlink"><data type="IDREF"/></attribute>
|
||||
</element></optional>
|
||||
<optional><element name="cause"><text/></element></optional>
|
||||
<optional><element name="description"><text/></element></optional>
|
||||
<zeroOrMore><element name="attribute">
|
||||
<ref name="attribute-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
@ -470,6 +472,9 @@
|
||||
<ref name="priv-content"/>
|
||||
</attribute></optional>
|
||||
<optional><attribute name="role"><text/></attribute></optional>
|
||||
<zeroOrMore><element name="attribute">
|
||||
<ref name="attribute-content"/>
|
||||
</element></zeroOrMore>
|
||||
<optional><element name="note">
|
||||
<ref name="note-content"/>
|
||||
</element></optional>
|
||||
|
@ -173,7 +173,7 @@ class EditEvent(EditPrimary):
|
||||
self.attr_ref_list = self._add_tab(
|
||||
notebook,
|
||||
AttrEmbedList(self.dbstate, self.uistate, self.track,
|
||||
self.source_ref.get_attribute_list()))
|
||||
self.obj.get_attribute_list()))
|
||||
except AttributeError:
|
||||
print "Attribute list not available yet"
|
||||
|
||||
|
@ -158,7 +158,7 @@ class EditEventRef(EditReference):
|
||||
|
||||
try:
|
||||
self.attr_list = self._add_tab(
|
||||
notebook_ref,
|
||||
notebook,
|
||||
AttrEmbedList(self.dbstate, self.uistate, self.track,
|
||||
self.source.get_attribute_list()))
|
||||
except AttributeError:
|
||||
@ -187,7 +187,7 @@ class EditEventRef(EditReference):
|
||||
|
||||
try:
|
||||
self.attr_ref_list = self._add_tab(
|
||||
notebook,
|
||||
notebook_ref,
|
||||
AttrEmbedList(self.dbstate, self.uistate, self.track,
|
||||
self.source_ref.get_attribute_list()))
|
||||
except AttributeError:
|
||||
|
@ -804,6 +804,10 @@ class GrampsParser(UpdateCallback):
|
||||
self.object.add_attribute(self.attribute)
|
||||
elif self.objref:
|
||||
self.objref.add_attribute(self.attribute)
|
||||
elif self.event:
|
||||
self.event.add_attribute(self.attribute)
|
||||
elif self.eventref:
|
||||
self.eventref.add_attribute(self.attribute)
|
||||
elif self.person:
|
||||
self.person.add_attribute(self.attribute)
|
||||
elif self.family:
|
||||
@ -1604,7 +1608,11 @@ class GrampsParser(UpdateCallback):
|
||||
self.event.description = tag
|
||||
|
||||
def stop_cause(self,tag):
|
||||
self.event.cause = tag
|
||||
# The old event's cause is now an attribute
|
||||
attr = RelLib.Attribute()
|
||||
attr.set_type(RelLib.AttributeType.CAUSE)
|
||||
attr.set_value(tag)
|
||||
self.event.add_attribute(attr)
|
||||
|
||||
def stop_gender(self,tag):
|
||||
t = tag
|
||||
|
@ -566,12 +566,14 @@ class XmlWriter(UpdateCallback):
|
||||
else:
|
||||
role_text = ''
|
||||
|
||||
if eventref.get_note() == "":
|
||||
attribute_list = eventref.get_attribute_list()
|
||||
if (attribute_list == []) and (eventref.get_note() == ""):
|
||||
self.write_ref('eventref',eventref.ref,index,
|
||||
close=True,extra_text=priv_text+role_text)
|
||||
else:
|
||||
self.write_ref('eventref',eventref.ref,index,
|
||||
close=False,extra_text=priv_text+role_text)
|
||||
self.write_attribute_list(attribute_list,index+1)
|
||||
self.write_note("note",eventref.get_note_object(),index+1)
|
||||
self.g.write('%s</eventref>\n' % sp)
|
||||
|
||||
@ -586,8 +588,8 @@ class XmlWriter(UpdateCallback):
|
||||
self.g.write(' %s<type>%s</type>\n' % (sp,self.fix(etype)) )
|
||||
self.write_date(event.get_date_object(),index+1)
|
||||
self.write_ref("place",event.get_place_handle(),index+1)
|
||||
self.write_line("cause",event.get_cause(),index+1)
|
||||
self.write_line("description",event.get_description(),index+1)
|
||||
self.write_attribute_list(event.get_attribute_list(),index+1)
|
||||
if event.get_note():
|
||||
self.write_note("note",event.get_note_object(),index+1)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user