XML-XSH
view release on metacpan or search on metacpan
lib/XML/XSH/GDOMECompat.pm view on Meta::CPAN
sub parse_sgml_fh {
croak "DOCBOOK parsing not supported by GDOME\n";
return undef;
}
sub parse_string {
my ($class,$parser,$str)=@_;
my $doc =$parser->createDocFromString($str,parser_options());
if ( $XML::XSH::Functions::PARSER_EXPANDS_XINCLUDE ) {
$doc->process_xinclude();
}
return $doc;
}
sub parse_fh {
my ($class,$parser,$fh)=@_;
local $/ = undef;
my $str = <$fh>;
my $doc = $parser->createDocFromString($str,parser_options());
if ( $XML::XSH::Functions::PARSER_EXPANDS_XINCLUDE ) {
$doc->process_xinclude();
}
return $doc;
}
sub parse_file {
my ($class,$parser, $uri) = @_;
my $doc = $parser->createDocFromURI($uri,parser_options());
if ( $XML::XSH::Functions::PARSER_EXPANDS_XINCLUDE ) {
$doc->process_xinclude();
}
return $doc;
}
sub is_xinclude_start {
return 0; # not supported
}
sub is_xinclude_end {
return 0; # not supported
}
sub is_element {
my ($class,$node)=@_;
return $node->nodeType == ELEMENT_NODE;
}
sub is_attribute {
my ($class,$node)=@_;
my $type=$node->getNodeType();
my $attype=ATTRIBUTE_NODE();
return $type == $attype;
}
sub is_text {
my ($class,$node)=@_;
return $node->nodeType == TEXT_NODE;
}
sub is_text_or_cdata {
my ($class,$node)=@_;
return $node->nodeType == TEXT_NODE || $node->nodeType == CDATA_SECTION_NODE;
}
sub is_cdata_section {
my ($class,$node)=@_;
return $node->nodeType == CDATA_SECTION_NODE;
}
sub is_pi {
my ($class,$node)=@_;
return $node->nodeType == PROCESSING_INSTRUCTION_NODE;
}
sub is_entity_reference {
my ($class,$node)=@_;
return $node->nodeType == ENTITY_REFERENCE_NODE;
}
sub is_document {
my ($class,$node)=@_;
return $node->nodeType == DOCUMENT_NODE;
}
sub is_document_fragment {
my ($class,$node)=@_;
return $node->nodeType == DOCUMENT_FRAGMENT_NODE;
}
sub is_comment {
my ($class,$node)=@_;
return $node->nodeType == COMMENT_NODE;
}
sub is_namespace {
my ($class,$node)=@_;
return $node->nodeType == XPATH_NAMESPACE_NODE;
}
sub get_dtd {
die "Not implemented for GDOME\n";
}
sub has_dtd {
0;
}
sub clone_node {
my ($class, $dom, $node)=@_;
return $dom->importNode($node,1);
}
sub remove_node {
my ($class,$node)=@_;
my $parent=$node->getParentNode();
if ($parent) {
return $parent->removeChild($node);
}
}
package XML::GDOME::Document;
sub getEncoding {
( run in 0.803 second using v1.01-cache-2.11-cpan-39bf76dae61 )