.. / download
# NAME

s1kd-metadata - View and edit S1000D CSDB object metadata

# SYNOPSIS

    s1kd-metadata [options] [<object>...]

# DESCRIPTION

The *s1kd-metadata* tool provides a simple way to fetch and change
metadata on S1000D CSDB objects.

# OPTIONS

  - \-0, --null  
    Print a null-delimited list of values of the pieces of metadata
    specified with -n, or all available metadata if -n is not specified.

  - \-c, --set \<file\>  
    Use \<file\> to edit metadata files. \<file\> consists of lines
    starting with a metadata name, followed by whitespace, followed by
    the new value for the metadata (the program uses this same format
    when outputting all metadata if no \<name\> is specified).

  - \-d, --date-format \<fmt\>  
    The format to use when printing dates, such as the "issueDate" or
    "modified" metadata. \<fmt\> should conform to the format used by
    strftime. The default is "%Y-%m-%d".

  - \-E, --editable  
    When showing all metadata, only list editable items. This is useful
    when creating a file for use with the -c option.

  - \-e, --exec \<cmd\>  
    Execute a command for each CSDB object. The string "{}" is replaced
    by the current CSDB object file name everywhere it occurs in the
    arguments to the command.

  - \-F, --format \<fmt\>  
    Print a formatted line for each CSDB object. Metadata names
    surrounded with % (e.g. %issueDate%) will be substituted by the
    value read from the object.

  - \-f, --overwrite  
    When editing metadata, overwrite the object. The default is to
    output the modified object to stdout.

  - \-H, --info  
    Lists all available metadata with a short description of each.
    Specify specific metadata to describe with the -n option.

  - \-h, -?, --help  
    Show help/usage message.

  - \-l, --list  
    Treat input as a list of object filenames to read or edit metadata
    on, rather than an object itself.

  - \-m, --matches \<regex\>  
    Used after a -w or -W option, this specifies a regular expression to
    match the value of the given metadata against, instead of a literal
    value (-v).

  - \-n, --name \<name\>  
    The name of the piece of metadata to fetch. This option can be
    specified multiple times to fetch multiple pieces of metadata. If -n
    is not specified, all available metadata names are printed with
    their values. This output can be sent to a text file, edited, and
    then specified with the -c option as a means of editing metadata in
    any text editor.

  - \-q, --quiet  
    Quiet mode. Non-fatal errors such as a missing piece of optional
    metadata in an object will not be printed to stderr.

  - \-T, --raw  
    Do not format columns in output.

  - \-t, --tab  
    Print a tab-delimited list of values of the pieces of metadata
    specified with -n, or all available metadata if -n is not specified.

  - \-v, --value \<value\>  
    When following a -n option, this specifies the new value for that
    piece of metadata.
    
    When following a -w or -W option, this specifies the value to
    compare that piece of metadata to.
    
    Each -n, -w, or -W can be followed by -v to edit or define
    conditions on multiple pieces of metadata.

  - \-W, --where-not \<name\>  
    Show or edit metadata only on objects where the value of \<name\> is
    not equal to the value specified in the following -v option. If no
    -v option follows, this will show objects which do not have metadata
    \<name\> of any value.

  - \-w, --where \<name\>  
    Show or edit metadata only on objects where the value of \<name\> is
    equal to the value specified in the following -v option. If no -v
    option follows, this will show objects which have metadata \<name\>
    with any value.

  - \--version  
    Show version information.

  - \<object\>...  
    The object(s) to show/edit metadata on. The default is to read from
    stdin.

In addition, the following options allow configuration of the XML
parser:

  - \--dtdload  
    Load the external DTD.

  - \--huge  
    Remove any internal arbitrary parser limits.

  - \--net  
    Allow network access to load external DTD and entities.

  - \--noent  
    Resolve entities.

  - \--parser-errors  
    Emit errors from parser.

  - \--parser-warnings  
    Emit warnings from parser.

  - \--xinclude  
    Do XInclude processing.

  - \--xml-catalog \<file\>  
    Use an XML catalog when resolving entities. Multiple catalogs may be
    loaded by specifying this option multiple times.

# EXAMPLE

    $ ls
    DMC-S1KDTOOLS-A-09-00-00-00A-040A-D_EN-CA.XML
    DMC-S1KDTOOLS-A-0Q-00-00-00A-040A-D_EN-CA.XML
    
    $ DMOD=DMC-S1KDTOOLS-A-09-00-00-00A-040A-D_EN-CA.XML
    $ s1kd-metadata $DMOD
    issueDate                      2017-08-14
    techName                       s1kd-metadata(1) | s1kd-tools
    responsiblePartnerCompany      khzae.net
    originator                     khzae.net
    securityClassification         01
    schema                         descript
    schemaUrl                      http://www.s1000d.org/S1000D_5-0/xml_
    schema_flat/descript.xsd
    type                           dmodule
    applic                         All
    brex                           S1000D-F-04-10-0301-00A-022A-D
    issueType                      new
    languageIsoCode                en
    countryIsoCode                 CA
    issueNumber                    001
    inWork                         00
    dmCode                         S1KDTOOLS-A-09-00-00-00A-040A-D
    
    $ s1kd-metadata -n techName -v "New title" $DMOD
    $ s1kd-metadata -n techName $DMOD
    New title
    
    $ s1kd-metadata -n techName DMC-*.XML
    New title
    s1kd-aspp(1) | s1kd-tools
    
    $ s1kd-metadata -F "%techName% (%issueDate%) %issueType%" DMC-*.XML
    New title (2017-08-14) new
    s1kd-aspp(1) | s1kd-tools (2018-03-28) changed
    
    $ s1kd-metadata -F "%techName%" -w subSubSystemCode -v Q DMC-*.XML
    s1kd-aspp(1) | s1kd-tools
    
    $ s1kd-metadata -n path -w subSystemCode -v Q
    DMC-S1KDTOOLS-A-0Q-00-00-00A-040A-D_EN-CA.XML
    
    $ s1kd-metadata -n path -W subSystemCode -v Q
    DMC-S1KDTOOLS-A-09-00-00-00A-040A-D_EN-CA.XML
    
    $ s1kd-metadata -n path -w subSystemCode -m [0-9]
    DMC-S1KDTOOLS-A-09-00-00-00A-040A-D_EN-CA.XML


gopher://khzae.net/0/s1000d/s1kd-tools/src/tools/s1kd-metadata/README.md
Styles: Light Dark Classic