NAME
    XML::LibXML::Devel::SetLineNumber - set the line number for an
    XML::LibXML::Node

SYNOPSIS
      use XML::LibXML::Devel::SetLineNumber;
  
      my $node = $document->getElementsByTagName('foo')->get_node(1);
      set_line_number($node, 8);
      say $node->line_number;  # says "8"

DESCRIPTION
    This module exports one function:

    `set_line_number($node, $number)`
        Sets a node's line number.

    Why in name of all that is good and holy would you want to do that?
    Frankly, you probably don't. And you probably shouldn't.

    There's just about one sitution where it makes sense. If you are, say,
    writing a parser for a non-XML format that happens to have an XML-like
    data model, then you might wish to parse your format into an XML::LibXML
    document with elements, attributes and so on. And you might want all those
    nodes to return the correct line numbers when the `line_number` method is
    called on them. Say, for instance that you're working on
    HTML::HTML5::Parser.

THIS MODULE IS WELL DODGY
    And you're a fool if you use it.

    If you do feel you really must use this module, it's probably best to load
    it like this:

     eval {
       require XML::LibXML::Devel::SetLineNumber;
       import XML::LibXML::Devel::SetLineNumber;
       1;
     } or *set_line_number = sub { 1 };

    Instead of the normal `use XML::LibXML::Devel::SetLineNumber`.

SEE ALSO
    XML::LibXML, XML::LibXML::Devel, XML::LibXML::Node.

AUTHOR
    Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE
    Copyright (C) 2012 by Toby Inkster

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

DISCLAIMER OF WARRANTIES
    THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
    WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
    MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.