relpipe-data/specification.xml
author František Kučera <franta-hg@frantovo.cz>
Fri, 30 Nov 2018 17:01:07 +0100
branchv_0
changeset 158 bec21a800cc3
parent 157 65b71e6a0973
child 159 3e78723ffef0
permissions -rw-r--r--
specification: relpipe-in-fstab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
0d2729ed16ed zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents: 18
diff changeset
     1
<stránka
0d2729ed16ed zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents: 18
diff changeset
     2
	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
0d2729ed16ed zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents: 18
diff changeset
     3
	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
0d2729ed16ed zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents: 18
diff changeset
     4
	
139
5377fcfa73cb specification: empty page
František Kučera <franta-hg@frantovo.cz>
parents: 138
diff changeset
     5
	<nadpis>Specification</nadpis>
5377fcfa73cb specification: empty page
František Kučera <franta-hg@frantovo.cz>
parents: 138
diff changeset
     6
	<perex>Specification of the Relational pipes data format</perex>
5377fcfa73cb specification: empty page
František Kučera <franta-hg@frantovo.cz>
parents: 138
diff changeset
     7
	<pořadí>20</pořadí>
4
1bb39595a51c genrování hlavní nabídky #1
František Kučera <franta-hg@frantovo.cz>
parents: 2
diff changeset
     8
2
ab9099ff88fa vkládání zápatí, jmenné prostory, saxon
František Kučera <franta-hg@frantovo.cz>
parents: 1
diff changeset
     9
	<text xmlns="http://www.w3.org/1999/xhtml">
ab9099ff88fa vkládání zápatí, jmenné prostory, saxon
František Kučera <franta-hg@frantovo.cz>
parents: 1
diff changeset
    10
		<p>
153
7930f3482370 specification: intro
František Kučera <franta-hg@frantovo.cz>
parents: 139
diff changeset
    11
			Currently only fragments of the specification are published
7930f3482370 specification: intro
František Kučera <franta-hg@frantovo.cz>
parents: 139
diff changeset
    12
			and the incompatible changes might (and will) come before the v1.0.0 release.
7930f3482370 specification: intro
František Kučera <franta-hg@frantovo.cz>
parents: 139
diff changeset
    13
			Please stay tuned for this stable version which will deliver specification such complete and precise 
7930f3482370 specification: intro
František Kučera <franta-hg@frantovo.cz>
parents: 139
diff changeset
    14
			that independent implementation of the format will be possible.
87
25dec6931f18 Lepší odsazení, tabulátory.
František Kučera <franta-hg@frantovo.cz>
parents: 23
diff changeset
    15
		</p>
154
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    16
		
156
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    17
		<h2>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    18
			<m:name/> data format
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    19
		</h2>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    20
			
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    21
		<h3>Stream structure structure</h3>
154
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    22
		
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    23
		
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    24
		<m:tabulka>
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    25
			id	name	description
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    26
			0x1D	start	start of the relation
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    27
			0x1E	record	start of the record
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    28
		</m:tabulka>
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    29
		
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    30
		
156
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    31
		<h3>Data types</h3>
154
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    32
		
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    33
		<p>Currently, there are only three data types.</p>
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    34
		
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    35
		<m:tabulka>
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    36
			typeId	code	description
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    37
			0x01	boolean	logical value, true/false
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    38
			0x02	integer	unsigned integer number of arbitrary length
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    39
			0x03	string	character string in UTF-8
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    40
		</m:tabulka>
aec6545b2350 license: GNU GPLv3+
František Kučera <franta-hg@frantovo.cz>
parents: 153
diff changeset
    41
		
156
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    42
		<h2>Libraries</h2>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    43
		
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    44
		<h3>relpipe-lib-writer</h3>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    45
		
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    46
		<p>Wraps an output stream (usually STDOUT), accepts method calls (relations, attributes) and generates <m:name/> data on the stream.</p>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    47
		
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    48
		<h3>relpipe-lib-reader</h3>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    49
		
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    50
		<p>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    51
			Wraps an input stream (usually STDIN). The caller creates and sets handlers (zero or more) using <code>addHandler()</code> and then calls <code>process()</code> method.
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    52
			During this method call, the reader reads the input and calls the handlers.
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    53
			Handlers receive relations and attributes.
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    54
		</p>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    55
		
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    56
		<h2>Tools</h2>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    57
		
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    58
		<h3>relpipe-in-cli</h3>
157
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    59
		<p>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    60
			A tool that generates a single relation. I we want more relations in a single stream, we just call this command multiple times:
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    61
		</p>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    62
		
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    63
		<m:pre jazyk="bash"><![CDATA[
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    64
(relpipe-in-cli ... ; relpipe-in-cli ... ; relpipe-in-cli ... ) | relpipe-out-tabular
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    65
]]></m:pre>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    66
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    67
		<p>Or concatenate several files or do a combination of both files and commands.</p>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    68
		
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    69
		<p>This command accept these arguments:</p>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    70
		
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    71
		<ul>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    72
			<li>relation name</li>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    73
			<li>attribute count</li>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    74
			<li>names of attributes</li>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    75
			<li>types of attributes</li>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    76
			<li>attribute values</li>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    77
		</ul>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    78
		
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    79
		<p>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    80
			These data might be passed as CLI arguments on the command line or as null-byte (<code>\0</code>) separated list of values on STDIN.
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    81
			Both ways can be combined e.g. pass relation name and metadata as CLI arguments and the data on STDIN.
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    82
			The tool simply starts with CLI arguments (if any) and continues with values from STDIN (if any).
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    83
		</p>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    84
		
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    85
		<p>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    86
			This tool is a good entry point to the <m:name/> world because it requires no programming and construction of the argument list or <code>\0</code> separated list can be done in any language or environment.
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    87
			Tools like <code>perl</code> or <code>tr</code> can convert almost any data to this form and pass it to <code>relpipe-in-cli</code>.
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    88
		</p>
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    89
		
65b71e6a0973 specification: relpipe-in-cli
František Kučera <franta-hg@frantovo.cz>
parents: 156
diff changeset
    90
		
156
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
    91
		<h3>relpipe-in-fstab</h3>
158
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
    92
		
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
    93
		<p>
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
    94
			A tool that parses <code>fstab</code> (or <code>mtab</code>) file containing a list of devices, mount-points and their options and generates a single relation from it.
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
    95
		</p>
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
    96
		
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
    97
		<p>
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
    98
			If executed on TTY, it reads data from the default location: <code>/etc/fstab</code>.
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
    99
			If executed with STDIN attached to a file or another command (in a pipe), it reads data from this stream.
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   100
		</p>
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   101
		
156
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
   102
		<h3>relpipe-out-tabular</h3>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
   103
		<h3>relpipe-out-xml</h3>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
   104
		<h3>relpipe-out-qui</h3>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
   105
		
87
25dec6931f18 Lepší odsazení, tabulátory.
František Kučera <franta-hg@frantovo.cz>
parents: 23
diff changeset
   106
	</text>
4
1bb39595a51c genrování hlavní nabídky #1
František Kučera <franta-hg@frantovo.cz>
parents: 2
diff changeset
   107
1
a05c6f3cbc3e základ, první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
   108
</stránka>