Open kerstarno opened 1 year ago
For conversion, the @source
attribute gets removed from any element that uses it in EAG 2012. Instead, the value of the attribute is included in a <source><reference>
element within <control><sources>
. This <source>
element then gets a concurrent @id
assigned (like @id="source1"
, @id="source2"
, @id="source3"
, etc.), which is referenced from a new @sourceReference
attribute that is added to the descriptive element that initially had the @source
attribute.
In the case of <recordId>
, <otherRecordId>
, <eventDateTime>
, <agent>
, <shortCode>
, <agencyCode>
, <agencyName>
, and <otherAgencyCode>
, a new @target
attribute would be used for the same purpose.
E.g. the current encoding:
<control>
<recordId source="[source of recordId]">recordId</recordId>
[...]
</control>
[...]
<desc>
[...]
<holdings source="[source of holdings]">
[...]
</holdings>
</desc>
becomes
<control>
<recordId target="#source1">recordId</recordId>
[...]
<sources>
<source id="source1">
<reference>source of recordId</reference>
</source>
<source id="source2">
<reference>source of holdings</reference>
</source>
</sources>
</control>
[...]
<description>
[...]
<holdings sourceReference="#source2">
[...]
</holdings>
</description>
As the same source can be referenced from different elements, it would be good to have a (spell)check built into the conversion that would create one source that is used in various places throughout the EAG 2012 document only once within <control>
. I.e. the current encoding:
<control>
<recordId source="[source of recordId and holdings]">recordId</recordId>
[...]
</control>
[...]
<desc>
[...]
<holdings source="[source of recordId and holdings]">
[...]
</holdings>
</desc>
becomes
<control>
<recordId target="#source1">recordId</recordId>
[...]
<sources>
<source id="source1">
<reference>source of recordId and holdings</reference>
</source>
</sources>
</control>
[...]
<description>
[...]
<holdings sourceReference="#source1">
[...]
</holdings>
</description>
Provide a general summary of the issue in the Title above. Delete the part of the issue template that does not apply depending on whether you describe a change to an existing element / attribute or the addition of a new one.
Creator of issue
State your name, organisation and ways to reach you. Name: Kerstin Arnold Organisation: Archives Portal Europe Foundation, Working Group on Standards Email: standards@archivesportaleurope.net GitHub username (if applicable): @kerstarno
Changes to existing element / attribute
Give the current name of the element / attribute. Include the tag name and the full name. Name:
@source
Change in name
Indicate any changes in name. New name:
@sourceReference
Change in context
List all parent elements to which the element / attribute should be added. Furthermore, list all parent elements from which the element / attribute should be removed.
<source>
,<maintenanceEvent>
(for agents and dates), and<conventionDeclaration>
(for rules) within<control>
, on the use of the@id
attribute within these elements, and on the use of three referencing attributes,@sourceReference
being one of them, within the descriptive parts of the EAG file.@source
in EAG 2012 is used with<recordId>
<otherRecordId>
<eventDateTime>
<agent>
<language>
(not used anymore in EAG 3.0)<script>
(not used anymore in EAG 3.0)<abbreviation>
(changed to<shortCode>
in EAG 3.0)<citation>
(changed to<reference>
in EAG 3.0)<date>
<fromDate>
<toDate>
<sourceEntry>
(changed to<reference>
in EAG 3.0)<agencyCode>
<agencyName>
<otherAgencyCode>
<p>
<repositorid>
(renamed<repositoryId>
in EAG 3.0)<otherRepositorId>
(renamed<otherRepositoryId>
in EAG 3.0)<autform>
,<parform>
,<nonpreform>
, and<repositoryName>
(all changed to<nameEntry>
with its sub-element<part>
in EAG 3.0)<country>
,<firstdem>
,<secondem>
,<municipalityPostalcode>
,<localentity>
, and<street>
(all changed to<addressLine>
in EAG 3.0)<telephone>
,<email>
,<fax>
,<webpage>
, and<directions>
(all changed to<contactLine>
in EAG 3.0)<rule>
(changed to<mandate>
and its sub-element<term>
respectively<descriptiveNote><p>
in EAG 3.0)<lengthshelf> (renamed
<adminunit>
(changed to<structureOrGenealogy><p>
respectively<structureOrGenealogy><list><item>
in EAG 3.0)<nameEntry><part>
(used differently in EAG 3.0 and replaced by<corpName><part>
,<famName><part>
, or<persName><part>
)<placeEntry>
(changed to<placeName>
in EAG 3.0)<opening>
<closing>
<restaccess>
(changed to<accessConditions>
in EAG 3.0)<termsOfUse>
(changed to<useConditions>
in EAG 3.0)<accessibility>
<readersTicket>
<advancedOrders>
<relationEntry>
(changed to<targetEntity><part>
in EAG 3.0)@sourceReference
will not be available anymore in EAG 3.0 with those elements that are only used within<control>
, i.e.<recordId>
,<otherRecordId>
,<eventDateTime>
,<agent>
,<shortCode>
,<agencyCode>
,<agencyName>
, and<otherAgencyCode>
.<otherRecordId>
,<agent>
,<agencyCode>
,<agencyName>
, and<otherAgencyCode>
all would have the new vocabulary attributes (see #147), so@source
could be replaced by@vocabularySource
if applicable, but essentially these elements, if they used@source
in EAG 2012, would need to rely on the use of the general attributes@id
and@target
for pointing to the<source>
element.@sourceReference
will be available with all sub-elements of<repository>
(as well as<repository>
itself), with the exception of<repositoryType>
(which uses predefined content) and<objectXMLWrap>
(which is taken from another namespace).Change in data type (attributes)
Indicate any changes in an attribute's data type including the mention of specific default values (if applicable). New data type (with default values): While
@source
was of data type anyURI,@sourceReference
is of data type IDREFSNew element / attribute
Give the name of the new element / attribute. Include the tag name and the full name. Name:
@conventionDeclarationReference
,@maintenanceEventReference
Context and availability
List all parent elements to which the element / attribute should be added. For elements, give an indication of their availability within each parent element ("1..1" for required but not repeatable, "1 (or another number)..n" for required and repeatable, "0..1" for optional but not repeatable", "0..n" for optional and repeatable). For attributes, indicate their availability with "1" for required or "0" for optional within each parent element. Parent element(s): Both of these attributes will be optionally available alongside
@sourceReference
, i.e. in all sub-elements of<repository>
(as well as<repository>
itself), with the exception of<repositoryType>
(which uses predefined content) and<objectXMLWrap>
(which is taken from another namespace).Data type (attributes)
Indicate the new attribute's data type including the mention of specific default values (if applicable). New data type (with default values): IDREFS
Example of XML code
Provide a sample encoding in XML of the new / changed element (with potential attributes). Write your text after the "Example:" below. Example:
Here is how the encoding would look like when "Someone" made an update to a
<nameEntry>
based on a "Source" and following a new convention or "Rule".