[Top][All Lists]
[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>•</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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/tp Texinfo/Convert/XML.pm t/22xtable.t ...,
Patrice Dumas <=