texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp Texinfo/Convert/XML.pm t/22xtable.t ...


From: Patrice Dumas
Subject: texinfo/tp Texinfo/Convert/XML.pm t/22xtable.t ...
Date: Thu, 08 Sep 2011 22:53:11 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        11/09/08 22:53:11

Modified files:
        tp/Texinfo/Convert: XML.pm 
        tp/t           : 22xtable.t test_utils.pl 
        tp/t/results/xtable: accent_on_table_line.pl 
                             definfoenclose_on_table_line.pl 
                             empty_item_itemx.pl 
                             inter_item_commands_in_table.pl 
                             long_item.pl table_nested.pl 

Log message:
        Handle @definfoenclos'ed command to format @?table items.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/XML.pm?cvsroot=texinfo&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/22xtable.t?cvsroot=texinfo&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.95&r2=1.96
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/xtable/accent_on_table_line.pl?cvsroot=texinfo&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/xtable/definfoenclose_on_table_line.pl?cvsroot=texinfo&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/xtable/empty_item_itemx.pl?cvsroot=texinfo&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/xtable/inter_item_commands_in_table.pl?cvsroot=texinfo&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/xtable/long_item.pl?cvsroot=texinfo&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/xtable/table_nested.pl?cvsroot=texinfo&r1=1.11&r2=1.12

Patches:
Index: Texinfo/Convert/XML.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/XML.pm,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- Texinfo/Convert/XML.pm      8 Sep 2011 22:25:46 -0000       1.22
+++ Texinfo/Convert/XML.pm      8 Sep 2011 22:53:10 -0000       1.23
@@ -18,11 +18,6 @@
 # Original author: Patrice Dumas <address@hidden>
 
 # msg Karl: 
-#       if a 'command_as_argument' is definfoenclosed should lead to
-#        @definfoenclose a,:,:
-#        <table commandarg="a" begin=":" end=":">
-#        ..... <item><itemformat infoenclose="a" begin=":" end=":"> ...
-#       @itemize: add a <prepend>&bullet;</prepend> if needed.
 #       consistently use command="@$command" 
 
 
@@ -429,6 +424,20 @@
   return ($converted, $end_line);
 }
 
+sub _infoenclose_attribute($$) {
+  my $self = shift;
+  my $root = shift;
+  my $attribute = '';
+  return '' if (!$root->{'extra'});
+  $attribute .= " begin=\"".
+        $self->xml_protect_text($root->{'extra'}->{'begin'})."\""
+    if (defined($root->{'extra'}->{'begin'}));
+  $attribute .= "  end=\"".
+        $self->xml_protect_text($root->{'extra'}->{'end'})."\""
+    if (defined($root->{'extra'}->{'end'}));
+  return $attribute;
+}
+
 my @node_directions = ('Next', 'Prev', 'Up');
 
 sub convert($$;$)
@@ -508,14 +517,17 @@
                and $root->{'parent'}->{'type'} eq 'table_term') {
         my $table_command = $root->{'parent'}->{'parent'}->{'parent'};
         my $format_item_command;
+        my $attribute;
         if ($table_command->{'extra'} 
             and $table_command->{'extra'}->{'command_as_argument'}) {
           $format_item_command 
             = $table_command->{'extra'}->{'command_as_argument'}->{'cmdname'};
+          $attribute 
+           = 
$self->_infoenclose_attribute($table_command->{'extra'}->{'command_as_argument'});
         }
         $result .= "<$root->{'cmdname'}>";
         if ($format_item_command) {
-          $result .= "<itemformat command=\"address@hidden">";
+          $result .= "<itemformat command=\"address@hidden"${attribute}>";
         }
         $result .= $self->_index_entry($root);
         # FIXME
@@ -715,10 +727,9 @@
             and defined($default_args_code_style{$root->{'cmdname'}}->[0]));
       $self->{'document_context'}->[-1]->{'code'}++ if ($in_code);
       my $arg = $self->_convert($root->{'args'}->[0]);
