From adc642b291761c466daed3dc45de1eb334650df7 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Tue, 19 Aug 2003 14:16:46 +0000 Subject: adapt to new documentation layout --- perl-install/share/po/help_xml2pm.pl | 62 ++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 28 deletions(-) (limited to 'perl-install/share') diff --git a/perl-install/share/po/help_xml2pm.pl b/perl-install/share/po/help_xml2pm.pl index e9875b831..de70dfc49 100755 --- a/perl-install/share/po/help_xml2pm.pl +++ b/perl-install/share/po/help_xml2pm.pl @@ -12,21 +12,23 @@ if ( ! -x "$xsltproc" ){ print "so type \"urpmi libxslt-proc\" please.\n"; exit 1; } -my @langs = grep { !/pt/ } grep { /^..$/ && -e "$dir/$_/drakx-chapter.xml" } all($dir) or die "no XML help found in $dir\n"; my %helps = map { my $lang = $_; - my $file = "$dir/$lang/drakx_full.xml"; - my $template_file = "$dir/$lang/drakx.xml"; + my @l = grep { !/drakx-MNF-chapter/ } map { /(drakx-.*).xml$/ } all("$dir/$lang"); + warn int(@l), " ", "\n"; + if (@l < 20) { () } else { + my $template_file = "$dir/$lang/drakx.xml"; + my $file = "$dir/$lang/drakx_full.xml"; + output($template_file, template($lang, @l)); + system("$xsltproc id.xsl $template_file > $file") == 0 or die "$xsltproc id.xsl $template_file failed\n"; - output($template_file, do { (my $s = $template) =~ s/__LANG__/$lang/g; $s }); - system("$xsltproc id.xsl $template_file > $file") == 0 or die "$xsltproc id.xsl $template_file failed\n"; - - my $p = new XML::Parser(Style => 'Tree'); - my $tree = $p->parsefile($file); + my $p = new XML::Parser(Style => 'Tree'); + my $tree = $p->parsefile($file); - $lang => rewrite2(rewrite1(@$tree), $lang); -} @langs; + $lang => rewrite2(rewrite1(@$tree), $lang); + } +} all($dir); my $base = delete $helps{en} || die; save_help($base); @@ -162,7 +164,7 @@ sub rewrite2_ { !$tree->{attr}{condition} || $tree->{attr}{condition} !~ /no-inline-help/ or return ''; my @prev_inside_strings; - my ($id) = $tree->{attr}{id} ? $tree->{attr}{id} =~ /drakxid-(.+)/ : (); + my ($id) = $tree->{attr}{id} ? $tree->{attr}{id} =~ /drakxid-([^-]+)$/ : (); if ($id) { @prev_inside_strings = @inside_strings; @inside_strings = (); @@ -267,41 +269,45 @@ sub to_ascii { $_; } -BEGIN { - $template = <<'EOF'; +sub template { + my ($lang, @l) = @_; + my $entities = join("\n", map { qq() } @l); + my $body = join("\n", map { '&' . $_ . ';' } @l); + + < +$entities - + %params.ent; - + %strings.ent; - + %acronym-list; - + %button-list; - + %companies; - + %icon-list; - + %menu-list; - + %tab-list; - + %tech; - + %text-field-list; - + %titles; - + %typo; %common; @@ -310,14 +316,14 @@ BEGIN { %prog-list; - + ]> DrakX Documentation - &drakx-chapter; +$body EOF -- cgit v1.2.1