Draft Schema Version 2.0 (2021-03-10)

Revision notes

Draft Schematron

Schematron: http://eac.staatsbibliothek-berlin.de/schema/v2.0-draft/cpf.sch

Regarding the current Schematron file, it includes the following tests:

  • Ensures all ‘@id’ values are unique (since an RNG parser will not do this by default).
  • Ensures every value within a ‘@conventionDeclarationReference’ attribute is linked to a conventionDeclaration element.
  • Ensures every value within a ‘@localTypeDeclarationReference’ attribute is linked to a localTypeDeclaration element.
  • Ensures every value within a ‘@maintenanceEventReference’ attribute is linked to a maintenanceEvent element.
  • Ensures every value within a ‘@sourceReference’ attribute is linked to a source element OR a citedRange element.
  • Ensures every value within a ‘@target’ attribute is linked to an element within the same document (since an RNG parser will not do this by default).
  • Ensures that the maintenanceAgency element must have either an agencyName OR an agencyCode element that has at least one non-whitespace character as content.
  • Ensures that any eventDateTime element must either have at least one non-whitespace character as content OR a standardDateTime attribute.
  • Ensures that the ‘@era’ attribute is constrained to the following values: ce, bce.

Draft conversion

EAC-CPF 2010 edition 2018 to draft EAC-CPF 2.0

Draft conversion stylesheet: https://github.com/SAA-SDT/eac1-to-eac2-conversion

Requirements: XSLT 3 processor, such as Saxon 9 or 10 HE (e.g. https://www.saxonica.com/documentation/documentation.xml)

Steps:

  1. Take any valid EAC 1.x file;
  2. Convert using the eac1-to-eac2.xsl file;
  3. Check the validity of the output.

Sample files are provided as an example. All of the files located in sample-files/input are valid EAC 1.0 files. The corresponding files in sample-files/output have been converted to EAC 2.0 using the provided transformation stylesheet.