<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: ; script-src 'self' 'nonce-d717cfb5d902616b7024920ae20346a8494f7832145c90e0' ; style-src 'self' 'unsafe-inline'" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Documentation cap-999999.0a1.0">
<meta name="author" content="JMNoble">
<title>Documentation cap-999999.0a1.0</title>
<style>
body {
    margin-left: 10%; margin-right: 10%;
    font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
    max-width: 90%;
}
pre {
    padding-top:	1ex;
    padding-bottom:	1ex;
    padding-left:	2ex;
    padding-right:	1ex;
    width:		100%;
    color: 		black;
    background: 	#fff4e4;
    border-top:		1px solid black;
    border-bottom:		1px solid black;
    font-family: Monaco, Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
a {
    text-decoration: none
}
pre.synopsis {
    background: #cceeff;
}
pre.code code.tclin {
    background-color: #ffeeee;
}
pre.code code.tclout {
    background-color: #ffffee;
}
code {
    font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
h1,h2, h3,h4 {
    font-family:	sans-serif;
    background: 	transparent;
}
h1 {
    font-size: 120%;
    text-align: center;
}

h2.author, h2.date {
    text-align: center;
    color: black;
}
h2 {    font-size: 110%; }
h3, h4 {  font-size: 100% }
div.title h1 {
    font-family: sans-serif;
    font-size:   120%;
    background:  transparent;
    text-align:  center;
    color:       black;
}
div.author h3, div.date h3 {
    font-family:	sans-serif;
    font-size:	110%;
    background: 	transparent;
    text-align:	center;
    color: black ;
}
h2, h3 {
    margin-top:  1em;
    font-family: sans-serif;
    font-size:	 110%;
    color:	 #005A9C;
    background:  transparent;
    text-align:	 left;
}
</style>
</head>
<body>


<h1 class="title">Documentation cap-999999.0a1.0</h1>
<h2 class="author">JMNoble</h2>
<h2 class="date">2023-12-19</h2>

<h2>Concepts:</h2><blockquote>
<p>A <strong>capability</strong> may be something like providing a folder of files, or just a data dictionary, and/or an API</p>

<p><strong>capability handler</strong> - a package/namespace which may provide validation and standardised ways of looking up provider data
  registered (or not) using register_capabilityname <capname> <capnamespace></p>

<p><strong>capability provider</strong> - a package which registers as providing one or more capablities.
 registered using register_package <pkg> <capabilitylist>
 the capabilitylist is a list of 2-element lists where the first element is the capabilityname and the second element is a (possibly empty) dict of data relevant to that capability
 A capabilityname may appear multiple times. ie a package may register that it provides the capability with multiple datasets.</p>
</blockquote>

<h2><strong>exists(capname)</strong></h2>

<blockquote>
<p>return a boolean indicating the existence of a capability</p>

<p>Arguments:</p>

<ul>
<li><em>capname</em> - string indicating the name of the capability
</li></ul>

<table class="table">
<thead>
  <tr>
    <th>Returns: 0</th>
    <th>1</th>
  </tr>
</thead>
</table>

</blockquote>
</body>
</html>