Skip to content
Snippets Groups Projects
Select Git revision
  • ddcd00cf2ff6b709eae717a49de261a1e9a31e20
  • master default protected
  • archivematica_cli_version
  • 0.02
4 results

xml_plugin4rosetta

  • Clone with SSH
  • Clone with HTTPS
  • Andreas Romeyke's avatar
    Andreas Romeyke authored
    ddcd00cf
    History

    Plugin to validate XML files

    Compile

    • make clean
    • make
    • make test

    Install

    • copy jar-file to /operational_shared/plugins/custom/

    Configuration

    DTDs ....

    • the plugin uses the XML-catalog file to validate DTD related XML files.
    • the catalog file is specified via plugin settings (if no catalog entry exists an error is reported)
    • the catalog file should be created/modified by xmlcatalog.
    • all paths in catalog file should be absolute
    • for tests you could also use env XML_CATALOG_FILES
    • please ensure, your catalog file is correct, you could test it with example XML_CATALOG_FILES="$(pwd)/example_catalog/" xmlcatalog example_catalog/catalog "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN". Replace the last string with the corresponding publicID or systemID.

    Schemas .......

    • the plugin uses local schema files to validate schema/schematron/relaxng related XML files.
    • the schema catalog file has following structure:
    <?xml version="1.0" encoding="UTF-8"?>
    <slubschemacatalog>
       <entry schematype="schema" namespace="http://www.loc.gov/mods/v3" schemauri="http://www.loc.gov/standards/mods/v3/mods-3-8.xsd" />
       <entry schematype="schema" namespace="http://www.lido-schema.org" schemauri="http://www.lido-schema.org/schema/v1.1/lido-v1.1.xsd" />
       <entry schematype="schema" namespace="http://slubarchiv.slub-dresden.de/rights1" schemauri="https://slubarchiv.slub-dresden.de/fileadmin/groups/slubsite/slubarchiv/standards/rights/rights1.xsd" />
       <entry schematype="schema" namespace="http://www.loc.gov/standards/alto/ns-v2#" schemauri="http://www.loc.gov/standards/alto/alto-v2.0.xsd" />
       <entry schematype="nonvalidating" namespace="http://slub-dresden.de/" />
       <entry schematype="nonvalidating" namespace="http://slub-dresden.de/slubarchiv" schemauri="nothing"/>
    </slubschemacatalog>
    • please ensure, that the 'schemauri' starts either with 'http://$server/', 'https://$server/' or 'file://localhost/'! For testing purposes relative URIs also supported.
    • schematype "nonvalidating" does not need a schemauri attribute. If commited, it will be ignored

    For a (german) introduction how to use it, check https://www.data2type.de/xml-xslt-xslfo/docbook/xml-kataloge

    Namespace based Schema resolution

    The schema resolution follows the rules:

    1. if schematype is "nonvalidating", the resourceresolver returns null, indicating the validator should ignore rules
    2. if schematype is "schema" and the baseuri is local and the associated systemid is defined, a combined url will be used, pE.
      • baseUri = file:/tmp/xml_plugin4rosetta/example_catalog/mets-1.12.1/mets.xsd
      • SystemId = http://www.loc.gov/standards/xlink/xlink.xsd
      • combined: file:/home/romeyke/git/xml_plugin4rosetta/example_catalog/xlink-1.1/xlink.xsd
    3. if schematype is "schema" then the url of associated namespace will be used

    Hint: in case of nonvalidating schemaurl should never be empty!

    Copyright hints

    see file LICENSE