ma...@9ae0c189-c… 7f5ccab 

ph...@9ae0c189-c… ffeffa7 

Ok, I don't implement namespace handling yet. 

But I introduced the node types in XML::LibXML and by default I 
export them. I am aware this is not very beautyfull -- well, the 
way it's done ... 

Since most functions need more than just a simple call to libxml2
I wrapped them in dom.c. I believe this is a better way than just put
the whole code in the XS file.

Then I patched LibXML.xs and added the parts
As well some extra functions in XML::LibXML::Document.

Common node related functions are implemented in XML::LibXML::Node, 
so only specialized functions had to be reimplemented for sublevel 

I treat XML::LibXML::Text as the CharacterData Class from the 
DOM spec. Since libxml2 implements all character classes slightly
different, each constructor had to be implemented seperatly.

This implementation is aware about all subclasses that are supported:
The CLASS Constant is set depending on the type of the node currently 
handled. Differently to the previous implementation it does not 
coredump that much any more. ;-)

As well I added a chunk of documentation and a new example.

_VERSION_F_ (05.17.2001)

code cleanup and better documentation
"dom.h" , "dom.c" are both much smaller after I removed redundant code
"dom.c" is sorted analogue to "dom.h"

all documentation about my extensions can be found in "examples/libxml.xml"
the script "examples/" will transform this XML document into 
various .pod documents.  
better testing the encoding


added nodelist functions 


the current version includes some securety fixes in dom.c and LibXML.xs

also a better testsuite

-- LibXML.xs_1.22

completed function setAttributeNode
added function getAttributes 
added function getAttributesNS

more node security fixes 

these functions will return an array of attribute nodes.
both will probably renamed before i make them public

idea: global encoding constant, so all user input will be encoded from
that encoding to utf8 INTERNALLY

todo: add xmlEncodeEntitiesReentrant for all text content


introduced domSetAttributeNode
cleaned the test suite

    + getOwner returns the Owner Node (root of the subtree)
      of the current element 
    + getOwnerDocument returns the Owner document of the node if any 
    + proxy fixes
    + introduced documentfragment
      i will allways create a document fragment for EACH unbound node.
      made the documentFragment a node 
    + more securety checks and less memory leaks...
    + better array handling
    + DOM L2 conform naming (optional)
    + entity encoding fixed

   + domsetnodevalue is aware of attributes as well
   + domreplacenode introduced
   + added internal function insert_node_to_nodelist

   + document_fragment tests 

    make shure appendChild or similar functions do not allow
    wrong node type to be appended
    make the node iterator function XS to avoid GC overhead 
    for temporary iterator nodes.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.