diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 1d1401807e95..e4fa8d9568ba 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -182,10 +182,10 @@ my $blankline_html = $local_lt . "p" . $local_gt; # was "
"
my %highlights_xml = ( "([^=])\\\"([^\\\"<]+)\\\"", "\$1\$2
",
$type_constant, "\$1",
$type_func, "\$1",
- $type_struct, "\$1",
+ $type_struct_xml, "\$1",
$type_env, "\$1",
$type_param, "\$1" );
-my $blankline_xml = "\n";
+my $blankline_xml = $local_lt . "/para" . $local_gt . $local_lt . "para" . $local_gt . "\n";
# gnome, docbook format
my %highlights_gnome = ( $type_constant, "\$1",
@@ -394,7 +394,7 @@ sub output_highlight {
# confess "output_highlight got called with no args?\n";
# }
- if ($output_mode eq "html") {
+ if ($output_mode eq "html" || $output_mode eq "xml") {
$contents = local_unescape($contents);
# convert data read & converted thru xml_escape() into &xyz; format:
$contents =~ s/\\\\\\/&/g;