[LON-CAPA-cvs] cvs: loncom(version_2_9_X) /xml lonxml.pm
raeburn
raeburn@source.lon-capa.org
Fri, 01 Oct 2010 14:21:55 -0000
raeburn Fri Oct 1 14:21:55 2010 EDT
Modified files: (Branch: version_2_9_X)
/loncom/xml lonxml.pm
Log:
- Backport 1.516, 1.518.
Index: loncom/xml/lonxml.pm
diff -u loncom/xml/lonxml.pm:1.494.4.4 loncom/xml/lonxml.pm:1.494.4.5
--- loncom/xml/lonxml.pm:1.494.4.4 Thu Feb 11 20:44:15 2010
+++ loncom/xml/lonxml.pm Fri Oct 1 14:21:55 2010
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# XML Parser Module
#
-# $Id: lonxml.pm,v 1.494.4.4 2010/02/11 20:44:15 raeburn Exp $
+# $Id: lonxml.pm,v 1.494.4.5 2010/10/01 14:21:55 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1523,17 +1523,25 @@
sub verify_html {
my ($filecontents)=@_;
- if ($filecontents!~/(?:\<|\<\;)(?:html|xml)[^\<]*(?:\>|\>\;)/is) {
- return &mt('File does not have [_1] or [_2] starting tag','<html>','<xml>');
- }
- if ($filecontents!~/(?:\<|\<\;)\/(?:html|xml)(?:\>|\>\;)/is) {
- return &mt('File does not have [_1] or [_2] ending tag','<html>','<xml>');
- }
- if ($filecontents!~/(?:\<|\<\;)(?:body|frameset)[^\<]*(?:\>|\>\;)/is) {
- return &mt('File does not have [_1] or [_2] starting tag','<body>','<frameset>');
- }
- if ($filecontents!~/(?:\<|\<\;)\/(?:body|frameset)[^\<]*(?:\>|\>\;)/is) {
- return &mt('File does not have [_1] or [_2] ending tag','<body>','<frameset>');
+ my ($is_html,$is_xml);
+ if ($filecontents =~/(?:\<|\<\;)\?xml[^\<]*\?(?:\>|\>\;)/is) {
+ $is_xml = 1;
+ } elsif ($filecontents =~/(?:\<|\<\;)html(?:\s+[^\<]+|\s*)(?:\>|\>\;)/is) {
+ $is_html = 1;
+ }
+ unless ($is_xml || $is_html) {
+ return &mt('File does not have [_1] or [_2] starting tag','<html>','<?xml ?>');
+ }
+ if ($is_html) {
+ if ($filecontents!~/(?:\<|\<\;)\/html(?:\>|\>\;)/is) {
+ return &mt('File does not have [_1] ending tag','<html>');
+ }
+ if ($filecontents!~/(?:\<|\<\;)(?:body|frameset)[^\<]*(?:\>|\>\;)/is) {
+ return &mt('File does not have [_1] or [_2] starting tag','<body>','<frameset>');
+ }
+ if ($filecontents!~/(?:\<|\<\;)\/(?:body|frameset)[^\<]*(?:\>|\>\;)/is) {
+ return &mt('File does not have [_1] or [_2] ending tag','<body>','<frameset>');
+ }
}
return '';
}