METS 1.12
Metadata Encoding and Transmission Standard
Packages of digitised objects: files, structure maps and the metadata that goes with them.
About
METS wraps a digital object, such as a scanned book, with its files, its physical and logical structure and descriptive and administrative metadata. Digitisation workflows and preservation systems exchange it.
Good to know
- Metadata embedded in mdWrap (MODS, Dublin Core, PREMIS) is accepted as is, as the schema allows; validate it separately against its own schema.
- Links to files are not followed.
- The example is by xmlvalid.com.
Files
2 files · 136.5 KB-
mets.xsd main
-
xlink.xsd
The validator loads all of these with their folder structure, so includes and imports resolve as published.
Example document
book.xml · 1.2 KB · valid against this schema
In CI and from code
The same schema by its name, mets-1.12, through the API.
npx @xmlvalid/cli validate "**/*.xml" --schema mets-1.12
- uses: xmlvalid/validate-action@v1
with:
files: "**/*.xml"
schema: mets-1.12
api-key: ${{ secrets.XMLVALID_API_KEY }}
curl https://xmlvalid.com/api/v1/validations \
-H "Authorization: Bearer $XMLVALID_API_KEY" \
-F document={{ $schema->example ?? 'document.xml' }} -F schema=mets-1.12
Free accounts get 100 API validations a month. On Pro, a URL monitor can check a published document against this schema every hour and email you when it breaks. More CI setups