relpipe-data/specification.xml
author František Kučera <franta-hg@frantovo.cz>
Mon, 21 Feb 2022 01:21:22 +0100
branchv_0
changeset 330 70e7eb578cfa
parent 302 e536a3aaee77
permissions -rw-r--r--
Added tag relpipe-v0.18 for changeset 5bc2bb8b7946
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
302
e536a3aaee77 specification: integers are signed
František Kučera <franta-hg@frantovo.cz>
parents: 239
diff changeset
    38
			0x02	integer	signed integer number of arbitrary length
154
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>
184
9ad44348e6aa small fixes
František Kučera <franta-hg@frantovo.cz>
parents: 178
diff changeset
    60
			A tool that generates a single relation. If we want more relations in a single stream, we just call this command multiple times:
157
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
		
228
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    91
		<h3>relpipe-in-csv</h3>
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    92
		
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    93
		<p>
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    94
			A tool that parses a CSV (comma-separated values) input and generates a single relation from it.
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    95
			Values might be "quoted".
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    96
			If quoted value contains a quote literal, it is escaped by doubling.
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    97
			Encoding must be UTF-8.
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    98
			Line ends might be LF or CRLF.
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
    99
		</p>
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   100
		
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   101
		
156
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
   102
		<h3>relpipe-in-fstab</h3>
158
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   103
		
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   104
		<p>
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   105
			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
   106
		</p>
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   107
		
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   108
		<p>
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   109
			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
   110
			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
   111
		</p>
bec21a800cc3 specification: relpipe-in-fstab
František Kučera <franta-hg@frantovo.cz>
parents: 157
diff changeset
   112
		
230
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   113
		<h3>relpipe-in-xml</h3>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   114
		
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   115
		<p>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   116
			A tool that reads XML data in the format generated by <code>relpipe-out-xml</code>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   117
			and converts it back to the relational format.
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   118
			Can be used together with XSLT procesor XQuery engine or other XML generator in two basic scenarios:
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   119
		</p>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   120
				
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   121
		<ul>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   122
			<li>as an input filter: to convert other formats to relational data</li>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   123
			<li>as a transformation: in pipeline: <code>relpipe-out-xml | some-xml-processor | relpipe-in-xml</code></li>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   124
		</ul>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   125
		
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   126
		<p>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   127
			XQuery is very powerful language that can do various transformations, filtering and even JOIN and UNION operations.
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   128
			So its power is comparable to relational databases.
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   129
			In future <m:name/> releases, there will be also an SQL transformation tool, where these operations will be defined in classic SQL syntax.
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   130
		</p>
ee2f682259c2 relpipe-in-xml
František Kučera <franta-hg@frantovo.cz>
parents: 228
diff changeset
   131
		
239
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   132
		<h3>relpipe-in-filesystem</h3>
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   133
		
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   134
		<p>
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   135
			A tool that reads <code>\0</code> separated list of file paths and generates relation
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   136
			with metadata of given files.
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   137
			Can read basic metadata like file path, name, size, owner…
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   138
			and also extended attributes (xattr).
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   139
		</p>
627ff99d475b specification: relpipe-in-filesystem
František Kučera <franta-hg@frantovo.cz>
parents: 230
diff changeset
   140
		
156
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
   141
		<h3>relpipe-out-tabular</h3>
159
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   142
		
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   143
		<p>
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   144
			A tool that formats relational data as tables with unicode borders and ANSI colors.
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   145
			Good for viewing relational data in a terminal or redirecting such view to a file or clipboard (to be pasted anywhere, where fixed-width font is used).
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   146
		</p>
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   147
		
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   148
		<h3>relpipe-out-gui</h3>
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   149
		
160
b731df137efb specification: relpipe-out-gui
František Kučera <franta-hg@frantovo.cz>
parents: 159
diff changeset
   150
		<p>
b731df137efb specification: relpipe-out-gui
František Kučera <franta-hg@frantovo.cz>
parents: 159
diff changeset
   151
			A tool that views relational data in a GUI window. Relations are displayed as panels with tables.
