merge changes from gramps20

svn: r5482
This commit is contained in:
Alex Roitman
2005-12-06 06:38:09 +00:00
parent e0ff843bb4
commit 2f962b5f96
202 changed files with 112821 additions and 41664 deletions

View File

@@ -12,6 +12,7 @@ entities = legal.xml\
keybind.xml\
filtref.xml\
cmdline.xml\
cmdplug.xml\
bugs.xml\
authors.xml
include $(top_srcdir)/doc/xmldocs.make

View File

@@ -24,7 +24,7 @@
<title>About GRAMPS</title>
<para> &app; was written by Donald N. Allingham
(<email>dallingham@users.sourceforge.net</email>).</para>
(<email>don@gramps-project.org</email>).</para>
<para>
The somewhat incomplete list of contributors includes (in alphabetical order):
@@ -50,6 +50,7 @@
<listitem><para>Steve Hall</para></listitem>
<listitem><para>David R. Hampton</para></listitem>
<listitem><para>Martin Hawlisch</para></listitem>
<listitem><para>Anton Huber</para></listitem>
<listitem><para>Frode Jemtland</para></listitem>
<listitem><para>Greg Kuperberg</para></listitem>
<listitem><para>Arkadiusz Lipiec</para></listitem>
@@ -63,6 +64,7 @@
<listitem><para>Guillaume Pratte</para></listitem>
<listitem><para>Laurent Protois</para></listitem>
<listitem><para>Matthieu Pupat</para></listitem>
<listitem><para>Trevor Rhodes</para></listitem>
<listitem><para>Alexander Roitman</para></listitem>
<listitem><para>Jason Salaz</para></listitem>
<listitem><para>Julio Sanchez</para></listitem>

View File

@@ -24,11 +24,6 @@
<title>Known Bugs and Limitations</title>
<para>The bugs are tracked through the
<ulink url="http://sourceforge.net/tracker/?group_id=25770&amp;atid=385137" type="http">
sourceforge.net tracking system</ulink>.
</para>
<para>The known limitations include the BSDDB performance issues related
to caching and the memory size. As long as the BSDDB cache fits completely
into the available memory on the system, the performance should be

View File

@@ -1,7 +1,7 @@
<appendix id="append-cmdline">
<!--
User Manual for Gramps - a GTK+/GNOME based genealogy program
User Manual for GRAMPS - a GTK+/GNOME based genealogy program
Copyright (C) 2003-2005 Alexander Roitman
@@ -175,7 +175,7 @@
-i <filename>file2</filename>
-i <filename>file1</filename>
</command>
might produce different gramps IDs in the resulting database.
might produce different GRAMPS IDs in the resulting database.
</para></sect2>
<sect2 id="cmdline-opt-export"><title>Export options</title>
@@ -187,7 +187,7 @@
If not specified, the guess will be attempted based on
the <filename>filename</filename>. For iso format,
the <filename>filename</filename>
is actually the name of directory the gramps database will be written
is actually the name of directory the &app; database will be written
into. For grdb, gramps-xml, gedcom, wft, geneweb,
and gramps-pkg, the <filename>filename</filename>
is the name of the resulting file.
@@ -254,7 +254,7 @@
and values.
</para></listitem>
<listitem><para>Withing a pair, option name and value must be
<listitem><para>Within a pair, option name and value must be
separated by the equal sign.
</para></listitem>
@@ -319,6 +319,7 @@
</sect1>
&cmdplug;
<sect1 id="cmdline-operation">
<title>Operation</title>
@@ -339,7 +340,7 @@
the further command line parameters.
</para>
<note><para>Only one file can be opened in a single invokation
<note><para>Only one file can be opened in a single invocation
of &app;. If you need to get data from multiple sources, use
the importing options by using <command>-i</command> flag.
</para></note>
@@ -363,14 +364,14 @@
<listitem>
<para>If no <command>-O</command> or <command>-i</command>
option is given, gramps will launch
option is given, &app; will launch
its main window and start the usual interactive session with the empty
database, since there is no data to process, anyway.
</para></listitem>
<listitem>
<para>If no <command>-o</command> or <command>-a</command> options
are given, gramps will launch its main window and start the usual
are given, &app; will launch its main window and start the usual
interactive session with the database resulted from opening
and all imports (if any). This database resides in the
<filename>import_db.grdb</filename> file under the
@@ -379,7 +380,7 @@
<listitem>
<para>Any errors encountered during import, export, or action, will
be either dumped to stdout (if these are exceptions handled by gramps)
be either dumped to stdout (if these are exceptions handled by &app;)
or or to stderr (if these are not handled). Use usual shell redirections
of stdout and stderr to save messages and errors in files.
</para></listitem>
@@ -427,7 +428,7 @@
<varlistentry>
<term>To record the database resulting from all imports, supply
<command>-o</command> flag (use <command>-f</command>
if the filename does not allow gramps to guess the format):</term>
if the filename does not allow &app; to guess the format):</term>
<listitem>
<para><command>gramps
-i <filename>file1.ged</filename>
@@ -453,7 +454,7 @@
</varlistentry>
<varlistentry>
<term>To import three databases and start interactive gramps
<term>To import three databases and start interactive &app;
session with the result:</term>
<listitem>
<para><command>gramps

File diff suppressed because it is too large Load Diff

View File

