Meta::Lang::Xml::Resolver - external entity (DTD) resolver for Aegis type development.


Meta documentation Contained in the Meta distribution.

Index


Code Index:

NAME

Top

Meta::Lang::Xml::Resolver - external entity (DTD) resolver for Aegis type development.

COPYRIGHT

Top

LICENSE

Top

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.

DETAILS

Top

	MANIFEST: Resolver.pm
	PROJECT: meta
	VERSION: 0.01

SYNOPSIS

Top

	package foo;
	use Meta::Lang::Xml::Resolver qw();
	my($object)=Meta::Lang::Xml::Resolver->new();
	my($result)=$object->resolve_entity($self,$Name,...);

DESCRIPTION

Top

Use this resolver whenever you create SAX type XML parsers so that external entities (DTDs) are resolved corretly in an Aegis type development environment.

FUNCTIONS

Top

	new($)
	resolve_entity($$)
	TEST($)

FUNCTION DOCUMENTATION

Top

new($)

This is a constructor for the Meta::Lang::Xml::Resolver object.

resolve_entity($$)

This method actually does the resolving.

TEST($)

This is a testing suite for the Meta::Lang::Xml::Resolver module. This test is should be run by a higher level management system at integration or release time or just as a regular routine to check that all is well.

SUPER CLASSES

Top

None.

BUGS

Top

None.

AUTHOR

Top

	Name: Mark Veltzer
	Email: mailto:veltzer@cpan.org
	WWW: http://www.veltzer.org
	CPAN id: VELTZER

HISTORY

Top

	0.00 MV move tests into modules
	0.01 MV md5 issues

SEE ALSO

Top

Data::Dumper(3), Meta::Baseline::Aegis(3), Meta::IO::File(3), Meta::Utils::Output(3), strict(3)

TODO

Top

Nothing.


Meta documentation Contained in the Meta distribution.

#!/bin/echo This is a perl module and should not be run

package Meta::Lang::Xml::Resolver;

use strict qw(vars refs subs);
use Meta::Utils::Output qw();
use Data::Dumper qw();
use Meta::Baseline::Aegis qw();
use Meta::IO::File qw();

our($VERSION,@ISA);
$VERSION="0.01";
@ISA=qw();

#sub new($);
#sub resolve_entity($$);
#sub TEST($);

#__DATA__

sub new($) {
	my($class)=@_;
	my($self)={};
	CORE::bless($self,$class);
	return($self);
}

sub resolve_entity($$) {
	my($self,$hash)=@_;
	Meta::Utils::Output::print("self is [".$self."]");
	Meta::Utils::Output::print("hash is [".$hash."]");
#	print Data::Dumper::Dumper($hash);
#	print Data::Dumper::Dumper($self);
	my($SystemId)=$hash->{"SystemId"};
	my($full)="dtdx/".$SystemId;
	my($resolved)=Meta::Baseline::Aegis::which($full);
#	The following line does not work (not yet imlemented).
#	return(Source=>{SystemId=>$resolved});
	my($io)=Meta::IO::File->new_reader($resolved);
	return(Source=>{ByteStream=>$io});
#	return(undef);
}

sub TEST($) {
	my($context)=@_;
	return(1);
}

1;

__END__