Apparatus
Locations
Sources
Original apparatus (coming from HL) is stored in data/sources/apparatus
and distributed into subcollections named after composition
Transformed apparatus
It is then transformed via modules/tools/apparatus-by-pb.xql
and resulting files are distributed into data/processed/apparatus
, similarly placed into subcollections by composition and witness name, e.g. MekhY/Ox24
NB: the transform script needs to be extended to cover all available compositions and witnessess. This runs for a very long time.
Structure
<app xml:id="app.Ox24.74r_MekhY.Ox24.1.1.1.0000700">
<rdgGrp type="normalized">
<rdgGrp n="2" type="base">
<lem>בא'</lem>
<rdg wit="MekhY.Ox24">
<ptr target="#MekhY.Ox24.1.1.1.0000700"/>
</rdg>
</rdgGrp>
<rdgGrp n="1" type="alternate">
<lem>בארץ</lem>
<rdg wit="MekhY.M117">
<ptr target="#MekhY.M117.1.1.1.0000700"/>
</rdg>
</rdgGrp>
</rdgGrp>
</app>
Apparatus entries are grouped into div
isions by page they belong to,
e.g. <div xmlns="http://www.tei-c.org/ns/1.0" xml:id="app.Ox24.74r">
. NB the div id follows the format app.{page-id}
Each entry is represented as an app
element with a number of rdgGrp
children representing different types of apparatus, atm only "normalized" (orthographical) variants are available.
Discussion
DS: Folks we should be able to do something new and REALLY fancyful: the user should be able to choose whether the apparatus is based on
- a) the resolved normalized text,
- b) actual surface forms (with abbr, ligat etc),
- c) conjugated form (disregarding orthography) or
- d) the lexical forms, we can simply create 4 different apparatus_collations
Apparatus coming from HL's script:
<app xml:id="app.MekhY.1.1.1.1">
<rdgGrp n="1">
<rdg wit="MekhY.M117">
<ptr target="#MekhY.M117.1.1.1.0000100"/>
</rdg>
<rdg wit="MekhY.Ox24">
<ptr target="#MekhY.Ox24.1.1.1.0000100"/>
</rdg>
</rdgGrp>
</app>
Each app/@xml:id
has the form "app.{composition}.{numbers from corresponding ab}.{sequence_number}"
It will be transformed into following structure and grouped by ab
or pb
for faster loading:
<ab xml:id="app.MekhY.1.1.1">
<app xml:id="app.MekhY.1.1.1.1">
<rdgGrp type="normalized">
<lem>
<w>ויאמר</w>
</lem>
<rdgGrp n="1">
<rdg wit="MekhY.M117">
<ptr target="#MekhY.M117.1.1.1.0000100"/>
</rdg>
<rdg wit="MekhY.Ox24">
<ptr target="#MekhY.Ox24.1.1.1.0000100"/>
</rdg>
</rdgGrp>
</rdgGrp>
<rdgGrp type="surface">
... grouping by surface readings
</rdgGrp>
</app>
...
</ab>