
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
B;W                 @   sB   d dl mZmZmZ d dlmZ ddlmZ G dd dejZ	dS )    )absolute_importdivisionunicode_literals)Node   )basec               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )

TreeWalkerc             C   s   |j tjkr tj|j|j|jfS |j tjtj	fkr>tj
|jfS |j tjkri }xJt|jj D ]8}|j|}|jr|j||j|jf< q^|j|d |jf< q^W tj|j|j||j fS |j tjkrtj|jfS |j tjtjfkrtjfS tj|j fS d S )N)ZnodeTyper   ZDOCUMENT_TYPE_NODEr   ZDOCTYPEnameZpublicIdZsystemIdZ	TEXT_NODEZCDATA_SECTION_NODEZTEXTZ	nodeValueZELEMENT_NODElistZ
attributeskeysZgetAttributeNodeZnamespaceURIvalueZ	localNameZELEMENTZnodeNameZhasChildNodesZCOMMENT_NODECOMMENTZDOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZDOCUMENTZUNKNOWN)selfnodeZattrsattr r   /usr/lib/python3.6/dom.pygetNodeDetails	   s$    
zTreeWalker.getNodeDetailsc             C   s   |j S )N)Z
firstChild)r   r   r   r   r   getFirstChild$   s    zTreeWalker.getFirstChildc             C   s   |j S )N)ZnextSibling)r   r   r   r   r   getNextSibling'   s    zTreeWalker.getNextSiblingc             C   s   |j S )N)Z
parentNode)r   r   r   r   r   getParentNode*   s    zTreeWalker.getParentNodeN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s   r   N)
Z
__future__r   r   r   Zxml.domr    r   ZNonRecursiveTreeWalkerr   r   r   r   r   <module>   s   