-      $result .= "<infoenclose command=\"$root->{'cmdname'}\" begin=\"".
-        $self->xml_protect_text($root->{'extra'}->{'begin'})."\" end=\"".
-        $self->xml_protect_text($root->{'extra'}->{'end'})
-        ."\">$arg</infoenclose>";
+      $result .= "<infoenclose command=\"$root->{'cmdname'}\""
+         . $self->_infoenclose_attribute($root)
+        .">$arg</infoenclose>";
       $self->{'document_context'}->[-1]->{'code'}-- if ($in_code);
     } elsif ($root->{'args'}
              and exists($Texinfo::Common::brace_commands{$root->{'cmdname'}})) 
{
@@ -774,8 +785,10 @@
       }
       my $attribute = '';
       if ($root->{'extra'} and $root->{'extra'}->{'command_as_argument'}) {
+        my $command_as_arg = $root->{'extra'}->{'command_as_argument'};
         $attribute 
-         .= " 
commandarg=\"address@hidden>{'extra'}->{'command_as_argument'}->{'cmdname'}\"";
+         .= " commandarg=\"address@hidden>{'cmdname'}\""
+             .$self->_infoenclose_attribute($command_as_arg);
       } elsif ($root->{'extra'}
                and $root->{'extra'}->{'enumerate_specification'}) {
         $attribute .= " first=\""
@@ -988,13 +1001,4 @@
   return $result;
 }
 
-
-#set_default('NUMBER_SECTIONS', 0);
-
-# $complex_format_map{$complex_format}->{'begin'} = "<$complex_format 
xml:space=\"preserve\">";
-#   $complex_format_map{$complex_format}->{'end'} = "</$complex_format>";
-
-#   my $tag = 'inlineimage';
-#    $tag = 'image' if ($preformatted or !$in_paragraph);
-
 1;

Index: t/22xtable.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/22xtable.t,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- t/22xtable.t        3 Sep 2011 10:29:18 -0000       1.11
+++ t/22xtable.t        8 Sep 2011 22:53:10 -0000       1.12
@@ -180,6 +180,7 @@
 foreach my $test (@test_cases) {
   push @{$test->[2]->{'test_formats'}}, 'plaintext';
   push @{$test->[2]->{'test_formats'}}, 'html_text';
+  push @{$test->[2]->{'test_formats'}}, 'xml';
 }
 
 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.95
