| version 1.1, 2002/09/04 20:49:22 |
version 1.2, 2002/09/05 23:08:59 |
|
|
| # $Id$ |
# $Id$ |
| BEGIN { |
BEGIN { |
| last_tag = ""; |
last_tag = ""; |
| printf "# id-name\tfilename\tid-type\n"; |
str = ""; |
| |
desc = ""; |
| |
printf "# id-name\tfilename\tid-type\tdescription\n"; |
| } |
} |
| |
|
| #/^[^<]+</ { |
function compete_tag(reg) |
| # n = split($0, a, ">"); |
{ |
| # first_tag = a[1]; |
reg1 = sprintf("<%s", reg); |
| # #printf "first_tag = '%s'\n", first_tag; |
reg2 = sprintf("</%s>", reg); |
| #} |
|
| |
while (str ~ reg1 && str !~ reg2) { |
| |
# printf "BEFORE = '%s'\n", str; |
| |
getline; |
| |
str = sprintf("%s %s", str, $0); |
| |
# printf "AFTER = '%s'\n", str; |
| |
} |
| |
if (str ~ reg && desc == "") { |
| |
desc = str; |
| |
reg1 = sprintf("^.*<%s[^>]*>", reg); |
| |
reg2 = sprintf("[ \t]*</%s>.*$", reg); |
| |
sub(reg1, "", desc); |
| |
sub(reg2, "", desc); |
| |
} |
| |
|
| |
} |
| |
|
| { |
{ |
| if (last_tag != "") { |
if (last_tag != "") { |
| str = sprintf("> XX <%s %s", last_tag, $0); # join last notcompleted tag |
str = sprintf("<%s %s", last_tag, $0); # join last notcompleted tag |
| last_tag = ""; # last_tag was used, make it empty |
last_tag = ""; # last_tag was used, make it empty |
| } else |
} else |
| str = sprintf("> ZZ %s", $0); |
str = sprintf("%s", $0); |
| |
|
| |
compete_tag("title"); |
| |
compete_tag("constant"); |
| |
|
| |
|
| if (str ~ /<[^>]*$/) { |
if (str ~ /<[^>]*$/) { |
| n = split(str, a, "<"); |
n = split(str, a, "<"); |
| last_tag = a[n]; |
last_tag = a[n]; |
| sub(/<[^>]+$/, "", str); # remove last notcompleted tag from line |
sub(/<[^>]+$/, "", str); # remove last notcompleted tag from line |
| } |
} |
| |
|
| #printf "str = '%s'\n", str; |
sub(/^</, "> XX <", str); |
| sub(/>[^>]*$/, "> YY <", str); |
sub(/>[^>]*$/, "> YY <", str); |
| |
|
| n = split(str, a, ">[^<>]*<"); |
n = split(str, a, ">[^<>]*<"); |
| for (i = 1; i <= n; i++) { |
for (i = 1; i <= n; i++) { |
| if (a[i] ~ /id=['"]/) { # SGML tag with id="..." |
if (a[i] ~ /id=['"]/) { # SGML tag with id="..." |
| |
# printf "str = '%s'\n", str; |
| m = split(a[i], b, "[ \t]+"); |
m = split(a[i], b, "[ \t]+"); |
| for (j = 1; j <= m; j++) { |
for (j = 1; j <= m; j++) { |
| if (b[j] ~ /id=['"]/) { |
if (b[j] ~ /id=['"]/) { |
| sub(/^id=['"]/, "", b[j]); |
sub(/^id=['"]/, "", b[j]); |
| sub(/['"]$/, "", b[j]); |
sub(/['"]$/, "", b[j]); |
| printf "%s\t%s\t%s\n", b[j], FILENAME, b[1]; |
printf "%s\t%s\t%s\t%s\n", b[j], FILENAME, b[1], desc; |
| |
desc = ""; |
| } |
} |
| } |
} |
| } |
} |