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 = ""; |
} |
} |
} |
} |
} |
} |