@@ -94,7 +94,7 @@
<tip><para>The ID prefixes use formatting conventions common for
C, Python, and other programming languages. For example, the %04d
expands to an integer, prepended with zeros to have the total
width of founr digits. If you would like IDs to be 1, 2, 3, etc,
width of four digits. If you would like IDs to be 1, 2, 3, etc,
simply set the formatting parameter to %d.
</para></tip>
</listitem>
@@ -255,10 +255,10 @@
<varlistentry><term>Adjusting viewing controls</term>
<listitem>Whether the toolbar, the sidebar, or the filter (People View
<listitem><para>Whether the toolbar, the sidebar, or the filter (People View
only) are displayed in the main window is adjusted through
the <guimenu>View</guimenu> menu.
</listitem>
</para></listitem>
</varlistentry>
</variablelist>

View File

@@ -1,5 +1,3 @@
<appendix id="faq">
<!--
User Manual for Gramps - a GTK+/GNOME based genealogy program
@@ -22,356 +20,447 @@
<!-- $Id$ -->
<title>Frequently Asked Questions</title>
<para>This appendix contains the list of questions that frequently come
up in mailing list discussions and forums. This list is by no means
complete. If you would like to add questions/answers to this list,
please email your suggestions to <ulink url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink>
</para>
<variablelist>
<varlistentry><term>What is &app;?</term>
<listitem><para> &app; is the Genealogical Research and Analysis
Management Program System. In other words, it is a personal genealogy
program letting you store, edit, and research genealogical data using
the powers of your computer.
</para></listitem>
</varlistentry>
<varlistentry><term>Where do I get it and how much does it cost?</term>
<listitem><para>
&app; can be downloaded from <ulink url="http://sf.net/projects/gramps"
type="http">http://sf.net/projects/gramps</ulink> at no charge.
&app; is an Open Source project covered by the GNU General Public License.
You have full access to the source code and are allowed to distribute the
program and source code freely.
</para></listitem>
</varlistentry>
<varlistentry><term>Does it work with Windows (tm)?</term>
<listitem><para>
No. &app; uses the GTK and GNOME libraries. While the GTK libraries
have been ported to Windows, the GNOME libraries have not.
This, however, may change in the future.
</para></listitem>
</varlistentry>
<varlistentry><term>Does it work with the Mac?</term>
<listitem><para>
<ulink url="http://fink.sourceforge.net"
type="http">The Fink project</ulink> has ported
<ulink url="http://fink.sourceforge.net/pdb/package.php/gramps"
type="http">some older versions</ulink> of
&app; to OSX (tm). The Mac OSX port is not directly supported by
the &app; project, primarily because none of the &app; developers
have access to Mac OSX and because OSX is not Free Software.</para>
<para>This version of &app; (&appversion;) does not appear to have been
ported by the Fink project. Please contact the Fink project for more
information.
</para></listitem>
</varlistentry>
<varlistentry><term>Does it work with KDE?</term>
<listitem><para>
Yes, as long as the required GNOME libraries are installed.
</para></listitem>
</varlistentry>
<varlistentry><term>Do I really have to have GNOME installed?</term>
<listitem><para> Yes, but you do not have to be running the GNOME desktop.
</para></listitem>
</varlistentry>
<varlistentry><term>What version of GNOME do I need?</term>
<listitem><para>
This version of gramps requires GNOME 2.8.0 or higher.
Previous versions in 1.0.x series required GNOME 2.0.
</para></listitem>
</varlistentry>
<varlistentry><term>Is &app; compatible with
other genealogical software (GenApps)?</term>
<listitem><para>
&app; makes every effort to maintain compatibility with GEDCOM, the general
standard of recording genealogical information. We have import and export
filters that enable &app; to read and write GEDCOM files. </para>
<para>
It is important to understand that the GEDCOM standard is poorly implemented --
virtually every genealogical software has its own "flavor" of GEDCOM. As we
learn about new flavor, the import/export filters can be created very quickly.
However, finding out about the unknown flavors requires user feedback.
Please feel free to inform us about any GEDCOM flavor not supported by &app;,
and we will do our best to support it!
</para></listitem>
</varlistentry>
<varlistentry><term>Can &app; read files created by GenApp X?</term>
<listitem><para> See above.
</para></listitem>
</varlistentry>
<varlistentry><term>Can &app; write files readable by GenApp X?</term>
<listitem><para> See above.
</para></listitem>
</varlistentry>
<varlistentry><term>Can &app; print a genealogical tree for my family?</term>
<listitem><para>
Yes. Different people have different ideas of what a genealogical tree is.
Some think of it as a chart going from the distant ancestor and listing
all his/her descendants and their families. Others think it should be a
chart going from the person back in time, listing the ancestors and their
families. Yet other people think of a table, text report, etc. </para>
<para>
&app; can produce any of the above, and many more different charts and
reports. Moreover, the plugin architechture enables users (you) to create
their own plugins which could be new reports, charts, or research tools.
</para></listitem>
</varlistentry>
<varlistentry><term>In what formats can &app; output its reports?</term>
<listitem><para>
Text reports are available in HTML, PDF, AbiWord, KWord, LaTeX, RTF, and
OpenOffice formats. Graphical reports (charts and diagrams) are available in
PostScript, PDF, SVG, OpenOffice, and GraphViz formats.
</para></listitem>
</varlistentry>
<varlistentry><term>Is &app; compatible with the Internet?</term>
<listitem><para>
&app; can store web addresses and direct your browser to them. It can import
data that you download from the Internet. It can export data that you could
send over the Internet. &app; is familiar with the standard file formats
widely used on the Internet (e.g. JPEG, PNG, and GIF images, MP3, OGG, and
WAV sound files, QuickTime, MPEG, and AVI movie files, etc). Other than that,
there is little that a genealogical program can do with the Internet.
</para></listitem>
</varlistentry>
<varlistentry><term>Can I create custom reports/filters/whatever?</term>
<listitem><para>
Yes. There are many levels of customization. One is creating or modifying
the templates used for the reports. This gives you some control over
the fonts, colors, and some layout of the reports. You can also use &app;
controls in the report dialogs to tell what contents should be used for a
particular report. In addition to this, you have an ability to create your
own filters -- this is useful in selecting people based on criteria set
by you. You can combine these filters to create new, more complex filters.
Finally, you have an option to create your own plugins. These may be new
reports, research tools, import/export filters, etc. This assumes some
knowledge of programming in Python.
</para></listitem>
</varlistentry>
<varlistentry><term>What standards does &app; support?</term>
<listitem><para>
The nice thing about the standards is that there never is a shortage of
them. &app; is tested to support the following flavors of GEDCOM:
GEDCOM5.5, Brother's Keeper, Family Origins, Familty Tree Maker, Ftree,
GeneWeb, Legacy, Personal Ancestral File, Pro-Gen, Reunion, and
Visual Genealogie.
</para></listitem>
</varlistentry>
<varlistentry><term>What is the maximum database
size (bytes) &app; can handle?</term>
<listitem><para>
&app; has no hard limits on the size of a database that it can handle.
Starting with this release, &app; no longer loads all data into memory,
which allows it to work with much larger database than before.
In reality, however, there are practical limits. The main limiting factors
are the available memory on the system and the cache size used for BSDDB
database access. With common memory sizes these days, &app; should have
no problem using databases with tens of thousands of people.
</para></listitem>
</varlistentry>
<varlistentry><term>How many people can &app; database handle?</term>
<listitem><para>
We have found that on a typical system, &app; tends to bog down after the
database has around 150,000 people. Again, this is dependent on how much
memory you have.
</para></listitem>
</varlistentry>
<varlistentry><term>Why is &app; running so slowly?</term>
<listitem><para> It does not anymore! Just try out the current
version, &appversion;.
</para></listitem>
</varlistentry>
<varlistentry><term>My database is really big.
Is there a way around loading all the data into memory?</term>
<listitem><para>
Starting with this release, &app; no longer loads all data into memory,
which allows it to work with much larger database than before.
</para></listitem>
</varlistentry>
<varlistentry><term>I want to rerun the Startup dialog (druid).
How do I do this?</term>
<listitem><para>
&app; keeps a flag in the GNOME configuration database to indicate
that the startup dialog has been run. To cause &app; to rerun this,
the flag needs to be reset. This can be done with the following
command: </para>
<para><command>gconftool-2 -u /apps/gramps/behavior/startup</command>
</para></listitem>
</varlistentry>
<varlistentry><term>Why are non-latin characters displayed
as garbage in PDF/PS reports?</term>
<listitem><para> This is a limitation of the builtin fonts of PS
and PDF formats. To print non-latin text, use the Print...
in the format selection menu of the report dialog. This will use
the gnome-print backend, which supports PS and PDF creation,
as well as direct printing.</para>
<para>If you only have latin text, the PDF option will produce
a smalled PDF compared to that created by gnome-print, simply because
no font information will be embedded.
</para>
<appendix id="faq">
<title>Frequently Asked Questions</title>
<para>
This appendix contains the list of questions that frequently come
up in mailing list discussions and forums. This list is by no
means complete. If you would like to add questions/answers to this
list, please email your suggestions to <ulink
url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink>
</para>
<variablelist>
<varlistentry>
<term>What is &app;?</term>
<listitem>
<para>
&app; is the Genealogical Research and Analysis Management
Program System. In other words, it is a personal genealogy
program letting you store, edit, and research genealogical
data using the powers of your computer.
</para>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry><term>Why can I not add/remove/edit columns to the lists
in People View and Family View?</term>
<listitem><para> Now you can! Just try out the current
version, &appversion;.
</para></listitem>
</varlistentry>
<varlistentry>
<term>Where do I get it and how much does it cost?</term>
<listitem>
<para>
&app; can be downloaded from <ulink
url="http://sf.net/projects/gramps"
type="http">http://sf.net/projects/gramps</ulink> at no
charge. &app; is an Open Source project covered by the GNU
General Public License. You have full access to the source
code and are allowed to distribute the program and source
code freely.
</para>
</listitem>
</varlistentry>
<varlistentry><term>I would like to contribute to &app; by writing
my favorite report. How do I do that?</term>
<listitem><para>
The easiest way to contribute to reports, filters, tools, etc. is to copy
an existing &app; report, filter, or tool. If you can create what you want
by modifying existing code -- great! If your idea does not fit into the logic
of any existing &app; tool, the <ulink
url="http://gramps.sourceforge.net/phpwiki/index.php/GrampsDevelopersPage"
type="http">following page</ulink> may provide some help in writing your
own plugin from scratch.
<varlistentry>
<term>Does it work with Windows (tm)?</term>
<listitem>
<para>
No. &app; uses the GTK and GNOME libraries. While the GTK
libraries have been ported to Windows, the GNOME libraries
have not. This, however, may change in the future.
</para>
</listitem>
</varlistentry>
If you need more help or would like to discuss your idea with us,
please do not hesitate to contact us at <ulink
url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink>
</para>
<varlistentry>
<term>Does it work with the Mac?</term>
<listitem>
<para>
<ulink url="http://fink.sourceforge.net" type="http">
The Fink project</ulink> has ported
<ulink url="http://fink.sourceforge.net/pdb/package.php/gramps"
type="http"> some older versions</ulink> of
&app; to OSX (tm). The Mac OSX port is not directly supported by
the &app; project, primarily because none of the &app; developers
have access to Mac OSX and because OSX is not Free Software.
</para><para>
This version of &app; (&appversion;) does not appear to have been
ported by the Fink project. Please contact the Fink project for
more information.
</para><para>
Some people have had success using the DarwinPorts instead of the
Fink project.
</para>
</listitem>
</varlistentry>
<para>
To test your work in progress, you may save your plugin under
<replaceable>$HOME/.gramps/plugins</replaceable> directory and it should
be found and imported on startup.
The correctly written plugin will register itself with &app;, create menu
item, and so on.</para>
<varlistentry>
<term>Does it work with KDE?</term>
<listitem>
<para>
Yes, as long as the required GNOME libraries are installed.
</para>
</listitem>
</varlistentry>
<para>
If you are happy with your plugin and would like to contribute your code
back to the &app; project, you are very welcome to do so by contacting us
at <ulink url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink>
</para></listitem>
</varlistentry>
<varlistentry>
<term>Do I really have to have GNOME installed?</term>
<listitem>
<para>
Yes, but you do not have to be running the GNOME desktop.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>What version of GNOME do I need?</term>
<listitem>
<para>
This version of gramps requires GNOME 2.8.0 or higher.
Previous versions in 1.0.x series required GNOME 2.0.
</para>
</listitem>
</varlistentry>
<varlistentry><term>I found a bug and I want it fixed right now!
What do I do?</term>
<listitem><para>
The best thing you can do is to fix the bug and send the patch to
<ulink url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink> :-)</para>
<varlistentry>
<term>Is &app; compatible with other genealogical software?</term>
<listitem>
<para>
&app; makes every effort to maintain compatibility with
GEDCOM, the general standard of recording genealogical
information. We have import and export filters that enable
&app; to read and write GEDCOM files.
</para><para>
It is important to understand that the GEDCOM standard is
poorly implemented -- virtually every genealogical software
has its own "flavor" of GEDCOM. As we learn about new
flavor, the import/export filters can be created very
quickly. However, finding out about the unknown flavors
requires user feedback. Please feel free to inform us about
any GEDCOM flavor not supported by &app;, and we will do our
best to support it!
</para>
</listitem>
</varlistentry>
<para>
The next best thing would be to submit a good bug report. This can be done in
one of the two ways: (1) send your report to
<ulink url="mailto:gramps-bugs@lists.sf.net"
type="mailto">gramps-bugs@lists.sf.net</ulink>
or (2) file your report with the bug tracker system at
<ulink url="http://sf.net/tracker/?group_id=25770" type="http">
http://sf.net/tracker/?group_id=25770&amp;atid=385137</ulink>
(this function is also available by selecting
<menuchoice><guisubmenu>Help</guisubmenu><guimenuitem>Report a
bug</guimenuitem></menuchoice> from gramps main menu). </para>
<varlistentry>
<term>Can &app; read files created by other genealogy programs?</term>
<listitem>
<para>See above.</para>
</listitem>
</varlistentry>
<para>A good bug report would include: </para>
<varlistentry>
<term>Can &app; write files readable by other genealogy programs?</term>
<listitem>
<para>See above.</para>
</listitem>
</varlistentry>
<itemizedlist>
<varlistentry>
<term>Can &app; print a genealogical tree for my family?</term>
<listitem>
<para>
Yes. Different people have different ideas of what a
genealogical tree is. Some think of it as a chart going
from the distant ancestor and listing all his/her
descendants and their families. Others think it should be a
chart going from the person back in time, listing the
ancestors and their families. Yet other people think of a
table, text report, etc.
</para><para>
&app; can produce any of the above, and many more different
charts and reports. Moreover, the plugin architecture
enables users (you) to create their own plugins which could
be new reports, charts, or research tools.
</para>
</listitem>
</varlistentry>
<listitem><para>
Version of gramps you were using when you encountered the bug
(available through <menuchoice><guisubmenu>Help</guisubmenu>
<guimenuitem>About</guimenuitem></menuchoice> menu item).
</para></listitem>
<varlistentry>
<term>In what formats can &app; output its reports?</term>
<listitem>
<para>
Text reports are available in HTML, PDF, AbiWord, KWord,
LaTeX, RTF, and OpenOffice formats. Graphical reports
(charts and diagrams) are available in PostScript, PDF, SVG,
OpenOffice, and GraphViz formats.
</para>
</listitem>
</varlistentry>
<listitem><para>
Language under which gramps was run
(available by executing </para>
<para><command>echo $LANG</command></para>
<para>in your terminal).
</para></listitem>
<varlistentry>
<term>Is &app; compatible with the Internet?</term>
<listitem>
<para>
&app; can store web addresses and direct your browser to
them. It can import data that you download from the
Internet. It can export data that you could send over the
Internet. &app; is familiar with the standard file formats
widely used on the Internet (e.g. JPEG, PNG, and GIF images,
MP3, OGG, and WAV sound files, QuickTime, MPEG, and AVI
movie files, etc). Other than that, there is little that a
genealogical program can do with the Internet.
</para>
</listitem>
</varlistentry>
<listitem><para>
Symptoms indicating that this is indeed a bug.
</para></listitem>
<varlistentry>
<term>Can I create custom reports/filters/whatever?</term>
<listitem>
<para>
Yes. There are many levels of customization. One is creating
or modifying the templates used for the reports. This gives
you some control over the fonts, colors, and some layout of
the reports. You can also use &app; controls in the report
dialogs to tell what contents should be used for a
particular report. In addition to this, you have an ability
to create your own filters -- this is useful in selecting
people based on criteria set by you. You can combine these
filters to create new, more complex filters. Finally, you
have an option to create your own plugins. These may be new
reports, research tools, import/export filters, etc. This
assumes some knowledge of programming in Python.
</para>
</listitem>
</varlistentry>
<listitem><para>
Any Traceback messages, error messages, warnings, etc,
that showed up in your terminal or a in separate traceback window.
</para></listitem>
<varlistentry>
<term>What standards does &app; support?</term>
<listitem>
<para>
The nice thing about standards is that there never is a
shortage of them. &app; is tested to support the following
flavors of GEDCOM: GEDCOM5.5, Brother's Keeper, Family
Origins, Family Tree Maker, Ftree, GeneWeb, Legacy, Personal
Ancestral File, Pro-Gen, Reunion, and Visual Genealogie.
</para>
</listitem>
</varlistentry>
</itemizedlist>
<varlistentry>
<term>What is the maximum database size (bytes) &app; can handle?</term>
<listitem>
<para>
&app; has no hard limits on the size of a database that it
can handle. Starting with this release, &app; no longer
loads all data into memory, which allows it to work with a
much larger database than before. In reality, however,
there are practical limits. The main limiting factors are
the available memory on the system and the cache size used
for BSDDB database access. With common memory sizes these
days, &app; should have no problem using databases with tens
of thousands of people.
</para>
</listitem>
</varlistentry>
<para>Most problems can be fixed quickly provided there is enough information.
To ensure this, please follow up on your bug reports. In particular, if you
file a bug report with sf.net bug tracker, PLEASE log in to sf.net before
filing
(register your free account if you don't have one). Then we will have a way
of contacting you should we need more information. If you choose to file your
report anonymously, at least check every so often whether your report page
has something new posted, as it probably would.</para>
<varlistentry>
<term>How many people can &app; database handle?</term>
<listitem>
<para>
We have found that on a typical system, &app; tends to bog
down after the database has around 150,000 people. Again,
this is dependent on how much memory you have.
</para>
</listitem>
</varlistentry>
<para>If the above explanations seem vague, please follow
<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
type="http">this link.</ulink>
<varlistentry>
<term>Why is &app; running so slowly?</term>
<listitem>
<para>
It does not anymore! Just try out the current
version, &appversion;.
</para>
</listitem>
</varlistentry>
</para></listitem>
</varlistentry>
<varlistentry>
<term>
My database is really big. Is there a way around loading
all the data into memory?
</term>
<listitem>
<para>
Starting with this release, &app; no longer loads all data
into memory, which allows it to work with a much larger
database than before.
</para>
</listitem>
</varlistentry>
<varlistentry><term>It is obvious that &app; absolutely needs to
become a (client-server/web-based/PHP/weblog/Javascript/C++/distributed/KDE/Motif/Tcl/Win32/C#/You-name-it)
application. When is this going to happen?</term>
<listitem><para>
The surest way to see it happen is to get it done by yourself. Since
&app; is free/open source, nobody prevents you from taking all of the
code and continuing its development in whatever direction you see fit.
In doing so, you may consider giving your new project another name to
avoid confusion with the continuing &app; development. If you would
like the &app; project to provide advice, expertise, filters, etc.,
we will gladly cooperate with your new project, to ensure compatibility
or import/export options to your new format of a project.</para>
<varlistentry>
<term>I want to rerun the Startup dialog. How do I do this?</term>
<listitem>
<para>
&app; keeps a flag in the GNOME configuration database to
indicate that the startup dialog has been run. To cause
&app; to rerun this, the flag needs to be reset. This can be
done with the following command:
</para>
<para>
<command>gconftool-2 -u /apps/gramps/behavior/startup</command>
</para>
</listitem>
</varlistentry>
<para>
If, however, you would like the &app; project to to adopt your strategy,
you would need to convince &app; developers that your strategy is good
for &app; and superior to the present development strategy.</para>
<varlistentry>
<term>
Why are non-latin characters displayed as garbage in PDF/PS
reports?
</term>
<listitem>
<para>
This is a limitation of the builtin fonts of PS and PDF
formats. To print non-latin text, use the Print... in the
format selection menu of the report dialog. This will use
the gnome-print backend, which supports PS and PDF creation,
as well as direct printing.
</para>
<para>
If you only have latin text, the PDF option will produce a
smalled PDF compared to that created by gnome-print, simply
because no font information will be embedded.
</para>
</listitem>
</varlistentry>
<tip><para>
If &app; developers are still not convinced after about three
messages sent to gramps-devel, maybe you are better off on your own
rather than with a company of retards who can't fully realize the
potential of your great idea :-)
<varlistentry>
<term>
Why can I not add/remove/edit columns to the lists in People
View and Family View?
</term>
<listitem>
<para>
Now you can! Just try out the current version, &appversion;.
</para>
</listitem>
</varlistentry>
</para></tip></listitem>
</varlistentry>
<varlistentry>
<term>
I would like to contribute to &app; by writing my favorite
report. How do I do that?
</term>
<listitem>
<para>
The easiest way to contribute to reports, filters, tools,
etc. is to copy an existing &app; report, filter, or
tool. If you can create what you want by modifying existing
code -- great! If your idea does not fit into the logic of
any existing &app; tool, the <ulink
url="http://gramps.sourceforge.net/phpwiki/index.php/GrampsDevelopersPage"
type="http">following page</ulink> may provide some help in
writing your own plugin from scratch.
</para>
<para>
If you need more help or would like to discuss your idea
with us, please do not hesitate to contact us at <ulink
url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink>
</para>
<para>
To test your work in progress, you may save your plugin
under <replaceable>$HOME/.gramps/plugins</replaceable>
directory and it should be found and imported on startup.
The correctly written plugin will register itself with
&app;, create menu item, and so on.
</para>
<para>
If you are happy with your plugin and would like to
contribute your code back to the &app; project, you are very
welcome to do so by contacting us at <ulink
url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink>
</para>
</listitem>
</varlistentry>
</variablelist>
<varlistentry>
<term>
I found a bug and I want it fixed right now! What do I do?
</term>
<listitem>
<para>
The best thing you can do is to fix the bug and send the
patch to <ulink url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink> :-)
</para>
<para>A good bug report would include:</para>
<itemizedlist>
<listitem>
<para>
Version of gramps you were using when you encountered
the bug (available through
<menuchoice><guisubmenu>Help</guisubmenu>
<guimenuitem>About</guimenuitem></menuchoice> menu
item).
</para>
</listitem>
<listitem>
<para>
Language under which gramps was run (available by executing
</para>
<para><command>echo $LANG</command></para>
<para>in your terminal).</para>
</listitem>
<listitem>
<para>Symptoms indicating that this is indeed a bug.</para>
</listitem>
<listitem>
<para>
Any Traceback messages, error messages, warnings, etc,
that showed up in your terminal or a in separate
traceback window.
</para>
</listitem>
</itemizedlist>
<para>
Most problems can be fixed quickly provided there is enough
information. To ensure this, please follow up on your bug
reports. In particular, if you file a bug report with sf.net
bug tracker, PLEASE log in to sf.net before filing (register
your free account if you don't have one). Then we will have
a way of contacting you should we need more information. If
you choose to file your report anonymously, at least check
every so often whether your report page has something new
posted, as it probably would.
</para>
<para>
If the above explanations seem vague, please follow <ulink
url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html"
type="http">this link.</ulink>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
It is obvious that &app; absolutely needs to become a
(client-server/web-based/PHP/weblog/Javascript/C++/distributed/KDE/Motif/Tcl/Win32/C#/You-name-it)
application. When is this going to happen?
</term>
<listitem>
<para>
The surest way to see it happen is to get it done by
yourself. Since &app; is free/open source, nobody prevents
you from taking all of the code and continuing its
development in whatever direction you see fit. In doing so,
you may consider giving your new project another name to
avoid confusion with the continuing &app; development. If
you would like the &app; project to provide advice,
expertise, filters, etc., we will gladly cooperate with your
new project, to ensure compatibility or import/export
options to your new format of a project.
</para>
<para>
If, however, you would like the &app; project to to adopt
your strategy, you would need to convince &app; developers
that your strategy is good for &app; and superior to the
present development strategy.
</para>
</listitem>
</varlistentry>
</variablelist>
</appendix>

View File

@@ -22,163 +22,237 @@
<!-- $Id$ -->
<title>Getting Started</title>
<title>Getting Started</title>
<para>This chapter provides the most basic information on starting &app;
and obtaining help. Please procede to the following chapters for more
information.</para>
<para>
This chapter provides the most basic information on starting
&app; and obtaining help. Please proceed to the following
chapters for more information.
</para>
<!-- ================ Getting Started Subsection ====== -->
<sect1 id="gramps-start">
<!-- ================ Getting Started Subsection ====== -->
<sect1 id="gramps-start">
<title>To Start GRAMPS</title>
<para>You can start &app; in the following ways:</para>
<para>
You can start &app; in the following ways:
</para>
<variablelist>
<varlistentry>
<varlistentry>
<term><guimenu>Applications</guimenu> menu</term>
<listitem><para>The method of starting &app; from the menus may vary from
distribution to distribution. On default GNOME desktop,
choose <menuchoice><guisubmenu>Other</guisubmenu>
<guimenuitem>Gramps</guimenuitem></menuchoice>. </para></listitem>
</varlistentry>
<varlistentry>
<listitem>
<para>
The method of starting &app; from the menus may vary
from distribution to distribution. On default GNOME
desktop, choose
<menuchoice><guisubmenu>Other</guisubmenu>
<guimenuitem>Gramps</guimenuitem></menuchoice>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Command line</term>
<listitem><para>To start &app; from a command line, type
<command>gramps</command>, then press <keycap>Enter</keycap>.</para>
<para>If you would like &app; to open a specific database or to
import a specific file on startup, you can supply the filename
as a command line argument:</para>
<para>
<command>gramps</command> <filename>filename.grdb</filename>
</para>
<para>where <filename>filename.grdb</filename> is the name
of the file you want to open. The command line provides many more ways
to start &app; and perform different tasks. The detailed reference to the
command line options is found in the <xref linkend="append-cmdline"/>.
</para></listitem>
</varlistentry>
<listitem>
<para>
To start &app; from a command line, type
<command>gramps</command>, then press
<keycap>Enter</keycap>.
</para>
<para>
If you would like &app; to open a specific database or to
import a specific file on startup, you can use the
filename as a command line argument:
</para>
<para>
<filename>gramps filename.grdb</filename>
</para>
<para>
where <filename>filename.grdb</filename> is the name of
the file you want to open. The command line provides many
more ways to start &app; and perform different tasks. The
detailed reference to the command line options is found
in <xref linkend="append-cmdline"/>.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</sect1>
<!-- ================ Getting Started Subsection ==== -->
<sect1 id="run-1st-time">
<title>Running GRAMPS for the first time</title>
<!-- ================ Getting Started Subsection ==== -->
<sect1 id="run-1st-time">
<title>Running GRAMPS for the first time</title>
<para>
The first time you run the program, GRAMPS will display its
Getting Started dialogs. Follow the directions guiding you through
<guilabel>Researcher information</guilabel>, <guilabel>Numerical date
formats</guilabel>, <guilabel>Alternate calendar support</guilabel>,
and <guilabel>LDS extensions</guilabel> sections. Most of the dialogs
are self-explanatory and will not be covered here.
The first time you run the program, GRAMPS will display the
Getting Started dialogs. Follow the directions that guide you through
<guilabel>Researcher information</guilabel>, <guilabel>Numerical date
formats</guilabel>, <guilabel>Alternate calendar support</guilabel>,
and <guilabel>the LDS extensions</guilabel> sections. Most of the dialogs
are self-explanatory and will not be covered here.
</para>
<!-- ==== Figure: Getting Started Druid Window ==== -->
<figure id="druid-fig">
<title>GRAMPS Getting Started Window: Researcher Information</title>
<screenshot><mediaobject><imageobject><imagedata
fileref="figures/researcher.png" format="PNG"/></imageobject>
<textobject>
<phrase>Shows Researcher Information Window. </phrase>
</textobject></mediaobject></screenshot></figure>
<!-- ==== End of Figure ==== -->
<!-- ==== Figure: Getting Started Druid Window ==== -->
<para>Enter your personal information in the corresponding
text entry fields. Although &app; requests information about you,
this information is used only so that &app; can create valid GEDCOM
output files. A valid GEDCOM file requires information about the file's
creator. If you choose, you may leave the information empty, however
all the GEDCOM files you export will not be valid.
</para>
<figure id="druid-fig">
<title>GRAMPS Getting Started Window: Researcher Information</title>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="figures/researcher.png" format="PNG"
width="510" depth="369" scale="75"/>
</imageobject>
<textobject>
<phrase>Shows Researcher Information Window. </phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<!-- ==== End of Figure ==== -->
<para>
Enter your personal information in the corresponding text entry
fields. Although &app; requests information about you, this
information is used only so that &app; can create valid GEDCOM
output files. A valid GEDCOM file requires information about the
file's creator. If you choose, you may leave the information
empty, however all the GEDCOM files you export will be invalid.
</para>
<para>
This information can be entered at any time in the
<guilabel>Preferences</guilabel> dialog, under the
<guilabel>Database/Researcher Information</guilabel> category.
</para>
</sect1>
<!-- ================ Getting Started Subsection -->
<sect1 id="choose-db-start">
<title>Choosing a database on startup</title>
<para>
If &app; is started without a database selected, the following
window will appear prompting you to choose one to open.
</para>
<!-- ==== Figure: Open existing/new database window ==== -->
<para>This information can be entered at any time in the
<guilabel>Preferences</guilabel> dialog, under the
<guilabel>Database/Researcher Information</guilabel> category.
</para>
</sect1>
<!-- ================ Getting Started Subsection -->
<sect1 id="choose-db-start">
<title>Choosing a database on startup</title>
<para>If &app; is started without any
database to open, the following window will appear prompting you to
choose what database to open. </para>
<figure id="first-open">
<title>Open Database Window</title>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="figures/first-open.png" format="PNG"
width="311" depth="199" scale="80"/>
</imageobject>
<textobject>
<phrase>Shows Open Database Window.</phrase>
</textobject>
</mediaobject>
</screenshot>
</figure>
<!-- ==== End of Figure ==== -->
<!-- ==== Figure: Open existing/new database window ==== -->
<figure id="first-open">
<title>Open Database Window</title>
<screenshot><mediaobject><imageobject><imagedata
fileref="figures/first-open.png" format="PNG"/></imageobject>
<textobject>
<phrase>Shows Open Database Window. </phrase>
</textobject></mediaobject></screenshot></figure>
<!-- ==== End of Figure ==== -->
<para>
If you would like to open an existing database, check the top
radio button and click the <guibutton>OK</guibutton>
button. You will then be asked to specify the name of your
existing database. If you would like to immediately create a
brand new database from scratch right away, choose new
database.
</para>
<note id="file-notdir-note">
<title>Selecting file</title>
<para>
This version of &app; does not require selecting a directory
for the database. Please select filename, as you would in any
other application.
</para>
</note>
</sect1>
<para>If you would like to open an existing database, check the top radio
button and click the <guibutton>OK</guibutton> button. You will then be asked to
specify the name of your existing database. If you would like to start
creating your brand new database from scratch right away, choose new
database. </para>
<!-- ================ Getting Started Subsection ==== -->
<note id="file-notdir-note">
<title>Selecting file</title>
<para>
Unlike the version 1.0.X of &app;, this version does not require selecting directory
for the database. Please select filename, as you would in any other application.
</para>
</note>
<sect1 id="get-help">
<title>Obtaining Help</title>
<para>
The following items are available from the
<menuchoice><guimenu>Help</guimenu></menuchoice> to provide
immediate assistance:
</para>
<variablelist>
</sect1>
<varlistentry>
<term>User manual</term>
<listitem>
<para>
Select this item to access this manual in the help browser.
</para>
</listitem>
</varlistentry>
<!-- ================ Getting Started Subsection ==== -->
<sect1 id="get-help">
<title>Obtaining Help</title>
<para> At any time, the following items are available for immediate aid
from the <menuchoice><guimenu>Help</guimenu></menuchoice> menu: </para>
<variablelist>
<varlistentry>
<term>FAQ</term>
<listitem>
<para>
Select this item to read the Frequently Asked Questions about
&app; in the browser.
</para>
</listitem>
</varlistentry>
<varlistentry><term>User manual</term>
<listitem><para> Choose this item to read the text of this manual
in the help browser. </para></listitem>
</varlistentry>
<varlistentry>
<term>GRAMPS home page</term>
<listitem>
<para>
Select this item to open the home page of &app; in your
default web browser.
</para>
</listitem>
</varlistentry>
<varlistentry><term>FAQ</term>
<listitem><para> Use this item to read Frequently Asked Questions
about &app; in the browser. </para></listitem>
</varlistentry>
<varlistentry>
<term>GRAMPS mailing lists</term>
<listitem>
<para>
Select this item to direct your web browser
to the &app; mailing list archives.
</para>
</listitem>
</varlistentry>
<varlistentry><term>GRAMPS home page</term>
<listitem><para> Select this item to open home page of &app; in your
default web browser. </para></listitem>
</varlistentry>
<varlistentry>
<term>Report a bug</term>
<listitem>
<para>
Select this item to file a bug report regarding &app;
with the bug tracking system.
</para>
</listitem>
</varlistentry>
<varlistentry><term>GRAMPS mailing lists</term>
<listitem><para> Choose this item to direct your web browser
to the &app; mailing list archives. </para></listitem>
</varlistentry>
<varlistentry>
<term>Show plugin status</term>
<listitem>
<para>
Select this item to display the status of loaded plugins.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Report a bug</term>
<listitem><para> Use this item to file a bug report against &app;
with the bug tracking system. </para></listitem>
</varlistentry>
<varlistentry><term>Show plugin status</term>
<listitem><para> Use this item to display the status of loaded
plugins. </para></listitem>
</varlistentry>
<varlistentry><term>Open example database</term>
<listitem><para> Select this item to load the example database shipped
with &app;. This database is composed of fictitious people and serves as
a useful example for learning how to work with &app;. </para></listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>
<varlistentry>
<term>Open example database</term>
<listitem>
<para>
Select this item to load the example database shipped
with &app;. This database is composed of fictitious
people and serves as a useful example for learning how
to work with &app;.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>

View File

@@ -3,16 +3,15 @@
<resource>
<creator>Alex Roitman shura@alex.neuro.umn.edu</creator>
<title>GRAMPS Manual</title>
<date>2003-12-01</date>
<version identifier="2.4" date="2003-12-01" description="GNOME2 Compliant GRAMPS Manual"/>
<subject category="GNOME|Applications"/>
<date>2005-10-16</date>
<version identifier="2.6" date="2004-10-16" description="GNOME2 Compliant GRAMPS Manual"/>
<subject category="Applications"/>
<description>User Manual for GRAMPS.</description>
<type>User Manual</type>
<format mime="text/xml" dtd="-//OASIS//DTD DocBook XML V4.1.2//EN"/>
<identifier url=""/>
<language code="C"/>
<relation seriesid="aa15a444-5ed9-11d7-8329-d7319c90009c"/>
<rights type="GNU FDL" license.version="1.1" license="http://www.gnu.org/licenses/fdl.html" holder="Alex Roitman"/>
<rights type="GNU GPL" license.version="2" license="http://www.gnu.org/licenses/gpl.html" holder="Alex Roitman"/>
</resource>
</omf>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<?yelp:chunk-depth 3?>
<!--
User Manual for Gramps - a GTK+/GNOME based genealogy program
@@ -36,7 +36,7 @@
<!ENTITY appversion "2.0.0">
<!ENTITY manrevision "2.6">
<!ENTITY date "May 2005">
<!ENTITY date "Aug 2005">
<!ENTITY app "GRAMPS">
<!-- The rest of the entities is simply the chapters of the manual.. -->
@@ -50,6 +50,7 @@
<!ENTITY keybind SYSTEM "keybind.xml">
<!ENTITY filtref SYSTEM "filtref.xml">
<!ENTITY cmdline SYSTEM "cmdline.xml">
<!ENTITY cmdplug SYSTEM "cmdplug.xml">
<!ENTITY bugs SYSTEM "bugs.xml">
<!ENTITY authors SYSTEM "authors.xml">
]>
@@ -66,9 +67,14 @@
<!-- appropriate code -->
<bookinfo>
<title>GRAMPS Manual V&manrevision;</title>
<copyright> <year>2001</year> <holder>Donald N. Allingham</holder> </copyright>
<copyright> <year>2003-2005</year> <holder>Alex Roitman</holder> </copyright>
<copyright>
<year>2001</year>
<holder>Donald N. Allingham</holder>
</copyright>
<copyright>
<year>2003-2005</year>
<holder>Alex Roitman</holder>
</copyright>
<!-- translators: uncomment this:
@@ -77,45 +83,54 @@
<holder>ME-THE-TRANSLATOR (Latin translation)</holder>
</copyright>
-->
<!-- An address can be added to the publisher information. If a role is
not specified, the publisher/author is the same for all versions of the
document. -->
<publisher> <publishername> GRAMPS Project </publishername> </publisher>
-->
<!--
An address can be added to the publisher information. If a role is
not specified, the publisher/author is the same for all versions of the
document.
-->
<publisher>
<publishername>GRAMPS Project</publishername>
</publisher>
&legal;
<!-- This file contains link to license for the documentation (GNU GPL), and
other legal stuff such as "NO WARRANTY" statement. -->
<!--
This file contains link to license for the documentation (GNU GPL), and
other legal stuff such as "NO WARRANTY" statement.
-->
<authorgroup>
<author>
<firstname>Alex</firstname>
<surname>Roitman</surname>
<affiliation>
<orgname>GRAMPS Project</orgname>
<address> <email>shura@gramps-project.org</email> </address>
</affiliation>
<firstname>Alex</firstname>
<surname>Roitman</surname>
<affiliation>
<orgname>GRAMPS Project</orgname>
<address><email>shura@gramps-project.org</email></address>
</affiliation>
</author>
<author>
<firstname>Donald N.</firstname>
<surname>Allingham</surname>
<affiliation>
<orgname>GRAMPS Project</orgname>
<address> <email>don@gramps-project.org</email> </address>
</affiliation>
<firstname>Donald N.</firstname>
<surname>Allingham</surname>
<affiliation>
<orgname>GRAMPS Project</orgname>
<address><email>don@gramps-project.org</email></address>
</affiliation>
</author>
<!-- This is appropriate place for other contributors: translators,
maintainers, etc. Commented out by default.
<othercredit role="translator">
<firstname>Latin</firstname>
<surname>Translator 1</surname>
<affiliation>
<orgname>Latin Translation Team</orgname>
<address> <email>translator@gnome.org</email> </address>
</affiliation>
<contrib>Latin translation</contrib>
<firstname>Latin</firstname>
<surname>Translator 1</surname>
<affiliation>
<orgname>Latin Translation Team</orgname>
<address> <email>translator@gnome.org</email> </address>
</affiliation>
<contrib>Latin translation</contrib>
</othercredit>
-->
</authorgroup>
@@ -135,108 +150,104 @@
<!-- to V3.0, and so on. -->
<revhistory>
<revision>
<revnumber>GRAMPS Manual V&manrevision;</revnumber>
<date>&date;</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email></para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>GRAMPS Manual V&manrevision;</revnumber>
<date>&date;</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
<revision>
<revnumber>GRAMPS Manual V2.5</revnumber>
<date>February 2004</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email></para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>GRAMPS Manual V2.5</revnumber>
<date>February 2004</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
<revision>
<revnumber>GRAMPS Manual V2.4</revnumber>
<date>December 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email></para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>GRAMPS Manual V2.4</revnumber>
<date>December 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
<revision>
<revnumber>GRAMPS Manual V2.3</revnumber>
<date>September 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email></para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>GRAMPS Manual V2.3</revnumber>
<date>September 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
<revision>
<revnumber>GRAMPS Manual V2.2</revnumber>
<date>July 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email></para>
<para role="author">Donald A. Peterson
<email>dpeterson@sigmaxi.org</email></para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>GRAMPS Manual V2.2</revnumber>
<date>July 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="author">Donald A. Peterson
<email>dpeterson@sigmaxi.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
<revision>
<revnumber>GRAMPS Manual V2.1</revnumber>
<date>May 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>GRAMPS Manual V2.1</revnumber>
<date>May 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
<revision>
<revnumber>GRAMPS Manual V2.0</revnumber>
<date>April 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>GRAMPS Manual V2.0</revnumber>
<date>April 2003</date>
<revdescription>
<para role="author">Alex Roitman
<email>shura@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
<revision>
<revnumber>GRAMPS User Manual V1.1</revnumber>
<date>2001</date>
<revdescription>
<para role="author">Donald N. Allingham
<email>don@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>GRAMPS User Manual V1.1</revnumber>
<date>2001</date>
<revdescription>
<para role="author">Donald N. Allingham
<email>don@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
<revision>
<revnumber>gramps User Manual V1.0</revnumber>
<date>2001</date>
<revdescription>
<para role="author">Donald N. Allingham
<email>don@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
<revnumber>gramps User Manual V1.0</revnumber>
<date>2001</date>
<revdescription>
<para role="author">Donald N. Allingham
<email>don@gramps-project.org</email>
</para>
<para role="publisher">GRAMPS Project</para>
</revdescription>
</revision>
</revhistory>
<releaseinfo>This manual describes version &appversion; of GRAMPS.
<releaseinfo>
This manual describes version &appversion; of GRAMPS.
</releaseinfo>
<legalnotice>
<title>Feedback</title>
<para>
To report a bug or make a suggestion regarding this application or
this manual, use the help menu in &app;, or follow the directions
found on <ulink url="http://gramps-project.org/index.php?module=pagemaster&amp;PAGE_user_op=view_page&amp;PAGE_id=3"
type="http">this site</ulink>.
</para>
<!-- Translators may also add here feedback address for translations -->
</legalnotice>
</bookinfo>
<!-- ============= Document Body ============================= -->

File diff suppressed because it is too large Load Diff

View File

@@ -23,202 +23,340 @@
<!-- $Id$ -->
<title>Preface</title>
<para> &app; is a genealogical
application. &app; is an acronym for the
Genealogical Research and Analysis Management Programming System. To put
it shortly, it allows you to store, edit, and research genealogical data
using your computer. Its functionality is somewhat common to other
genealogical programs. However, &app; offers some unique features. </para>
<para>
&app; is a free software package designed to help you with
genealogical research. It allows you to store, edit, and research
genealogical data using your computer. &app; is an open source
software package, which means you are free to run it on any number
of computers, examine the code, make changes, and redistribute as
many copies as you like. It is developed and maintained by a
worldwide team of volunteers and is available at no cost from the
project web site and from many software distributions
</para>
<sect1 id="why-gramps">
<title>Why GRAMPS?</title>
<para> &app; was conceived under the concept
that most genealogy programs were designed to provide the researcher the
capability to input information related to a particular family tree.
Most of these programs have allowed for the arranging and storing of
information consistent with the GEDCOM standards. They usually provide
means for displaying descendant or ancestral relationships by means of
graphical displays, charts, or reports. These may be augmented with
pictures or other media to enhance the data. Most provide for inputting
data on unconnected individuals/families that may or may not have a
relationship to the primary surname being researched. Various other
enhancements may also be provided in the genealogical program that
allows for different degrees of importing and exporting data from other
programs and printing the data contained in the various reports. </para>
<para> &app;, on the other hand, attempts to
provide all of the common capabilities of these programs, but, more
importantly, to provide an additional capability of integration not common
to these programs. This is the ability to input any bits and pieces of
information directly into &app; and
rearrange/manipulate any/all data events in the entire data base (in any
order or sequence) to assist the user in doing research, analysis and
correlation with the potential of filling relationship gaps. In short, it
is a tool that provides a way to input all your research into one place and
do your analysis and correlation using the speed, power, and accuracy of
your computer instead of pencils and unmanageable reams of paper. </para>
<title>Why use GRAMPS?</title>
<para>
Most genealogy programs allow the researcher to input
information related to a family tree. They can usually display
descendant or ancestral relationships through graphical
displays, charts, or reports. Some allow pictures or other media
to be inserted to enhance the raw data. Most provide a means to
include data on individuals or families that may or may not be
related to the primary family being researched. And they may
include other features such as exporting or importing to and
from other programs and printing data contained in various
reports.
</para><para>
&app; has all these capabilities and more. Notably, it allows
you to integrate bits and pieces of stray data as the arise from
your research and put all this information in one place - your
computer. You can then use the speed, power, and accuracy of
your computer to store, manipulate, correlate, and analyze your
data, rather than messing with reams of paper.
</para><para>
&app; has the power to let you rearrange your data in any order
or sequence and to help you fill gaps in genealogical
relationships.
</para>
</sect1>
<sect1 id="whats-new">
<title>What's new since 1.0.X</title>
<para>This section lists most notable changes from the previous stable branch of
&app;, the 1.0.X.</para>
<para>
This section lists most notable changes from the previous
stable branch of &app;, the 1.0.X.
</para>
<variablelist>
<varlistentry><term>Berkeley database backend</term>
<listitem><para>The default format for &app; is now the BSDDB database.
This change allowed us to overcome performance issues and memory
requirements of the 1.0.X branch. With the database backend, the database
sizes of up to a hundred thousand people do not
present a major obstacle any longer.</para>
<para>
The default extension for &app; BSDDB database files is grdb. The new format is open and
fully documented in the developer's API reference distributed with the source of &app;.
</para>
<listitem>
<para>
<para>A consequence of the new database backend is that the changes, once approved
by the user, are applied immediately. In short, once you click <guibutton>OK</guibutton>
in the Person, Family, Source, Place, Media object, or Event editor, all the changes made to
this object are recorded in the database. No saving is necessary (or even possible). The analog
of quitting without saving would be abandoning all changes and quitting. Also, it is possible
to undo recent actions.
The default format for &app; is now the BSDDB database.
This change allowed us to overcome performance issues and
memory requirements of the 1.0.X branch. With the database
backend, the database sizes of up to a hundred thousand
people do not present a major obstacle any longer.
</para><para>
The default extension for &app; BSDDB database files is
grdb. The new format is open and fully documented in the
developer's API reference distributed with the source of
&app;.
</para><para>
A consequence of the new database backend is that the
changes, once approved by the user, are applied
immediately. In short, once you click
<guibutton>OK</guibutton> in the Person, Family, Source,
Place, Media object, or Event editor, all the changes made
to this object are recorded in the database. No saving is
necessary (or even possible). The analog of quitting
without saving would be abandoning all changes and
quitting. Also, it is possible to undo recent actions.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Interface improvements</term>
<listitem><para>
There were numerous changes in the interface. Most of them are subtle and incremental
improvements, and all of them cannot be listed here. The most noticeable changes are:
<itemizedlist>
<listitem><para>Removal of alphabetical tabs</para></listitem>
<listitem><para>Ability to add/remove/rearrange columns in list views</para></listitem>
<listitem><para>Removal of Save function and addition of Undo</para></listitem>
<listitem><para>Proper window management and removal of most modal windows</para></listitem>
<listitem><para>Support for Tip of the Day</para></listitem>
<listitem><para>Person-dependent context menus (right-click) in Pedigree View
listing parents, children, spouses, and siblings</para></listitem>
<listitem><para>Export wizard</para></listitem>
<listitem><para>Built-in Find function in list views</para></listitem>
<listitem><para>Date selector dialog</para></listitem>
<listitem><para>Name editor enhancements: patronymic names and non-default grouping</para></listitem>
<listitem><para>Recent file support (both gramps-specific and gnome-wide)</para></listitem>
</itemizedlist>
<listitem>
<para>
</para></listitem>
There were numerous changes in the interface. Most of them
are subtle and incremental improvements, and all of them
cannot be listed here. The most noticeable changes are:
<itemizedlist>
<listitem>
<para>
Removal of alphabetical tabs
</para>
</listitem>
<listitem>
<para>
Ability to add/remove/rearrange columns in list views
</para>
</listitem>
<listitem>
<para>
Removal of Save function and addition of Undo
</para>
</listitem>
<listitem>
<para>
Proper window management and removal of most modal windows
</para>
</listitem>
<listitem>
<para>
Support for Tip of the Day
</para>
</listitem>
<listitem>
<para>
Person-dependent context menus (right-click) in Pedigree View
listing parents, children, spouses, and siblings
</para>
</listitem>
<listitem>
<para>
Export wizard
</para>
</listitem>
<listitem>
<para>
Built-in Find function in list views
</para>
</listitem>
<listitem>
<para>
Date selector dialog
</para>
</listitem>
<listitem>
<para>
Name editor enhancements: patronymic names and non-default
grouping
</para>
</listitem>
<listitem>
<para>
Recent file support (both gramps-specific and gnome-wide)
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry><term>Other database backends</term>
<listitem><para>
Along with the BSDDB backend, the in-memory database handling for &app; XML and
GEDCOM formats has been added. Simply put, it is now possible to natively open data
in those two formats (although the preferred and default format is grdb) and work with
that data, without necessarily setting up an empty database and then importing into it.
This approach requires holding all data in memory, so it is only useful for small databases
(depending on the available memory size). In such mode, the data is automatically
saved upon exit, to mimic the functionality of the real database.
<varlistentry>
<term>
Other database backends
</term>
<listitem>
<para>
Along with the BSDDB backend, the in-memory database handling
for &app; XML and GEDCOM formats has been added. Simply put, it
is now possible to natively open data in those two formats
(although the preferred and default format is grdb) and work with
that data, without necessarily setting up an empty database and
then importing into it. This approach requires holding all data in
memory, so it is only useful for small databases (depending on the
available memory size). In such mode, the data is automatically
saved upon exit, to mimic the functionality of the real database.
<warning id="gedcom-inmem1-warn">
<title>GEDCOM Editing</title>
<warning id="gedcom-inmem1-warn">
<title>GEDCOM Editing</title>
<para>
Please keep in mind that some information in GEDCOM file may be lost
during import into &app;. Simply opening and viewing the file will not change it.
However, if any changes were made and they were not abandoned upon exit,
exiting &app; will save the data, with the possible data loss.
Please keep in mind that some information in GEDCOM
file may be lost during import into &app;. Simply
opening and viewing the file will not change it.
However, if any changes were made and they were not
abandoned upon exit, exiting &app; will save the data,
with the possible data loss.
</para>
</warning>
</para></listitem>
</para>
</listitem>
</varlistentry>
<varlistentry><term>Import and Export</term>
<listitem><para>
New import and export filters available for the GeneWeb format.
</para></listitem>
<varlistentry>
<term>Import and Export</term>
<listitem>
<para>
New import and export filters available for the GeneWeb format.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Reports</term>
<listitem><para>
A new report -- Statistics Chart -- has been added to &app;.
</para>
<para>An overall change of the whole report framework has been acomplished.
All reports now remember their options. It is possible to generate reports from the command
line, without launching the interactive &app; session. The report API is much simpler now,
making it easy to write custom report. A single code instance may be used for a standalone
report, a book item, and a command-line report. </para></listitem>
<varlistentry>
<term>Reports</term>
<listitem>
<para>
A new report -- Statistics Chart -- has been added to &app;.
</para><para>
An overall change of the whole report framework has been
accomplished. All reports now remember their options. It
is possible to generate reports from the command line,
without launching the interactive &app; session. The
report API is much simpler now, making it easy to write a
custom report. A single code instance may be used for a
standalone report, a book item, and a command-line
report.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Command line</term>
<listitem><para>The new command line functionality includes opening the filename
argument given without any flags, as well as new flags and options for report generation.
Also, the addition of new formats leads to addition of available format options.
</para></listitem>
<varlistentry>
<term>Command line</term>
<listitem>
<para>
The new command line functionality includes opening the
filename argument given without any flags, as well as new
flags and options for report generation. Also, the
addition of new formats leads to additional available
format options.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Internationalization</term>
<listitem><para>
The approach for entering and displaying dates has been completely
re-worked. In particular, the new framework allows for a deeper
localization of displayed dates than was ever possible using the
translatable strings.</para>
<para>The internationalization of names have also been improved.
Names can be grouped under a non-default string. Patronymic names are
supported, and it is easy to program new ways on displaying names, as
may be required by various cultures and languages.
</para></listitem>
<varlistentry>
<term>Internationalization</term>
<listitem>
<para>
The approach for entering and displaying dates has been
completely re-worked. In particular, the new framework
allows for a deeper localization of displayed dates than
was ever possible using the translatable strings.
</para><para>
The internationalization of names have also been improved.
Names can be grouped under a non-default
string. Patronymic names are supported, and it is easy to
program new ways of displaying names, as may be required
by various cultures and languages.
</para>
</listitem>
</varlistentry>
<varlistentry><term>Desktop integration</term>
<listitem><para>All formats known to &app; are now registered as mime types, each
with its icon and &app; as a default handler. Double-clicking on a file with any of these
formats will launch &app; and open that file. &app; also added support for the recent
documents functinonailty. This is on both for the GNOME-wide level and within the &app;.
</para>
<para>The preferences are now properly store using GConf, with schemas, partitioning
of keys into smaller directories, error checking, and notification. </para>
</listitem>
<varlistentry>
<term>Desktop integration</term>
<listitem>
<para>
All formats known to &app; are now registered as mime
types, each with its icon and &app; as a default
handler. Double-clicking on a file with any of these
formats will launch &app; and open that file. &app; also
added support for the recent documents
functionality. This is on both the GNOME-wide level
and within the &app;.
</para><para>
The preferences are now properly stored using GConf, with
schemas, partitioning of keys into smaller directories,
error checking, and notification.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="typography">
<title>Typographical conventions</title>
<title>Typographical conventions</title>
<para>
In this book, we some words are marked with special typography:
<itemizedlist>
<listitem><application>Applications</application></listitem>
<listitem><command>Commands</command> you type at the command
line</listitem>
<listitem><filename>Filenames</filename></listitem>
<listitem><replaceable>Replaceable text</replaceable></listitem>
<listitem><guilabel>Labels</guilabel> for buttons and other
portions of the graphical interface</listitem>
<listitem> Menu selections look like this:
<menuchoice>
<guimenu>Menu</guimenu>
<guisubmenu>Submenu</guisubmenu>
<guimenuitem>Menu Item</guimenuitem>
</menuchoice>
In this book, some words are marked with special typography:
<itemizedlist>
<listitem>
<simpara>
<application>Applications</application>
</simpara>
</listitem>
<listitem>
<simpara>
<command>Commands</command> you type at the command line
</simpara>
</listitem>
<listitem>
<simpara>
<filename>Filenames</filename>
</simpara>
</listitem>
<listitem>
<simpara>
<replaceable>Replaceable text</replaceable>
</simpara>
</listitem>
<listitem>
<simpara>
<guilabel>Labels</guilabel> for buttons and other
portions of the graphical interface
</simpara>
</listitem>
<listitem>
<simpara>
Menu selections look like this:
<menuchoice>
<guimenu>Menu</guimenu>
<guisubmenu>Submenu</guisubmenu>
<guimenuitem>Menu Item</guimenuitem>
</menuchoice>
</simpara>
</listitem>
<listitem>
<simpara>
<guibutton>Buttons</guibutton> you can click
</simpara>
</listitem>
<listitem>
<simpara>
<userinput>Anything you type in</userinput>
</simpara>
</listitem>
<listitem><guibutton>Buttons</guibutton> you can
click</listitem>
<listitem><userinput>Anything you type
in</userinput></listitem>
</itemizedlist>
</para>
<para>
We also provide assorted bits of additional information in tips
and notes, as follows.
The manual also provides assorted bits of additional information in
tips and notes, as follows.
<tip id="example-tip">
<title>Tip</title>
@@ -237,13 +375,13 @@
</para>
<para>
Finally, we have warnings, in cases where you should be careful:
Finally, there are warnings, notifying you where you should be careful:
<warning id="example-warning">
<title>Example Warning</title>
<para>
This is what a warning looks like. If there's a chance
you'll run into trouble, we'll warn you beforehand.
you'll run into trouble, you will be warned beforehand.
</para>
</warning>
</para>

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,11 @@
# Process this file with automake to produce Makefile.in
SUBDIRS = C fr
topdocdir=$(datadir)/@PACKAGE@/gnome/help/@PACKAGE@
install-data-local:
cd $(DESTDIR)$(topdocdir); ln -s . gramps
uninstall-local:
-rm $(DESTDIR)$(topdocdir)/gramps

View File

@@ -3,8 +3,8 @@
<resource>
<creator>Alex Roitman shura@alex.neuro.umn.edu</creator>
<title>GRAMPS Manual</title>
<date>2003-12-01</date>
<version identifier="2.4" date="2003-12-01" description="GNOME2 Compliant GRAMPS Manual"/>
<date>2005-10-16</date>
<version identifier="2.6" date="2005-10-16" description="GNOME2 Compliant GRAMPS Manual"/>
<subject category="GNOME|Applications"/>
<description>User Manual for GRAMPS.</description>
<type>User Manual</type>
@@ -12,7 +12,6 @@
<identifier url=""/>
<language code="fr"/>
<relation seriesid="aa15a444-5ed9-11d7-8329-d7319c90009c"/>
<rights type="GNU FDL" license.version="1.1" license="http://www.gnu.org/licenses/fdl.html" holder="Alex Roitman"/>
<rights type="GNU GPL" license.version="2" license="http://www.gnu.org/licenses/gpl.html" holder="Alex Roitman"/>
</resource>
</omf>

View File

@@ -174,8 +174,8 @@ exports, and actions specified further on the command line by using \fB\-i\fR,
.LP
The order of \fB\-i\fR, \fB\-o\fR, or \fB\-a\fR options does not matter. The
actual order always is: all imports (if any) -> all exports (if any) ->
all actions (if any). But opening must always be first!
actual order always is: all imports (if any) -> all actions (if any)
-> all exports (if any). But opening must always be first!
.LP
If no \fB\-O\fR or \fB\-i\fR option is given, gramps will launch its main

View File

@@ -1,320 +0,0 @@
<!--?xml version="1.0" encoding="UTF-8"?-->
<!-- A Document Type Definition for genealogy data (as produced by Gramps)
Copyright (c) 2001 Graham J. Williams
Time-stamp: <2002/01/22 15:41:37 Graham.Williams@csiro.au>
Freely Redistributable under the terms of the GNU General Public License.
Based on GEDCOM and conforming to the Gramps XML encoding.
Still under development and Gramps XML not complete.
Information on Gramps is available from http://
-->
<!--
DATABASE
Defines an XML document which is a <database> consisting of a
header Information about the "owner" of the database
people
families
sources
places
objects
bookmarks
-->
<!ELEMENT database (header, people?, families?, sources?, places?, objects?,
bookmarks?)>
<!-- ************************************************************
HEADER
A <header> consists of <created> (information about this
genealogical database) and <researcher> (information about the
person who created this genealogical database)
-->
<!ELEMENT header (created, researcher?)>
<!ELEMENT created EMPTY>
<!ATTLIST created
date CDATA #REQUIRED
version CDATA #REQUIRED
people CDATA #REQUIRED
families CDATA #REQUIRED>
<!ELEMENT researcher (resname, resaddr?, rescity?, resstate?,
rescountry?, respostal?, resphone?, resemail?)>
<!ELEMENT resname (#PCDATA)>
<!ELEMENT resaddr (#PCDATA)>
<!ELEMENT rescity (#PCDATA)>
<!ELEMENT resstate (#PCDATA)>
<!ELEMENT rescountry (#PCDATA)>
<!ELEMENT respostal (#PCDATA)>
<!ELEMENT resphone (#PCDATA)>
<!ELEMENT resemail (#PCDATA)>
<!-- ************************************************************
PEOPLE
The UID is a place holder for PAF UID's that are imported. PAF
generates a unique ID for each person which is useful for
merges. It is not used by Gramps otherwise.
-->
<!ELEMENT people (person)*>
<!ATTLIST people default CDATA #IMPLIED>
<!--
PERSON
gender Either M or F.
name
aka Also known as. Alternative names from marriage,
adoption, legal name change, etc
nick The nick name - a name the person is sometimes known by.
-->
<!ELEMENT person (gender, name?, aka*, nick?, pos?, uid?, event*,
objref*, url*, childof*, address*, parentin*,
sourceref?, attribute*, note?)>
<!ATTLIST person id ID #REQUIRED>
<!--
GENDER has values of M or F.
-->
<!ELEMENT gender (#PCDATA)>
<!--
NAME and AKA
first Given names
last Surname
suffix
title E.g., Sargent Major
-->
<!ELEMENT name (first?, last?,suffix?,title?)>
<!ATTLIST name conf CDATA #IMPLIED
priv CDATA #IMPLIED>
<!ELEMENT aka (first?, last?,suffix?,note?)>
<!ATTLIST aka conf CDATA #IMPLIED
priv CDATA #IMPLIED>
<!ELEMENT first (#PCDATA)>
<!ELEMENT last (#PCDATA)>
<!ELEMENT suffix (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT nick (#PCDATA)>
<!ELEMENT uid (#PCDATA)>
<!ELEMENT pos EMPTY>
<!ATTLIST pos x CDATA #REQUIRED
y CDATA #REQUIRED>
<!ELEMENT childof EMPTY>
<!ATTLIST childof
ref IDREF #REQUIRED
mrel (Birth|Adopted|Stepchild|Other|Unknown) #IMPLIED
frel (Birth|Adopted|Stepchild|Other|Unknown) #IMPLIED>
<!ELEMENT parentin EMPTY>
<!ATTLIST parentin
ref IDREF #REQUIRED>
<!ELEMENT address (dateval?,street?,city?,state?,country?,postal?,
note?,sourceref?)>
<!ATTLIST address conf CDATA #IMPLIED
priv CDATA #IMPLIED>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postal (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!-- ************************************************************
FAMILY
An element to record information about a family.
-->
<!ELEMENT families (family)*>
<!ELEMENT family (father?,mother?,event*,objref*,child*,attribute*,note?)>
<!ATTLIST family
id ID #REQUIRED
type (Married|Unmarried|Partners|Other|Unkown) #IMPLIED>
<!ELEMENT father EMPTY>
<!ATTLIST father ref IDREF #REQUIRED>
<!ELEMENT mother EMPTY>
<!ATTLIST mother ref IDREF #REQUIRED>
<!ELEMENT child EMPTY>
<!ATTLIST child ref IDREF #REQUIRED>
<!-- ************************************************************
SOURCES
-->
<!ELEMENT sources (source)*>
<!ELEMENT source (sauthor?,spubinfo?,scallno?)>
<!ATTLIST source id ID #REQUIRED>
<!ELEMENT sauthor (#PCDATA)>
<!ELEMENT spubinfo (#PCDATA)>
<!ELEMENT scallno (#PCDATA)>
<!-- ************************************************************
PLACES
-->
<!ELEMENT places (placeobj)*>
<!ELEMENT placeobj (coord?,location*,objref*,url*,note?)>
<!ATTLIST placeobj id ID #REQUIRED title CDATA #IMPLIED>
<!ELEMENT coord EMPTY>
<!ATTLIST coord long CDATA #REQUIRED lat CDATA #REQUIRED>
<!ELEMENT location EMPTY>
<!ATTLIST location
city CDATA #IMPLIED
county CDATA #IMPLIED
state CDATA #IMPLIED
country CDATA #IMPLIED
parish CDATA #IMPLIED
>
<!ELEMENT objects (object)*>
<!ELEMENT object (attribute)*>
<!ATTLIST object
id ID #REQUIRED
src CDATA #IMPLIED
mime CDATA #IMPLIED
description CDATA #IMPLIED>
<!-- ************************************************************
BOOKMARKS
-->
<!ELEMENT bookmarks (bookmark)*>
<!ELEMENT bookmark EMPTY>
<!ATTLIST bookmark ref IDREF #REQUIRED>
<!-- ************************************************************
SHARED ELEMENTS
-->
<!ELEMENT attribute (note?,sourceref?)>
<!ATTLIST attribute conf CDATA #IMPLIED
priv CDATA #IMPLIED
type CDATA #IMPLIED
value CDATA #IMPLIED
>
<!--ELEMENT attr_type (#PCDATA)>
<!ELEMENT attr_value (#PCDATA)-->
<!--
EVENT
We can enumerate all possibilities for an event and then this will
not conform to Gramps as Gramps allows any type of events (i.e., a
user can define their own type of event) . By allowing anything
(CDATA) we no longer have automatic checking and in emacs no more
automatic selection of event types.
So decide to use the enumerated list for now unless there is a storm
of protest.
Alternative Birth Another possible birth date
Degree Awarding of a degree
Education Some step in the education process
Graduation Graduation (often same as degree)
-->
<!ELEMENT event (dateval?,place?,description?,sourceref?,note?)>
<!ATTLIST event type
(Annulment|Birth|Death|Christening|Baptism|Engagement|Marriage|
Occupation|Education|Degree|Immi|Burial|Cremation)
#REQUIRED>
<!ELEMENT dateval EMPTY>
<!ATTLIST dateval
val CDATA #REQUIRED
type CDATA #IMPLIED>
<!--ELEMENT date (#PCDATA) replaced by dateval-->
<!ELEMENT description (#PCDATA)>
<!ELEMENT note (#PCDATA)>
<!ELEMENT url EMPTY>
<!ATTLIST url href CDATA #REQUIRED
conf CDATA #IMPLIED
priv (0|1) #IMPLIED
description CDATA #IMPLIED>
<!ELEMENT place EMPTY>
<!ATTLIST place ref IDREF #REQUIRED>
<!ELEMENT sourceref (spage?,scomments?,stext?,sdate?)>
<!ATTLIST sourceref ref IDREF #REQUIRED>
<!ELEMENT spage (#PCDATA)>
<!ELEMENT scomments (#PCDATA)>
<!ELEMENT sdate (#PCDATA)>
<!ELEMENT stext (#PCDATA)>
<!ELEMENT objref (attribute)*>
<!ATTLIST objref
ref IDREF #REQUIRED
>
<!ELEMENT img EMPTY>
<!ATTLIST img
src CDATA #REQUIRED
description CDATA #IMPLIED
display CDATA #IMPLIED>

358
doc/grampsxml.dtd Normal file
View File

@@ -0,0 +1,358 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2001 Graham J. Williams
# Copyright (C) 2000-2005 Donald N. Allingham
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# $Id$
-->
<!--
This is the Document Type Definition file for v1.0.0
of the GRAMPS XML genealogy data format.
Please use the following formal public identifier to identify it:
"-//GRAMPS//DTD GRAMPS XML V1.0.0//EN"
For example:
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.0.0//EN"
"http://gramps-project.org/xml/1.0.0/grampsxml.dtd"
[...]>
-->
<!--
DATABASE
Defines an XML document which is a <database> consisting of a
header Information about the "owner" of the database
people
families
sources
places
objects
bookmarks
-->
<!ELEMENT database (header, people?, families?, sources?, places?, objects?,
bookmarks?)>
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.0.0/">
<!-- ************************************************************
HEADER
A <header> consists of <created> (information about this
genealogical database) and <researcher> (information about the
person who created this genealogical database)
-->
<!ELEMENT header (created, researcher?)>
<!ELEMENT created EMPTY>
<!ATTLIST created
date CDATA #REQUIRED
version CDATA #REQUIRED
>
<!ELEMENT researcher (resname, resaddr?, rescity?, resstate?,
rescountry?, respostal?, resphone?, resemail?)>
<!ELEMENT resname (#PCDATA)>
<!ELEMENT resaddr (#PCDATA)>
<!ELEMENT rescity (#PCDATA)>
<!ELEMENT resstate (#PCDATA)>
<!ELEMENT rescountry (#PCDATA)>
<!ELEMENT respostal (#PCDATA)>
<!ELEMENT resphone (#PCDATA)>
<!ELEMENT resemail (#PCDATA)>
<!-- ************************************************************
PEOPLE
-->
<!ELEMENT people (person)*>
<!ATTLIST people
default CDATA #IMPLIED
home IDREF #IMPLIED
>
<!ELEMENT person (gender, name*, nick?, event*, lds_ord*,
objref*, address*, attribute*, url*,
childof*, parentin*, note?, sourceref*)>
<!ATTLIST person
id CDATA #REQUIRED
handle ID #REQUIRED
change CDATA #REQUIRED
complete (0|1) #IMPLIED
>
<!--
GENDER has values of M, F, or U.
-->
<!ELEMENT gender (#PCDATA)>
<!ELEMENT name (first?,last?,suffix?,patronymic?,title?,
(daterange|dateval|datestr)?,note?,sourceref*)>
<!ATTLIST name
alt (0|1) #IMPLIED
type CDATA #IMPLIED
priv (0|1) #IMPLIED
sort CDATA #IMPLIED
display CDATA #IMPLIED
>
<!ELEMENT first (#PCDATA)>
<!ELEMENT last (#PCDATA)>
<!ATTLIST last
prefix CDATA #IMPLIED
group CDATA #IMPLIED
>
<!ELEMENT suffix (#PCDATA)>
<!ELEMENT patronymic (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT nick (#PCDATA)>
<!ELEMENT childof EMPTY>
<!ATTLIST childof
hlink IDREF #REQUIRED
mrel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
frel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
>
<!ELEMENT parentin EMPTY>
<!ATTLIST parentin hlink IDREF #REQUIRED>
<!ELEMENT address ((daterange|dateval|datestr)?,street?,city?,state?,
country?,postal?,phone?,note?,sourceref?)>
<!ATTLIST address priv (0|1) #IMPLIED>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postal (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!-- ************************************************************
FAMILY
An element to record information about a family.
-->
<!ELEMENT families (family)*>
<!ELEMENT family (father?,mother?,event*,lds_ord*,
objref*,child*,attribute*,note?,sourceref*)>
<!ATTLIST family
id CDATA #REQUIRED
handle ID #REQUIRED
change CDATA #REQUIRED
complete (0|1) #IMPLIED
type CDATA #IMPLIED
>
<!ELEMENT father EMPTY>
<!ATTLIST father hlink IDREF #REQUIRED>
<!ELEMENT mother EMPTY>
<!ATTLIST mother hlink IDREF #REQUIRED>
<!ELEMENT child EMPTY>
<!ATTLIST child hlink IDREF #REQUIRED>
<!-- ************************************************************
SOURCES
-->
<!ELEMENT sources (source)*>
<!ELEMENT source (stitle?,sauthor?,spubinfo?,sabbrev?,
note?,objref*,data_item*)>
<!ATTLIST source
id CDATA #REQUIRED
handle ID #REQUIRED
change CDATA #REQUIRED
>
<!ELEMENT stitle (#PCDATA)>
<!ELEMENT sauthor (#PCDATA)>
<!ELEMENT spubinfo (#PCDATA)>
<!ELEMENT sabbrev (#PCDATA)>
<!-- ************************************************************
PLACES
-->
<!ELEMENT places (placeobj)*>
<!ELEMENT placeobj (coord?,location*,objref*,url*,note?,sourceref*)>
<!ATTLIST placeobj
id CDATA #REQUIRED
handle ID #REQUIRED
change CDATA #REQUIRED
title CDATA #REQUIRED
>
<!ELEMENT coord EMPTY>
<!ATTLIST coord
long CDATA #REQUIRED
lat CDATA #REQUIRED
>
<!ELEMENT location EMPTY>
<!ATTLIST location
city CDATA #IMPLIED
parish CDATA #IMPLIED
county CDATA #IMPLIED
state CDATA #IMPLIED
country CDATA #IMPLIED
postal CDATA #IMPLIED
phone CDATA #IMPLIED
>
<!-- ************************************************************
OBJECTS
-->
<!ELEMENT objects (object)*>
<!ELEMENT object (attribute*,note?,(daterange|dateval|datestr)?,sourceref*)>
<!ATTLIST object
id CDATA #REQUIRED
handle ID #REQUIRED
change CDATA #REQUIRED
src CDATA #REQUIRED
mime CDATA #REQUIRED
description CDATA #REQUIRED
>
<!-- ************************************************************
BOOKMARKS
-->
<!ELEMENT bookmarks (bookmark)*>
<!ELEMENT bookmark EMPTY>
<!ATTLIST bookmark hlink IDREF #REQUIRED>
<!-- ************************************************************
SHARED ELEMENTS
-->
<!ELEMENT daterange EMPTY>
<!ATTLIST daterange
start CDATA #REQUIRED
stop CDATA #REQUIRED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
>
<!ELEMENT dateval EMPTY>
<!ATTLIST dateval
val CDATA #REQUIRED
type (before|after|about) #IMPLIED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
>
<!ELEMENT datestr EMPTY>
<!ATTLIST datestr val CDATA #REQUIRED>
<!ELEMENT note (#PCDATA)>
<!ATTLIST note format (0|1) #IMPLIED>
<!ELEMENT sourceref (spage?,scomments?,stext?,(daterange|dateval|datestr)?)>
<!ATTLIST sourceref
hlink IDREF #REQUIRED
conf CDATA #IMPLIED
>
<!ELEMENT spage (#PCDATA)>
<!ELEMENT scomments (#PCDATA)>
<!ELEMENT sdate (#PCDATA)>
<!ELEMENT stext (#PCDATA)>
<!ELEMENT attribute (sourceref*,note?)>
<!ATTLIST attribute
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
>
<!--
EVENT
-->
<!ELEMENT event ((daterange|dateval|datestr)?,witness*,place?,cause?,
description?,note?,sourceref*,objref*)>
<!ATTLIST event
type CDATA #REQUIRED
priv (0|1) #IMPLIED
>
<!ELEMENT witness (comment?)>
<!ATTLIST witness
hlink IDREF #IMPLIED
name CDATA #IMPLIED
>
<!ELEMENT comment (#PCDATA)>
<!ELEMENT place EMPTY>
<!ATTLIST place hlink IDREF #REQUIRED>
<!ELEMENT cause (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT url EMPTY>
<!ATTLIST url
priv (0|1) #IMPLIED
href CDATA #REQUIRED
description CDATA #IMPLIED
>
<!ELEMENT objref (attribute*,sourceref*,note?)>
<!ATTLIST objref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
>
<!ELEMENT data_item EMPTY>
<!ATTLIST data_item
key CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT lds_ord ((daterange|dateval|datestr)?,temple?,place?,status?,
sealed_to?,note?,sourceref*)>
<!ATTLIST lds_ord
type CDATA #REQUIRED
>
<!ELEMENT temple EMPTY>
<!ATTLIST temple
val CDATA #REQUIRED
>
<!ELEMENT status EMPTY>
<!ATTLIST status
val CDATA #REQUIRED
>
<!ELEMENT sealed_to EMPTY>
<!ATTLIST sealed_to
hlink IDREF #REQUIRED
>

486
doc/grampsxml.rng Normal file
View File

@@ -0,0 +1,486 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2005 Donald N. Allingham
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Written by Alex Roitman
# $Id$
-->
<!--
This is the RELAX NG schema for the GRAMPS XML genealogy data format.
-->
<grammar
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
ns="http://gramps-project.org/xml/1.0.0/"
xmlns="http://relaxng.org/ns/structure/1.0">
<start><element name="database">
<element name="header">
<element name="created">
<attribute name="date"><data type="date"/></attribute>
<attribute name="version"><text/></attribute>
</element>
<optional><element name="researcher">
<ref name="researcher-content"/>
</element></optional>
</element>
<optional><element name="people">
<optional><attribute name="default"><text/></attribute></optional>
<optional><attribute name="home">
<data type="IDREF"/>
</attribute></optional>
<zeroOrMore><element name="person">
<ref name="person-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="families">
<zeroOrMore><element name="family">
<ref name="family-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="sources">
<zeroOrMore><element name="source">
<ref name="source-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="places">
<zeroOrMore><element name="placeobj">
<ref name="place-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="objects">
<zeroOrMore><element name="object">
<ref name="object-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="bookmarks">
<zeroOrMore><element name="bookmark">
<ref name="bookmark-content"/>
</element></zeroOrMore>
</element></optional>
</element></start>
<define name="researcher-content">
<element name="resname"><text/></element>
<optional><element name="resaddr"><text/></element></optional>
<optional><element name="rescity"><text/></element></optional>
<optional><element name="resstate"><text/></element></optional>
<optional><element name="rescountry"><text/></element></optional>
<optional><element name="respostal"><text/></element></optional>
<optional><element name="resphone"><text/></element></optional>
<optional><element name="resemail"><text/></element></optional>
</define>
<define name="primary-object">
<attribute name="id"><text/></attribute>
<attribute name="handle"><data type="ID"/></attribute>
<attribute name="change"><text/></attribute>
</define>
<define name="person-content">
<ref name="primary-object"/>
<optional><attribute name="complete"><choice>
<value>0</value>
<value>1</value>
</choice></attribute></optional>
<element name="gender"><choice>
<value>M</value>
<value>F</value>
<value>U</value>
</choice></element>
<zeroOrMore><element name="name">
<ref name="name-content"/>
</element></zeroOrMore>
<optional><element name="nick"><text/></element></optional>
<zeroOrMore><element name="event">
<ref name="event-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="lds_ord">
<ref name="lds-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="address">
<ref name="address-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="url">
<ref name="url-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="childof">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="mrel">
<ref name="child-rel"/>
</attribute></optional>
<optional><attribute name="frel">
<ref name="child-rel"/>
</attribute></optional>
</element></zeroOrMore>
<zeroOrMore><element name="parentin">
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
<define name="child-rel">
<choice>
<value>Birth</value>
<value>Adopted</value>
<value>Stepchild</value>
<value>Sponsored</value>
<value>Foster</value>
<value>None</value>
<value>Other</value>
<value>Unknown</value>
</choice>
</define>
<define name="name-content">
<optional><attribute name="alt"><choice>
<value>0</value>
<value>1</value>
</choice></attribute></optional>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><attribute name="type"><choice>
<value>Also Known As</value>
<value>Birth Name</value>
<value>Married Name</value>
<value>Other Name</value>
</choice></attribute></optional>
<optional><attribute name="sort"><text/></attribute></optional>
<optional><attribute name="display"><text/></attribute></optional>
<optional><element name="first"><text/></element></optional>
<optional><element name="last">
<text/>
<optional><attribute name="prefix"><text/></attribute></optional>
<optional><attribute name="group"><text/></attribute></optional>
</element></optional>
<optional><element name="suffix"><text/></element></optional>
<optional><element name="patronymic"><text/></element></optional>
<optional><element name="title"><text/></element></optional>
<optional><ref name="date-content"/></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
<define name="address-content">
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><ref name="date-content"/></optional>
<optional><element name="street"><text/></element></optional>
<optional><element name="city"><text/></element></optional>
<optional><element name="state"><text/></element></optional>
<optional><element name="country"><text/></element></optional>
<optional><element name="postal"><text/></element></optional>
<optional><element name="phone"><text/></element></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<optional><element name="sourceref">
<ref name="sourceref-content"/>
</element></optional>
</define>
<define name="date-content">
<choice>
<element name="daterange">
<attribute name="start"><text/></attribute>
<attribute name="stop"><text/></attribute>
<optional><attribute name="quality"><choice>
<value>estimated</value>
<value>calculated</value>
</choice></attribute></optional>
<optional><attribute name="cformat"><text/></attribute></optional>
</element>
<element name="dateval">
<attribute name="val"><text/></attribute>
<optional><attribute name="cformat"><text/></attribute></optional>
<optional><attribute name="type"><choice>
<value>before</value>
<value>after</value>
<value>about</value>
</choice></attribute></optional>
<optional><attribute name="quality"><choice>
<value>estimated</value>
<value>calculated</value>
</choice></attribute></optional>
</element>
<element name="datestr">
<attribute name="val"><text/></attribute>
</element>
</choice>
</define>
<define name="family-content">
<ref name="primary-object"/>
<optional><attribute name="complete"><choice>
<value>0</value>
<value>1</value>
</choice></attribute></optional>
<optional><attribute name="type"><choice>
<value>Married</value>
<value>Unmarried</value>
<value>Civil Union</value>
<value>Unknown</value>
<value>Other</value>
</choice></attribute></optional>
<optional><element name="father">
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></optional>
<optional><element name="mother">
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></optional>
<zeroOrMore><element name="event">
<ref name="event-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="lds_ord">
<ref name="lds-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="child">
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></zeroOrMore>
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
<define name="source-content">
<ref name="primary-object"/>
<optional><element name="stitle"><text/></element></optional>
<optional><element name="sauthor"><text/></element></optional>
<optional><element name="spubinfo"><text/></element></optional>
<optional><element name="sabbrev"><text/></element></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="data_item">
<attribute name="key"><text/></attribute>
<attribute name="value"><text/></attribute>
</element></zeroOrMore>
</define>
<define name="place-content">
<ref name="primary-object"/>
<attribute name="title"><text/></attribute>
<optional><element name="coord">
<attribute name="long"><data type="float"/></attribute>
<attribute name="lat"><data type="float"/></attribute>
</element></optional>
<zeroOrMore><element name="location">
<optional><attribute name="city"><text/></attribute></optional>
<optional><attribute name="parish"><text/></attribute></optional>
<optional><attribute name="county"><text/></attribute></optional>
<optional><attribute name="state"><text/></attribute></optional>
<optional><attribute name="country"><text/></attribute></optional>
<optional><attribute name="postal"><text/></attribute></optional>
<optional><attribute name="phone"><text/></attribute></optional>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="url">
<ref name="url-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
<define name="object-content">
<ref name="primary-object"/>
<attribute name="src"><text/></attribute>
<attribute name="mime"><text/></attribute>
<attribute name="description"><text/></attribute>
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
<define name="bookmark-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
<define name="note-content">
<optional><attribute name="format"><choice>
<value>0</value>
<value>1</value>
</choice></attribute></optional>
<text/>
</define>
<define name="sourceref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="conf"><text/></attribute></optional>
<optional><element name="spage"><text/></element></optional>
<optional><element name="scomments"><text/></element></optional>
<optional><element name="stext"><text/></element></optional>
<optional><ref name="date-content"/></optional>
</define>
<define name="priv-content">
<choice>
<value>0</value>
<value>1</value>
</choice>
</define>
<define name="attribute-content">
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="type"><text/></attribute>
<attribute name="value"><text/></attribute>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
</define>
<define name="event-content">
<attribute name="type"><text/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="witness">
<optional><attribute name="hlink">
<data type="IDREF"/>
</attribute></optional>
<optional><attribute name="name"><text/></attribute></optional>
<optional><element name="comment"><text/></element></optional>
</element></zeroOrMore>
<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>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
</define>
<define name="url-content">
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="href"><text/></attribute>
<optional><attribute name="description"><text/></attribute></optional>
</define>
<define name="objref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
</define>
<define name="lds-content">
<attribute name="type"><text/></attribute>
<optional><ref name="date-content"/></optional>
<optional><element name="temple">
<attribute name="val"><text/></attribute>
</element></optional>
<optional><element name="place">
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></optional>
<optional><element name="status">
<attribute name="val"><text/></attribute>
</element></optional>
<optional><element name="sealed_to">
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></optional>
<optional><element name="note">
<ref name="note-content"/>
</element></optional>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
</grammar>