retrieving revision 1.96
diff -u -b -r1.95 -r1.96
--- t/test_utils.pl     6 Sep 2011 20:20:44 -0000       1.95
+++ t/test_utils.pl     8 Sep 2011 22:53:10 -0000       1.96
@@ -659,8 +659,8 @@
     if (@tested_formats) {
       foreach my $format (@tested_formats) {
         if (!defined($result_converted{$format})) {
-          print STDERR "\n$format $test_name:\n$converted{$format}"#;
-             if ($format ne 'xml');
+          print STDERR "\n$format $test_name:\n$converted{$format}";
+          #   if ($format ne 'xml');
         } else {
           $tests_count += 2;
           ok ($converted{$format} eq $result_converted{$format}->{$test_name},

Index: t/results/xtable/accent_on_table_line.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/xtable/accent_on_table_line.pl,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- t/results/xtable/accent_on_table_line.pl    3 Sep 2011 10:29:40 -0000       
1.12
+++ t/results/xtable/accent_on_table_line.pl    8 Sep 2011 22:53:10 -0000       
1.13
@@ -300,4 +300,11 @@
 </dl>
 ';
 
+
+$result_converted{'xml'}->{'accent_on_table_line'} = '<table 
commandarg="@asis">
+<tableentry><tableterm><item><itemformat command="@asis">first 
item</itemformat></item>
+</tableterm></tableentry><tableentry><tableterm><item><itemformat 
command="@asis">no at-command <code>code</code></itemformat></item>
+</tableterm></tableentry></table>
+';
+
 1;

Index: t/results/xtable/definfoenclose_on_table_line.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/xtable/definfoenclose_on_table_line.pl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- t/results/xtable/definfoenclose_on_table_line.pl    3 Sep 2011 10:29:40 
-0000       1.11
+++ t/results/xtable/definfoenclose_on_table_line.pl    8 Sep 2011 22:53:10 
-0000       1.12
@@ -356,4 +356,15 @@
 </dl>
 ';
 
+
+$result_converted{'xml'}->{'definfoenclose_on_table_line'} = '<definfoenclose 
command="phi" open=":" close=":"></definfoenclose>
+
+<table commandarg="@phi" begin=":"  end=":">
+<tableentry><tableterm><item><itemformat command="@phi" begin=":"  
end=":">item</itemformat></item>
+<itemx><itemformat command="@phi" begin=":"  end=":">item 
x</itemformat></itemx>
+</tableterm><tableitem>
+<para>table content.
+</para></tableitem></tableentry></table>
+';
+
 1;

Index: t/results/xtable/empty_item_itemx.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/xtable/empty_item_itemx.pl,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- t/results/xtable/empty_item_itemx.pl        3 Sep 2011 21:51:38 -0000       
1.15
+++ t/results/xtable/empty_item_itemx.pl        8 Sep 2011 22:53:11 -0000       
1.16
@@ -537,4 +537,17 @@
 </dl>
 ';
 
+
+$result_converted{'xml'}->{'empty_item_itemx'} = '<vtable commandarg="@asis">
+
+<para>VTable
+</para>
+<tableentry><tableterm><item><itemformat command="@asis"><indexterm 
index="vr">first item</indexterm>first item</itemformat></item>
+<itemx><itemformat command="@asis"></itemformat></itemx>
+<itemx><itemformat command="@asis"><indexterm index="vr">after an empty itemx, 
before an empty item</indexterm>after an empty itemx, before an empty 
item</itemformat></itemx>
+</tableterm></tableentry><tableentry><tableterm><item><itemformat 
command="@asis"> </itemformat></item>
+</tableterm></tableentry><tableentry><tableterm><item><itemformat 
command="@asis"><indexterm index="vr">in item before end table</indexterm>in 
item before end table</itemformat></item>
+</tableterm></tableentry></vtable>
+';
+
 1;

Index: t/results/xtable/inter_item_commands_in_table.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/xtable/inter_item_commands_in_table.pl,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- t/results/xtable/inter_item_commands_in_table.pl    4 Sep 2011 12:14:06 
-0000       1.13
+++ t/results/xtable/inter_item_commands_in_table.pl    8 Sep 2011 22:53:11 
-0000       1.14
@@ -1844,4 +1844,48 @@
 </dl>
 ';
 
+
+$result_converted{'xml'}->{'inter_item_commands_in_table'} = '<vtable 
commandarg="@code">
+<!--  comment in table -->
+<tableentry><tableterm><item><itemformat command="@code"><indexterm 
index="vr">a</indexterm>a</itemformat></item>
+</tableterm><tableitem><para>l&textndash;ine
+</para></tableitem></tableentry></vtable>
+
+<vtable commandarg="@asis">
+<tableentry><tableterm><item><itemformat command="@asis"><indexterm 
index="vr">a</indexterm>a</itemformat></item>
+<!--  comment between item and itemx -->
+<itemx><itemformat command="@asis"><indexterm 
index="vr">b</indexterm>b</itemformat></itemx>
+</tableterm><tableitem><para>l&textndash;ine
+</para></tableitem></tableentry></vtable>
+
+<ftable commandarg="@var">
+<tableentry><tableterm><item><itemformat command="@var"><indexterm 
index="fn">a</indexterm>a</itemformat></item>
+<cindex index="cp"><indexterm index="cp">index entry between item and 
itemx</indexterm></cindex>
+<!--  and a comment -->
+<!--  and another comment -->
+<itemx><itemformat command="@var"><indexterm 
index="fn">b</indexterm>b</itemformat></itemx>
+</tableterm><tableitem><para>l&textndash;ine
+</para></tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@var"><indexterm index="fn">c</indexterm>c</itemformat></item>
+
+<!--  comment between lines -->
+
+<itemx><itemformat command="@var"><indexterm 
index="fn">d</indexterm>d</itemformat></itemx>
+</tableterm><tableitem>
+<!--  comment at end -->
+</tableitem></tableentry></ftable>
+
+<table commandarg="@code">
+<cindex index="cp"><indexterm index="cp">cindex in table</indexterm></cindex>
+<!--  comment in table -->
+<tableentry><tableterm><item><itemformat 
command="@code">abb</itemformat></item>
+</tableterm><tableitem><para>l&textndash;ine
+</para></tableitem></tableentry></table>
+
+<table commandarg="@code">
+<cindex index="cp"><indexterm index="cp">cindex in table</indexterm></cindex>
+<para>Texte before first item.
+</para><tableentry><tableterm><item><itemformat 
command="@code">abb</itemformat></item>
+</tableterm></tableentry></table>
+';
+
 1;

Index: t/results/xtable/long_item.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/xtable/long_item.pl,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- t/results/xtable/long_item.pl       3 Sep 2011 10:29:42 -0000       1.10
+++ t/results/xtable/long_item.pl       8 Sep 2011 22:53:11 -0000       1.11
@@ -245,4 +245,13 @@
 </dl>
 ';
 
+
+$result_converted{'xml'}->{'long_item'} = '<table commandarg="@emph">
+<tableentry><tableterm><item><itemformat command="@emph">first item      
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa</itemformat></item>
+<itemx><itemformat command="@emph">second itemx bbbbbbbbbbbbbbbbbbbbbbbbbbbbb 
b b b b b b b b b b b b b</itemformat></itemx>
+</tableterm><tableitem>
+<para>Text.
+</para></tableitem></tableentry></table>
+';
+
 1;

Index: t/results/xtable/table_nested.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/xtable/table_nested.pl,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- t/results/xtable/table_nested.pl    3 Sep 2011 21:51:39 -0000       1.11
+++ t/results/xtable/table_nested.pl    8 Sep 2011 22:53:11 -0000       1.12
@@ -3284,4 +3284,108 @@
 </blockquote>
 ';
 
+
+$result_converted{'xml'}->{'table_nested'} = '<macro>
address@hidden @asis
address@hidden first item
address@hidden second itemx
+
+Text.
+
address@hidden second item
+
+Text 2
+
address@hidden last
address@hidden vtable
+
+Something.
address@hidden @emph
address@hidden in item
+Text without blank line
address@hidden second item
+Text without blank line 2
address@hidden table
+After table.
+</macro>
+
+
+<para>Quotation
+</para><quotation>
+<vtable commandarg="@asis">
+<tableentry><tableterm><item><itemformat command="@asis"><indexterm 
index="vr">first item</indexterm>first item</itemformat></item>
+<itemx><itemformat command="@asis"><indexterm index="vr">second 
itemx</indexterm>second itemx</itemformat></itemx>
+</tableterm><tableitem>
+<para>Text.
+</para>
+</tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@asis"><indexterm index="vr">second item</indexterm>second 
item</itemformat></item>
+</tableterm><tableitem>
+<para>Text 2
+</para>
+</tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@asis"><indexterm index="vr">last</indexterm>last</itemformat></item>
+</tableterm></tableentry></vtable>
+
+<para>Something.
+</para><table commandarg="@emph">
+<tableentry><tableterm><item><itemformat command="@emph">in 
item</itemformat></item>
+</tableterm><tableitem><para>Text without blank line
+</para></tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@emph">second item</itemformat></item>
+</tableterm><tableitem><para>Text without blank line 2
+</para></tableitem></tableentry></table>
+<para>After table.
+</para></quotation>
+
+<para>Example
+</para><example>
+<vtable commandarg="@asis">
+<tableentry><tableterm><item><itemformat command="@asis"><indexterm 
index="vr">first item</indexterm>first item</itemformat></item>
+<itemx><itemformat command="@asis"><indexterm index="vr">second 
itemx</indexterm>second itemx</itemformat></itemx>
+</tableterm><tableitem><pre xml:space="preserve">
+Text.
+
+</pre></tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@asis"><indexterm index="vr">second item</indexterm>second 
item</itemformat></item>
+</tableterm><tableitem><pre xml:space="preserve">
+Text 2
+
+</pre></tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@asis"><indexterm index="vr">last</indexterm>last</itemformat></item>
+</tableterm></tableentry></vtable>
+<pre xml:space="preserve">
+Something.
+</pre><table commandarg="@emph">
+<tableentry><tableterm><item><itemformat command="@emph">in 
item</itemformat></item>
+</tableterm><tableitem><pre xml:space="preserve">Text without blank line
+</pre></tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@emph">second item</itemformat></item>
+</tableterm><tableitem><pre xml:space="preserve">Text without blank line 2
+</pre></tableitem></tableentry></table>
+<pre xml:space="preserve">After table.
+</pre></example>
+
+<para>Double quotation
+</para><quotation>
+<quotation>
+<vtable commandarg="@asis">
+<tableentry><tableterm><item><itemformat command="@asis"><indexterm 
index="vr">first item</indexterm>first item</itemformat></item>
+<itemx><itemformat command="@asis"><indexterm index="vr">second 
itemx</indexterm>second itemx</itemformat></itemx>
+</tableterm><tableitem>
+<para>Text.
+</para>
+</tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@asis"><indexterm index="vr">second item</indexterm>second 
item</itemformat></item>
+</tableterm><tableitem>
+<para>Text 2
+</para>
+</tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@asis"><indexterm index="vr">last</indexterm>last</itemformat></item>
+</tableterm></tableentry></vtable>
+
+<para>Something.
+</para><table commandarg="@emph">
+<tableentry><tableterm><item><itemformat command="@emph">in 
item</itemformat></item>
+</tableterm><tableitem><para>Text without blank line
+</para></tableitem></tableentry><tableentry><tableterm><item><itemformat 
command="@emph">second item</itemformat></item>
+</tableterm><tableitem><para>Text without blank line 2
+</para></tableitem></tableentry></table>
+<para>After table.
+</para></quotation>
+</quotation>
+';
+
 1;



reply via email to

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