Ë
    sPêjÒ  ã                   óZ  — U d dgZ ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZmZ erddlmZ dZe
eeef      ed<   	 ddlmZmZm Z! erddlm"Z#  G d„ de«      Z% G d„ dee«      Z& G d„ d e&ee«      Z'y# e$ rZ$ ed«      e$fZY dZ$[$Œ9dZ$[$ww xY w)ÚXmlValidatorÚXmlValidationErroré    )ÚABC)ÚIterable)ÚPath)ÚTYPE_CHECKINGÚLiteralÚOptionalÚUnionÚoverloadé   )Ú"MissingOptionalDependencyException)ÚOutputFormat)ÚBOM_XMLé   )ÚBaseSchemabasedValidatorÚSchemabasedValidatorÚValidationError)ÚSchemaVersionNÚ_missing_deps_error)Ú	XMLParserÚ	XMLSchemaÚ
fromstring)Ú	_LogEntryzzThis functionality requires optional dependencies.
Please install `cyclonedx-python-lib` with the extra "xml-validation".
c                   ó   — e Zd Zedd„«       Zy)r   c                 ó   —  | |«      S )ue   âš ï¸� This is an internal API. It is not part of the public interface and may change without notice.© )ÚclsÚes     ú]/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/cyclonedx/validation/xml.pyÚ_make_from_xlez!XmlValidationError._make_from_xle4   s   € ñ �1‹vˆó    N)r   Ú_XmlLogEntryÚreturnr   )Ú__name__Ú
__module__Ú__qualname__Úclassmethodr!   r   r"   r    r   r   3   s   „ Øòó ñr"   c                   ó‚  ‡ — e Zd ZU edeej                     fd„«       Zdˆ fd„Ze	ddœde
ded	   dee   fd
„«       Ze	de
ded   deee      fd„«       Zd	dœde
dededeee   f   fd„ZereZd	dœde
dededeee   f   fd„Zˆ xZS d	dœde
dededeee   f   fd„ZdZed   ed<   edefd„«       Zedd„«       Zˆ xZS )Ú_BaseXmlValidatorr$   c                 ó"   — t         j                  S ©N)r   ÚXML©Úselfs    r    Úoutput_formatz_BaseXmlValidator.output_format=   s   € ä×ÑÐr"   Nc                 ó$   •— t         ‰| �  |«       y r,   )ÚsuperÚ__init__)r/   Úschema_versionÚ	__class__s     €r    r3   z_BaseXmlValidator.__init__A   s   ø€ ä‰Ñ˜Õ(r"   .)Ú
all_errorsÚdatar6   Fc                 ó   — y r,   r   ©r/   r7   r6   s      r    Úvalidate_strz_BaseXmlValidator.validate_strG   ó   € àr"   Tc                 ó   — y r,   r   r9   s      r    r:   z_BaseXmlValidator.validate_strK   r;   r"   c                 ó   — y r,   r   r9   s      r    r:   z_BaseXmlValidator.validate_strO   s   € ð 	r"   c                ó<   — | j                   d   | j                   d   ‚)Nr   r   )Ú_BaseXmlValidator__MDERRORr9   s      r    r:   z_BaseXmlValidator.validate_strY   s   € ð —.‘. Ñ#¨¯©¸Ñ):Ð:r"   c                ó  — | j                   }|j                  t        t        |d¬«      | j                  ¬«      «      }|ry |j
                  }|rt        t        j                  |«      S t        j                  |j                  «      S )NÚutf8)Úencoding)Úparser)
