]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/xul/staff_client/external/make_entities.pl
Fix integrated subscription editor record field
[working/Evergreen.git] / Open-ILS / xul / staff_client / external / make_entities.pl
1 #!/usr/bin/perl -w
2
3 use strict;
4
5 my $entity_prefix = $ARGV[0];
6 my $filename = $ARGV[1];
7
8 if (! $entity_prefix && ! $filename) {
9     print STDOUT "Usage:\n\tmake_entities.pl <prefix> <filename> > filename.new 2> entities.dtd\n\n\tmv filename.new filename\n\tsort entities.dtd | uniq >> lang.dtd\n\n";
10     exit 0;
11 }
12
13 my %entity_hash = ();
14
15 open FILE, $filename;
16 while (my $line = <FILE>) {
17
18     while ($line =~ /(accesskey|label|value)="(.+?)"/g) {
19         my $attr = $1;
20         my $value = $2; if ( $value =~ /^&.+;$/ ) { next; } # Already an entity
21         my $entity = $value; $entity =~ s/\W/_/g; $entity = $entity_prefix . $entity . ( $attr eq "accesskey" ? ".accesskey" : ".label" );
22         $line =~ s/$value/&$entity;/g;
23         print STDERR qq^<!ENTITY $entity "$value">\n^;
24     }
25     print STDOUT $line;
26
27 }
28 close FILE;