--- /dev/null
+# Crude input-filter for SOIF records -- one record per file.
+# Author: Peter Valkenburg / TERENA (valkenburg@terena.nl)
+# Version 0.2 (09/09/1998).
+# This sort of follows the Nordic Web Index convention of GILS attribute use.
+
+# We'll use GILS structured records.
+BEGIN { begin record gils }
+
+# URL will be GILS' availability/linkage
+/^@[A-Za-z][-.A-Za-z_]* { / BODY /$/ {
+ begin element availability
+ data -element linkage $1
+ end element
+ }
+
+# Type will be GILS' availability/linkageType
+/^[tT]ype{[0-9]+}:\t/ BODY /$/ {
+ begin element availability
+ data -element linkageType $1
+ end element
+ }
+
+# Last modification time will be Bib-1 Use Attribute 1012
+/^[lL]ast-[mM]odification-[tT]ime{[0-9]+}:\t/ BODY /$/ {
+ data -element dateOfLastModification $1
+ }
+
+# The MD5 checksum is used as a unique identifier under Bib-1 Use Attribute 1007
+/^[mM][dD]5{[0-9]+}:\t/ BODY /$/ { data -element controlIdentifier $1 }
+
+# Description will be Bib-1 Use Attribute 62
+/^[dD]escription{[0-9]+}:\t/ BODY /^([-._A-Za-z0-9]+{[0-9]+}:\t.*|})$/ {
+ data -element abstract $1
+ unread 2
+ }
+
+# Author will be Bib-1 Use Attribute 1003 (if gils.abs maps originator to it!!)
+/^[aA]uthor{[0-9]+}:\t/ BODY /^([-._A-Za-z0-9]+{[0-9]+}:\t.*|})$/ {
+ data -element author $1
+ unread 2
+ }
+
+# Keywords will be GILS' localSubjectIndex/localSubjectTerm
+/^[kK]eywords{[0-9]+}:\t/ BODY /^([-._A-Za-z0-9]+{[0-9]+}:\t.*|})$/ {
+ begin element localSubjectIndex
+ data -element localSubjectTerm $1
+ unread 2
+ end element
+ }
+
+# File-size will be GILS' supplementalInformation/bytes
+/^[fF]ile-[sS]ize{[0-9]+}:\t/ BODY /$/ {
+ begin element supplementalInformation
+ data -element bytes $1
+ unread 2
+ end element
+ }
+
+# Update-Time will be GILS' supplementalInformation/lastChecked
+/^[uU]pdate-[tT]ime{[0-9]+}:\t/ BODY /$/ {
+ begin element supplementalInformation
+ data -element lastChecked $1
+ unread 2
+ end element
+ }
+
+# url-references will be GILS' crossReference/linkage
+/^[uU]rl-[rR]eferences{[0-9]+}:\t/ BODY /^([-._A-Za-z0-9]+{[0-9]+}:\t.*|})$/ {
+ begin element crossReference
+ data -element linkage $1
+ unread 2
+ end element
+ }
+
+# Title will be Bib-1 Use Attribute 4
+/^[tT]itle{[0-9]+}:\t/ BODY /^([-._A-Za-z0-9]+{[0-9]+}:\t.*|})$/ {
+ data -element Title $1
+ unread 2
+ }
+
+# Body and Partial-Text will be Bib-1 Use Attribute 1010
+/^[bB]ody{[0-9]+}:\t/ BODY /^([-._A-Za-z0-9]+{[0-9]+}:\t.*|})$/ {
+ data -element sampleText $1
+ unread 2
+ }
+/^[pP]artial-[tT]ext{[0-9]+}:\t/ BODY /^([-._A-Za-z0-9]+{[0-9]+}:\t.*|})$/ {
+ data -element sampleText $1
+ unread 2
+ }
+
+END { end record }