Ú
_validatorÚvalidateÚxml_fromstringÚbytesÚ_BaseXmlValidator__xml_parserÚ	error_logÚmapr   r!   Ú
last_error)r/   r7   r6   Ú	validatorÚvalidÚerrorss         r    r:   z_BaseXmlValidator.validate_str_   s�   € ð Ÿ™ˆIØ×&Ñ&ÜÜ˜$¨Ô0Ø×,Ñ,ô.ó/ˆEñ ØØ×(Ñ(ˆFáô Ô)×8Ñ8¸&ÓAð Jä'×6Ñ6°v×7HÑ7HÓIðJr"   r   Ú_BaseXmlValidator__validatorc           
      ó(   — t        dddddddd¬«      S )NFT)Úattribute_defaultsÚdtd_validationÚload_dtdÚ
no_networkÚresolve_entitiesÚ	huge_treeÚcompactÚrecover)r   r.   s    r    Ú__xml_parserz_BaseXmlValidator.__xml_parserp   s%   € äØ#(¸ÈØØ!&ØØØôð r"   c                 óÐ   — | j                   sO| j                  }|€t        d«      ‚t        t	        |«      j                  «       j                  «       ¬«      | _         | j                   S )Nzmissing schema file)Úfile)rO   Ú_schema_fileÚNotImplementedErrorr   r   ÚabsoluteÚas_uri)r/   Úschema_files     r    rD   z_BaseXmlValidator._validator{   sX   € à×#Ò#Ø"×/Ñ/�ØÐ&Ü-Ð.CÓDÐDÜ#,´$°{Ó2C×2LÑ2LÓ2N×2UÑ2UÓ2WÔ#X�Ô Ø×#Ñ#Ð#r"   )r4   r   r$   N)r$   r   )r%   r&   r'   Úpropertyr	   r   r-   r0   r3   r   Ústrr
   r   r:   r   Úboolr   r   r?   rO   Ú__annotations__r   rH   rD   Ú__classcell__)r5   s   @r    r*   r*   ;   s†  ø… àð ˜w |×'7Ñ'7Ñ8ò  ó ð õ)ð ØFIò  ð °W¸U±^ð ÈhÐWiÑNjò ó ðð ð ð °W¸T±]ð ÀxÐPXÐYkÑPlÑGmò ó ðð 05òØðØ(,ðà	ˆtÐ'¨Ð2DÑ)EÐEÑ	Fóñ Ø'ˆ	ð 49ò	;Øð	;Ø,0ð	;à�4Ð+¨XÐ6HÑ-IÐIÑJ÷	;ð 49ò	JØð	JØ,0ð	Jà�4Ð+¨XÐ6HÑ-IÐIÑJó	Jð .2ˆ�X˜kÑ*Ó1à	ð	 )ò 	ó 
ð	ð 
ò	$ó 
ô	$r"   r*   c                   ó,   — e Zd ZdZedee   fd„«       Zy)r   z0Validator for CycloneDX documents in XML format.r$   c                 ó@   — t        j                  | j                  «      S r,   )Ú_S_BOMÚgetr4   r.   s    r    r\   zXmlValidator._schema_fileˆ   s   € ä�z‰z˜$×-Ñ-Ó.Ð.r"   N)r%   r&   r'   Ú__doc__ra   r
   rb   r\   r   r"   r    r   r   …   s"   „ Ù:àð/˜h s™mò /ó ñ/r"   )(Ú__all__Úabcr   Úcollections.abcr   Úpathlibr   Útypingr   r	   r
   r   r   Ú	exceptionr   Úschemar   Úschema._resr   rh   Ú r   r   r   r   r   ÚtupleÚImportErrorrd   Ú
lxml.etreer   r   r   rF   r   r#   Úerrr   r*   r   r   r"   r    ú<module>rx      sÉ   ðð& 1ˆ>Ð/Ð
0€å Ý $Ý ß DÕ Då :Ý !Ý +ß MÑ MáÝ&àX\Ð �X˜eÐ$FÈÐ$SÑTÑUÓ \ð÷ñ ñ Ý8ô˜ô ôG$Ð0°#ô G$ôT/Ð$Ð&>Ð@Tõ /øðs ò Ù<ð	Sóð ðÕûðús   ÁB ÂB*Â
B%Â%B*