⚝
One Hat Cyber Team
⚝
Your IP:
3.145.106.159
Server IP:
97.74.87.16
Server:
Linux 16.87.74.97.host.secureserver.net 5.14.0-503.38.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 18 08:52:10 EDT 2025 x86_64
Server Software:
Apache
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
opt
/
python38
/
lib
/
python3.8
/
xml
/
dom
/
__pycache__
/
View File Name :
expatbuilder.cpython-38.opt-1.pyc
U ���C>>��:c��������������������@���s��d�Z�ddlmZmZmZ�ddlmZmZmZ�ddlm Z �ddl mZmZ�ddl mZ�ejZejZejZejjZejjZejjZejjZe���Ze�dd�e�dd �e�dd �e�dd�e�dd�e�dd �e�dd�e�dd�e�dd�d� ZG�dd��de�Zdd��Zdd��ZG�dd��d�ZeeefZ G�dd��de�Z!G�dd��de�Z"G�dd��de"�Z#G�d d!��d!e"�Z$d"Z%d#e%�Z&G�d$d%��d%e�Z'G�d&d'��d'�Z(G�d(d)��d)e(e�Z)G�d*d+��d+e(e'�Z*G�d,d-��d-e+�Z,G�d.d/��d/e�Z-d;d1d2�Z.d<d3d4�Z/d=d5d6�Z0d>d7d8�Z1d9d:��Z2dS�)?z�Facility to use the Expat parser to load a minidom instance from a string or file. This avoids all the overhead of SAX and pulldom to gain performance. �����)� xmlbuilder�minidom�Node)�EMPTY_NAMESPACE�EMPTY_PREFIX�XMLNS_NAMESPACE)�expat)� _append_child�_set_attribute_node)� NodeFilterNZcdata�enumeration�entity�entities�idZidrefZidrefsZnmtokenZnmtokens) ZCDATA�ENUMZENTITYZENTITIES�IDZIDREFZIDREFSZNMTOKENZNMTOKENSc�������������������@���sZ���e�Zd�ZdZddd�Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dd��Zdd��ZdS�)�ElementInfo�� _attr_info�_model�tagNameNc�����������������C���s���||�_�g�|�_||�_d�S��N)r���r���r���)�selfr����model��r����3/opt/python38/lib/python3.8/xml/dom/expatbuilder.py�__init__?���s����zElementInfo.__init__c�����������������C���s���|�j�|�j|�jfS�r���r����r���r���r���r����__getstate__D���s����zElementInfo.__getstate__c�����������������C���s���|\|�_�|�_|�_d�S�r���r���)r����stater���r���r����__setstate__G���s����zElementInfo.__setstate__c�����������������C���sN���|�j�D�]@}|d�|kr|d�}|d�dkr6td���S�t|d����S�qtjS�)N�������r����(r���)r���� _typeinfo_mapr����_no_type)r����aname�info�tr���r���r����getAttributeTypeJ���s���� zElementInfo.getAttributeTypec�����������������C���s���t�jS�r���)r���r%���)r���ZnamespaceURIZ localNamer���r���r����getAttributeTypeNST���s����zElementInfo.getAttributeTypeNSc�����������������C���s,���|�j�r$|�j�d�}|tjjtjjfkS�dS�d�S��Nr���F)r���r���r���Z XML_CTYPE_ANYZXML_CTYPE_MIXED)r����typer���r���r����isElementContentW���s���� �zElementInfo.isElementContentc�����������������C���s ���|�j�r|�j�d�tjjkS�dS�d�S�r+���)r���r���r���ZXML_CTYPE_EMPTYr���r���r���r����isEmpty_���s����zElementInfo.isEmptyc�����������������C���s,���|�j�D�] }|d�|kr|d�dk��S�qdS�)Nr!���r"���r���F)r���)r���r&���r'���r���r���r����isIde���s���� zElementInfo.isIdc�����������������C���s���|���||f�S�r���)r/���)r���ZeuriZenameZaurir&���r���r���r����isIdNSk���s����zElementInfo.isIdNS)N) �__name__� __module__�__qualname__� __slots__r���r���r ���r)���r*���r-���r.���r/���r0���r���r���r���r���r���<���s��� r���c�����������������C���s���|���||�S�r���)�_intern_setdefault)�builder�sr���r���r����_interno���s����r8���c�����������������C���s����|��d�}|�j}t|�dkrR|\}}}|||�}d||f�}|||�}|||�}n4t|�dkrz|\}}t}|||��}}ntd|���|||�|||fS�)N� ����z%s:%s����z4Unsupported syntax: spaces in URIs not supported: %r)�splitr5����lenr���� ValueError)r6����name�parts�intern�uri� localname�prefix�qnamer���r���r����_parse_ns_namer���s���� rF���c�������������������@���s����e�Zd�ZdZd;dd�Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/d0��Zd1d2��Zd3d4��Zd5d6��Zd7d8��Zd9d:��ZdS�)<�ExpatBuilderzPDocument builder that uses Expat to build a ParsedXML.DOM document instance.Nc�����������������C���sP���|d�krt����}||�_|�jjd�k r2t|�jj�|�_nd�|�_t|�_d�|�_|�� ���d�S�r���) r���ZOptions�_options�filter�FilterVisibilityController�_filterr����_finish_start_element�_parser�reset)r����optionsr���r���r���r�������s����zExpatBuilder.__init__c�����������������C���s���t����S�)zCreate a new parser object.)r����ParserCreater���r���r���r����createParser����s����zExpatBuilder.createParserc�����������������C���sF���|�j�s@|����|�_�|�j�jj|�_d|�j�_d|�j�_d|�j�_|��|�j���|�j�S�)z7Return the parser object, creating a new one if needed.T) rM���rQ���rA���� setdefaultr5���Zbuffer_textZordered_attributesZspecified_attributes�installr���r���r���r���� getParser����s���� zExpatBuilder.getParserc�����������������C���s,���t��tdd�|�_|�j|�_|�jj|�_d|�_dS�)z6Free all data structures used during DOM construction.NF)�theDOMImplementationZcreateDocumentr����document�curNode� _elem_info�_cdatar���r���r���r���rN�������s������� zExpatBuilder.resetc�����������������C���s����|�j�|_|�j|_|�j|_|�j|_|�jj r0|�j |_|�j|_ |�jjrH|�j|_|�jjrj|�j|_|�j|_|�j|_n|�j|_|�j|_|�j|_|�j|_|�j|_ dS�)z>Install the callbacks needed to build the DOM into the parser.N)!�start_doctype_decl_handler�StartDoctypeDeclHandler�first_element_handler�StartElementHandler�end_element_handler�EndElementHandler� pi_handler�ProcessingInstructionHandlerrH���r����entity_decl_handler�EntityDeclHandler�notation_decl_handler�NotationDeclHandler�comments�comment_handler�CommentHandlerZcdata_sections�start_cdata_section_handler�StartCdataSectionHandler�end_cdata_section_handler�EndCdataSectionHandler�character_data_handler_cdata�CharacterDataHandler�character_data_handler�external_entity_ref_handler�ExternalEntityRefHandler�xml_decl_handlerZXmlDeclHandler�element_decl_handlerZElementDeclHandler�attlist_decl_handlerZAttlistDeclHandler�r����parserr���r���r���rS�������s$���� zExpatBuilder.installc�����������������C���s����|�����}d}zH|�d�}|sqF|�|d��|r@|�jjr@|��|��d}q|�dd��W�n�tk rh���Y�nX�|�j}|�����d|�_|S�)zIParse a document from a file object, returning the document node.Ti�@��r���F��N) rT����read�ParserV����documentElement� _setup_subset�ParseEscaperN���rM���)r����filerv���Zfirst_buffer�buffer�docr���r���r���� parseFile����s"���� zExpatBuilder.parseFilec�����������������C���sP���|�����}z|�|d��|��|��W�n�tk r6���Y�nX�|�j}|�����d|�_|S�)z<Parse a document from a string, returning the document node.TN)rT���ry���r{���r|���rV���rN���rM���)r����stringrv���r���r���r���r����parseString����s����zExpatBuilder.parseStringc�����������������C���s.���|�j�jr*t��}|�|��|���}||�j�j_dS�)z/Load the internal subset if there might be one.N)rV����doctype�InternalSubsetExtractorr����� getSubset�internalSubset)r���r~���Z extractor�subsetr���r���r���r{�������s ���� zExpatBuilder._setup_subsetc�����������������C���s����|�j�j�|||�}|�j�|_t|�j�|��||�j�_|�jrj|�j�|�tkrjd�|�j�_|�j�j d=�d�}d�|�j _d�|�j _|r�|d�k r�g�|j _g�|j_d�|�j _d�|�j _|�j|�j _d�S��N���)rV����implementationZcreateDocumentType� ownerDocumentr ���r����rK���� acceptNode� FILTER_REJECT� childNodesrM���rc���re���r����_seq� notationsrh���ra����end_doctype_decl_handler�EndDoctypeDeclHandler)r���ZdoctypeName�systemId�publicId�has_internal_subsetr����r���r���r���rZ�������s*������� z'ExpatBuilder.start_doctype_decl_handlerc�����������������C���s2���|�j�jr|�j|�j_|�j|�j_|�js.|�js.t |�_ d�S�r���)rH���rf���rg���rM���rh���r`���ra���rX���rK���r����_finish_end_elementr���r���r���r���r������s ���� z%ExpatBuilder.end_doctype_decl_handlerc�����������������C���s@���|�j��||�}t|�j|��|�jr<|�j�|�tkr<|�j�|��d�S�r���)rV���ZcreateProcessingInstructionr ���rW���rK���r����r�����removeChild)r����target�data�noder���r���r���r`�����s����zExpatBuilder.pi_handlerc�����������������C���s����|�j�j}|�jrH|�jr4|d�jtkr4|d��|��d�S�|�j�|�}d|�_nD|rv|d�jt krv|d�}|j |�}||_ d�S�t���}||_ |�j|_ t|�j�|��d�S�)Nr����T)rW���r����rY����_cdata_continue�nodeType�CDATA_SECTION_NODEZ appendDatarV���ZcreateCDATASection� TEXT_NODEr����r����Textr����r ���)r���r����r����r�����valuer���r���r���rm�����s$����� z)ExpatBuilder.character_data_handler_cdatac�����������������C���s^���|�j�j}|r2|d�jtkr2|d�}|j|�|_d�S�t���}|j|�|_|�j|_t |�j�|��d�S�r����) rW���r����r����r����r����r���r����rV���r����r ���)r���r����r����r����r���r���r���ro���&��s����z#ExpatBuilder.character_data_handlerc����������� ������C���s����|rd�S�|�j�jsd�S�|�j�||||�}|d�k rF|�j�|�} |j�| ��|�jjjj�|��|�j r||�j � |�tkr||�jjjjd=�d�S�r����)rH���r���rV���Z_create_entityZcreateTextNoder�����appendr����r����rK���r����r����) r���Z entityNameZis_parameter_entityr�����baser����r�����notationNamer�����childr���r���r���rb���1��s���� ��z ExpatBuilder.entity_decl_handlerc�����������������C���sJ���|�j��|||�}|�j�jjj�|��|�jrF|�j�|�tkrF|�j�jjjd=�d�S�r����) rV���Z_create_notationr����r����r����r����rK���r����� FILTER_ACCEPT)r���r����r����r����r����r����r���r���r���rd���C��s����z"ExpatBuilder.notation_decl_handlerc�����������������C���s>���|�j��|�}t|�j|��|�jr:|�j�|�tkr:|�j�|��d�S�r���)rV���Z createCommentr ���rW���rK���r����r����r����)r���r����r����r���r���r���rg���I��s����zExpatBuilder.comment_handlerc�����������������C���s���d|�_�d|�_d�S�)NTF�rY���r����r���r���r���r���ri���O��s����z(ExpatBuilder.start_cdata_section_handlerc�����������������C���s���d|�_�d|�_d�S�)NFr����r���r���r���r���rk���S��s����z&ExpatBuilder.end_cdata_section_handlerc�����������������C���s���dS��Nr!���r���)r����contextr����r����r����r���r���r���rp���W��s����z(ExpatBuilder.external_entity_ref_handlerc�����������������C���s2���|�j�d�kr|�jst|�_|�j|����_|��||��d�S�r���)rK���rX���r���r�����start_element_handlerrT���r]���)r���r?���� attributesr���r���r���r\���Z��s����z"ExpatBuilder.first_element_handlerc�����������������C���s����|�j��|�}t|�j|��||�_|rptdt|�d�D�]<}t�||�td�t �}||d��}||_ |�j�|_t||��q2||�j�j k r�|��|��d�S�)Nr���r;���r!���)rV���Z createElementr ���rW����ranger=���r����Attrr���r���r����r����r ���rz���rL���)r���r?���r����r�����i�ar����r���r���r���r����`��s������z"ExpatBuilder.start_element_handlerc�����������������C���sj���|�j�rf||�jjkrd�S�|�j��|�}|tkr4t|���n|tkrFt|���nd�S�|j|�_ |j� |��|����d�S�r���)rK���rV���rz����startContainerr�����Rejecter�FILTER_SKIP�Skipper� parentNoderW���r�����unlink)r���r����Zfiltr���r���r���rL���q��s���� z"ExpatBuilder._finish_start_elementc�����������������C���s���|�j�}|j|�_�|��|��d�S�r���)rW���r����r����)r���r?���rW���r���r���r���r^������s����z ExpatBuilder.end_element_handlerc�����������������C���s\���|�j��|j�}|r|��||��|�jrX||�jjkr4d�S�|�j�|�tkrX|�j � |��|����d�S�r���)rX����getr����_handle_white_text_nodesrK���rV���rz���r����r����rW���r����r����)r���rW���r'���r���r���r���r�������s����z ExpatBuilder._finish_end_elementc�����������������C���sZ���|�j�js|���sd�S�g�}|jD�]"}|jtkr|j���s|�|��q|D�]}|� |��qFd�S�r���) rH���Zwhitespace_in_element_contentr-���r����r����r����r�����stripr����r����)r���r����r'����Lr����r���r���r���r�������s����� z%ExpatBuilder._handle_white_text_nodesc�����������������C���s0���|�j��|�}|d�kr&t||�|�j�|<�n||_d�S�r���)rX���r����r���r���)r���r?���r���r'���r���r���r���rs������s����z!ExpatBuilder.element_decl_handlerc�������������� ���C���sF���|�j��|�}|d�kr&t|�}||�j�|<�|j�d�|d�d�|d||g��d�S��Nr���)rX���r����r���r���r����)r����elemr?���r,����default�requiredr'���r���r���r���rt������s���� �z!ExpatBuilder.attlist_decl_handlerc�����������������C���s2���||�j�_||�j�_|dkr.|r&d|�j�_nd|�j�_d�S�)Nr���TF)rV����version�encoding� standalone)r���r����r����r����r���r���r���rr������s���� zExpatBuilder.xml_decl_handler)N) r1���r2���r3����__doc__r���rQ���rT���rN���rS���r����r����r{���rZ���r����r`���rm���ro���rb���rd���rg���ri���rk���rp���r\���r����rL���r^���r����r����rs���rt���rr���r���r���r���r���rG�������s:��� rG���c�������������������@���s����e�Zd�ZdZdZdd��Zdd��Zdd��Zej e jeje j eje jeje jeje jeje jeje jeje jeje jeje jeje jej e j!iZ"d S�) rJ���zoWrapper around a DOMBuilderFilter which implements the checks to make the whatToShow filter attribute work.�rI���c�����������������C���s ���||�_�d�S�r���r����)r���rI���r���r���r���r������s����z#FilterVisibilityController.__init__c�����������������C���sT���|�j�|j�}|�jj|@�rL|�j�|�}|tkr0t�|tkrHtdt |����|S�t S�d�S�)Nz)startContainer() returned illegal value: )�_nodetype_maskr����rI���� whatToShowr�����FILTER_INTERRUPTr|����_ALLOWED_FILTER_RETURNSr>����reprr����)r���r�����mask�valr���r���r���r�������s���� �z)FilterVisibilityController.startContainerc�����������������C���s����|�j�|j�}|�jj|@�r||�j�|�}|tkr0t�|tkr`|j}|j d�d���D�]}|� |��qLtS�|tkrxt dt|����|S�tS�d�S�)Nz%acceptNode() returned illegal value: )r����r����rI���r����r����r����r|���r����r����r����ZappendChildr����r����r>���r����r����)r���r����r����r�����parentr����r���r���r���r�������s ���� �z%FilterVisibilityController.acceptNodeN)#r1���r2���r3���r����r4���r���r����r����r���ZELEMENT_NODEr���ZSHOW_ELEMENTZATTRIBUTE_NODEZSHOW_ATTRIBUTEr����Z SHOW_TEXTr����ZSHOW_CDATA_SECTIONZENTITY_REFERENCE_NODEZSHOW_ENTITY_REFERENCEZENTITY_NODEZSHOW_ENTITYZPROCESSING_INSTRUCTION_NODEZSHOW_PROCESSING_INSTRUCTIONZCOMMENT_NODEZSHOW_COMMENT� DOCUMENT_NODEZ SHOW_DOCUMENTZDOCUMENT_TYPE_NODEZSHOW_DOCUMENT_TYPEZDOCUMENT_FRAGMENT_NODEZSHOW_DOCUMENT_FRAGMENTZ NOTATION_NODEZ SHOW_NOTATIONr����r���r���r���r���rJ������s<��� �������������rJ���c�������������������@���s���e�Zd�ZdZdd��ZdS�)�FilterCrutch)�_builder�_level� _old_start�_old_endc�����������������C���s6���d|�_�||�_|j}|j|�_|j|�_|�j|_|�j|_d�S�r����) r����r����rM���r]���r����r_���r����r����r^���)r���r6���rv���r���r���r���r�����s����zFilterCrutch.__init__N)r1���r2���r3���r4���r���r���r���r���r���r������s���r����c�������������������@���s(���e�Zd�ZdZdd��Zdd��Zdd��ZdS�) r����r���c�����������������C���s,���t��|�|��|j}dD�]}t||d���qd�S�)N)ra���rh���rn���rj���rl���rq���)r����r���rM����setattr)r���r6���rv���r?���r���r���r���r�����s����zRejecter.__init__c�����������������G���s���|�j�d�|�_�d�S�r����)r�����r����argsr���r���r���r������s����zRejecter.start_element_handlerc�����������������G���s@���|�j�dkr0|�jj}|�j�|��|�j|_|�j|_n|�j�d�|�_�d�S��Nr���r!���)r����r����rM���rS���r����r]���r����r_���)r���r����rv���r���r���r���r^��� ��s���� zRejecter.end_element_handlerN)r1���r2���r3���r4���r���r����r^���r���r���r���r���r������s���r����c�������������������@���s ���e�Zd�ZdZdd��Zdd��ZdS�)r����r���c�����������������G���s.���|�j�j}|�j|���|�j�j|k r*|�jd�|�_d�S�r����)r����rW���r����r����)r���r����r����r���r���r���r����-��s���� zSkipper.start_element_handlerc�����������������G���sD���|�j�dkr*|�j|�jj_|�j|�jj_d�|�_n|�j�d�|�_�|�j|���d�S�r����)r����r����r����rM���r]���r����r_���r����r���r���r���r^���3��s���� zSkipper.end_element_handlerN)r1���r2���r3���r4���r����r^���r���r���r���r���r����*��s���r����z8http://xml.python.org/entities/fragment-builder/internalz�<!DOCTYPE wrapper %%s [ <!ENTITY fragment-builder-internal SYSTEM "%s"> %%s ]> <wrapper %%s >&fragment-builder-internal;</wrapper>c�������������������@���sJ���e�Zd�ZdZddd�Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)�FragmentBuilderz�Builder which constructs document fragments given XML source text and a context node. The context node is expected to provide information about the namespace declarations which are in scope at the start of the fragment. Nc�����������������C���s6���|j�tkr||�_||�_n|j|�_||�_t�|�|��d�S�r���)r����r�����originalDocumentr����r����rG���r���)r���r����rO���r���r���r���r���[��s���� zFragmentBuilder.__init__c�����������������C���s���t��|���d�|�_d�S�r���)rG���rN����fragmentr���r���r���r���rN���d��s���� zFragmentBuilder.resetc�����������������C���s���|���|����S�)zRParse a document fragment from a file object, returning the fragment node.)r����rx����r���r}���r���r���r���r����h��s����zFragmentBuilder.parseFilec����������� ������C���s����||�_�|����}|�jj}d}|rV|jp*|����}|jrDd|j|jf�}qZ|jrZd|j�}nd}|����}t |||f�}z|� |d��W�n���|�������Y�nX�|�j}|�����|S�)zMParse a document fragment from a string, returning the fragment node.rw���zPUBLIC "%s" "%s"zSYSTEM "%s"r!���) �_sourcerT���r����r����r�����_getDeclarationsr����r�����_getNSattrs�_FRAGMENT_BUILDER_TEMPLATEry���rN���r����) r���r����rv���r�����identr����ZnsattrsrV���r����r���r���r���r����m��s.���� �zFragmentBuilder.parseStringc�����������������C���s��|�j�jj}d}|�rt|jj�D�]R}|j�|�}|r<|d�}d||jf�}|jrdd||j|j f�}q d||j f�}q t|j j�D�]�}|j �|�}|r�|d�}d||jf�}|jr�d||j|j f�}n&|j r�d||j f�}nd ||jjf�}|j r�d ||j f�}|d�}q�|S�)z�Re-create the internal subset from the DocumentType node. This is only needed if we don't already have the internalSubset as a string. rw���z z%s<!NOTATION %sz!%s PUBLIC "%s" "%s">z%s SYSTEM "%s">z %s<!ENTITY %sz %s PUBLIC "%s" "%s"z%s SYSTEM "%s"z%s "%s"z%s NOTATION %s�>)r����r����r����r����r�����length�itemZnodeNamer����r����r���Z firstChildr����r����)r���r����r7���r����Znotationr ���r���r���r���r�������s:���� �� z FragmentBuilder._getDeclarationsc�����������������C���s���dS�)Nrw���r���r���r���r���r���r�������s����zFragmentBuilder._getNSattrsc�����������������C���s~���|t�krh|�j}|�j}|�j�|�}|�j|�_|�j���|�_|�j|�_z|� |�jd��W�5�||�_||�_d�|�_X�dS�t �|�||||�S�d�S�)Nr!���r����)�$_FRAGMENT_BUILDER_INTERNAL_SYSTEM_IDrV���rW���rM���ZExternalEntityParserCreater����ZcreateDocumentFragmentr����r����ry���rG���rp���)r���r����r����r����r����Zold_documentZold_cur_noderv���r���r���r���rp������s(���������z+FragmentBuilder.external_entity_ref_handler)N)r1���r2���r3���r����r���rN���r����r����r����r����rp���r���r���r���r���r����R��s��� $r����c�������������������@���s8���e�Zd�ZdZdd��Zdd��Zdd��Zdd ��Zd d��ZdS�) � Namespacesz7Mix-in class for builders; adds support for namespaces.c�����������������C���s ���g�|�_�d�S�r���)�_ns_ordered_prefixesr���r���r���r����_initNamespaces���s����zNamespaces._initNamespacesc�����������������C���s���t�jdd�}d|_|S�)z'Create a new namespace-handling parser.r9���)Znamespace_separatorT)r���rP���Znamespace_prefixesru���r���r���r���rQ������s����zNamespaces.createParserc�����������������C���s ���t��|�|��|�jjr|�j|_dS�)z.Insert the namespace-handlers onto the parser.N)rG���rS���rH���Znamespace_declarations�start_namespace_decl_handlerZStartNamespaceDeclHandlerru���r���r���r���rS������s�����zNamespaces.installc�����������������C���s���|�j��||f��dS�)z/Push this namespace declaration on our storage.N)r����r����)r���rD���rB���r���r���r���r�������s����z'Namespaces.start_namespace_decl_handlerc�����������������C���s���d|krt�|�|�\}}}}nt}|}d�}t}t�||||�}|�j|_t|�j|��||�_|�j r�|�j D�]P\}}|r�t� t|�d|��t|d�}nt� dtdt�}||_ |�j|_t||��qb|�j d�d��=�|�r~|����|j} |j} tdt|�d�D�]�}||�}||d��} d|k�rDt�|�|�\}}}}t� ||||�}|| |<�|| ||f<�n$t� |t|t�}|| |<�|| t|f<�|�j|_| |_ ||_q�d�S�)Nr9����xmlns:�xmlnsr���r;���r!���)rF���r���r���r���ZElementrV���r����r ���rW���r����r����r8���r���r����r ���Z_ensure_attributes�_attrs�_attrsNSr����r=���ZownerElement)r���r?���r����rB���rC���rD���rE���r����r����r����r����r����r&���r����r���r���r���r�������s^��������� ��z Namespaces.start_element_handlerN) r1���r2���r3���r����r����rQ���rS���r����r����r^���r���r���r���r���r�������s���5r����c�������������������@���s���e�Zd�ZdZdd��ZdS�)�ExpatBuilderNSz*Document builder that supports namespaces.c�����������������C���s���t��|���|�����d�S�r���)rG���rN���r����r���r���r���r���rN���)��s���� zExpatBuilderNS.resetN)r1���r2���r3���r����rN���r���r���r���r���r����&��s���r����c�������������������@���s ���e�Zd�ZdZdd��Zdd��ZdS�)�FragmentBuilderNSz*Fragment builder that supports namespaces.c�����������������C���s���t��|���|�����d�S�r���)r����rN���r����r���r���r���r���rN���1��s���� zFragmentBuilderNS.resetc�����������������C���s����d}|�j�}g�}|r~t|d�rv|j���D�]N\}}||kr8q&|�|��|rPd|�}nd}|rhd|||f�}q&d||f�}q&|j}q|S�)zNReturn string of namespace attributes from this element and ancestors.rw����_ns_prefix_urir����r����z%s %s='%s'z %s='%s')r�����hasattrr�����itemsr����r����)r����attrsr����r����rD���rB���Zdeclnamer���r���r���r����5��s"���� zFragmentBuilderNS._getNSattrsN)r1���r2���r3���r����rN���r����r���r���r���r���r����.��s���r����c�������������������@���s���e�Zd�ZdZdS�)r|���zEException raised to short-circuit parsing in InternalSubsetExtractor.N)r1���r2���r3���r����r���r���r���r���r|���S��s���r|���c�������������������@���sL���e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z d d��Z dd��ZdS�)r����zBXML processor which can rip out the internal document type subset.Nc�����������������C���s���|�j�S�)z'Return the internal subset as a string.)r����r���r���r���r���r����\��s����z!InternalSubsetExtractor.getSubsetc�����������������C���s*���zt��|�|��W�n�tk r$���Y�nX�d�S�r���)rG���r����r|���r����r���r���r���r����`��s����z!InternalSubsetExtractor.parseFilec�����������������C���s*���zt��|�|��W�n�tk r$���Y�nX�d�S�r���)rG���r����r|���)r���r����r���r���r���r����f��s����z#InternalSubsetExtractor.parseStringc�����������������C���s���|�j�|_|�j|_d�S�r���)rZ���r[���r����r]���ru���r���r���r���rS���l��s����zInternalSubsetExtractor.installc�����������������C���s0���|r&|�����}g�|�_|�jj|_|�j|_nt���d�S�r���)rT���r����r����ZDefaultHandlerr����r����r|���)r���r?���r����r����r����rv���r���r���r���rZ���p��s���� z2InternalSubsetExtractor.start_doctype_decl_handlerc�����������������C���s,���d��|�j��dd��dd�}||�_t���d�S�)Nrw���z � � )�joinr�����replacer|���)r���r7���r���r���r���r����z��s����z0InternalSubsetExtractor.end_doctype_decl_handlerc�����������������C���s ���t����d�S�r���)r|���)r���r?���r����r���r���r���r������s����z-InternalSubsetExtractor.start_element_handler)r1���r2���r3���r����r����r����r����r����rS���rZ���r����r����r���r���r���r���r����W��s��� r����Tc�������������� ���C���sL���|rt���}nt��}t|�t�r>t|�d��}|�|�}W�5�Q�R�X�n |�|��}|S�)z{Parse a document, returning the resulting Document node. 'file' may be either a file name or an open file object. �rb)r����rG���� isinstance�str�openr����)r}���� namespacesr6����fp�resultr���r���r����parse���s���� r����c�����������������C���s���|rt���}nt��}|�|��S�)zOParse a document from a string, returning the resulting Document node. )r����rG���r����)r����r����r6���r���r���r���r�������s����r����c�������������� ���C���sP���|rt�|�}nt|�}t|�t�rBt|�d��}|�|�}W�5�Q�R�X�n |�|��}|S�)z�Parse a fragment of a document, given the context from which it was originally extracted. context should be the parent of the node(s) which are in the fragment. 'file' may be either a file name or an open file object. r����)r����r����r����r����r����r����)r}���r����r����r6���r����r����r���r���r���� parseFragment���s���� r����c�����������������C���s ���|rt�|�}nt|�}|�|��S�)z�Parse a fragment of a document from a string, given the context from which it was originally extracted. context should be the parent of the node(s) which are in the fragment. )r����r����r����)r����r����r����r6���r���r���r����parseFragmentString���s���� r����c�����������������C���s���|�j�rt|��S�t|��S�dS�)z,Create a builder based on an Options object.N)r����r����rG���)rO���r���r���r����makeBuilder���s����r����)T)T)T)T)3r����Zxml.domr���r���r���r���r���r���Zxml.parsersr���Zxml.dom.minidomr ���r ���Zxml.dom.NodeFilterr���r����r����r����ZDOMBuilderFilterr����r����r����r����ZgetDOMImplementationrU���ZTypeInfor$����objectr���r8���rF���rG���r����rJ���r����r����r����r����r����r����r����r����r����� Exceptionr|���r����r����r����r����r����r����r���r���r���r����<module>���sf��� �3��C :� �� u_%,