fc0dZddlZddlZddlmZgdZGddZGddZd Z Gd d e Z Gd d e Z GddZ [GddZGddZy)z4Implementation of the DOM Level 3 'LS-Load' feature.N) NodeFilter) DOMBuilderDOMEntityResolverDOMInputSourcec\eZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZdZdZdZdZy)OptionszFeatures object that has variables set for each DOMBuilder feature. The DOMBuilder class uses an instance of this class to pass settings to the ExpatBuilder class. TFN)__name__ __module__ __qualname____doc__ namespacesnamespace_declarations validationexternal_parameter_entitiesexternal_general_entitiesexternal_dtd_subsetvalidate_if_schemavalidatedatatype_normalizationcreate_entity_ref_nodesentitieswhitespace_in_element_contentcdata_sectionscommentscharset_overrides_xml_encodinginfosetsupported_mediatypes_only errorHandlerfilter)/usr/lib/python3.12/xml/dom/xmlbuilder.pyrr srJ!J"& $H""H$(!NH%)"G %L Fr"rc BeZdZdZdZdZdZdZdZdZ eeee fZ dZ dZ dZ d Zd Zd Zd Zd ZdZdZiddgddgddgddgddgddgddgddgddgddgdddgddgddgddgddgddgd d gd!gd"gd#gggd$d%gd&gd'gd(Zd)Zd*Zd+Zd,Zd-Zy).rNr c"t|_yN)r_optionsselfs r#__init__zDOMBuilder.__init__9s   r"c|jSr)entityResolverr+s r#_get_entityResolverzDOMBuilder._get_entityResolver<s"""r"c||_yr)r/)r,r0s r#_set_entityResolverzDOMBuilder._set_entityResolver>s ,r"c|jSr)rr+s r#_get_errorHandlerzDOMBuilder._get_errorHandlerAs   r"c||_yr)r5)r,rs r#_set_errorHandlerzDOMBuilder._set_errorHandlerCs (r"c|jSr)r r+s r# _get_filterzDOMBuilder._get_filterFs {{r"c||_yr)r:)r,r s r# _set_filterzDOMBuilder._set_filterHs  r"ch|j|rG|xrdxsd} |jt||f}|D]\}}t|j||yt jjdt|z#t $r$t jjd|dwxYw)Nr rzunsupported feature: zunknown feature: ) supportsFeature _settings _name_xformsetattrr*KeyErrorxmldomNotSupportedErr NotFoundErrrepr)r,namestatesettingsvalues r# setFeaturezDOMBuilder.setFeatureKs    %Ka$1E 8>>;t+BC Cs B-B1c@t|jt|Sr))hasattrr*rA)r,rIs r#r?zDOMBuilder.supportsFeatureYst}}k$&788r"cHt||xrdxsdf}||jvS)Nr r)rAr@)r,rIrJkeys r# canSetFeaturezDOMBuilder.canSetFeature\s)4 %+A"23dnn$$r"rr)rr )rr)rr)rr )rr)rr rrrr)rr rr)rr )rrrr rr)rr )rrrr rrrr ) rSrTrUrVrX)rr rWrYr[rrrrrr )rYrZr[)rr)rr r\r]r^ct|} t|j|S#t$r|dk(r|j}|jxro|j xra|j xrS|jxrE|jxs6|jxs(|jxs|jxs |j cYStjjdt!|zwxYw)Nrzfeature %s not known)rAgetattrr*AttributeErrorrrrrrrrrrrDrErGrH)r,rIxnameoptionss r# getFeaturezDOMBuilder.getFeaturesD! K4==%0 0 Ky --66<#AA<#,,<$BB<")!?!?";$+$>$>";$+$C$C";%,$4$4";%,$:$: < =''%%&ddl}|jjSrl)rprq build_opener)r,rus r#rz DOMEntityResolver._create_openers~~**,,r"c|jj}d|vrL|jD]8}|jds|j dddj cSyy)Nz Content-Typezcharset==r )rninfogetplist startswithsplitr)r,rrparams r#rz'DOMEntityResolver._guess_media_encodingse  %%' T ! :##J/ ;;sA.q17799 : "r"N)r r r __slots__rfrrrr!r"r#rrsI, -:r"rcjeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZy)rrncharacterStream stringDatarrrorcfd|_d|_d|_d|_d|_d|_d|_yr)rr+s r#r-zDOMInputSource.__init__s4#    r"c|jSr)rnr+s r#_get_byteStreamzDOMInputSource._get_byteStream  r"c||_yr)r)r,rns r#_set_byteStreamzDOMInputSource._set_byteStreams $r"c|jSr)rr+s r#_get_characterStreamz#DOMInputSource._get_characterStreams###r"c||_yr)r)r,rs r#_set_characterStreamz#DOMInputSource._set_characterStreams .r"c|jSr)rr+s r#_get_stringDatazDOMInputSource._get_stringDatarr"c||_yr)r)r,datas r#_set_stringDatazDOMInputSource._set_stringDatas r"c|jSr)rr+s r# _get_encodingzDOMInputSource._get_encoding }}r"c||_yr)r)r,rs r# _set_encodingzDOMInputSource._set_encoding   r"c|jSr)rr+s r# _get_publicIdzDOMInputSource._get_publicId!rr"c||_yr)r)r,rs r# _set_publicIdzDOMInputSource._set_publicId#rr"c|jSr)ror+s r# _get_systemIdzDOMInputSource._get_systemId&rr"c||_yr)r)r,ros r# _set_systemIdzDOMInputSource._set_systemId(rr"c|jSr)rr+s r# _get_baseURIzDOMInputSource._get_baseURI+s ||r"c||_yr)rr,rhs r# _set_baseURIzDOMInputSource._set_baseURI-s  r"N)r r r rr-rrrrrrrrrrrrrrr!r"r#rrsU@I%$/!!!r"rcJeZdZdZdZdZdZdZejZ dZ dZ dZ y ) DOMBuilderFilterzSElement filter which can be used to tailor construction of a DOM instance. r r%r&r'c|jSr)) whatToShowr+s r#_get_whatToShowz DOMBuilderFilter._get_whatToShowBrr"c|jSr) FILTER_ACCEPTr,elements r# acceptNodezDOMBuilderFilter.acceptNodeE!!!r"c|jSr)rrs r#startContainerzDOMBuilderFilter.startContainerHrr"N)r r r r r FILTER_REJECT FILTER_SKIPFILTER_INTERRUPTrSHOW_ALLrrrrr!r"r#rr1s8MMK$$J""r"rc8eZdZdZdZdZdZdZdZdZ dZ y ) DocumentLSz=Mixin to create documents that conform to the load/save spec.Fcy)NFr!r+s r# _get_asynczDocumentLS._get_asyncSsr"cF|rtjjdy)Nz.asynchronous document loading is not supported)rDrErF)r,flags r# _set_asynczDocumentLS._set_asyncVs& ''))@B B r"ctd)Nz'haven't figured out what this means yetryr+s r#abortzDocumentLS.abort[s" 57 7r"ctdNzhaven't written this yetrrs r#loadzDocumentLS.loada!"<==r"ctdrr)r,rs r#loadXMLzDocumentLS.loadXMLdrr"c||}|j S|j|urtjj|j Sr)) ownerDocumentrDrEWrongDocumentErrtoxml)r,snodes r#saveXMLzDocumentLS.saveXMLgsI =E{{}  ,''**, ,{{}r"N) r r r r async_rrrrrrr!r"r#rrNs)G FB 7 >>r"rc&eZdZdZdZdZdZdZy)DOMImplementationLSr r%c|tjjd||jk(r t S||j k(rtjjdt d)NzschemaType not yet supportedz'asynchronous builders are not supportedzunknown value for mode)rDrErFMODE_SYNCHRONOUSrMODE_ASYNCHRONOUSrx)r,mode schemaTypes r#createDOMBuilderz$DOMImplementationLS.createDOMBuilderssl  !'')).0 0 4(( (<  4)) )''))9; ;122r"ctd)Nz-the writer interface hasn't been written yet!rr+s r#createDOMWriterz#DOMImplementationLS.createDOMWriter~s! ;= =r"ctSr))rr+s r#createDOMInputSourcez(DOMImplementationLS.createDOMInputSources r"N)r r r r r rrrr!r"r#rros 3= r"r)r rmxml.domrDxml.dom.NodeFilterr__all__rrrAobjectrrrrrr!r"r#rst: ) @@a)a)H*):):X.V.b""4B  r"