xerces-p

xerces-p

am 20.11.2006 22:15:41 von Michael Strauss

Hallo!

Beschäftigt sich hier jemand mit xerces-p?

Ich hätte eine Anfängerfrage:

Wie parse ich ein Dokument, das sich in einem String befindet?
Die Parse-Methoden beziehen sich doch nur auf Dateien und deren
Diskriptoren?

Grüße,
Michael

Re: xerces-p

am 20.11.2006 22:48:15 von Slaven Rezic

Michael Strauss writes:

> Hallo!
>
> Beschäftigt sich hier jemand mit xerces-p?
>
> Ich hätte eine Anfängerfrage:
>
> Wie parse ich ein Dokument, das sich in einem String befindet?
> Die Parse-Methoden beziehen sich doch nur auf Dateien und deren
> Diskriptoren?

Falls du einen Filehandle brauchst, kannst du ihn mit

open my $fh, "<", \$xml_string

erzeugen.

--
Slaven Rezic - slaven rezic de

Visualize XML files in a Tk text widget:
http://search.cpan.org/search?mode=module&query=Tk::XMLViewe r

Re: xerces-p

am 21.11.2006 10:25:35 von Ferry Bolhar

Slaven Rezic:

> Falls du einen Filehandle brauchst, kannst du ihn mit
>
> open my $fh, "<", \$xml_string
>
> erzeugen.

Was bewirkt die Angabe einer Skalarreferenz statt
eines Dateinamens?

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at

Re: xerces-p

am 21.11.2006 11:02:04 von Karlheinz Weindl

Ferry Bolhar schrieb:

> Slaven Rezic:
>
>
>>Falls du einen Filehandle brauchst, kannst du ihn mit
>>
>> open my $fh, "<", \$xml_string
>>
>>erzeugen.
>
>
> Was bewirkt die Angabe einer Skalarreferenz statt
> eines Dateinamens?

Diesmal hast du nicht genau gelesen!
Der OP sagt, dass er das Dokument in einem Skalar und nicht als Datei
vorliegen hat.

Gruß
Karlheinz

Re: xerces-p

am 21.11.2006 11:41:01 von Daniel Fischer

Karlheinz Weindl!

> Diesmal hast du nicht genau gelesen!
> Der OP sagt, dass er das Dokument in einem Skalar und nicht als Datei
> vorliegen hat.

Das geht erst seit 5.8 und steht daher in perldoc -f open weiter unten.
Nur so als Hinweis am Rande ;-)


Gruß
Daniel

--
"There's nothing on it worthwhile, and we're not going to watch it in this
household, and I don't want it in your intellectual diet."
-- Philo T. Farnsworth, Erfinder des Fernsehens, zu seinem Sohn Kent
ueber das Fernsehen

Re: xerces-p

am 21.11.2006 17:09:03 von Ferry Bolhar

Karlheinz Weindl:

>> Was bewirkt die Angabe einer Skalarreferenz statt
> eines Dateinamens?
>
> Diesmal hast du nicht genau gelesen!

Habe ich doch!

> Der OP sagt, dass er das Dokument in einem Skalar und nicht als Datei
> vorliegen hat.

Soviel ich weiß, wird "open" zum Öffnen von _Dateien_ verwendet.
Was soll also die Angabe einer Skalarreferenz als Datei?

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at

Re: xerces-p

am 21.11.2006 17:13:19 von Ferry Bolhar

Daniel Fischer:

> Das geht erst seit 5.8 und steht daher in perldoc -f open weiter unten.
> Nur so als Hinweis am Rande ;-)

Kannst du mir auf die Sprünge helfen?

Ich finde es dort nicht.

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at

Re: xerces-p

am 21.11.2006 17:34:26 von Frank Seitz

Ferry Bolhar wrote:

> Soviel ich weiß, wird "open" zum Öffnen von _Dateien_ verwendet.
> Was soll also die Angabe einer Skalarreferenz als Datei?

Stichwort: in memory files.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Re: xerces-p

am 21.11.2006 23:52:50 von Michael Strauss

Slaven Rezic schrieb:
> Falls du einen Filehandle brauchst, kannst du ihn mit
>
> open my $fh, "<", \$xml_string
>
Vielen Dank für deine Antwort.

Ich habe es nun mit der Klasse XML::Xerces::MemBufInputSource gelöst.

Grüße,
Michael

Re: xerces-p

am 22.11.2006 10:03:55 von Daniel Fischer

Ferry Bolhar!

> Kannst du mir auf die Sprünge helfen?
>
> Ich finde es dort nicht.

# Since v5.8.0, perl has built using PerlIO by default. Unless you've
# changed this (i.e. Configure -Uuseperlio), you can open file handles to
# "in memory" files held in Perl scalars via:
#
# open($fh, '>', \$variable) || ..


Gruß
Daniel

--
"There's nothing on it worthwhile, and we're not going to watch it in this
household, and I don't want it in your intellectual diet."
-- Philo T. Farnsworth, Erfinder des Fernsehens, zu seinem Sohn Kent
ueber das Fernsehen

Re: xerces-p

am 22.11.2006 10:25:07 von Ferry Bolhar

Frank Seitz:

> Stichwort: in memory files.

Danke!

Ein gutes Beispiel, wie schnell man etwas in den Perl-Docs
überlesen kann - oben ist noch

open FILEHANDLE,MODE,REFERENCE

die Rede, aber nach weiteren "REFERENCE"s such man
in dem Dokument vergebens - dafür ist dann von "in memory
files" die Rede - übersichtlich ist das nicht gerade...

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at

Re: xerces-p

am 23.11.2006 00:25:17 von David Haller

Daniel Fischer wrote:
> Karlheinz Weindl!
>> Diesmal hast du nicht genau gelesen!
>> Der OP sagt, dass er das Dokument in einem Skalar und nicht als Datei
>> vorliegen hat.
>
> Das geht erst seit 5.8 und steht daher in perldoc -f open weiter unten.
> Nur so als Hinweis am Rande ;-)

IO::Scalar (3pm) - IO:: interface for reading/writing a scalar
IO::String (3pm) - Emulate IO::File interface for in-core strings
IO::Stringy (3pm) - I/O on in-core objects like strings and arrays
PerlIO::scalar (3pm) - in-memory IO, scalar IO

-dnh

--
Words fail me. Thank goodness I can make gestures. -- Mark Hughes