b731df137efb specification: relpipe-out-gui
František Kučera <franta-hg@frantovo.cz>
parents: 159
diff changeset
   152
			Particular implementation might offer also additional features like chart drawing or simple statistics (sum, max, min, avg, percentiles etc.)
b731df137efb specification: relpipe-out-gui
František Kučera <franta-hg@frantovo.cz>
parents: 159
diff changeset
   153
		</p>
b731df137efb specification: relpipe-out-gui
František Kučera <franta-hg@frantovo.cz>
parents: 159
diff changeset
   154
		
178
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   155
		<h3>relpipe-out-nullbyte</h3>
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   156
		
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   157
		<p>
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   158
			A tool that converts relational data to a list of null-byte (<code>\0</code>) separated values.
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   159
			Makes sense only for a single relation because boundaries between relations will be lost if there are more of them.
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   160
			Also attribute names and types are lost by default.
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   161
		</p>
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   162
		<p>
184
9ad44348e6aa small fixes
František Kučera <franta-hg@frantovo.cz>
parents: 178
diff changeset
   163
			Is suitable for passing a single relation to <code>xargs --null --max-args=X</code> (where X is the attribute count)
178
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   164
			or other command that accepts values separated by a null-byte.
674b4e3b2f14 relpipe-out-nullbyte
František Kučera <franta-hg@frantovo.cz>
parents: 176
diff changeset
   165
		</p>
159
3e78723ffef0 specification: relpipe-out-tabular
František Kučera <franta-hg@frantovo.cz>
parents: 158
diff changeset
   166
		
156
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
   167
		<h3>relpipe-out-xml</h3>
2be00f14dc78 specification: libraries
František Kučera <franta-hg@frantovo.cz>
parents: 154
diff changeset
   168
		
161
989b1709a008 specification: relpipe-out-xml
František Kučera <franta-hg@frantovo.cz>
parents: 160
diff changeset
   169
		<p>
989b1709a008 specification: relpipe-out-xml
František Kučera <franta-hg@frantovo.cz>
parents: 160
diff changeset
   170
			A tool that converts relational data to its XML representation.
989b1709a008 specification: relpipe-out-xml
František Kučera <franta-hg@frantovo.cz>
parents: 160
diff changeset
   171
			Is useful for further processing in other tools (e.g. XSLT procesor that generates XHTML org other XML-based format)
989b1709a008 specification: relpipe-out-xml
František Kučera <franta-hg@frantovo.cz>
parents: 160
diff changeset
   172
			or for storage of relational data in a text form (good for version control systems, diff, manual editation or review).
989b1709a008 specification: relpipe-out-xml
František Kučera <franta-hg@frantovo.cz>
parents: 160
diff changeset
   173
		</p>
989b1709a008 specification: relpipe-out-xml
František Kučera <franta-hg@frantovo.cz>
parents: 160
diff changeset
   174
		
162
f9185bc14b68 specification: relpipe-out-ods
František Kučera <franta-hg@frantovo.cz>
parents: 161
diff changeset
   175
		<h3>relpipe-out-ods</h3>
f9185bc14b68 specification: relpipe-out-ods
František Kučera <franta-hg@frantovo.cz>
parents: 161
diff changeset
   176
		
f9185bc14b68 specification: relpipe-out-ods
František Kučera <franta-hg@frantovo.cz>
parents: 161
diff changeset
   177
		<p>
f9185bc14b68 specification: relpipe-out-ods
František Kučera <franta-hg@frantovo.cz>
parents: 161
diff changeset
   178
			A tool that converts relational data to its ODS (OpenDocument) representation resp. its <em>flat</em> variant (a single XML file instead of a ZIP containing many files).
f9185bc14b68 specification: relpipe-out-ods
František Kučera <franta-hg@frantovo.cz>
parents: 161
diff changeset
   179
			This OpenDocument output can be opened in tools like LibreOffice and further processed (add charts, calculations etc.).
f9185bc14b68 specification: relpipe-out-ods
František Kučera <franta-hg@frantovo.cz>
parents: 161
diff changeset
   180
		</p>
f9185bc14b68 specification: relpipe-out-ods
František Kučera <franta-hg@frantovo.cz>
parents: 161
diff changeset
   181
		
