GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MKDOC::XML::TOKEN (3)

.ds Aq ’

NAME

MKDoc::XML::Token - XML Token Object

CONTENTS

SYNOPSIS



  my $tokens = MKDoc::XML::Tokenizer->process_data ($some_xml);
  foreach my $token (@{$tokens})
  {
      print "" . $token->as_string() . " is text\n" if (defined $token->text());
      print "" . $token->as_string() . " is a self closing tag\n" if (defined $token->tag_self_close());
      print "" . $token->as_string() . " is an opening tag\n" if (defined $token->tag_open());
      print "" . $token->as_string() . " is a closing tag\n" if (defined $token->tag_close());
      print "" . $token->as_string() . " is a processing instruction\n" if (defined $token->pi());
      print "" . $token->as_string() . " is a declaration\n" if (defined $token->declaration());
      print "" . $token->as_string() . " is a comment\n" if (defined $token->comment());
      print "" . $token->as_string() . " is a tag\n" if (defined $token->tag());
      print "" . $token->as_string() . " is a pseudo-tag (NOT text and NOT tag)\n" if (defined $token->pseudotag());
      print "" . $token->as_string() . " is a leaf token (NOT opening tag)\n" if (defined $token->leaf());
  }



SUMMARY

MKDoc::XML::Token is an object representing an XML token produced by MKDoc::XML::Tokenizer.

It has a set of methods to identify the type of token it is, as well as to help building a parsed tree as in MKDoc::XML::TreeBuilder.

API

my CW$token = new MKDoc::XML::Token ($string_token);

Constructs a new MKDoc::XML::Token object.

my CW$string_token = CW$token->as_string();

Returns the string representation of this token so that:



  MKDoc::XML::Token->new ($token)->as_string eq $token



is a tautology.

my CW$node = CW$token->leaf();

If this token is not an opening tag, this method will return its corresponding node structure as returned by $token->text(), $token->tag_self_close(), etc.

Returns undef otherwise.

my CW$node = CW$token->pseudotag();

If this token is a comment, declaration or processing instruction, this method will return $token->tag_comment(), $token_declaration() or $token->pi() resp.

Returns undef otherwise.

my CW$node = CW$token->tag();

If this token is an opening, closing, or self closing tag, this method will return $token->tag_open(), $token->tag_close() or $token->tag_self_close() resp.

Returns undef otherwise.

my CW$node = CW$token->comment();

If this token object represents a declaration, the following structure is returned:



  # this is <!-- I like Pie. Pie is good -->
  {
      _tag   => ~comment,
      text   =>  I like Pie. Pie is good ,
  }



Returns undef otherwise.

my CW$node = CW$token->declaration();

If this token object represents a declaration, the following structure is returned:



  # this is <!DOCTYPE foo>
  {
      _tag   => ~declaration,
      text   => DOCTYPE foo,
  }



Returns undef otherwise.

my CW$node = CW$token->pi();

If this token object represents a processing instruction, the following structure is returned:



  # this is <?xml version="1.0" charset="UTF-8"?>
  {
      _tag   => ~pi,
      text   => xml version="1.0" charset="UTF-8",
  }



Returns undef otherwise.

my CW$node = CW$token->tag_open();

If this token object represents an opening tag, the following structure is returned:



  # this is <aTag foo="bar" baz="buz">
  {
      _tag   => aTag,
      _open  => 1,
      _close => 0,
      foo    => bar,
      baz    => buz,
  }



Returns undef otherwise.

my CW$node = CW$token->tag_close();

If this token object represents a closing tag, the following structure is returned:



  # this is </aTag>
  {
      _tag   => aTag,
      _open  => 0,
      _close => 1,
  }



Returns undef otherwise.

my CW$node = CW$token->tag_self_close();

If this token object represents a self-closing tag, the following structure is returned:



  # this is <aTag foo="bar" baz="buz" />
  {
      _tag   => aTag,
      _open  => 1,
      _close => 1,
      foo    => bar,
      baz    => buz,
  }



Returns undef otherwise.

my CW$node = CW$token->text();

If this token object represents a piece of text, then this text is returned. Returns undef otherwise. TRAP! $token->text() returns a false value if this text happens to be ’0’ or ’’. So really you should use:



  if (defined $token->text()) {
    ... do stuff...
  }



NOTES

MKDoc::XML::Token works with MKDoc::XML::Tokenizer, which can be used when building a full tree is not necessary. If you need to build a tree, look at MKDoc::XML::TreeBuilder.

AUTHOR

Copyright 2003 - MKDoc Holdings Ltd.

Author: Jean-Michel Hiver

This module is free software and is distributed under the same license as Perl itself. Use it at your own risk.

SEE ALSO

MKDoc::XML::Tokenizer MKDoc::XML::TreeBuilder
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MKDOC::XML::TOKEN (3) 2004-10-06

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.