[LON-CAPA-cvs] cvs: loncom /homework/cleanxml post_xml.pm
damieng
damieng at source.lon-capa.org
Thu Jan 21 17:09:38 EST 2016
damieng Thu Jan 21 22:09:38 2016 EDT
Modified files:
/loncom/homework/cleanxml post_xml.pm
Log:
Use <pre> for multi-line comments without elements.
Index: loncom/homework/cleanxml/post_xml.pm
diff -u loncom/homework/cleanxml/post_xml.pm:1.8 loncom/homework/cleanxml/post_xml.pm:1.9
--- loncom/homework/cleanxml/post_xml.pm:1.8 Wed Jan 20 00:40:39 2016
+++ loncom/homework/cleanxml/post_xml.pm Thu Jan 21 22:09:38 2016
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Third step to clean a file.
#
-# $Id: post_xml.pm,v 1.8 2016/01/20 00:40:39 damieng Exp $
+# $Id: post_xml.pm,v 1.9 2016/01/21 22:09:38 damieng Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -128,6 +128,8 @@
remove_useless_notsolved($root);
+ fix_comments($root);
+
fix_paragraphs_inside($root, \@all_block);
remove_empty_style($root);
@@ -1810,6 +1812,25 @@
}
}
+# Use <pre> for multi-line comments without elements.
+sub fix_comments {
+ my ($root) = @_;
+ my $doc = $root->ownerDocument;
+ my @comments = $root->getElementsByTagName('comment');
+ foreach my $comment (@comments) {
+ my $first = $comment->firstChild;
+ if (defined $first) {
+ if ($first->nodeType == XML_TEXT_NODE && $first->nodeValue =~ /\n/ &&
+ !defined $first->nextSibling) {
+ my $pre = $doc->createElement('pre');
+ $comment->removeChild($first);
+ $comment->appendChild($pre);
+ $pre->appendChild($first);
+ }
+ }
+ }
+}
+
# adds a paragraph inside if needed and calls fix_paragraph for all paragraphs (including new ones)
sub fix_paragraphs_inside {
my ($node, $all_block) = @_;
More information about the LON-CAPA-cvs
mailing list