..
/
download
# NAME
s1kd-ref - Generate XML to reference CSDB objects
# SYNOPSIS
s1kd-ref [-cdfgiLlqRrStuvh?] [-$ <issue>] [-s <src>] [-T <opts>]
[-x <xpath>] [-3 <file>] [-o <dst>] [<code>|<file> ...]
# DESCRIPTION
The *s1kd-ref* tool generates the XML for S1000D reference elements
using the specified code or filename. When using a filename, it can
parse the CSDB object to include the issue, language, and/or title
information in the reference.
# OPTIONS
- \-$, --issue \<issue\>
Output XML for the specified issue of S1000D.
- \-c, --content
When using the -T option, only transform textual references found in
the content section of CSDB objects.
- \-d, --include-date
Include the issue date in the reference (target must be a file)
- \-f, --overwrite
Overwrite source data module instead of writing to stdout.
- \-g, --guess-prefix
Accept references which do not include a standard prefix (e.g.,
"DMC-", "PMC-") and guess what they are based on their format and,
when using the -T option, the XML context in which they occur.
- \-h, -?, --help
Show the usage message.
- \-i, --include-issue
Include the issue information in the reference (target must be a
file)
- \-L, --list
Treat input as a list of CSDB objects.
- \-l, --include-lang
Include the language information in the reference (target must be a
file)
- \-o, --out \<dst\>
Output to \<dst\> instead of stdout.
- \-q, --quiet
Quiet mode. Do not print errors.
- \-R, --repository-id
Generate a `<repositorySourceDmIdent>` for a data module.
- \-r, --add
Add the generated reference to the source data module's `refs` table
and output the modified data module to stdout.
- \-S, --source-id
Generate a `<sourceDmIdent>` (for data modules) or `<sourcePmIdent>`
(for publication modules).
- \-s, --source \<src\>
Specify a source data module \<src\> to add references to when using
the -r option.
- \-T, --transform \<opts\>
Transform textual references into the appropriate XML within text
nodes in the XML document(s) specified. The textual references must
include the standard prefixes (e.g., "DMC-", "PMC-'), unless the -p
option is specified. \<opts\> is a sequence of characters from
"CDEGLPSY", for comment, data module, external publication, ICN,
DML, publication module, SCORM content package and CSN references
respectively. If "all" is given, then all types of references will
be transformed.
- \-t, --include-title
Include the title in the reference (target must be a file).
- \-u, --include-url
Include the full URL/filename of the reference with the `xlink:href`
attribute.
- \-v, --verbose
Verbose output.
- \-x, --xpath \<xpath\>
When using the -T option, this specifies which nodes to transform
textual references in. By default, only the elements which can
contain each type of reference are considered.
- \-3, --externalpubs \<file\>
Use a custom `.externalpubs` file.
- \--version
Show version information.
- \<code\>|\<file\>
Either a code, including the prefix (DMC, PMC, etc.), or the
filename of a CSDB object.
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.
## `.externalpubs` file
The `.externalpubs` file contains definitions of external publication
references. This can be used to generate the XML for an external
publication reference by specifying the external publication code.
Example of a `.externalpubs` file:
<externalPubs>
<externalPubRef>
<externalPubRefIdent>
<externalPubCode>ABC</externalPubCode>
<externalPubTitle>ABC Manual</externalPubTitle>
</externalPubRefIdent>
</externalPubRef>
</externalPubs>
# EXAMPLES
Reference to data module with data module code:
$ s1kd-ref DMC-EX-A-00-00-00-00A-040A-D
<dmRef>
<dmRefIdent>
<dmCode modelIdentCode="EX" systemDiffCode="A" systemCode="00"
subSystemCode="0" subSubSystemCode="0" assyCode="00" disassyCode="00"
disassyCodeVariant="A" infoCode="040" infoCodeVariant="A"
itemLocationCode="D"/>
</dmRefIdent>
</dmRef>
Reference to data module with data module code and issue/language:
$ s1kd-ref -il DMC-EX-A-00-00-00-00A-040A-D_001-03_EN-CA
<dmRef>
<dmRefIdent>
<dmCode modelIdentCode="EX" systemDiffCode="A" systemCode="00"
subSystemCode="0" subSubSystemCode="0" assyCode="00" disassyCode="00"
disassyCodeVariant="A" infoCode="040" infoCodeVariant="A"
itemLocationCode="D"/>
<issueInfo issueNumber="001" inWork="03"/>
<language languageIsoCode="en" countryIsoCode="CA"/>
</dmRefIdent>
</dmRef>
Reference to data module with all information, from a file:
$ s1kd-ref -dilt DMC-EX-A-00-00-00-00A-040A-D_001-03_EN-CA.XML
<dmRef>
<dmRefIdent>
<dmCode modelIdentCode="EX" systemDiffCode="A" systemCode="00"
subSystemCode="0" subSubSystemCode="0" assyCode="00" disassyCode="00"
disassyCodeVariant="A" infoCode="040" infoCodeVariant="A"
itemLocationCode="D"/>
<issueInfo issueNumber="001" inWork="03"/>
<language languageIsoCode="en" countryIsoCode="CA"/>
</dmRefIdent>
<dmRefAddressItems>
<dmTitle>
<techName>Example</techName>
<infoName>Description</infoName>
</dmTitle>
<issueDate year="2018" month="06" day="25"/>
</dmRefAddressItems>
</dmRef>
Reference to a catalog sequence number:
$ s1kd-ref CSN-EX-A-00-00-00-01A-004A-D
<catalogSeqNumberRef modelIdentCode="EX" systemDiffCode="A"
systemCode="00" subSystemCode="0" subSubSystemCode="0" assyCode="00"
figureNumber="01" figureNumberVariant="A" item="004" itemVariant="A"
itemLocationCode="D"/>
Reference to a comment:
$ s1kd-ref COM-EX-12345-2018-00001-Q
<commentRef>
<commentRefIdent>
<commentCode modelIdentCode="EX" senderIdent="12345"
yearOfDataIssue="2018" seqNumber="00001" commentType="q"/>
</commentRefIdent>
</commentRef>
Reference to a data management list:
$ s1kd-ref DML-EX-12345-C-2018-00001
<dmlRef>
<dmlRefIdent>
<dmlCode modelIdentCode="EX" senderIdent="12345" dmlType="c"
yearOfDataIssue="2018" seqNumber="00001"/>
</dmlRefIdent>
</dmlRef>
Reference to an information control number:
$ s1kd-ref ICN-EX-A-000000-A-00001-A-001-01
<infoEntityRef infoEntityRefIdent="ICN-EX-A-000000-A-00001-A-001-01"/>
Reference to a publication module:
$ s1kd-ref PMC-EX-12345-00001-00
<pmRef>
<pmRefIdent>
<pmCode modelIdentCode="EX" pmIssuer="12345" pmNumber="00001"
pmVolume="00"/>
</pmRefIdent>
</pmRef>
Reference to a SCORM content package:
$ s1kd-ref SMC-EX-12345-00001-00
<scormContentPackageRef>
<scormContentPackageRefIdent>
<scormContentPackageCode
modelIdentCode="EX"
scormContentPackageIssuer="12345"
scormContentPackageNumber="00001"
scormContentPackageVolume="00"/>
</scormContentPackageRefIdent>
</scormContentPackageRef>
Source identification for a data module:
$ s1kd-ref -S DMC-EX-A-00-00-00-00A-040A-D_001-00_EN-CA.XML
<sourceDmIdent>
<dmCode modelIdentCode="EX" systemDiffCode="A" systemCode="00"
subSystemCode="0" subSubSystemCode="0" assyCode="00" disassyCode="00"
disassyCodeVariant="A" infoCode="040" infoCodeVariant="A"
itemLocationCode="D"/>
<language languageIsoCode="en" countryIsoCode="CA"/>
<issueInfo issueNumber="001" inWork="00"/>
</sourceDmIdent>
Source identification for a publication module:
$ s1kd-ref -S PMC-EX-12345-00001-00_001-00_EN-CA.XML
<sourcePmIdent>
<pmCode modelIdentCode="EX" pmIssuer="12345" pmNumber="00001"
pmVolume="00"/>
<language languageIsoCode="en" countryIsoCode="CA"/>
<issueInfo issueNumber="001" inWork="00"/>
</sourcePmIdent>
Source identification for a SCORM content package:
$ s1kd-ref -S SMC-EX-12345-00001-00_001-00_EN-CA.XML
<sourceScormContentPackageIdent>
<scormContentPackageCode
modelIdentCode="EX"
scormContentPackageIssuer="12345"
scormContentPackageNumber="00001"
scormContentPackageVolume="00"/>
<language languageIsoCode="en" countryIsoCode="CA"/>
<issueInfo issueNumber="000" inWork="01"/>
</sourceScormContentPackageIdent>
Repository source identification for a CIR data module:
$ s1kd-ref -R DMC-EX-A-00-00-00-00A-00GA-D_001-00_EN-CA.XML
<repositorySourceDmIdent>
<dmCode modelIdentCode="EX" systemDiffCode="A" systemCode="00"
subSystemCode="0" subSubSystemCode="0" assyCode="00" disassyCode="00"
disassyCodeVariant="A" infoCode="00G" infoCodeVariant="A"
itemLocationCode="D"/>
<language languageIsoCode="en" countryIsoCode="CA"/>
<issueInfo issueNumber="001" inWork="00"/>
</repositorySourceDmIdent>
Reference to an external publication:
$ s1kd-ref ABC
<externalPubRef>
<externalPubRefIdent>
<externalPubCode>ABC</externalPubCode>
</externalPubRefIdent>
</externalPubRef>
Reference to an external publication (from the `.externalpubs` file):
$ s1kd-ref ABC
<externalPubRef>
<externalPubRefIdent>
<externalPubCode>ABC</externalPubCode>
<externalPubTitle>ABC Manual</externalPubTitle>
</externalPubRefIdent>
</externalPubRef>
gopher://khzae.net/0/s1kd/s1kd-tools/src/tools/s1kd-ref/README.md