texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo/tp Texinfo/Convert/DocBook.pm Texinfo/C...


From: Patrice Dumas
Subject: texinfo/tp Texinfo/Convert/DocBook.pm Texinfo/C...
Date: Sun, 09 Sep 2012 16:51:47 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        12/09/09 16:51:47

Modified files:
        tp/Texinfo/Convert: DocBook.pm XML.pm 
        tp/t           : converters_tests.t test_utils.pl 
        tp/tests/formatting/res_parser/cond_xml: cond.xml 
Added files:
        tp/t/results/converters_tests/char_latin1_latin1_in_refs/res_docbook: 
                                                                              
char_latin1_utf8_in_refs.xml 
        tp/t/results/converters_tests/char_latin1_latin1_in_refs/res_xml: 
                                                                          
char_latin1_utf8_in_refs.xml 

Log message:
        Add an encoding information to xml output files, if needed.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/DocBook.pm?cvsroot=texinfo&r1=1.50&r2=1.51
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/XML.pm?cvsroot=texinfo&r1=1.83&r2=1.84
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/converters_tests.t?cvsroot=texinfo&r1=1.38&r2=1.39
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.120&r2=1.121
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/converters_tests/char_latin1_latin1_in_refs/res_docbook/char_latin1_utf8_in_refs.xml?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/converters_tests/char_latin1_latin1_in_refs/res_xml/char_latin1_utf8_in_refs.xml?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/tests/formatting/res_parser/cond_xml/cond.xml?cvsroot=texinfo&r1=1.3&r2=1.4

Patches:
Index: Texinfo/Convert/DocBook.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/DocBook.pm,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- Texinfo/Convert/DocBook.pm  4 Aug 2012 22:45:44 -0000       1.50
+++ Texinfo/Convert/DocBook.pm  9 Sep 2012 16:51:46 -0000       1.51
@@ -317,6 +317,11 @@
 
   $self->_set_global_multiple_commands(-1);
 
+  my $encoding = '';
+  if ($self->{'encoding_name'} and $self->{'encoding_name'} ne 'utf-8') {
+    $encoding = " encoding=\"$self->{'encoding_name'}\" ";
+  }
+
   my $id;
   if ($self->{'output_file'} ne '') {
     my $output_filename = $self->{'output_filename'};
@@ -325,7 +330,7 @@
     $id = '';
   }
 
-  my $header = '<?xml version="1.0"?>
+  my $header =  "<?xml version=\"1.0\"${encoding}?>".'
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"; [
   <!ENTITY tex "TeX">
   <!ENTITY latex "LaTeX">

