-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcollection.xconf
70 lines (65 loc) · 4.71 KB
/
collection.xconf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<collection xmlns="http://exist-db.org/collection-config/1.0">
<index xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<lucene>
<module uri="http://teipublisher.com/index" prefix="nav" at="index.xql"/>
<text qname="tei:text">
<facet dimension="volume" expression="nav:get-volume(ancestor::tei:TEI)"/>
<facet dimension="date" expression="nav:get-date(ancestor::tei:TEI) => tokenize('-')" hierarchical="yes"/>
<facet dimension="type" expression="nav:get-type(ancestor::tei:TEI)"/>
<facet dimension="person" expression="ancestor::tei:TEI//tei:persName/@ref/string()"/>
<facet dimension="place" expression="ancestor::tei:TEI//tei:placeName/@ref/string()"/>
<facet dimension="term" expression=".//tei:term/@ref/string()"/>
<facet dimension="bible" expression=".//tei:ref[@type='can'][@subtype='bible']/@target/string()"/>
<facet dimension="language" expression="nav:get-language(ancestor::tei:TEI)"/>
<facet dimension="corpus" expression="'kb'"/>
<field name="position" expression="root(.)//tei:sourceDesc/tei:bibl[@type='pga']/tei:biblScope[@unit='part']" type="xs:integer"/>
<field name="title" expression="string-join(ancestor::tei:TEI//tei:titleStmt/tei:title[@type=('formal', 'content')], ' - ')"/>
<field name="type" expression="ancestor::tei:TEI//tei:profileDesc/tei:textClass/tei:keywords/tei:term"/>
<field name="volume" expression="ancestor::tei:TEI//tei:fileDesc/tei:titleStmt/tei:title[@type='volume']/@n"/>
<field name="date" expression="nav:get-date(ancestor::tei:TEI)" type="xs:date"/>
<field name="file" expression="util:document-name(.)"/>
<field name="person" expression="ancestor::tei:TEI//tei:persName/@ref/string()"/>
<!-- Zusätzliche Felder für Portal -->
<facet dimension="author" expression="ancestor::tei:TEI//tei:persName/@ref/string()"/>
<field name="year" expression="nav:get-date(ancestor::tei:TEI)[1]"/>
<field name="author" expression="(ancestor::tei:TEI//tei:correspDesc/tei:correspAction[@type='sent']/tei:persName, 'Karl Barth')[1]"/>
<field name="receiver" expression="ancestor::tei:TEI//tei:correspDesc/tei:correspAction[@type='received']/tei:persName"/>
<field name="place" expression="(ancestor::tei:TEI//tei:correspDesc/tei:correspAction[@type='sent']/tei:placeName, ancestor::tei:TEI//tei:body//tei:placeName)"/>
<!--field name="year" expression="substring(nav:get-metadata(ancestor::tei:TEI, 'notAfter'), 1, 4)"/-->
<field name="language" expression="nav:get-language(ancestor::tei:TEI)"/>
<field name="corpus" expression="'kb'"/>
</text>
<text qname="tei:div"/>
<text qname="tei:person" index="no">
<field name="name" expression="tei:persName[not(@type)]"/>
</text>
<text qname="tei:org" index="no">
<field name="name" expression="tei:orgName[not(@type)]"/>
</text>
<text qname="tei:place" index="no">
<field name="name" expression="tei:placeName[not(@type)]"/>
<field name="lname" expression="tei:placeName[not(@type)] => lower-case()"/>
</text>
<text qname="tei:bibl" index="no">
<field name="name" expression="tei:title"/>
<field name="lname" expression="tei:title => lower-case()"/>
<field name="citation" expression="nav:get-citation(.)"/>
<field name="author" expression="nav:get-author(.)"/>
<field name="firstAuthor" expression="nav:get-first-author(.) => lower-case()"/>
<field name="status" expression="@status"/>
</text>
<text qname="tei:ref">
<field if="@subtype eq 'bible'" name="book" expression="nav:get-book(@target)"/>
<field if="@subtype eq 'bible'" name="chapter" expression="nav:get-chapter(@target)"/>
<field if="@subtype eq 'bible'" name="verse" expression="nav:get-verse(@target)"/>
<field if="@subtype eq 'bible'" name="locus" expression="nav:get-locus(@target)"/>
</text>
</lucene>
<range>
<create qname="@target" type="xs:string"/>
<create qname="@ref" type="xs:string"/>
<create qname="@n" type="xs:string"/>
<create qname="tei:placeName" type="xs:string" case="no"/>
</range>
</index>
</collection>