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 )