Thread Problem bei STDOUT: Ausgabe von xml datein (7 answers)
Opened by janek at 2004-02-03 01:05

janek
 2004-02-03 01:05
#1161 #1161
User since
2004-02-02
17 Artikel
BenutzerIn
[default_avatar]
moinsen,

mit folgendem pl prog lasse ich dateien im browser anzeigen, die im htacces gesicherten folder abgelegt sind.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/perl                                                    
# ==============================================
# Program : view_doc.pl - Opens documents from server and returns back to browser
#
# Created : 23.01.2004
# ==============================================



# == MODULES ==============================================
#use strict;                                                      
use warnings;                                                      
use CGI::Carp qw(fatalsToBrowser);                                
use CGI qw/:standard/;                                            
# =//============================================



# == GLOBAL VARS DECLARATION =====================
my $query = new CGI;
my $id = $query->param(id);
my $datei = $query->param(source);
my $speed = 5*1024; # 5kb pro Sek.
my $mimetype =();
# =//============================================



# == PROGRAM CODE ==============================================
if ($id == "1"){
$mimetype = "Content-Type: application/pdf\n\n";
}
if ($id == "2"){
$mimetype = "Content-Type: text/xml\n\n";
}

print $mimetype;
open(FILE,"<".$datei) || die $!;


binmode(FILE);
binmode(STDOUT);


my $buffer;
while (read(FILE,$buffer,$speed)) {
      print STDOUT $buffer;        
      sleep(1);
}
close (FILE);
# =//============================================


Lasse ich nun das prog ein PDF file (id=1) ausgeben läuft alles wunderbar. Reader startet - dokument wird angezeigt.
Gebe ich nun an es soll eine XML file gezeigt werden. Kommt eine Fehlermeldung, das die XML nicht angezeigt werden kann. Schaue ich auf den Quelltext dieser Meldung ist der XML-inhalt richtig angezeigt.
Die XML greift auf ein XSL-Stylesheet zu.
Hier die ersten zwei Zeilen der XML:


Code: (dl )
1
2
<?xml version="1.0"?>
<?xml-stylesheet  type="text/xsl" href="../../template.xsl"?>


Meine Gedanken:
- Kann es sein, dass er die xsl datei nicht nutzen kann, da diese sich auch im gesicherten Verzeichnis befindet?
Wenn ja, könnte ich anstatt die xsl zu benutzen, mein Perlprogramm die Arbeit des Stylesheets machen lassen? Wie?

-Oder liegt der Fehler bei der Wahl des MIME-type?

Ich komm der Sache einfach nicht dahinter. Vielleicht könnt Ihr mir helfen.

pace
janek.

View full thread Problem bei STDOUT: Ausgabe von xml datein