#!/usr/bin/perl -w # # Collect all the element types from an XML file, and make simple CSS # to format it all as an outline with headings. Then you can edit that # into something nicer. # use strict; my %tagCounts = (); # Frequency of each element type my @tags = (); # What tags occur, in order of first occurrence my $maxlen = 0; while (my $l = <>) { chomp $l; $l =~ s/^.*? $maxlen) { $maxlen = length($t); } push @tags,$t; } $tagCounts{$t}++; } } $maxlen += length(":before"); for my $t (@tags) { print " " . pad($t,$maxlen) . " { display:block; margin-left:18pt; }\n"; print " " . pad("$t:before",$maxlen) . " { font-weight:bold; content:'$t: '; }\n"; } warn scalar(@tags) . " styles written.\n"; exit; sub pad { my $s = $_[0]; if (length($s)<$_[1]) { $s .= " " x ($_[1] - length($s)); } return($s); }