Index: Texinfo/Convert/XML.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/XML.pm,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -b -r1.83 -r1.84
--- Texinfo/Convert/XML.pm      9 Sep 2012 11:10:21 -0000       1.83
+++ Texinfo/Convert/XML.pm      9 Sep 2012 16:51:46 -0000       1.84
@@ -270,7 +270,7 @@
 
   my $fh;
   if (! $self->{'output_file'} eq '') {
-    $fh = $self->Texinfo::Common::open_out ($self->{'output_file'});
+    $fh = $self->Texinfo::Common::open_out($self->{'output_file'});
     if (!$fh) {
       $self->document_error(sprintf($self->__("Could not open %s for writing: 
%s"),
                                     $self->{'output_file'}, $!));
@@ -279,7 +279,13 @@
   }
 
   $self->_set_global_multiple_commands(-1);
-  my $header =  '<?xml version="1.0"?>
+
+  my $encoding = '';
+  if ($self->{'encoding_name'} and $self->{'encoding_name'} ne 'utf-8') {
+    $encoding = " encoding=\"$self->{'encoding_name'}\" ";
+  }
+
+  my $header =  "<?xml version=\"1.0\"${encoding}?>".'
 <!DOCTYPE texinfo PUBLIC "-//GNU//DTD TexinfoML V4.12//EN" 
"http://www.gnu.org/software/texinfo/dtd/4.12/texinfo.dtd";>
 <texinfo xml:lang="' . $self->get_conf('documentlanguage') ."\">\n";
   if ($self->{'output_file'} ne '') {

Index: t/converters_tests.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/converters_tests.t,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- t/converters_tests.t        5 Sep 2012 22:15:50 -0000       1.38
+++ t/converters_tests.t        9 Sep 2012 16:51:46 -0000       1.39
@@ -841,6 +841,10 @@
  'line_breaks' => 1,
 );
 
+my %xml_file_tests = (
+ 'char_latin1_latin1_in_refs' => 1,
+);
+
 foreach my $test (@test_cases) {
   push @{$test->[2]->{'test_formats'}}, 'plaintext';
   if ($html_tests{$test->[0]}) {
@@ -861,6 +865,9 @@
 foreach my $test (@file_tests) {
   push @{$test->[2]->{'test_formats'}}, 'file_html';
   push @{$test->[2]->{'test_formats'}}, 'file_info';
+  if ($xml_file_tests{$test->[0]}) {
+    push @{$test->[2]->{'test_formats'}}, ('file_xml', 'file_docbook');
+  }
 }
 
 our ($arg_test_case, $arg_generate, $arg_debug);

Index: t/test_utils.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_utils.pl,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -b -r1.120 -r1.121
--- t/test_utils.pl     23 Aug 2012 18:14:31 -0000      1.120
+++ t/test_utils.pl     9 Sep 2012 16:51:47 -0000       1.121
@@ -99,7 +99,9 @@
   'file_html' => \&convert_to_html,
   'html_text' => \&convert_to_html,
   'xml' => \&convert_to_xml,
+  'file_xml' => \&convert_to_xml,
   'docbook' => \&convert_to_docbook,
+  'file_docbook' => \&convert_to_docbook,
   'debugcount' => \&debugcount,
 );
 
@@ -530,11 +532,17 @@
   my $converter =
      Texinfo::Convert::XML->converter ({'DEBUG' => $self->{'DEBUG'},
                                          'parser' => $parser,
-                                         'OUTFILE' => '',
                                          'output_format' => 'xml',
                                           %$converter_options });
-  my $result = $converter->convert($tree);
-  die if (!defined($result));
+
+  my $result;
+  if (defined($converter_options->{'OUTFILE'}) 
+      and $converter_options->{'OUTFILE'} eq '') {
+    $result = $converter->convert($tree);
+  } else {
+    $result = $converter->output($tree);
+    $result = undef if (defined($result and $result eq ''));
+  }
   my ($errors, $error_nrs) = $converter->errors();
   return ($errors, $result);
 }
@@ -555,11 +563,16 @@
   my $converter =
      Texinfo::Convert::DocBook->converter ({'DEBUG' => $self->{'DEBUG'},
                                          'parser' => $parser,
-                                         'OUTFILE' => '',
                                          'output_format' => 'docbook',
                                           %$converter_options });
-  my $result = $converter->convert($tree);
-  die if (!defined($result));
+  my $result;
+  if (defined($converter_options->{'OUTFILE'}) 
+      and $converter_options->{'OUTFILE'} eq '') {
+    $result = $converter->convert($tree);
+  } else {
+    $result = $converter->output($tree);
+    $result = undef if (defined($result and $result eq ''));
+  }
   my ($errors, $error_nrs) = $converter->errors();
   return ($errors, $result);
 }

Index: tests/formatting/res_parser/cond_xml/cond.xml
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/tests/formatting/res_parser/cond_xml/cond.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- tests/formatting/res_parser/cond_xml/cond.xml       3 Sep 2012 21:58:51 
-0000       1.3
+++ tests/formatting/res_parser/cond_xml/cond.xml       9 Sep 2012 16:51:47 
-0000       1.4
@@ -26,4 +26,5 @@
 
 <para>This is ifnottex text.
 </para>
+<bye></bye>
 </texinfo>

Index: 
t/results/converters_tests/char_latin1_latin1_in_refs/res_docbook/char_latin1_utf8_in_refs.xml
===================================================================
RCS file: 
t/results/converters_tests/char_latin1_latin1_in_refs/res_docbook/char_latin1_utf8_in_refs.xml
diff -N 
t/results/converters_tests/char_latin1_latin1_in_refs/res_docbook/char_latin1_utf8_in_refs.xml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
t/results/converters_tests/char_latin1_latin1_in_refs/res_docbook/char_latin1_utf8_in_refs.xml
      9 Sep 2012 16:51:47 -0000       1.1
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"; [
+  <!ENTITY tex "TeX">
+  <!ENTITY latex "LaTeX">
+]>
+<book id="char_latin1_utf8_in_refs.xml" lang="en">
+
+
+<chapter label="" id="Top">
+<title>top</title>
+
+<index role="cp"></index>
+
+
+</chapter>
+<chapter label="1" 
id="_00e4-_00eb-_00ef-_00f6-_00fc-_00ff-_00c4-_00cb-_00cf-_00d6-_00dc">
+<title>ä ë ï ö ü ÿ Ä Ë Ï Ö Ü</title>
+
+</chapter>
+<chapter label="2" id="_00e9">
+<title>é</title>
+
+</chapter>
+<chapter label="3" id="_00e0-_00e8-_00f9">
+<title>à è ù</title>
+
+</chapter>
+<chapter label="4" 
id="_00e2-_00ea-_00ee-_00f4-_00fb-_00c2-_00ca-_00ce-_00d4-_00db">
+<title>â ê î ô û Â Ê Î Ô Û</title>
+
+</chapter>
+<chapter label="5" id="_00e7">
+<title>ç</title>
+
+<para><link 
linkend="_00e4-_00eb-_00ef-_00f6-_00fc-_00ff-_00c4-_00cb-_00cf-_00d6-_00dc">ä ë 
ï ö ü ÿ Ä Ë Ï Ö Ü</link>
+<link linkend="_00e9">é</link>
+<link linkend="_00e0-_00e8-_00f9">à è ù</link>
+<link linkend="_00e2-_00ea-_00ee-_00f4-_00fb-_00c2-_00ca-_00ce-_00d4-_00db">â 
ê î ô û Â Ê Î Ô Û</link>
+<link linkend="_00e7">ç</link>
+</para>
+<indexterm role="cp"><primary>ä ë ï ö ü ÿ</primary></indexterm>
+<indexterm role="cp"><primary>Ä Ë Ï Ö Ü</primary></indexterm>
+<indexterm role="cp"><primary>é</primary></indexterm>
+<indexterm role="cp"><primary>è</primary></indexterm>
+<indexterm role="cp"><primary>â ê î ô û Â Ê Î Ô Û</primary></indexterm>
+<indexterm role="cp"><primary>ç</primary></indexterm>
+
+</chapter>
+</book>

