3 \%@sddlmZddlmZddlmZejjZejjZeejdrJejj Z nejj Z ejj Z ejj Z ddgZ d/Zy eeZWnek rYnXddddddddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd0d)d*Zd1d+d,Zd-dZd.dZd(S)2)absolute_import)unicode_literals)util test_commentto_html_stringto_xhtml_stringareabasebasefontbrcolframehrimginputisindexlink metaparamxmlhtmlrdfwsdlxsxsidc)z$http://www.w3.org/XML/1998/namespacezhttp://www.w3.org/1999/xhtmlz+http://www.w3.org/1999/02/22-rdf-syntax-ns#z http://schemas.xmlsoap.org/wsdl/z http://www.w3.org/2001/XMLSchemaz)http://www.w3.org/2001/XMLSchema-instancez http://purl.org/dc/elements/1.1/cCstd|t|jfdS)Nzcannot serialize %r (type %s)) TypeErrortype__name__)textr !build/lib/markdown/serializers.py_raise_serialization_errorLsr"c Cs2y |j|dSttfk r,t|YnXdS)Nxmlcharrefreplace)encoderAttributeErrorr")rencodingr r r!_encodeQs r'c Csfy@d|kr|jdd}d|kr*|jdd}d|kr>|jdd}|Sttfk r`t|YnXdS)N&z&z>)replacerr%r")rr r r! _escape_cdataWs   r,c Csyhd|kr|jdd}d|kr*|jdd}d|kr>|jdd}d|krR|jdd}d |krf|jd d }|Sttfk rt|YnXdS) Nr(z&r)z<r*z>"z" z )r+rr%r")rr r r!_escape_attribhs     r/c CszyTd|kr|jdd}d|kr*|jdd}d|kr>|jdd}d|krR|jdd}|Sttfk rtt|YnXdS) Nr(z&r)z<r*z>r-z")r+rr%r")rr r r!_escape_attrib_htmlys    r0c Cs$|j}|j}|tkr(|dt|n|tkrD|dt|n||}|dkr|rd|t|x|D]}t|||d|qjWn|d||j}|s|rxt|}xv|D]n\} } t| t r| j} t| t r|| j} nt | } || | ko|dkr |d| q|d|| | fqW|rx|j}|j ddd x4|D],\} } | r^d | } |d | t | fqHW|d kr|j tkr|d np|d|r|j dkr||n |t|x|D]}t|||d|qW|j tkr |d|d|jr |t|jdS)Nz zr)rz %sz %s="%s"cSs|dS)Nrr )xr r r!sz!_serialize_html..)key:z xmlns%s="%s"xhtmlz />r*scriptstylezt|tjr|kr||n |dk r|t k r|t k rt |xR|j D]F\}}t|tr|j}|kr||t|tr|jkr||jqW|j}t|trV|jkrV||jqVWfS)NrLc sy|dddkr|ddjdd\}}j|}|dkrjtj|}|dkrZdt}|dkrj||<|rd||f|<q||<nrtd||<Wntk rt|YnXdS)Nr{}zns%drz%s:%sz.add_qname) iterr% getiteratorr8r>r?rr string_typer9PIr"r<)rErRr_Ziterater8r3valuerr )rRrGrFr!rOs:       rOcCstt|jddS)Nr)rH)rT ElementTreegetroot)elementr r r!rscCstt|jddS)Nr5)rH)rTrerf)rgr r r!rs) r r r r r rrrrrrr)NNr)N) __future__rrrLretreerer?hasattrrr9rcr:__all__rBset NameErrorrYr"r'r,r/r0r;rTrOrrr r r r!(sF      7  ?