Skip to content

Use cei:idno@id for atom:id if existing

Created by: icarus-eu

To enable the use of an atom:id that is different from the charters' signature at import-time, the cei:idno@id attribute should be used as identifier for the database.


Current status:

The cei:idno@id attribute is currently completely ignored in the import process. For example, the following elements

  • <cei:idno>DL_4231</cei:idno>
  • <idno id="004401">DL_4231</idno>
  • <cei:idno id="DL_4231">DL_4231</cei:idno>

are all transformed to <cei:idno id="DL_4231">DL_4231</cei:idno> during the import process.


Suggested functionality:

  1. On import, every charter is checked for an existing cei:idno@id attribute. If it is present, the content is used as the identifier in the database
  2. If the attribute is missing, the content of the cei:idno element is used for this purpose, in addition of it functioning as "signature" of the charter (visible in the charter view).

Problems:

  • Is there currently a check whether or not the used data is unique inside the current fond / collection? If not, should this check exist?
  • Is the cei:idno@id attribute used in some other function than solely as database identifier of the document?

Example:

  <?xml version="1.0" encoding="UTF-8"?>
  <cei xmlns="http://www.monasterium.net/NS/cei">
     <teiHeader>
        <fileDesc>
           <titleStmt>
              <title/>
           </titleStmt>
           <sourceDesc>
              <p/>
           </sourceDesc>
        </fileDesc>
     </teiHeader>
     <text>
        <front>
           <div>
              <head/>
              <p/>
           </div>
        </front>
        <group>
           <text type="charter">
              <body>
                 <!-- The idno element is the archival signature of the charter. The id element signifies the "technical" signature to be used as atom:id and filename in eXist. If the id element is missing, the element content is to be used.-->
                 <idno id="039400">DL_39250</idno>
                 <chDesc>
                    <issued>
                       <date value="12029999">1202</date>
                    </issued>
                    <witnessOrig>
                       <archIdentifier>
                          <arch>MNL</arch>
                       </archIdentifier>
                    </witnessOrig>
                 </chDesc>
              </body>
              <back/>
           </text>
           <text type="charter">
              <body>
                 <idno id="004400">DL_4230</idno>
                 <chDesc>
                    <issued>
                       <date value="12229999">1222</date>
                    </issued>
                    <witnessOrig>
                       <archIdentifier>
                          <arch>MNL</arch>
                       </archIdentifier>
                    </witnessOrig>
                 </chDesc>
              </body>
              <back/>
           </text>
        </group>
     </text>
  </cei>