Index: 
t/results/converters_tests/char_latin1_latin1_in_refs/res_xml/char_latin1_utf8_in_refs.xml
===================================================================
RCS file: 
t/results/converters_tests/char_latin1_latin1_in_refs/res_xml/char_latin1_utf8_in_refs.xml
diff -N 
t/results/converters_tests/char_latin1_latin1_in_refs/res_xml/char_latin1_utf8_in_refs.xml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ 
t/results/converters_tests/char_latin1_latin1_in_refs/res_xml/char_latin1_utf8_in_refs.xml
  9 Sep 2012 16:51:47 -0000       1.1
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE texinfo PUBLIC "-//GNU//DTD TexinfoML V4.12//EN" 
"http://www.gnu.org/software/texinfo/dtd/4.12/texinfo.dtd";>
+<texinfo xml:lang="en">
+<filename file="char_latin1_utf8_in_refs.xml"></filename>
+<preamble>\input texinfo
+
+</preamble><setfilename file="char_latin1_utf8_in_refs.info" spaces=" 
">char_latin1_utf8_in_refs.info</setfilename>
+
+<documentencoding encoding="iso-8859-1" spaces=" 
">iso-8859-1</documentencoding>
+
+<node name="Top" spaces=" "><nodename>Top</nodename><nodenext automatic="on">ä 
ë ï ö ü ÿ Ä Ë Ï Ö Ü</nodenext><nodeup automatic="on">(dir)</nodeup></node>
+<top spaces=" "><sectiontitle>top</sectiontitle>
+
+<printindex value="cp" line=" cp"></printindex>
+
+<menu endspaces=" ">
+<menuentry leadingtext="* "><menunode separator="::">ä ë ï ö ü ÿ Ä Ë Ï Ö 
Ü</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode 
separator="::">é</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode 
separator="::">à è ù</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode 
separator="::">â ê î ô û Â Ê Î Ô Û</menunode><menudescription><pre 
xml:space="preserve">
+</pre></menudescription></menuentry><menuentry leadingtext="* "><menunode 
separator="::">ç</menunode><menudescription><pre xml:space="preserve">
+</pre></menudescription></menuentry></menu>
+
+</top>
+<node name="_00e4-_00eb-_00ef-_00f6-_00fc-_00ff-_00c4-_00cb-_00cf-_00d6-_00dc" 
spaces=" "><nodename>ä ë ï ö ü ÿ Ä Ë Ï Ö Ü</nodename><nodenext 
automatic="on">é</nodenext><nodeprev automatic="on">Top</nodeprev><nodeup 
automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>ä ë ï ö ü ÿ Ä Ë Ï Ö Ü</sectiontitle>
+
+</chapter>
+<node name="_00e9" spaces=" "><nodename>é</nodename><nodenext automatic="on">à 
è ù</nodenext><nodeprev automatic="on">ä ë ï ö ü ÿ Ä Ë Ï Ö Ü</nodeprev><nodeup 
automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>é</sectiontitle>
+
+</chapter>
+<node name="_00e0-_00e8-_00f9" spaces=" "><nodename>à è ù</nodename><nodenext 
automatic="on">â ê î ô û Â Ê Î Ô Û</nodenext><nodeprev 
automatic="on">é</nodeprev><nodeup automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>à è ù</sectiontitle>
+
+</chapter>
+<node name="_00e2-_00ea-_00ee-_00f4-_00fb-_00c2-_00ca-_00ce-_00d4-_00db" 
spaces=" "><nodename>â ê î ô û Â Ê Î Ô Û</nodename><nodenext 
automatic="on">ç</nodenext><nodeprev automatic="on">à è ù</nodeprev><nodeup 
automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>â ê î ô û Â Ê Î Ô Û</sectiontitle>
+
+</chapter>
+<node name="_00e7" spaces=" "><nodename>ç</nodename><nodeprev automatic="on">â 
ê î ô û Â Ê Î Ô Û</nodeprev><nodeup automatic="on">Top</nodeup></node>
+<chapter spaces=" "><sectiontitle>ç</sectiontitle>
+
+<para><ref><xrefnodename>ä ë ï ö ü ÿ Ä Ë Ï Ö Ü</xrefnodename></ref>
+<ref><xrefnodename>é</xrefnodename></ref>
+<ref><xrefnodename>à è ù</xrefnodename></ref>
+<ref><xrefnodename>â ê î ô û Â Ê Î Ô Û</xrefnodename></ref>
+<ref><xrefnodename>ç</xrefnodename></ref>
+</para>
+<cindex index="cp" spaces=" "><indexterm index="cp">ä ë ï ö ü 
ÿ</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp">Ä Ë Ï Ö 
Ü</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp">é</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp">è</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp">â ê î ô û Â Ê Î Ô 
Û</indexterm></cindex>
+<cindex index="cp" spaces=" "><indexterm index="cp">ç</indexterm></cindex>
+
+</chapter>
+<bye></bye>
+</texinfo>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]