228
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   182
		<h3>relpipe-out-csv</h3>
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   183
		
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   184
		<p>
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   185
			A tool that convers relational data into the CSV format (comma-separated values).
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   186
			Makes sense only for a single relation because boundaries between relations will be lost if there are more of them.
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   187
		</p>
8a6b527bc9bb CSV input
František Kučera <franta-hg@frantovo.cz>
parents: 213
diff changeset
   188
		
176
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   189
		<h3>relpipe-tr-validator</h3>
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   190
		
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   191
		<p>
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   192
			A tool that behaves like <code>cat</code>, <code>dd</code> or <code>pv</code> commands i.e. reads data from STDIN and outputs the same data on STDOUT.
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   193
			But compared to these tools, data are parsed and then converted back to the <m:name/> format.
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   194
			Thus if the input was not in this format, the process fails (exit code != 0).
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   195
			Errors (if any) are reported on STDERR.
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   196
		</p>
46042297e0d6 relpipe-tr-validator: specification and examples
František Kučera <franta-hg@frantovo.cz>
parents: 162
diff changeset
   197
		
206
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   198
		<h3>relpipe-tr-sed</h3>
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   199
		
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   200
		<p>
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   201
			A tool that modifies attribute values according to given regular expression and replacement string.
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   202
			Works with given relations and attributes only (others stay untouched).
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   203
			Relation and attribute name are also specified as a regular expression.
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   204
			Thus single <code>relpipe-tr-sed</code> run may modify multiple relations or attributes.
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   205
		</p>
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   206
		
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   207
		<h3>relpipe-tr-grep</h3>
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   208
		
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   209
		<p>
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   210
			A tool that drops records (does restriction) according to their match to given regular expression.
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   211
			Relation and attribute name are also specified as a regular expression.
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   212
			Thus single <code>relpipe-tr-grep</code> run may modify multiple relations or do match on multiple attributes.
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   213
		</p>
0c05bdaeda34 specification: relpipe-tr-sed, relpipe-tr-grep
František Kučera <franta-hg@frantovo.cz>
parents: 184
diff changeset
   214
		
213
cbf25a63a43f specification: relpipe-tr-cut
František Kučera <franta-hg@frantovo.cz>
parents: 206
diff changeset
   215
		<h3>relpipe-tr-cut</h3>
cbf25a63a43f specification: relpipe-tr-cut
František Kučera <franta-hg@frantovo.cz>
parents: 206
diff changeset
   216
		
cbf25a63a43f specification: relpipe-tr-cut
František Kučera <franta-hg@frantovo.cz>
parents: 206
diff changeset
   217
		<p>
cbf25a63a43f specification: relpipe-tr-cut
František Kučera <franta-hg@frantovo.cz>
parents: 206
diff changeset
   218
			A tool that drops or multiplies attributes or changes their order (does projection) according to their name match to given regular expression.
cbf25a63a43f specification: relpipe-tr-cut
František Kučera <franta-hg@frantovo.cz>
parents: 206
diff changeset
   219
			Relation name is also specified as a regular expression and there might be multiple regexes specifying desired attributes.
cbf25a63a43f specification: relpipe-tr-cut
František Kučera <franta-hg@frantovo.cz>
parents: 206
diff changeset
   220
			Thus single <code>relpipe-tr-cut</code> run may modify multiple relations or pick multiple attributes from them.
cbf25a63a43f specification: relpipe-tr-cut
František Kučera <franta-hg@frantovo.cz>
parents: 206
diff changeset
   221
		</p>
cbf25a63a43f specification: relpipe-tr-cut
František Kučera <franta-hg@frantovo.cz>
parents: 206
diff changeset
   222
		
87
25dec6931f18 Lepší odsazení, tabulátory.
František Kučera <franta-hg@frantovo.cz>
parents: 23
diff changeset
   223
	</text>
4
1bb39595a51c genrování hlavní nabídky #1
František Kučera <franta-hg@frantovo.cz>
parents: 2
diff changeset
   224
1
a05c6f3cbc3e základ, první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff changeset
   225
</stránka>