cgitb.enable()
import sys
sys.path.append('/home/naath/familyTreeProject/familyTree')
-import pygraph
-from pygraph.classes.graph import graph
-from pygraph.classes.digraph import digraph
-from pygraph.algorithms.searching import breadth_first_search
-from pygraph.readwrite.dot import write
-import gv
-import StringIO
import askQuestion
+import make_dot as d
-def add_quotes(s):
- s = str(s)
- return '\"'+s+'\"'
-
-def parents(ID,name,gr,attr,couples):
+def parents(ID,name):
findParents = "SELECT Name,parentID FROM parents LEFT JOIN"\
+" people ON people.id=parents.parentid"\
+" WHERE parents.id=?;"
-
- ps = ();
- for row in askQuestion.run_query(findParents,(ID,)):
- if row[0]!=None:
- thisN = row[0] + ' '+str(row[1])
- ps = ps + (thisN,)
- if not gr.has_node(thisN):
- gr.add_node(thisN,attr)
- if not gr.has_edge((thisN,name)):
- gr.add_edge((thisN,name))
- newName = thisN
- newID = row[1]
- [gr, couples] = \
- parents(newID,newName,gr,attr,couples)
-
- else:
- thisN = row[1] + ' p' + str(ID)
- if not gr.has_node(thisN):
- ps = ps + (thisN,)
- gr.add_node(thisN,attr)
- gr.add_edge((thisN,name))
- if len(ps)==2:
- if not gr.has_edge(ps):
- gr.add_edge(ps)
- gr.add_edge_attributes(ps,[('dir','none')])
- couples.append(ps)
- return [gr, couples]
-def make_graph(ID,conn):
-
- # Graph creation
- gr = digraph()
- attr = [('fontsize',8)]
- # Add nodes and edges
+ pair =[]
+ for row in askQuestion.run_query(findParents,(ID,)):
+ if row[0]!=None:
+ thisN = row[0] + ' '+str(row[1])
+ newName = thisN
+ newID = row[1]
+ if not d.has_node(thisN):
+ d.add_person(thisN)
+ parents(newID,newName)
+ pair.append(thisN)
- couples = [];
- s = "SELECT name, id FROM people WHERE ID = ?;"
- for row in askQuestion.run_query(s,(ID,)):
- gr.add_node(row[0],attr)
- newName = (row[0])
- newID = row[1]
+ else:
+ thisN = row[1] + ',p ' + str(ID)
+ pair.append(thisN)
+ d.add_person(thisN)
+ d.add_marriage(pair[0],pair[1],[name],1)
+
+def make_graph(ID,conn):
+ global allAncestors
- [gr,couples] = parents(newID,newName,gr,attr,couples)
+ d.start_dot()
+
+ [out, allAncestors,trackLevel,aDict] = \
+ askQuestion.all_ancestors(ID,'\n')
+ Self = allAncestors[0]
- #Draw as jpg
- dot = write(gr)
+ s = "SELECT name||', '|| id FROM people WHERE ID=?"
+ t = (Self,)
+ for row in askQuestion.run_query(s,t):
+ Self = row[0]
+ d.add_highlight(Self)
- dot = dot[:-2]
+ parents(allAncestors[0],Self)
- for couple in couples:
- n1 = add_quotes(couple[0])
- n2 = add_quotes(couple[1])
- line = "\n{rank=same "+n1 + ' '\
- +n2 + "}"
- dot = dot + line
- dot = dot + '\n}'
+ d.add_subgraphs()
+ d.end_dot()
- gvv = gv.readstring(dot)
- gv.layout(gvv,'dot')
+ d.render_dot()
- format = 'jpg'
- print "Content-type: image/" + format + "\n"
- print gv.render(gvv,format)
askQuestion.close(conn)
form = cgi.FieldStorage()
import cgitb
import sys
sys.path.append('/home/naath/familyTreeProject/familyTree')
-import pygraph
-from pygraph.classes.graph import graph
-from pygraph.classes.digraph import digraph
-from pygraph.algorithms.searching import breadth_first_search
-from pygraph.readwrite.dot import write
-import gv
-import StringIO
import askQuestion
+import make_dot as d
def add_quotes(s):
s = str(s)
famTree = askQuestion.list_people_parents()
-gr = digraph()
-
-couples = []
-
-attr = [('fontsize',8)]
-
+d.start_dot()
for i in range(len(famTree)):
+#for i in range(200):
self = famTree[i][0]
- if not gr.has_node(self):
- gr.add_node(self,attr)
+ d.add_person(self)
- for j in range(len(famTree[i][2])):
- s = famTree[i][2][j]
- ps = (self,s)
-
- if not gr.has_node(s):
- gr.add_node(s,attr)
- a =1
- if not gr.has_edge(ps):
- gr.add_edge(ps)
- a = ['dir','none']
- gr.add_edge_attribute(ps,a)
- couples.append(ps)
- ps = ()
+ ps = []
for j in range(len(famTree[i][1])):
p = famTree[i][1][j]
- if p !='?':
- ps = ps + (str(p),)
- if not gr.has_node(p):
- gr.add_node(p,attr)
- if not gr.has_edge((p,self)):
- gr.add_edge((p,self))
-
- if len(ps)==2 and not gr.has_edge(ps) \
- and not gr.has_edge((ps[1],ps[0])):
- gr.add_edge(ps)
- a = ['dir','none']
- gr.add_edge_attribute(ps,a)
- couples.append(ps)
-
-dot = write(gr)
+ ps.append(str(p))
-dot = write(gr)
-dot = dot[:-2]
+ if len(ps)==2:
+ d.add_marriage(ps[0],ps[1],[self],0)
+ d.add_subgraph(ps)
-for couple in couples:
- line = "\n{rank=same "+add_quotes(couple[0]) + ' '\
- +add_quotes(couple[1])+"}"
- dot = dot + line
-
-dot = dot + '\n}'
-
-
-gvv = gv.readstring(dot)
-format='dot'
-gv.layout(gvv,format)
+ for j in range(len(famTree[i][2])):
+ s = famTree[i][2][j]
+ ps = (self,s)
-format = "jpg"
-print "Content-type: image/" + format + "\n"
-print gv.render(gvv,format)
+ d.add_person(s)
+ d.add_marriage(self,s,[],0)
+ d.add_subgraph(ps)
-#gv.render(gvv,'png','famTree.png')
+d.add_subgraphs()
+d.end_dot()
+d.render_dot()
askQuestion.close(conn)
def links():
print '<hr>'
- print '<a href='+base_url() + 'listPeople.py> list of people</a>'
- print '<br>'
- print '<a href='+base_url() + 'listTerr.py> list of territories</a>'
- print '<br>'
- print '<a href='+base_url() + 'countNames.py> count how many times first names are use</a>'
- print '<br>'
- print '<a href='+base_url()+ 'listAge.py> At what age did people have children</a>'
- print '<br>'
- print '<a href='+base_url()+'listAgeDeath.py> At what age did people die</a>'
- print '<br>'
- print '<a href = bigGraph.py> big graph</a>'
-
+ print '<ul>'
+ print '<li><a href='+base_url() + \
+ 'searchname.py> Search for people</a></li>'
+ print '<li><a href='+base_url() + \
+ 'listPeople.py> list of people</a></li>'
+ print '<li><a href='+base_url() + \
+ 'listTerr.py> list of territories</a></li>'
+ print '<li><a href='+base_url() + \
+ 'countNames.py> first names</a></li>'
+ print '<li><a href='+base_url()+ \
+ 'listAge.py> Age at haing child</a></li>'
+ print '<li><a href='+base_url()+\
+ 'listAgeDeath.py> Age at death</a></li>'
+ print '<li><a href = bigGraph.py> big graph</a></li>'
+ print '</ul>'
print '<hr>'
def footer():
print '<hr>'
print "<html>"
print "<head>"
print "<title>"+ title(titleNum) +"</title>"
+
+ print "<style>"
+ print "ul\n{list-style-type:none;margin:10;padding:0;}"
+ print "li{display:inline;}"
+ print "</style>"
+
print "</head>"
print "<body>"
page_header()
cgitb.enable()
import sys
sys.path.append('/home/naath/familyTreeProject/familyTree')
-import pygraph
-from pygraph.classes.graph import graph
-from pygraph.classes.digraph import digraph
-from pygraph.algorithms.searching import breadth_first_search
-from pygraph.readwrite.dot import write
-import gv
-import StringIO
+import make_dot as d
import askQuestion
-def parents(ID,name,gr,attr,startLevel,stopLevel):
+def parents(ID,name,startLevel,stopLevel):
findParents = "SELECT Name,parentID FROM parents LEFT JOIN"\
+" people ON people.id=parents.parentid"\
startLevel = startLevel + 1
if int(startLevel) == int(stopLevel)+1:
- return gr
+ return
+ pair=[]
for row in askQuestion.run_query(findParents,(ID,)):
if row[0]!=None:
thisN = row[0] + ' '+str(row[1])
- if not gr.has_node(thisN):
- gr.add_node(thisN,attr)
- if gr.has_edge((thisN,name)):
- return gr
- gr.add_edge((thisN,name))
+
+ pair.append(thisN)
newName = thisN
newID = row[1]
- gr = parents(newID,newName,gr,attr,startLevel,stopLevel)
+ if not d.has_node(thisN):
+ d.add_person(thisN)
+ parents(newID,newName,startLevel,stopLevel)
else:
- if not gr.has_node(row[1]):
- gr.add_node(row[1],attr)
- gr.add_edge((row[1],name))
- return gr
+ thisN = row[1] + ',p ' + str(ID)
+ pair.append(thisN)
+ d.add_person(thisN)
-def make_graph(ID,ID2,LA,LB):
- # Graph creation
- gr = digraph()
- attr = [('fontsize',8)]
- # Add nodes and edges
+
+ d.add_marriage(pair[0], pair[1],[name],1)
+
+def make_graph(ID,ID2,LA,LB):
+
+ d.start_dot()
if int(LA)!=0:
s = "SELECT name, id FROM people WHERE ID = ?;"
for row in askQuestion.run_query(s,(ID,)):
thisN = row[0]+' ' + str(row[1])
- gr.add_node(thisN,attr)
+ d.add_highlight(thisN)
newName = (thisN)
newID = row[1]
- gr = parents(newID,newName,gr,attr,0,LA)
+ parents(newID,newName,0,LA)
if int(LB)!=0:
s = "SELECT name, id FROM people WHERE ID = ?;"
for row in askQuestion.run_query(s,(ID2,)):
thisN = row[0] +' '+ str(row[1])
- gr.add_node(thisN,attr)
+ d.add_highlight(thisN)
newName = (thisN)
newID = row[1]
+ parents(newID,newName,0,LB)
- gr = parents(newID,newName,gr,attr,0,LB)
-
- #Draw as jpg
- dot = write(gr)
- gvv = gv.readstring(dot)
- gv.layout(gvv,'dot')
-
- format = 'jpg'
- print "Content-type: image/" + format + "\n"
- print gv.render(gvv,format)
+ d.add_subgraphs()
+ d.end_dot()
+ d.render_dot()
askQuestion.close(conn)
form = cgi.FieldStorage()
--- /dev/null
+#!/usr/bin/python
+
+import cgi
+import cgitb
+import gv
+import re
+
+cgitb.enable()
+def add_quotes(s):
+ return '\"'+str(s)+'\"'
+
+def add_node(node,node_attr):
+ global dot
+ global nodes
+ node_attr = attr_string(node_attr)
+ if node not in nodes:
+ dot = dot + add_quotes(node) + node_attr + ";\n"
+ nodes.append(node)
+
+def has_node(node):
+ if node in nodes:
+ return 1
+ else:
+ return 0
+def has_edge(edge):
+ edge[0] = add_quotes(edge[0])
+ edge[1] = add_quotes(edge[1])
+ if edge in edges:
+ return 1
+ else:
+ return 0
+
+def add_edge(n1,n2,edge_attr):
+ global dot
+ global edges
+ edge = (add_quotes(n1),add_quotes(n2))
+ edge_attr = attr_string(edge_attr)
+ if edge not in edges:
+ dot = dot + edge[0] + ' -> ' + edge[1] + edge_attr + ";"
+ edges.append(edge)
+
+def add_arrow(n1,n2):
+ add_edge(n1,n2,edge_attr)
+
+def add_no_arrow(n1,n2):
+ add_edge(n1,n2,nodir_attr)
+
+def add_marriage(n1,n2,children,joinChildren):
+ global cNodes
+
+ jN = n1+n2
+ jNRev = n2+n1
+ if has_node(jNRev):
+ jN = jNRev
+ add_spot(jN)
+ add_person(n1)
+ add_person(n2)
+
+
+
+ if len(children)>0 and joinChildren==1:
+ cNode = jN + 'c'
+ e = [cNode,children[0]]
+ if has_node(cNode):
+ tcNode = cNode + children[0]
+ if len(cNodes[cNode])>0:
+ last = cNodes[cNode][-1]
+ else:
+ last = cNode
+ add_spot(tcNode)
+ cNodes[cNode].append(tcNode)
+ add_no_arrow(last,tcNode)
+ add_subgraph([tcNode,cNode])
+ else:
+ tcNode = cNode
+ add_spot(cNode)
+ cNodes[cNode] = []
+ add_no_arrow(jN,cNode)
+
+ elif len(children)>0:
+ tcNode = jN
+
+ for c in children:
+ add_person(c)
+ add_arrow(tcNode,c)
+ for n in [n1, n2]:
+ add_edge(n,jN,marriage_attr)
+ add_subgraph([n1,n2])
+
+
+def add_subgraph(myG):
+ global subgraphs
+ subgraphs.append(myG)
+
+def add_subgraphs():
+ global dot
+ for sg in subgraphs:
+ line = "\n{rank=same "
+
+ for n in sg:
+ line = line +add_quotes(n) + ' '
+
+ line = line +"}"
+
+ dot = dot + line
+
+def end_dot():
+ global dot
+ dot = dot + "}"
+
+def start_dot():
+ global dot
+ global nodes
+ global edges
+ global subgraphs
+ global cNodes
+ nodes=[]
+ edges=[]
+ cNodes={}
+ dot = "digraph G{\n"
+ dot = dot + "ranksep = 0.5 nodesep = 0\n"
+ subgraphs=[]
+ set_attr()
+
+def add_highlight(name):
+ add_node(name,highlight_attr)
+
+def add_person(name):
+ add_node(name,person_attr)
+
+def add_spot(name):
+ add_node(name,spot_attr)
+
+
+def set_attr():
+ global person_attr
+ global highlight_attr
+ global spot_attr
+ global edge_attr
+ global invis_attr
+ global ignored_attr
+ global nodir_attr
+ global marriage_attr
+ global debug_attr
+ global debug_edge_attr
+ zero_size = [('width','0'),('height','0')]
+ person_attr = [('fontsize','8'),('shape','plaintext')] + zero_size
+ highlight_attr = person_attr + \
+ [('fontcolor','red'),('shape','box'),('color','red')]
+ debug_attr = person_attr + [('fontcolor','green')]
+ spot_attr = [('shape','point')] + zero_size
+ edge_attr = [('len','0'),('arrowsize','0.5')]
+ debug_edge_attr = edge_attr + [('color','green')]
+ invis_attr = edge_attr + [('style','invis')]
+ nodir_attr = edge_attr + [('dir','none')]
+ marriage_attr = nodir_attr + [('weight','10'),('color','red')]
+ ignored_attr =edge_attr + [('constraint','false')] + nodir_attr
+
+def attr_string(attr):
+
+ attr_str = '['
+ for a in attr:
+ attr_str = attr_str + a[0] + '=' + a[1]
+ if a != attr[-1]:
+ attr_str = attr_str +','
+
+ attr_str = attr_str + ']'
+ return attr_str
+
+def render_dot():
+ gvv = gv.readstring(dot)
+ gv.layout(gvv,'dot')
+
+ format = 'png'
+
+ print "Content-type: image/" + format + "\n"
+ print gv.render(gvv,format)
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+# enable debugging
+import cgi
+import cgitb
+import sys
+import re
+sys.path.append('/home/naath/familyTreeProject/familyTree')
+import askQuestion
+import everyPage
+
+cgitb.enable()
+
+[conn,form]=everyPage.top()
+
+name = form.getvalue('name')
+if name == None:
+ printMe = "<form action = 'searchname.py' method = 'get'>"
+ printMe = printMe + \
+ "Search for: <input type = 'text' name = 'name'> <br>"
+ printMe = printMe +"<input type = 'submit' value = 'Search'>"
+ printMe = printMe + "</form>"
+
+ everyPage.good(printMe)
+
+
+else:
+ result = re.match('[a-zA-z-% ]*$', name)
+
+ if result == None:
+ everyPage.bad()
+ else:
+ printMe = askQuestion.search_name(name,'<br>')
+ if len(printMe)<10:
+ printMe = 'sorry, no data <br>'
+
+ everyPage.good(printMe)
+
+
+everyPage.bottom(conn)
import cgi
import cgitb
-
-import pygraph
-from pygraph.classes.graph import graph
-from pygraph.classes.digraph import digraph
-from pygraph.algorithms.searching import breadth_first_search
-from pygraph.readwrite.dot import write
-import gv
-import StringIO
+import make_dot as d
cgitb.enable()
-def add_quotes(s):
- return '\"'+str(s)+'\"'
-
def make_graph(Self,parents,children,otherparents,spouses):
- # Graph creation
- gr = digraph()
-
- node_attr = [('fontsize',8)]
-
- # Add nodes and edges
- gr.add_node(Self,node_attr)
+ d.start_dot()
+ d.add_highlight(Self)
+
+ countSame = 2;
+ for i in range(1,len(parents)):
+ if parents[i]==parents[i-1]:
+ parents[1]=parents[1] + ' '+str(countSame)
+ countSame = countSame +1
- for p in parents:
- if not gr.has_node(p):
- gr.add_node(p,node_attr)
- if not gr.has_edge((p,Self)):
- gr.add_edge((p,Self))
-
- couples=[]
- if len(parents)==2:
- ps = (parents[0],parents[1])
- if not gr.has_edge(ps):
- gr.add_edge(ps)
- attr = [('dir','none')]
- gr.add_edge_attributes(ps,attr)
- couples.append(ps)
+ d.add_marriage(parents[0],parents[1],[Self],1)
- for i in range(len(children)):
- if not gr.has_node(children[i]):
- gr.add_node(children[i],node_attr)
- if not gr.has_edge ((Self,children[i])):
- gr.add_edge((Self,children[i]))
- if not gr.has_node(otherparents[i]):
- gr.add_node(otherparents[i],node_attr)
- if not gr.has_edge((otherparents[i],children[i])):
- gr.add_edge((otherparents[i],children[i]))
+ for i in range(len(otherparents)):
+ c = children[i]
+ op = otherparents[i]
+ d.add_marriage(Self,op,[c],1)
-
- if not gr.has_edge((otherparents[i],Self)):
- e = (otherparents[i],Self)
- attr = [('dir','none')]
- gr.add_edge(e)
- gr.add_edge_attributes(e,attr)
- couples.append(e)
+ for i in range(len(spouses)):
+ s = spouses[i]
+ d.add_marriage(Self,s,[],1)
- for s in spouses:
- if not gr.has_node(s):
- gr.add_node(s,node_attr)
- if not gr.has_edge((s,Self)):
- e = (s,Self)
- attr = [('dir','none')]
- gr.add_edge(e)
- gr.add_edge_attributes(e,attr)
- couples.append(e)
+ d.subgraphs.append(children)
-
- #Draw as jpg
- dot = write(gr)
- dot = dot[:-2]
+ d.add_subgraphs()
- for couple in couples:
- line = "\n{rank=same "+add_quotes(couple[0]) + ' '\
- +add_quotes(couple[1])+"}"
-
- dot = dot + line
-
- dot = dot + '\n}'
- gvv = gv.readstring(dot)
- gv.layout(gvv,'dot')
-
- format = 'jpg'
+ d.end_dot()
+
+ d.render_dot()
- print "Content-type: image/" + format + "\n"
- print gv.render(gvv,format)
form = cgi.FieldStorage()
s = form.getlist('s')
make_graph(Self,p,c,op,s)
-
from string import Template
global link_Template
-link_Template= Template("<a href = http://www.chiark.greenend.org.uk/ucgi/~naath/$script>$text</a>")
+link_Template= Template(\
+ "<a href = http://www.chiark.greenend.org.uk/ucgi/~naath/$script"\
+ +" title=$title>$text</a>")
+def add_quotes(s):
+ s = str(s)
+ return "'"+s+"'"
+
def run_query(s,t):
c = make_cursor()
return c.execute(s,t)
def relationship_html(ID,ID2,newLine):
if newLine=='<br>':
relationship = common_ancestors(ID,ID2,newLine)[2]
- script = "ancestors.py?ID="+str(ID)+"&ID2="+str(ID2)
- url = link_Template.substitute(script = script,text = "Common ancestors")
- return relationship + ' '+url + newLine
+
+ if relationship[-11:] != 'not related':
+ script = "ancestors.py?ID="+str(ID)+"&ID2="+str(ID2)
+ url = link_Template.substitute\
+ (script = script,title = "Common ancestors"\
+ ,text = "Common ancestors")
+ return relationship + ' '+url + newLine
+ else:
+ return relationship + newLine
else:
return ''
-def terr_html(terr,newLine):
+def terr_html(terr,newLine,start,stop):
if newLine=='<br>':
- return link_Template.substitute(script = "territory.py?terr="+terr, text=terr)
+ if start == 0 and stop ==0:
+ myTitle = add_quotes(terr)
+
+ else:
+ s = "SELECT name,people.id"\
+ +" FROM people INNER JOIN territories"\
+ +" ON people.id = territories.id"\
+ +" WHERE territory = ? AND stopyear <= ?"\
+ +" ORDER BY startyear DESC;"
+
+ t = (terr,start)
+ myTitle = ''
+ for row in run_query(s,t):
+ myTitle = myTitle +"previous - " + row[0] \
+ + ',' + str(row[1])
+ break
+
+ u = "SELECT name,people.id"\
+ +" FROM people INNER JOIN territories"\
+ +" ON people.id = territories.id"\
+ +" WHERE territory = ? AND startyear >= ?"\
+ +" ORDER BY startyear;"
+
+ v = (terr,stop)
+ for r in run_query(u,v):
+ myTitle = myTitle + '
' +"next - " + r[0] \
+ + ',' + str(r[1])
+ break
+
+ myTitle = add_quotes(myTitle)
+
+ return link_Template.substitute(\
+ script = "territory.py?terr="+terr, title=myTitle,\
+ text = terr)
else:
return terr
def name_html(row,html):
script = "person.py?ID=" + str(row[1])
name = row[0]
return link_Template.substitute(script = script\
- , text = name)
+ ,title = add_quotes(name),text = name)
else:
return row[0] + "," +str(row[1])
if newLine == '<br>':
script = "age.py?age="+str(row[0])
link = link_Template.substitute(script = \
- script, text = row[0])
+ script, title = add_quotes(row[0]), text = row[0])
out = str(row[1])+print_people(row[1])
out = out + 'had children at age '+ link + newLine
def print_age_death_count(row,newLine):
if newLine =='<br>':
script = "ageDeath.py?age="+str(row[0])
- link = link_Template.substitute(script = script,text = row[0])
+ link = link_Template.substitute(script = script,\
+ title = add_quotes(row[0]),text = row[0])
out = str(row[1])+print_people(row[1])
out = out + "died at age " + link + newLine
return out
if newLine=='<br>':
script = "name.py?name=" + row[0]
link = link_Template.substitute(script =\
- script, text = row[0])
+ script, title = add_quotes(row[0]),text = row[0])
return str(row[1]) + " people called "+link + newLine
else:
return print_row(row,newLine)
out = ''
for row in run_query(s,()):
- out =out + terr_html(row[0],newLine) +newLine
+ out =out + terr_html(row[0],newLine,0,0) +newLine
return out
def list_people_parents():
if r[0]!=None:
spouses.append(r[0]+ ' '+str(r[1]))
else:
- spouses.append(r[1] + ' s' +\
- str(row[1]))
+ if len(r[1])>0:
+ spouses.append(r[1] + ' s' +\
+ str(row[1]))
myName = row[0]
return out
+
+def search_name(name,newLine):
+ s = "SELECT name, ID"\
+ +" FROM people"\
+ +" WHERE name LIKE ?;"
+
+ out = ''
+
+ out = out + 'Names start with ' + name + ':' + newLine
+ t = (name + '%',)
+ fullIDs=[]
+ for row in run_query(s,t):
+ out = out + name_html(row,newLine) + newLine
+ fullIDs.append(row[1])
+ t = ('%' + name + '%',)
+ out = out+newLine + 'Names contain ' + name + ':' + newLine
+ for row in run_query(s,t):
+ if row[1] not in fullIDs:
+ out = out + name_html(row,newLine) + newLine
+
+ s = "SELECT name,people.ID,style"\
+ +" FROM people INNER JOIN styles"\
+ +" ON styles.id = people.id"\
+ +" WHERE style LIKE ?;"
+ out = out +newLine+ 'Styles contain ' + name + ':' + newLine
+ for row in run_query(s,t):
+ out = out + name_html(row,newLine)+' ' + row[2] + newLine
+
+ return out
+
+
def people_with_name(name,newLine):
- s = "SELECT Name, ID"\
+ s = "SELECT name, ID"\
+" FROM people"\
- +" WHERE Name LIKE ?;"
+ +" WHERE firstname LIKE ?;"
out = ''
- t = (name + '%',)
+ t = (name,)
for row in run_query(s,t):
out = out + name_html(row,newLine) + newLine
for row in run_query(t,id):
out = out + name_html(row,newLine)+newLine
+ aDict={}
+ aDict[level] = ancestors
while len(ancestors)>0:
level = level+1
newA =[]
- thisout = newLine + parent_level(level,'parent') +':' + newLine
+ thisout = newLine + parent_level(level,'parent') +\
+ ':' + newLine
for ancestor in ancestors:
id = (ancestor,)
for row in run_query(s,id):
thisout = thisout + \
name_html(row,newLine)+newLine
- if row[1] not in allAncestors and \
- is_number(row[1])!=0:
+ if row[1] not in allAncestors\
+ and is_number(row[1]):
newA.append(row[1])
allAncestors.append(row[1])
trackLevel.append(level)
+
ancestors = newA
+ if len(ancestors)>0:
+ aDict[level]=ancestors
out = out+thisout
image = "<img src = ancestorGraph.py?id="+str(personID)+">"
out = out+newLine + image+newLine
- return [out, allAncestors,trackLevel]
+ return [out, allAncestors,trackLevel,aDict]
def common_ancestors(IDA, IDB,newLine):
out = ''
for row in run_query(tq,(aTerritory+'%',)):
if row[4]!=last and last!='':
- out = out + 'Rulers of '+terr_html(last,newLine) +':'+ newLine +thisT +newLine
+ out = out + 'Rulers of '+terr_html(last,newLine,0,0) \
+ +':'+ newLine +thisT +newLine
thisT = ''
thisT = thisT +name_html(row,newLine)
thisT = thisT +' from ' + str(row[2])+' to '+str(row[3]) + newLine
last = row[4]
- out = out + 'Rulers of '+terr_html(row[4],newLine) +':'+ newLine +thisT
+ out = out + 'Rulers of '+terr_html(row[4],newLine,0,0) +':'+ \
+ newLine +thisT
return out
def person_info(personID,newLine):
t = (personID,)
- output = '';
-
+ mainDiv = ''
#Id, Name, Dates, Style, Style-Dates
s = "SELECT * FROM people WHERE ID = ?"
for row in run_query(s,t):
- output = output + 'ID: '+str(row[0]) +newLine
- output = output + print_tagged_name('Name',[row[1], row[0]],newLine) +newLine
+ mainDiv = mainDiv + '<p>'
+ mainDiv = mainDiv + 'ID: '+str(row[0]) +newLine
+ mainDiv = mainDiv + print_tagged_name('Name',[row[1], row[0]]\
+ ,newLine)
+ mainDiv = mainDiv + '</p>'
name = row[1]
- output = output + 'Born: '+row[3] + newLine
+ url = row[9]
+ picture = row[10]
+
+ mainDiv = mainDiv + '<p>'
+ mainDiv = mainDiv + newLine + 'Born: '+row[3] + newLine
bornYear = row[4]
- output = output + 'Died: '+row[5] + ", aged " \
- +str(row[6]-row[4]) +newLine
+ mainDiv = mainDiv + 'Died: '+row[5]
+
+ if row[6] != 0 and row[4] !=0:
+ mainDiv = mainDiv + ", aged " \
+ +str(row[6]-row[4])
+ mainDiv = mainDiv + '</p>'
+
s = "SELECT * FROM styles WHERE ID = ?"
for row in run_query(s,t):
- output = output +newLine+ 'Style: '+row[1] + newLine
+ mainDiv = mainDiv + '<p>'
+ mainDiv = mainDiv +newLine+ 'Style: '+row[1] + newLine
- output = output + 'Territories:' + newLine
+ mainDiv = mainDiv + 'Territories:' + newLine
u = "SELECT * FROM territories"\
+" WHERE ID =? AND startYear =? AND stopYear=?"
any = 0
for r in run_query(u,v):
- output = output + terr_html(r[1],newLine) +','
+ mainDiv = mainDiv \
+ + terr_html(r[1],newLine,r[3],r[5])\
+ +','
any = 1
if any ==1:
- output = output[:-1] + newLine
+ mainDiv = mainDiv[:-1] + newLine
+
+ mainDiv = mainDiv + 'From: '+row[2] + newLine
+ mainDiv = mainDiv + 'To: '+row[4]
+
+ mainDiv = mainDiv + '</p>'
+
- output = output + 'From: '+row[2] + newLine
- output = output + 'To: '+row[4] + newLine
+
+ mainDiv = mainDiv + '<p>'
s = "SELECT people.Name,consort "\
+"FROM consorts LEFT JOIN people"\
+" ON people.ID = consorts.consort"\
+" WHERE consorts.ID = ?"
for row in run_query(s,t):
- output = output + print_tagged_name('Consort',row,newLine)
+ mainDiv = mainDiv + print_tagged_name\
+ ('Consort of',row,newLine)
+ mainDiv = mainDiv + '</p>'
- output = output + newLine
#find parents
+ mainDiv = mainDiv + '<p>'
s = "SELECT people.Name,parents.parentID FROM"\
+" parents LEFT JOIN people"\
+" ON parents.parentID = people.ID"\
parents =[]
for row in run_query(s,t):
- output = output + print_tagged_name('Parent',row,newLine)
+ mainDiv = mainDiv + print_tagged_name('Parent',row,newLine)
if row[0]!=None:
- parents.append(row[0] + ' ' + row[1])
+ parents.append(row[0] + ', ' + row[1])
else:
- parents.append(row[1] + ' p' + personID)
-
+ parents.append(row[1] + ', p' + personID)
+ mainDiv = mainDiv + '</p>'
#find spouses
+
+ mainDiv = mainDiv + '<p>'
s = "SELECT people.NAME, marriages.IDb from"\
+" marriages LEFT JOIN people"\
+" ON people.ID = marriages.IDb"\
spouses = []
for row in run_query(s,t):
if row[0]!=None:
- spouses.append(row[0] + ' '+str(row[1]))
- else:
- spouses.append(row[1] + ' s' + personID)
- output = output + newLine
- output = output + print_tagged_name('Spouse',row,newLine)
- output = output + relationship_html(personID,row[1],newLine)
+ spouses.append(row[0] + ', '+str(row[1]))
+ elif row[1]!='':
+ spouses.append(row[1] + ', s' + personID)
+ if row[1]!='':
+ mainDiv = mainDiv + print_tagged_name('Spouse',row,newLine)
+ mainDiv = mainDiv + relationship_html(personID,row[1],newLine)
s = "SELECT people.NAME, marriages.IDa from"\
+" marriages LEFT JOIN people"\
+" ORDER BY IDa;"
for row in run_query(s,t):
if row[0]!=None:
- spouses.append(row[0] + ' '+str(row[1]))
+ spouses.append(row[0] + ', '+str(row[1]))
else:
- spouses.append(row[1] + ' s' + personID)
- output = output + newLine
- output = output + print_tagged_name('Spouse',row,newLine)
- output = output + relationship_html(personID,row[1],newLine)
-
- output = output + newLine
+ spouses.append(row[1] + ', s' + personID)
+ mainDiv = mainDiv + print_tagged_name('Spouse',row,newLine)
+ mainDiv = mainDiv + relationship_html(personID,row[1],newLine)
+ mainDiv = mainDiv + '</p>'
#find children
s = "Select people.NAME, people.ID ,people.bornYear"\
children = []
ops =[]
+ top = ''
for row in run_query(s,t):
- output = output + print_tagged_name('Child',row,newLine)
- children.append(row[0] + ' ' + str(row[1]))
+ thisChild = print_tagged_name('Child',row,newLine)
+ children.append(row[0] + ', ' + str(row[1]))
#find children's other parent
u = "Select people.NAME, parents.parentID FROM"\
- +" parents INNER JOIN people"\
+ +" parents LEFT JOIN people"\
+" ON people.ID = parents.parentID"\
+" WHERE parents.ID = ? AND parents.parentID <>?;"
op = 0
for r in run_query(u,ids):
- output = output + print_tagged_name('With',r,newLine)
op = 1
- ops.append(r[0] + ' ' + str(r[1]))
+ if r[0]!=None:
+ ops.append(r[0] + ', ' + str(r[1]))
+ else:
+ ops.append(r[1] + ', s' + personID)
if op==0:
- ops.append('?' + ' s' + personID)
+ ops.append('?' + ', s' + personID)
+
+ if top!=ops[-1]:
+ mainDiv = mainDiv + '</p>'
+ mainDiv = mainDiv + '<p>'
+ mainDiv = mainDiv + print_tagged_name('With',r, newLine)
+
+
+ top = ops[-1]
#age when child born
if row[2] !=0 and bornYear != 0:
age = row[2]-bornYear
- output = output[:-4] + " at the age of "+str(age) + newLine
+ thisChild = thisChild[:-4] + \
+ " at the age of "+str(age) + newLine
+ mainDiv = mainDiv + thisChild
+ mainDiv = mainDiv + '</p>'
+ output = '<div id = "main" style = " float:left">';
+ output = output + mainDiv + "</div>"
- Self = name +' ' + str(personID)
+ output = output + "<div id = 'image' "\
+ +"style = 'float:left; margin-left:20px'>"
- image = "smallGraph.py?Self="+Self
+ imageDiv = ''
+ if picture!='.':
+ imageDiv = imageDiv + "<a href=" + url+">"\
+ +"<img src=" + picture +" alt = 'wiki link'"\
+ +" title = 'wiki link'></a>"\
+ + newLine
+
+ elif url!='.' and url!='. ':
+ imageDiv = imageDiv + "<a href=" + url +">"\
+ +name + " (wiki link)</a>"+newLine
+
+ output = output + imageDiv + "</div>"
+
+ Self = name +', ' + str(personID)
+
+ graph = "smallGraph.py?Self="+Self
for p in parents:
- image = image + '&p='+p
+ graph = graph + '&p='+p
for c in children:
- image = image + '&c='+c
+ graph = graph + '&c='+c
for op in ops:
if op !=None:
- image = image + '&op='+op
+ graph = graph + '&op='+op
for s in spouses:
if s !=None:
- image = image + '&s='+str(s)
+ graph = graph + '&s='+str(s)
- image = image.replace(' ','%20')
- image ="<img src ="+ image + '>'
+ graph = graph.replace(' ','%20')
+ graph ="<img src ="+ graph + '>'
-
- output = newLine+ output+ image+newLine
+ output = output + "<div id = 'graph' style = 'clear:both'>"
+ output = output + graph
+ output = output + "</div>"
s = 'CREATE TABLE people\n(\nID int,\nName text,\nFirstName'\
+' text,\nBorn text,\nbornYear int,\nDied text,'\
- +'\ndiedYear int,\nbornMonth int,\ndiedMonth);'
+ +'\ndiedYear int,\nbornMonth int,\ndiedMonth,'\
+ +'\nURL text,\nPicture text);'
print s
if lastline == 'Name:':
names = thisline.split()
if len(names)>0:
- firstName = add_quotes(names[0])
+ notNames = ['Prince','Princess','St']
+ if names[0] in notNames:
+ firstName = add_quotes(names[1])
+ else:
+ firstName = add_quotes(names[0])
else:
firstName = ''
thisName = add_quotes(thisline)
yd = findYear.find_year(thisline)
md = findYear.find_month(thisline)
thisDied = add_quotes(thisline)
- finishedRecord = 1
+ finishedRecord=1
+ if lastline == 'URL:':
+ url = add_quotes(thisline)
+ if lastline == 'Picture:':
+ picture = add_quotes(thisline)
if lastline == 'Father:':
a = is_number(thisline)
s = make_insert('parents',[thisID, a])
if finishedRecord ==1:
s = make_insert('people',\
- [thisID,thisName,firstName,thisBorn,yb,thisDied,yd,mb,md])
+ [thisID,thisName,firstName,thisBorn,yb,\
+ thisDied,yd,mb,md,url,picture])
print s
finishedRecord = 0
if lastline == 'Style:':
URL:\r
http://en.wikipedia.org/wiki/Alfred_the_Great\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Statue_d%27Alfred_le_Grand_%C3%A0_Winchester.jpg/220px-Statue_d%27Alfred_le_Grand_%C3%A0_Winchester.jpg\r
+\r
Born:\r
849\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Edward_the_Elder\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Edward_the_Elder_-_MS_Royal_14_B_VI.jpg/218px-Edward_the_Elder_-_MS_Royal_14_B_VI.jpg\r
+\r
Born:\r
874-877\r
Died:\r
Spouses:\r
62\r
63\r
+64\r
\r
Style:\r
King of Wessex\r
URL:\r
http://en.wikipedia.org/wiki/%C3%86thelstan\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Athelstan.jpg/220px-Athelstan.jpg\r
+\r
Born:\r
893-895\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Edmund_I\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Edmund_I_-_MS_Royal_14_B_V.jpg/220px-Edmund_I_-_MS_Royal_14_B_V.jpg\r
+\r
Born:\r
921\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Eadred\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Eadred_penny.jpg/200px-Eadred_penny.jpg\r
+\r
Born:\r
?\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Eadwig\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Eadwig.jpg/220px-Eadwig.jpg\r
+\r
Born:\r
941?\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Edgar_the_Peaceful\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/c/c2/Edgar_King_of_England.jpg\r
+\r
Born:\r
07/08/943\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Edward_the_Martyr\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Edward_the_Martyr_by_Edwards_detail.jpg/220px-Edward_the_Martyr_by_Edwards_detail.jpg\r
+\r
Born:\r
962\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/%C3%86thelred_the_Unready\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Ethelred_the_Unready.jpg/220px-Ethelred_the_Unready.jpg\r
+\r
Born:\r
966-968\r
Died:\r
1013\r
\r
Style:\r
-English\r
+King of the English\r
Territories:\r
England\r
\r
URL:\r
http://en.wikipedia.org/wiki/Sweyn_Forkbeard\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Sweyn_Forkbeard.jpg/220px-Sweyn_Forkbeard.jpg\r
+\r
Born:\r
960\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Edmund_Ironside\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/4/44/EdmundIronside_Canutethe_Dane1.jpg/220px-EdmundIronside_Canutethe_Dane1.jpg\r
+\r
Born:\r
989\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Cnut_the_Great\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Cnut_the_Great_Obverse.jpg/220px-Cnut_the_Great_Obverse.jpg\r
+\r
Born:\r
985\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Harold_Harefoot\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Harold1_Harefoot_02.jpg/150px-Harold1_Harefoot_02.jpg\r
+\r
Born:\r
c1015\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Harthacnut\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Coin_danish_and_english_king_Harthacnut%2C_Hardeknut_%281018-1042%29.jpg/220px-Coin_danish_and_english_king_Harthacnut%2C_Hardeknut_%281018-1042%29.jpg\r
+\r
Born:\r
c1018\r
Died:\r
08/06/1042\r
\r
Style:\r
-Denmark\r
+King of Denmark\r
Territories:\r
Denmark\r
\r
URL:\r
http://en.wikipedia.org/wiki/Edward_the_Confessor\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Bayeux_Tapestry_scene1_EDWARD_REX.jpg/220px-Bayeux_Tapestry_scene1_EDWARD_REX.jpg\r
+\r
Born:\r
C1003-1005\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Harold_Godwinson\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/f/fd/Harold2.jpg\r
+\r
Born:\r
c1022\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/William_the_Conqueror\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Bayeuxtapestrywilliamliftshishelm.jpg/150px-Bayeuxtapestrywilliamliftshishelm.jpg\r
+\r
Born:\r
c1028\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/William_II_of_England\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/9/92/William_II_of_England.jpg/221px-William_II_of_England.jpg\r
+\r
Born:\r
c1056\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Henry_I_of_England\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Henry1.jpg/230px-Henry1.jpg\r
+\r
Born:\r
1068\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Stephen_of_England\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Stepan_Blois.jpg/218px-Stepan_Blois.jpg\r
+\r
Born:\r
C1092-1096\r
Died:\r
?/04/1141\r
\r
Style:\r
-English\r
+King of the English, Duke of the Normans\r
Territories:\r
England\r
\r
URL:\r
http://en.wikipedia.org/wiki/Empress_Matilda\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Empress_Mathilda.png/220px-Empress_Mathilda.png\r
+\r
Born:\r
07/02/1102\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Henry_II_of_England\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Henry_II_of_England_cropped.jpg/211px-Henry_II_of_England_cropped.jpg\r
+\r
Born:\r
05/03/1133\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Henry_the_Young_King\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/BL_MS_Royal_14_C_VII_f.9_%28Henry_jr%29.jpg/160px-BL_MS_Royal_14_C_VII_f.9_%28Henry_jr%29.jpg\r
+\r
Born:\r
28/02/1155\r
Died:\r
URL:\r
http://en.wikipedia.org/wiki/Richard_I_of_England\r
\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Church_of_Fontevraud_Abbey_Richard_I_effigy.jpg/220px-Church_of_Fontevraud_Abbey_Richard_I_effigy.jpg\r
+\r
Born:\r
08/09/1157\r
Died:\r
John\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/John,_King_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Jan_tomb.jpg/220px-Jan_tomb.jpg\r
\r
Born:\r
24/12/1166\r
Henry III\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/Henry_III_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Henry_III_funeral_head.jpg/220px-Henry_III_funeral_head.jpg\r
\r
Born:\r
01/10/1207\r
Edward I\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/Edward_I_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Gal_nations_edward_i.jpg/225px-Gal_nations_edward_i.jpg\r
\r
Born:\r
17/06/1239\r
Edward II\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/Edward_II_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/d/d1/Edward_II_-_British_Library_Royal_20_A_ii_f10_%28detail%29.jpg/220px-Edward_II_-_British_Library_Royal_20_A_ii_f10_%28detail%29.jpg\r
\r
Born:\r
25/04/1284\r
Edward III\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/Edward_III_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Edward_III_of_England_%28Order_of_the_Garter%29.jpg/220px-Edward_III_of_England_%28Order_of_the_Garter%29.jpg\r
\r
Born:\r
13/11/1312\r
Richard II\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/Richard_II_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Richard_II_King_of_England.jpg/220px-Richard_II_King_of_England.jpg\r
\r
Born:\r
06/01/1367\r
Henry IV\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/Henry_IV_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/King_Henry_IV_from_NPG_%282%29.jpg/180px-King_Henry_IV_from_NPG_%282%29.jpg\r
\r
Born:\r
15/04/1367\r
Henry V\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/Henry_V_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/1/18/King_Henry_V_from_NPG.jpg/220px-King_Henry_V_from_NPG.jpg\r
\r
Born:\r
16/09/1386\r
Henry VI\r
\r
URL:\r
-.\r
+http://en.wikipedia.org/wiki/Henry_VI_of_England\r
+\r
+Picture:\r
+http://upload.wikimedia.org/wikipedia/commons/thumb/9/91/King_Henry_VI_from_NPG_%282%29.jpg/220px-King_Henry_VI_from_NPG_%282%29.jpg\r
\r
Born:\r
06/11/1421\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
28/04/1442\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
02/11/1470\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
02/10/1452\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
28/01/1457\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
28/06/1491\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
21/10/1537\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C1536-1537\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
18/02/1516\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
07/09/1533\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
19/06/1566\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
19/11/1600\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
26/05/1630\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
14/10/1633\r
Died:\r
113\r
\r
Spouses:\r
-115116\r
+115\r
+116\r
\r
Style:\r
By the Grace of God, King of England,Scotland, France, and Ireland, Defender of the Faith etc.\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
30/04/1662\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
04/11/1650\r
Died:\r
Nassau\r
\r
From:\r
-04/06/1900\r
+28/11/1694\r
To:\r
08/03/1702\r
\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
06/02/1665\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
28/05/1660\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
10/11/1683\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
04/06/1738\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
12/08/1762\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
21/08/1765\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/05/1819\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
09/11/1841\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
03/06/1865\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
23/06/1894\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
14/11/1895\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
21/04/1926\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
~903\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c.945\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c. 970\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c. 985\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c. 992\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c. 990\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1025\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1025\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1057\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1031\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1080\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1103\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
? 1105\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
11/08/1086\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/08/1113\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1122-1124\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?/11/1157\r
Died:\r
195\r
\r
Spouses:\r
-231\r
-96\r
+23\r
+196\r
\r
Consort of:\r
96\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1165-1170\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1173\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1188\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1223\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1241\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1279\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1295\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/06/1314\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
11/05/1366\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
09/11/1389\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1368\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1370\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
27/10/1401\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
23/03/1430\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1437\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
11/06/1456\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
11/02/1466\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
16/12/1485\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1501\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1508\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
22/09/1515\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1523\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1512\r
Died:\r
252\r
253\r
38\r
-354\r
+254\r
\r
Consort of:\r
-252,253,38,354\r
+252,253,38,254\r
\r
\r
ID:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1535\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
21/05/1527\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
12/12/1574\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
25/11/1609\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
25/11/1638\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
12/03/1637\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
05/10/1658\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
02/04/1683\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
15/09/1666\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
01/03/1683\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
19/05/1744\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
17/05/1768\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
13/08/1792\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
26/08/1819\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
01/12/1844\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
26/05/1867\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
19/06/1896\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
04/08/1900\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
22/06/1000\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1003\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1045\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1067\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
15/06/1330\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
19/09/1328\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
06/03/1340\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
25/03/1345\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
21/09/1411\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
03/05/1415\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
20/07/1375\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
27/12/1390\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
05/06/1341\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1355\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1430?\r
Died:\r
01-03/11/1456\r
\r
Father:\r
-Owen Tudor\r
+223\r
Mother:\r
99\r
\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
31/05/1443\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1403\r
Died:\r
Father:\r
145\r
Mother:\r
-Margaret Holland\r
+409\r
\r
Spouses:\r
Margaret Beauchamp\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1373\r
Died:\r
Katherine Swynford\r
\r
Spouses:\r
-Margaret Holland\r
+409\r
\r
\r
\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
17/01/1517\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
16/07/1517\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1484\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
18/03/1496\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
07/12/1545\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
7-8/12/1542\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
08/10/1515\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
10/04/1512\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
28/11/1489\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
27/05/1626\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
04/11/1631\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
20/11/1629\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
14/10/1630\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
19/08/1596\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
01/02/1707\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
30/11/1719\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
02/11/1767\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
933\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c950\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c940\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C940-945\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c945\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1001\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c977\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1000\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1007\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
19/08/1012\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1009\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1045\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1060\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1078\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1109\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1082\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
11/11/1050\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1089-1092\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1099\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1103\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1120\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1140\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1148\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
21/04/1132\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1139\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1191\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1160\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1160\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1160\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1183-1195\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1198\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1205\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
05/08/1199\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
30/04/1245\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
13/05/1254\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1220\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
04-06/1268\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
14/01/1273\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1294\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
14/05/1316\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1347\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
03/12/1368\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1370\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/11/1394\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
10/10/1332\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/06/1343\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1339\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1400\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
25/03/1341\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1347\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
10/06/1921\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
17/08/1786\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
21/09/1051\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1286\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
16/01/1409\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1400\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1405\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1415-1416\r
Died:\r
\r
Spouses:\r
133\r
+405\r
\r
\r
\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c.1432\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
22/11/1428\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
13/07/1426\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
13/10/1453\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
10/03/1452\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
22/04/1451\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
20/09/1486\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1477\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1480\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1471\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1478\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
10/11/1490\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
03/08/1491\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1478\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
C 1480\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1483\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
06/04/1492\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
17/11/1493\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
c1508\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1504\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1508-1509\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/02/1500\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/10/1503\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
1527\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
02/04/1545\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
01/11/1549\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
01/07/1534\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
04/09/1557\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
13/12/1553\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
26/04/1575\r
Died:\r
URL:\r
. \r
\r
+Picture:\r
+.\r
+\r
Born:\r
19/03/1604\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
13/10/1613\r
Died:\r
URL:\r
. \r
\r
+Picture:\r
+.\r
+\r
Born:\r
18/02/1609\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
25/08/1617\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
14/10/1634\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/05/1639\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
18/03/1609\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
24/03/1628\r
Died:\r
URL:\r
. \r
\r
+Picture:\r
+.\r
+\r
Born:\r
26/01/1624\r
Died:\r
URL:\r
. \r
\r
+Picture:\r
+.\r
+\r
Born:\r
18/10/1654\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
13/04/1662\r
Died:\r
URL:\r
. \r
\r
+Picture:\r
+.\r
+\r
Born:\r
09/10/1735\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
31/07/1737\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
04/02/1761\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
11/08/1763\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
02/01/1784\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
21/12/1800\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
08/04/1818\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
07/09/1817\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
28/08/1837\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
27/11/1833\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
?\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
20/09/1888\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
26/05/1897\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
14/03/1855\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
11/09/1862\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
02/02/1882\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
25/02/1885\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
03/01/1639\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
23/02/1708\r
Died:\r
URL:\r
.\r
\r
+Picture:\r
+.\r
+\r
Born:\r
04/08/1713\r
Died:\r
298\r
\r
Name:\r
+Aethelflaed\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+12/06/918\r
+\r
+Father:\r
+1\r
+Mother:\r
+61\r
+\r
+Spouses:\r
+Aetelred\r
+\r
+Style:\r
+Lady of the Mercians\r
+Territories:\r
+Mercia\r
+\r
+From:\r
+911\r
+To:\r
+918\r
+\r
+\r
+\r
+ID:\r
+299\r
+\r
+Name:\r
+Aethelgifu\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+1\r
+Mother:\r
+61\r
+\r
+Style:\r
+Abbess of Shaftesbury\r
+Territories:\r
+Shaftsbury\r
+\r
+From:\r
+?\r
+To:\r
+?\r
+\r
+\r
+\r
+ID:\r
+300\r
+\r
+Name:\r
+Aethelweard\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+C 880\r
+Died:\r
+920-922\r
+\r
+Father:\r
+1\r
+Mother:\r
+61\r
+\r
+Spouses:\r
+?\r
+\r
+\r
+\r
+ID:\r
+301\r
+\r
+Name:\r
+Aelthryth\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+877\r
+Died:\r
+07/06/929\r
+\r
+Father:\r
+1\r
+Mother:\r
+61\r
+\r
+Spouses:\r
+Baldwin II\r
+\r
+\r
+\r
+ID:\r
+302\r
+\r
+Name:\r
+daughter\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+2\r
+Mother:\r
+62\r
+\r
+Spouses:\r
+Sihtric Caech\r
+\r
+\r
+\r
+ID:\r
+303\r
+\r
+Name:\r
+Eadgifu\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+902\r
+Died:\r
+After 955\r
+\r
+Father:\r
+2\r
+Mother:\r
+63\r
+\r
+Spouses:\r
+Charles II\r
+ Herbert the Old\r
+\r
+\r
+\r
+ID:\r
+304\r
+\r
+Name:\r
+Aelfweard\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c902\r
+Died:\r
+02/08/924\r
+\r
+Father:\r
+2\r
+Mother:\r
+63\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+305\r
+\r
+Name:\r
+Eadgyth\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+910\r
+Died:\r
+26/01/946\r
+\r
+Father:\r
+2\r
+Mother:\r
+63\r
+\r
+Spouses:\r
+Otto I\r
+\r
+\r
+\r
+ID:\r
+306\r
+\r
+Name:\r
+Eadhild\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+937\r
+\r
+Father:\r
+2\r
+Mother:\r
+63\r
+\r
+Spouses:\r
+Hugh\r
+\r
+\r
+\r
+ID:\r
+307\r
+\r
+Name:\r
+Aelgifu\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+2\r
+Mother:\r
+63\r
+\r
+Spouses:\r
+a print near the alps\r
+\r
+\r
+\r
+ID:\r
+308\r
+\r
+Name:\r
+Eadflaed\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+2\r
+Mother:\r
+63\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+309\r
+\r
+Name:\r
+Edwin of Wessex\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+933\r
+\r
+Father:\r
+2\r
+Mother:\r
+63\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+310\r
+\r
+Name:\r
+St Eadburh of Winchester\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+15/06/960\r
+\r
+Father:\r
+2\r
+Mother:\r
+64\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+311\r
+\r
+Name:\r
+Eadhgifu\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+2\r
+Mother:\r
+64\r
+\r
+Spouses:\r
+Louis prince of Aquitaine\r
+\r
+\r
+\r
+ID:\r
+312\r
+\r
+Name:\r
+St Edith of Wilton\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+961\r
+Died:\r
+15/09/984\r
+\r
+Father:\r
+7\r
+Mother:\r
+69\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+313\r
+\r
+Name:\r
+Edmund\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+7\r
+Mother:\r
+70\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+314\r
+\r
+Name:\r
+Aethelstan Aetheling\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+25/06/1014\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+315\r
+\r
+Name:\r
+Ecgberht Aetheling\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+C 1005\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+316\r
+\r
+Name:\r
+Eadred Aetheling\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+1012\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+317\r
+\r
+Name:\r
+Eadwig Aetheling\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+c1017\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+318\r
+\r
+Name:\r
+Edgar Aetheling\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+C 1008\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+319\r
+\r
+Name:\r
+Eadgyth\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Spouses:\r
+Eadric Steona\r
+\r
+\r
+\r
+ID:\r
+320\r
+\r
+Name:\r
+Aelfgifu\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Spouses:\r
+Uchtred the Bold\r
+\r
+\r
+\r
+ID:\r
+321\r
+\r
+Name:\r
+Wulfhilda\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Spouses:\r
+Ulfcytel Snillingr\r
+\r
+\r
+\r
+ID:\r
+322\r
+\r
+Name:\r
+daughter\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+9\r
+Mother:\r
+71\r
+\r
+Style:\r
+Abbess of Wherwall Abbey\r
+Territories:\r
+Wherwall\r
+\r
+From:\r
+?\r
+To:\r
+?\r
+\r
+\r
+\r
+ID:\r
+323\r
+\r
+Name:\r
+Alfred Aetheling\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+1036\r
+\r
+Father:\r
+9\r
+Mother:\r
+72\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+324\r
+\r
+Name:\r
+Goda of England\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1004\r
+Died:\r
+c1047\r
+\r
+Father:\r
+9\r
+Mother:\r
+72\r
+\r
+Spouses:\r
+Drogo of Mantes\r
+ Eustace II\r
+\r
+\r
+\r
+ID:\r
+325\r
+\r
+Name:\r
+Harald II\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+1018\r
+\r
+Father:\r
+10\r
+Mother:\r
+73\r
+\r
+Style:\r
+King of Denmark\r
+Territories:\r
+Denmark\r
+\r
+From:\r
+1014\r
+To:\r
+1018\r
+\r
+\r
+\r
+ID:\r
+326\r
+\r
+Name:\r
+Gytha\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+10\r
+Mother:\r
+73\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+327\r
+\r
+Name:\r
+Gunnhild\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+10\r
+Mother:\r
+73\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+328\r
+\r
+Name:\r
+Santslaue\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+10\r
+Mother:\r
+73\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+329\r
+\r
+Name:\r
+Thyra\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+10\r
+Mother:\r
+73\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+330\r
+\r
+Name:\r
+Estrid Svendsdatter\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+990-997\r
+Died:\r
+1057-1073\r
+\r
+Father:\r
+10\r
+Mother:\r
+73\r
+\r
+Spouses:\r
+a Russian prince\r
+ Ulf Jarl\r
+\r
+\r
+\r
+ID:\r
+331\r
+\r
+Name:\r
+Edward the Exile\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1016\r
+Died:\r
+08/1057\r
+\r
+Father:\r
+11\r
+Mother:\r
+74\r
+\r
+Spouses:\r
+Agatha\r
+\r
+\r
+\r
+ID:\r
+332\r
+\r
+Name:\r
+Edmund Aetheling\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+C1015-1017\r
+Died:\r
+1046-1054\r
+\r
+Father:\r
+11\r
+Mother:\r
+74\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+333\r
+\r
+Name:\r
+Sweyn Knutsson\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1016\r
+Died:\r
+1035\r
+\r
+Father:\r
+12\r
+Mother:\r
+75\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+334\r
+\r
+Name:\r
+Gunhilda of Denmark\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1020\r
+Died:\r
+18/07/1038\r
+\r
+Father:\r
+12\r
+Mother:\r
+72\r
+\r
+Spouses:\r
+Henry III\r
+\r
+\r
+\r
+ID:\r
+335\r
+\r
+Name:\r
+Godwine\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1049\r
+Died:\r
+?\r
+\r
+Father:\r
+16\r
+Mother:\r
+77\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+336\r
+\r
+Name:\r
+Edmund\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1049\r
+Died:\r
+?\r
+\r
+Father:\r
+16\r
+Mother:\r
+77\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+337\r
+\r
+Name:\r
+Magnus\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1051\r
+Died:\r
+?\r
+\r
+Father:\r
+16\r
+Mother:\r
+77\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+338\r
+\r
+Name:\r
+Gunhild\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1055\r
+Died:\r
+1097\r
+\r
+Father:\r
+16\r
+Mother:\r
+77\r
+\r
+Spouses:\r
+Alan Rufus\r
+\r
+\r
+\r
+ID:\r
+339\r
+\r
+Name:\r
+Gytha of Wessex\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+1098-1107\r
+\r
+Father:\r
+16\r
+Mother:\r
+77\r
+\r
+Spouses:\r
+Vladimir\r
+\r
+\r
+\r
+ID:\r
+340\r
+\r
+Name:\r
+Harold\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1067\r
+Died:\r
+1098\r
+\r
+Father:\r
+16\r
+Mother:\r
+78\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+341\r
+\r
+Name:\r
+Ulf\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1066\r
+Died:\r
+After 1087\r
+\r
+Father:\r
+16\r
+Mother:\r
+78\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+342\r
+\r
+Name:\r
+Robert Curthose\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1054\r
+Died:\r
+03/02/1134\r
+\r
+Father:\r
+17\r
+Mother:\r
+79\r
+\r
+Spouses:\r
+Sybilla\r
+\r
+Style:\r
+Duke of Normandy\r
+Territories:\r
+Normandy\r
+\r
+From:\r
+1087\r
+To:\r
+1106\r
+\r
+\r
+\r
+ID:\r
+343\r
+\r
+Name:\r
+Richard of Normandy\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1054\r
+Died:\r
+1069-1075\r
+\r
+Father:\r
+17\r
+Mother:\r
+79\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+344\r
+\r
+Name:\r
+Adeliza\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+Before 1113\r
+\r
+Father:\r
+17\r
+Mother:\r
+79\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+345\r
+\r
+Name:\r
+Cecilia\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1056\r
+Died:\r
+30/06/1126\r
+\r
+Father:\r
+17\r
+Mother:\r
+79\r
+\r
+Style:\r
+Abbess of Holy Trinity\r
+Territories:\r
+Holy Trinity\r
+\r
+From:\r
+1112\r
+To:\r
+1126\r
+\r
+\r
+\r
+ID:\r
+346\r
+\r
+Name:\r
+Matilda\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1061\r
+Died:\r
+c1086\r
+\r
+Father:\r
+17\r
+Mother:\r
+79\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+347\r
+\r
+Name:\r
+Constance of Normandy\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1057-1061\r
+Died:\r
+13/08/1090\r
+\r
+Father:\r
+17\r
+Mother:\r
+79\r
+\r
+Spouses:\r
+Alan IV\r
+\r
+\r
+\r
+ID:\r
+348\r
+\r
+Name:\r
+Agatha\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+17\r
+Mother:\r
+79\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+349\r
+\r
+Name:\r
+William Adelin\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1103\r
+Died:\r
+1120\r
+\r
+Father:\r
+19\r
+Mother:\r
+80\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+350\r
+\r
+Name:\r
+Richard\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+?\r
+\r
+Father:\r
+19\r
+Mother:\r
+80\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+351\r
+\r
+Name:\r
+Eustace IV\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1129\r
+Died:\r
+17/08/1153\r
+\r
+Father:\r
+20\r
+Mother:\r
+82\r
+\r
+Spouses:\r
+Constance\r
+\r
+Style:\r
+Count of Boulogne\r
+Territories:\r
+Boulogne\r
+\r
+From:\r
+25/12/1146\r
+To:\r
+17/08/1153\r
+\r
+\r
+\r
+ID:\r
+352\r
+\r
+Name:\r
+Matilda\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+Before 1141\r
+\r
+Father:\r
+20\r
+Mother:\r
+82\r
+\r
+Spouses:\r
+Waleran de Beaumont\r
+\r
+\r
+\r
+ID:\r
+353\r
+\r
+Name:\r
+Marie I\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1136\r
+Died:\r
+25/07/1182\r
+\r
+Father:\r
+20\r
+Mother:\r
+82\r
+\r
+Spouses:\r
+Matthew of Alsace\r
+\r
+Style:\r
+Countess of Boulogne\r
+Territories:\r
+Boulogne\r
+\r
+From:\r
+1159\r
+To:\r
+1170\r
+\r
+\r
+\r
+ID:\r
+354\r
+\r
+Name:\r
+Baldwin\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+Before 1135\r
+\r
+Father:\r
+20\r
+Mother:\r
+82\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+355\r
+\r
+Name:\r
+Adela\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+?\r
+Died:\r
+Before 1146\r
+\r
+Father:\r
+20\r
+Mother:\r
+82\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+356\r
+\r
+Name:\r
+William I\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+C 1137\r
+Died:\r
+11/10/1159\r
+\r
+Father:\r
+20\r
+Mother:\r
+82\r
+\r
+Spouses:\r
+Isabel de Warenne\r
+\r
+Style:\r
+Count of Boulogne\r
+Territories:\r
+Boulogne\r
+\r
+From:\r
+1153\r
+To:\r
+1159\r
+\r
+\r
+\r
+ID:\r
+357\r
+\r
+Name:\r
+Geoffrey\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+01/06/1134\r
+Died:\r
+27/07/1158\r
+\r
+Father:\r
+84\r
+Mother:\r
+21\r
+\r
+Style:\r
+Count of Nantes\r
+Territories:\r
+Nantes\r
+\r
+From:\r
+1156\r
+To:\r
+1158\r
+\r
+\r
+\r
+ID:\r
+358\r
+\r
+Name:\r
+William FitzEmpress\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+22/07/1136\r
+Died:\r
+30/01/1163-1164\r
+\r
+Father:\r
+84\r
+Mother:\r
+21\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+359\r
+\r
+Name:\r
+Geoffrey\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1152\r
+Died:\r
+12/12/1212\r
+\r
+Father:\r
+22\r
+Mother:\r
+Ykenai\r
+\r
+Style:\r
+Archbishop of York\r
+Territories:\r
+York\r
+\r
+From:\r
+?\r
+To:\r
+?\r
+\r
+\r
+\r
+ID:\r
+360\r
+\r
+Name:\r
+William IX\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+17/08/1153\r
+Died:\r
+04/1156\r
+\r
+Father:\r
+22\r
+Mother:\r
+85\r
+\r
+Style:\r
+Count of Poitiers\r
+Territories:\r
+Poitiers\r
+\r
+From:\r
+17/08/1153\r
+To:\r
+04/1156\r
+\r
+\r
+\r
+ID:\r
+361\r
+\r
+Name:\r
+Matilda / Maud\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1156\r
+Died:\r
+28/08/1189\r
+\r
+Father:\r
+22\r
+Mother:\r
+85\r
+\r
+Spouses:\r
+Henry the Lion\r
+\r
+\r
+\r
+ID:\r
+362\r
+\r
+Name:\r
+Geoffrey II\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+23/09/1158\r
+Died:\r
+19/08/1186\r
+\r
+Father:\r
+22\r
+Mother:\r
+85\r
+\r
+Spouses:\r
+Constance\r
+\r
+\r
+\r
+ID:\r
+363\r
+\r
+Name:\r
+Eleanor of England\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+13/10/1162\r
+Died:\r
+31/10/1214\r
+\r
+Father:\r
+22\r
+Mother:\r
+85\r
+\r
+Spouses:\r
+Alfonso VIII\r
+\r
+\r
+\r
+ID:\r
+364\r
+\r
+Name:\r
+Joan of England\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+10/1165\r
+Died:\r
+04/09/1199\r
+\r
+Father:\r
+22\r
+Mother:\r
+85\r
+\r
+Spouses:\r
+William II\r
+ Raymond VI\r
+\r
+\r
+\r
+ID:\r
+365\r
+\r
+Name:\r
+William Longespee\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+c1176\r
+Died:\r
+07/03/1226\r
+\r
+Father:\r
+22\r
+Mother:\r
+Ida de Tosny\r
+\r
+Spouses:\r
+Ela\r
+\r
+\r
+\r
+ID:\r
+366\r
+\r
+Name:\r
+Richard\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+05/01/1209\r
+Died:\r
+02/04/1272\r
+\r
+Father:\r
+25\r
+Mother:\r
+89\r
+\r
+Spouses:\r
+Isabel Marshal\r
+Sanchia\r
+Beatrice of Falkenburg\r
+\r
+Style:\r
+Count of Poitou\r
+Territories:\r
+Poitou\r
+\r
+From:\r
+1225\r
+To:\r
+1243\r
+\r
+Style:\r
+Earl of Cornwall\r
+Territories:\r
+Cornwall\r
+\r
+From:\r
+1225\r
+To:\r
+1272\r
+\r
+Style:\r
+King of the Romans\r
+Territories:\r
+Germany\r
+\r
+From:\r
+13/01/1257\r
+To:\r
+02/04/1272\r
+\r
+\r
+\r
+ID:\r
+367\r
+\r
+Name:\r
+Joan of England\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+22/07/1210\r
+Died:\r
+04/03/1238\r
+\r
+Father:\r
+25\r
+Mother:\r
+89\r
+\r
+Spouses:\r
+Alexander II\r
+\r
+\r
+\r
+ID:\r
+368\r
+\r
+Name:\r
+Isabella\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1214\r
+Died:\r
+01/12/1241\r
+\r
+Father:\r
+25\r
+Mother:\r
+89\r
+\r
+Spouses:\r
+Frederick II\r
+\r
+\r
+\r
+ID:\r
+369\r
+\r
+Name:\r
+Eleanor\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1215\r
+Died:\r
+13/04/1275\r
+\r
+Father:\r
+25\r
+Mother:\r
+89\r
+\r
+Spouses:\r
+William Marshal\r
+ Simon de Montfort\r
+\r
+\r
+\r
+ID:\r
+370\r
+\r
+Name:\r
+Margaret\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+29/09/1240\r
+Died:\r
+26/02/1275\r
+\r
+Father:\r
+26\r
+Mother:\r
+90\r
+\r
+Spouses:\r
+Alexander III\r
+\r
+\r
+\r
+ID:\r
+371\r
+\r
+Name:\r
+Beatrice\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+25/06/1242\r
+Died:\r
+24/03/1275\r
+\r
+Father:\r
+26\r
+Mother:\r
+90\r
+\r
+Spouses:\r
+John II\r
+\r
+\r
+\r
+ID:\r
+372\r
+\r
+Name:\r
+Edmund\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+16/01/1245\r
+Died:\r
+05/06/1296\r
+\r
+Father:\r
+26\r
+Mother:\r
+90\r
+\r
+Spouses:\r
+Aveline de Forz\r
+ Blanche of Artois\r
+\r
+Style:\r
+Earl of Lancaster and Leicester\r
+Territories:\r
+Lancaster\r
+Leicester\r
+\r
+From:\r
+?\r
+To:\r
+?\r
+\r
+\r
+\r
+ID:\r
+373\r
+\r
+Name:\r
+Katherine\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+25/11/1253\r
+Died:\r
+03/05/1257\r
+\r
+Father:\r
+26\r
+Mother:\r
+90\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+374\r
+\r
+Name:\r
+daughter\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+05/1255\r
+Died:\r
+29/05/1255\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+375\r
+\r
+Name:\r
+Katherine\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+Before 17/06/1264\r
+Died:\r
+05/09/1264\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+376\r
+\r
+Name:\r
+Joan\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+summer or Januarry 1265\r
+Died:\r
+Before 07/09/1265\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+377\r
+\r
+Name:\r
+John\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+13/07/1266\r
+Died:\r
+03/08/1271\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+378\r
+\r
+Name:\r
+Henry\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+13/07/1267\r
+Died:\r
+14/10/1274\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+379\r
+\r
+Name:\r
+Eleanor\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+18/06/1269\r
+Died:\r
+29/08/1298\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+Henry III\r
+\r
+\r
+\r
+ID:\r
+380\r
+\r
+Name:\r
+Juliana\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+After 05/1271\r
+Died:\r
+05/09/1271\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+381\r
+\r
+Name:\r
+Joan\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+04/1272\r
+Died:\r
+23/04/1307\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+Gilbert de Clare\r
+ Ralph de Monthermer\r
+\r
+\r
+\r
+ID:\r
+382\r
+\r
+Name:\r
+Alphonso\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+24/11/1273\r
+Died:\r
+19/08/1284\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Style:\r
+Earl of Chester\r
+Territories:\r
+Chester\r
+\r
+From:\r
+?\r
+To:\r
+?\r
+\r
+\r
+\r
+ID:\r
+383\r
+\r
+Name:\r
+Margaret\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+15/03/1275\r
+Died:\r
+After 1333\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+John II\r
+\r
+\r
+\r
+ID:\r
+384\r
+\r
+Name:\r
+Berengaria\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+01/05/1276\r
+Died:\r
+1277-1278\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+385\r
+\r
+Name:\r
+daughter\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+12/1277\r
+Died:\r
+01/1278\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+386\r
+\r
+Name:\r
+Mary\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+11-12/03/1279\r
+Died:\r
+c1332\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+387\r
+\r
+Name:\r
+son\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1280-1281\r
+Died:\r
+1280-1281\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+388\r
+\r
+Name:\r
+Elizabeth\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+07/08/1282\r
+Died:\r
+05/05/1316\r
+\r
+Father:\r
+27\r
+Mother:\r
+91\r
+\r
+Spouses:\r
+John I\r
+ Humphrey de Bohun\r
+\r
+\r
+\r
+ID:\r
+389\r
+\r
+Name:\r
+Thomas\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+01/06/1300\r
+Died:\r
+08/1338\r
+\r
+Father:\r
+27\r
+Mother:\r
+92\r
+\r
+Spouses:\r
+Alice de Hales\r
+ Mary de Brewes\r
+\r
+\r
+\r
+ID:\r
+390\r
+\r
+Name:\r
+Edmund\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+05/08/1301\r
+Died:\r
+19/03/1330\r
+\r
+Father:\r
+27\r
+Mother:\r
+92\r
+\r
+Spouses:\r
+Margaret Wake\r
+\r
+\r
+\r
+ID:\r
+391\r
+\r
+Name:\r
+Eleanor\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+06/05/1306\r
+Died:\r
+1310\r
+\r
+Father:\r
+27\r
+Mother:\r
+92\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+392\r
+\r
+Name:\r
+John of Eltham\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+15/08/1316\r
+Died:\r
+13/09/1336\r
+\r
+Father:\r
+28\r
+Mother:\r
+93\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+393\r
+\r
+Name:\r
+Eleanor of Woodstock\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+18/06/1318\r
+Died:\r
+22/04/1355\r
+\r
+Father:\r
+28\r
+Mother:\r
+93\r
+\r
+Spouses:\r
+Reginald II\r
+\r
+\r
+\r
+ID:\r
+394\r
+\r
+Name:\r
+Joan\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+05/07/1321\r
+Died:\r
+07/09/1362\r
+\r
+Father:\r
+28\r
+Mother:\r
+93\r
+\r
+Spouses:\r
+David II\r
+\r
+\r
+\r
+ID:\r
+395\r
+\r
+Name:\r
+Isabella\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+16/06/1332\r
+Died:\r
+1379-1382\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+Enguerrand VII\r
+\r
+\r
+\r
+ID:\r
+396\r
+\r
+Name:\r
+Joan\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1333-1334\r
+Died:\r
+01/07/1348\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+397\r
+\r
+Name:\r
+William of Hatfield\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+16/02/1337\r
+Died:\r
+After 03/03/1337\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+398\r
+\r
+Name:\r
+Lionel of Antwerp\r
+\r
+URL:\r
+.\r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+29/11/1338\r
+Died:\r
+07/10/1368\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+Elizabeth de Burgh\r
+ Violante\r
+\r
+Style:\r
+Duke of Clarence\r
+Territories:\r
+Clarence\r
+\r
+From:\r
+?\r
+To:\r
+?\r
+\r
+\r
+\r
+ID:\r
+399\r
+\r
+Name:\r
+Blanche\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+03/13472\r
+Died:\r
+03/1342\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+400\r
+\r
+Name:\r
+Mary of Waltham\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+10/10/1344\r
+Died:\r
+09/1361\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+John V\r
+\r
+\r
+\r
+ID:\r
+401\r
+\r
+Name:\r
+Margaret\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+20/07/1346\r
+Died:\r
+10-12/1361\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+John Hastings\r
+\r
+\r
+\r
+ID:\r
+402\r
+\r
+Name:\r
+Thomas of Windsor\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1347\r
+Died:\r
+09/1348\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+\r
+\r
+\r
+\r
+ID:\r
+403\r
+\r
+Name:\r
+Thomas of Woodstock\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+07/01/1355\r
+Died:\r
+08-09/09/1397\r
+\r
+Father:\r
+29\r
+Mother:\r
+94\r
+\r
+Spouses:\r
+Eleanor de Bohun\r
+\r
+\r
+\r
+ID:\r
+404\r
+\r
+Name:\r
+Thomas of Lancaster\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1387\r
+Died:\r
+22/03/1421\r
+\r
+Father:\r
+31\r
+Mother:\r
+97\r
+\r
+Spouses:\r
+409\r
+\r
+\r
+\r
+ID:\r
+405\r
+\r
+Name:\r
+John of Lancaster\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+20/06/1389\r
+Died:\r
+14/09/1435\r
+\r
+Father:\r
+31\r
+Mother:\r
+97\r
+\r
+Spouses:\r
+Anne\r
+234\r
+\r
+Style:\r
+Duke of Bedford\r
+Territories:\r
+Bedford\r
+\r
+From:\r
+?\r
+To:\r
+?\r
+\r
+\r
+\r
+ID:\r
+406\r
+\r
+Name:\r
+Humphrey of Lancaster\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+03/10/1390\r
+Died:\r
+23/02/1447\r
+\r
+Father:\r
+31\r
+Mother:\r
+97\r
+\r
+Spouses:\r
+Jacqueline\r
+Eleanor Cobham\r
+\r
+Style:\r
+Duke of Gloucester\r
+Territories:\r
+Gloucester\r
+\r
+From:\r
+?\r
+To:\r
+?\r
+\r
+\r
+\r
+ID:\r
+407\r
+\r
+Name:\r
+Blanche of England\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+Spring 1392\r
+Died:\r
+22/05/1409\r
+\r
+Father:\r
+31\r
+Mother:\r
+97\r
+\r
+Spouses:\r
+Louis III\r
+\r
+\r
+\r
+ID:\r
+408\r
+\r
+Name:\r
+Philippa\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+04/06/1394\r
+Died:\r
+05/01/1430\r
+\r
+Father:\r
+31\r
+Mother:\r
+97\r
+\r
+Spouses:\r
+Eric\r
+\r
+\r
+\r
+ID:\r
+409\r
+\r
+Name:\r
+Margaret Holland\r
+\r
+URL:\r
+. \r
+\r
+Picture:\r
+.\r
+\r
+Born:\r
+1385\r
+Died:\r
+31/12/1439\r
+\r
+Father:\r
+Thomas Holland\r
+Mother:\r
+Alice Fitzalan\r
+\r
+Spouses:\r
+145\r
+404\r
+\r
\r
\r