from xmldt import XmlDt
import sys


class pcarta (XmlDt):

    def __default__(self, element):
         return element.xml

    # def title(self, element):  # 1 occurrences   
    #    return element.tag

    # def author(self, element):  # 2 occurrences   attested: 1
    #    return element.tag

    # def resp(self, element):  # 2 occurrences   
    #    return element.tag

    # def name(self, element):  # 2 occurrences   
    #    return element.tag

    # def date(self, element):  # 3 occurrences   when: 1
    #    return element.tag

    # def respStmt(self, element):  # 1 occurrences   
    #    return element.tag

    # def respStmtm(self, element):  # 1 occurrences   
    #    return element.tag

    # def titleStmt(self, element):  # 1 occurrences   
    #    return element.tag

    # def p(self, element):  # 12 occurrences   
    #    return element.tag

    # def authority(self, element):  # 1 occurrences   
    #    return element.tag

    # def idno(self, element):  # 2 occurrences   
    #    return element.tag

    # def availability(self, element):  # 1 occurrences   status: 1
    #    return element.tag

    # def publicationStmt(self, element):  # 1 occurrences   
    #    return element.tag

    # def country(self, element):  # 1 occurrences   
    #    return element.tag

    # def region(self, element):  # 1 occurrences   
    #    return element.tag

    # def settlement(self, element):  # 1 occurrences   
    #    return element.tag

    # def collection(self, element):  # 1 occurrences   
    #    return element.tag

    # def letIdentifier(self, element):  # 1 occurrences   
    #    return element.tag

    # def addressee(self, element):  # 1 occurrences   attested: 1
    #    return element.tag

    # def placeLet(self, element):  # 1 occurrences   attested: 1
    #    return element.tag

    # def dateLet(self, element):  # 1 occurrences   attested: 1
    #    return element.tag

    # def letPart(self, element):  # 1 occurrences   n: 1
    #    return element.tag

    # def letHeading(self, element):  # 1 occurrences   
    #    return element.tag

    # def type(self, element):  # 1 occurrences   
    #    return element.tag

    # def support(self, element):  # 1 occurrences   
    #    return element.tag

    # def height(self, element):  # 1 occurrences   units: 1
    #    return element.tag

    # def width(self, element):  # 1 occurrences   units: 1
    #    return element.tag

    # def dimensions(self, element):  # 1 occurrences   
    #    return element.tag

    # def extent(self, element):  # 1 occurrences   
    #    return element.tag

    # def paraphDesc(self, element):  # 1 occurrences   
    #    return element.tag

    # def paraphItem(self, element):  # 1 occurrences   id: 1
    #    return element.tag

    # def paraphList(self, element):  # 1 occurrences   
    #    return element.tag

    # def paraphernalia(self, element):  # 1 occurrences   
    #    return element.tag

    # def physDesc(self, element):  # 1 occurrences   
    #    return element.tag

    # def envOcc(self, element):  # 1 occurrences   occ: 1
    #    return element.tag

    # def letContents(self, element):  # 1 occurrences   
    #    return element.tag

    # def letDesc(self, element):  # 1 occurrences   
    #    return element.tag

    # def sourceDesc(self, element):  # 1 occurrences   
    #    return element.tag

    # def fileDesc(self, element):  # 1 occurrences   
    #    return element.tag

    # def teiHeader(self, element):  # 1 occurrences   
    #    return element.tag

    def pb(self, element):  # 2 occurrences   n: 2
        return f'[{element["n"]}]'

    # def persName(self, element):  # 2 occurrences   
    #    return element.tag

    # def salute(self, element):  # 1 occurrences   
    #    return element.tag

    # def opener(self, element):  # 1 occurrences   
    #    return element.tag

    def pc(self, element):  # 1 occurrences   
        return ""

    def lb(self, element):  # 15 occurrences   
        return ''

    def gap(self, element):  # 3 occurrences   
        return '(???)'

    def orig(self, element):  # 2 occurrences   
        return ''

    def reg(self, element):  # 2 occurrences   
        return element.contents

    def choice(self, element):  # 2 occurrences   
       return element.contents

    def abbr(self, element):  # 1 occurrences   expand: 1
       return element.contents

    # def signed(self, element):  # 1 occurrences   
    #    return element.tag

    # def closer(self, element):  # 1 occurrences   
    #    return element.tag

    # def body(self, element):  # 1 occurrences   
    #    return element.tag

    def text(self, element):  # 1 occurrences   
        return f"\n------------------\n{element.contents}\n"

#    @XmlDt.TAG("TEI.2")
#    def TEI_2(self, element):  # 1 occurrences
#        return element.contents + "END!"


print(pcarta(filename=sys.argv[1]))
