관리-도구
편집 파일: _markupbase.cpython-310.pyc
o 6��f=9 � @ sV d Z ddlZe�d�jZe�d�jZe�d�Ze�d�Ze�d�Z[G dd � d �Z dS ) z�Shared support for scanning document type declarations in HTML and XHTML. This module is used as a foundation for the html.parser module. It has no documented public API and should not be used directly. � Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z ]\s*]\s*>z]\s*>c @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd Zdd� Z d!dd�Z d!dd�Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zd S )"� ParserBaseziParser base class which provides some common support methods used by the SGML/HTML and XHTML parsers.c C s | j tu r td��d S )Nz)_markupbase.ParserBase must be subclassed)� __class__r �RuntimeError��self� r �2/opt/alt/python310/lib64/python3.10/_markupbase.py�__init__ s ��zParserBase.__init__c C s d| _ d| _d S )N� r ��lineno�offsetr r r r �reset s zParserBase.resetc C s | j | jfS )z&Return current line number and offset.r r r r r �getpos$ s zParserBase.getposc C sd ||kr|S | j }|�d||�}|r(| j| | _|�d||�}||d | _|S | j| | | _|S )N� r )�rawdata�countr �rindexr )r �i�jr Znlines�posr r r � updatepos, s �zParserBase.updatepos� c C s� | j }|d }|||� dksJ d��|||d � dkr!|d S |||d � dv r-dS t|�}|||d � dkr@| �|�S || d krK| �|�S | �||�\}}|d k rY|S |dkr`d| _||k r�|| }|dkr�||d |� }|dkr�| �|� |d S | �|� |d S |d v r�t||�}|s�dS |� � }n>|dv r�| �||�\} }n1|| jv r�|d }n'|d kr�|dkr�| � |d |�}n|dv r�td| ��td��td|| ��|d k r�|S ||k sddS )N� �<!z$unexpected call to parse_declarationr �>)�-r ���z--�[r Zdoctyper z"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ> Zlinktype�element�link�attlistz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)r �len� parse_comment�parse_marked_section� _scan_name�_decl_othercharsZhandle_decl�unknown_decl�_declstringlit_match�end�_parse_doctype_subset�AssertionError) r r r r �nZdecltype�c�data�m�namer r r �parse_declaration<