Code Duplication    Length = 119-125 lines in 4 locations

src/ocrd_models/ocrd_page_generateds.py 4 locations

@@ 5955-6079 (lines=125) @@
5952
# end class TextEquivType
5953
5954
5955
class GridType(GeneratedsSuper):
5956
    """GridType --
5957
    Matrix of grid points defining the table grid on the page.
5958
      
5959
    * GridPoints --
5960
      One row in the grid point matrix.
5961
      Points with x,y coordinates.
5962
      (note: for a table with n table rows there should be n+1 grid rows)
5963
    
5964
    """
5965
    __hash__ = GeneratedsSuper.__hash__
5966
    member_data_items_ = [
5967
        MemberSpec_('GridPoints', 'GridPointsType', 1, 0, {'maxOccurs': 'unbounded', 'minOccurs': '2', 'name': 'GridPoints', 'type': 'GridPointsType'}, None),
5968
    ]
5969
    subclass = None
5970
    superclass = None
5971
    def __init__(self, GridPoints=None, gds_collector_=None, **kwargs_):
5972
        self.gds_collector_ = gds_collector_
5973
        self.gds_elementtree_node_ = None
5974
        self.original_tagname_ = None
5975
        self.parent_object_ = kwargs_.get('parent_object_')
5976
        self.ns_prefix_ = "pc"
5977
        if GridPoints is None:
5978
            self.GridPoints = []
5979
        else:
5980
            self.GridPoints = GridPoints
5981
        self.GridPoints_nsprefix_ = "pc"
5982
    def factory(*args_, **kwargs_):
5983
        if CurrentSubclassModule_ is not None:
5984
            subclass = getSubclassFromModule_(
5985
                CurrentSubclassModule_, GridType)
5986
            if subclass is not None:
5987
                return subclass(*args_, **kwargs_)
5988
        if GridType.subclass:
5989
            return GridType.subclass(*args_, **kwargs_)
5990
        else:
5991
            return GridType(*args_, **kwargs_)
5992
    factory = staticmethod(factory)
5993
    def get_ns_prefix_(self):
5994
        return self.ns_prefix_
5995
    def set_ns_prefix_(self, ns_prefix):
5996
        self.ns_prefix_ = ns_prefix
5997
    def get_GridPoints(self):
5998
        return self.GridPoints
5999
    def set_GridPoints(self, GridPoints):
6000
        self.GridPoints = GridPoints
6001
    def add_GridPoints(self, value):
6002
        self.GridPoints.append(value)
6003
    def insert_GridPoints_at(self, index, value):
6004
        self.GridPoints.insert(index, value)
6005
    def replace_GridPoints_at(self, index, value):
6006
        self.GridPoints[index] = value
6007
    def has__content(self):
6008
        if (
6009
            self.GridPoints
6010
        ):
6011
            return True
6012
        else:
6013
            return False
6014
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='GridType', pretty_print=True):
6015
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('GridType')
6016
        if imported_ns_def_ is not None:
6017
            namespacedef_ = imported_ns_def_
6018
        if pretty_print:
6019
            eol_ = '\n'
6020
        else:
6021
            eol_ = ''
6022
        if self.original_tagname_ is not None and name_ == 'GridType':
6023
            name_ = self.original_tagname_
6024
        if UseCapturedNS_ and self.ns_prefix_:
6025
            namespaceprefix_ = self.ns_prefix_ + ':'
6026
        showIndent(outfile, level, pretty_print)
6027
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
6028
        already_processed = set()
6029
        self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GridType')
6030
        if self.has__content():
6031
            outfile.write('>%s' % (eol_, ))
6032
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GridType', pretty_print=pretty_print)
6033
            showIndent(outfile, level, pretty_print)
6034
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
6035
        else:
6036
            outfile.write('/>%s' % (eol_, ))
6037
    def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GridType'):
6038
        pass
6039
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='GridType', fromsubclass_=False, pretty_print=True):
6040
        if pretty_print:
6041
            eol_ = '\n'
6042
        else:
6043
            eol_ = ''
6044
        for GridPoints_ in self.GridPoints:
6045
            namespaceprefix_ = self.GridPoints_nsprefix_ + ':' if (UseCapturedNS_ and self.GridPoints_nsprefix_) else ''
6046
            GridPoints_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GridPoints', pretty_print=pretty_print)
6047
    def to_etree(self, parent_element=None, name_='GridType', mapping_=None, reverse_mapping_=None, nsmap_=None):
6048
        if parent_element is None:
6049
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
6050
        else:
6051
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
6052
        for GridPoints_ in self.GridPoints:
6053
            GridPoints_.to_etree(element, name_='GridPoints', mapping_=mapping_, reverse_mapping_=reverse_mapping_, nsmap_=nsmap_)
6054
        if mapping_ is not None:
6055
            mapping_[id(self)] = element
6056
        if reverse_mapping_ is not None:
6057
            reverse_mapping_[element] = self
6058
        return element
6059
    def build(self, node, gds_collector_=None):
6060
        self.gds_collector_ = gds_collector_
6061
        if SaveElementTreeNode:
6062
            self.gds_elementtree_node_ = node
6063
        already_processed = set()
6064
        self.ns_prefix_ = node.prefix
6065
        self._buildAttributes(node, node.attrib, already_processed)
6066
        for child in node:
6067
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
6068
            self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
6069
        return self
6070
    def _buildAttributes(self, node, attrs, already_processed):
6071
        pass
6072
    def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
6073
        if nodeName_ == 'GridPoints':
6074
            obj_ = GridPointsType.factory(parent_object_=self)
6075
            obj_.build(child_, gds_collector_=gds_collector_)
6076
            self.GridPoints.append(obj_)
6077
            obj_.original_tagname_ = 'GridPoints'
6078
    def __hash__(self):
6079
        return hash(self.id)
6080
# end class GridType
6081
6082
@@ 9029-9150 (lines=122) @@
9026
# end class BaselineType
9027
9028
9029
class RelationsType(GeneratedsSuper):
9030
    """RelationsType --
9031
    Container for one-to-one relations between layout
9032
    objects (for example: DropCap - paragraph, caption -
9033
    image).
9034
    
9035
    """
9036
    __hash__ = GeneratedsSuper.__hash__
9037
    member_data_items_ = [
9038
        MemberSpec_('Relation', 'RelationType', 1, 0, {'maxOccurs': 'unbounded', 'minOccurs': '1', 'name': 'Relation', 'type': 'RelationType'}, None),
9039
    ]
9040
    subclass = None
9041
    superclass = None
9042
    def __init__(self, Relation=None, gds_collector_=None, **kwargs_):
9043
        self.gds_collector_ = gds_collector_
9044
        self.gds_elementtree_node_ = None
9045
        self.original_tagname_ = None
9046
        self.parent_object_ = kwargs_.get('parent_object_')
9047
        self.ns_prefix_ = "pc"
9048
        if Relation is None:
9049
            self.Relation = []
9050
        else:
9051
            self.Relation = Relation
9052
        self.Relation_nsprefix_ = "pc"
9053
    def factory(*args_, **kwargs_):
9054
        if CurrentSubclassModule_ is not None:
9055
            subclass = getSubclassFromModule_(
9056
                CurrentSubclassModule_, RelationsType)
9057
            if subclass is not None:
9058
                return subclass(*args_, **kwargs_)
9059
        if RelationsType.subclass:
9060
            return RelationsType.subclass(*args_, **kwargs_)
9061
        else:
9062
            return RelationsType(*args_, **kwargs_)
9063
    factory = staticmethod(factory)
9064
    def get_ns_prefix_(self):
9065
        return self.ns_prefix_
9066
    def set_ns_prefix_(self, ns_prefix):
9067
        self.ns_prefix_ = ns_prefix
9068
    def get_Relation(self):
9069
        return self.Relation
9070
    def set_Relation(self, Relation):
9071
        self.Relation = Relation
9072
    def add_Relation(self, value):
9073
        self.Relation.append(value)
9074
    def insert_Relation_at(self, index, value):
9075
        self.Relation.insert(index, value)
9076
    def replace_Relation_at(self, index, value):
9077
        self.Relation[index] = value
9078
    def has__content(self):
9079
        if (
9080
            self.Relation
9081
        ):
9082
            return True
9083
        else:
9084
            return False
9085
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='RelationsType', pretty_print=True):
9086
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('RelationsType')
9087
        if imported_ns_def_ is not None:
9088
            namespacedef_ = imported_ns_def_
9089
        if pretty_print:
9090
            eol_ = '\n'
9091
        else:
9092
            eol_ = ''
9093
        if self.original_tagname_ is not None and name_ == 'RelationsType':
9094
            name_ = self.original_tagname_
9095
        if UseCapturedNS_ and self.ns_prefix_:
9096
            namespaceprefix_ = self.ns_prefix_ + ':'
9097
        showIndent(outfile, level, pretty_print)
9098
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
9099
        already_processed = set()
9100
        self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RelationsType')
9101
        if self.has__content():
9102
            outfile.write('>%s' % (eol_, ))
9103
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RelationsType', pretty_print=pretty_print)
9104
            showIndent(outfile, level, pretty_print)
9105
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
9106
        else:
9107
            outfile.write('/>%s' % (eol_, ))
9108
    def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RelationsType'):
9109
        pass
9110
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='RelationsType', fromsubclass_=False, pretty_print=True):
9111
        if pretty_print:
9112
            eol_ = '\n'
9113
        else:
9114
            eol_ = ''
9115
        for Relation_ in self.Relation:
9116
            namespaceprefix_ = self.Relation_nsprefix_ + ':' if (UseCapturedNS_ and self.Relation_nsprefix_) else ''
9117
            Relation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Relation', pretty_print=pretty_print)
9118
    def to_etree(self, parent_element=None, name_='RelationsType', mapping_=None, reverse_mapping_=None, nsmap_=None):
9119
        if parent_element is None:
9120
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
9121
        else:
9122
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
9123
        for Relation_ in self.Relation:
9124
            Relation_.to_etree(element, name_='Relation', mapping_=mapping_, reverse_mapping_=reverse_mapping_, nsmap_=nsmap_)
9125
        if mapping_ is not None:
9126
            mapping_[id(self)] = element
9127
        if reverse_mapping_ is not None:
9128
            reverse_mapping_[element] = self
9129
        return element
9130
    def build(self, node, gds_collector_=None):
9131
        self.gds_collector_ = gds_collector_
9132
        if SaveElementTreeNode:
9133
            self.gds_elementtree_node_ = node
9134
        already_processed = set()
9135
        self.ns_prefix_ = node.prefix
9136
        self._buildAttributes(node, node.attrib, already_processed)
9137
        for child in node:
9138
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
9139
            self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
9140
        return self
9141
    def _buildAttributes(self, node, attrs, already_processed):
9142
        pass
9143
    def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
9144
        if nodeName_ == 'Relation':
9145
            obj_ = RelationType.factory(parent_object_=self)
9146
            obj_.build(child_, gds_collector_=gds_collector_)
9147
            self.Relation.append(obj_)
9148
            obj_.original_tagname_ = 'Relation'
9149
    def __hash__(self):
9150
        return hash(self.id)
9151
# end class RelationsType
9152
9153
@@ 8587-8708 (lines=122) @@
8584
# end class BorderType
8585
8586
8587
class LayersType(GeneratedsSuper):
8588
    """LayersType --
8589
    Can be used to express the z-index of overlapping
8590
    regions. An element with a greater z-index is always in
8591
    front of another element with lower z-index.
8592
    
8593
    """
8594
    __hash__ = GeneratedsSuper.__hash__
8595
    member_data_items_ = [
8596
        MemberSpec_('Layer', 'LayerType', 1, 0, {'maxOccurs': 'unbounded', 'minOccurs': '1', 'name': 'Layer', 'type': 'LayerType'}, None),
8597
    ]
8598
    subclass = None
8599
    superclass = None
8600
    def __init__(self, Layer=None, gds_collector_=None, **kwargs_):
8601
        self.gds_collector_ = gds_collector_
8602
        self.gds_elementtree_node_ = None
8603
        self.original_tagname_ = None
8604
        self.parent_object_ = kwargs_.get('parent_object_')
8605
        self.ns_prefix_ = "pc"
8606
        if Layer is None:
8607
            self.Layer = []
8608
        else:
8609
            self.Layer = Layer
8610
        self.Layer_nsprefix_ = "pc"
8611
    def factory(*args_, **kwargs_):
8612
        if CurrentSubclassModule_ is not None:
8613
            subclass = getSubclassFromModule_(
8614
                CurrentSubclassModule_, LayersType)
8615
            if subclass is not None:
8616
                return subclass(*args_, **kwargs_)
8617
        if LayersType.subclass:
8618
            return LayersType.subclass(*args_, **kwargs_)
8619
        else:
8620
            return LayersType(*args_, **kwargs_)
8621
    factory = staticmethod(factory)
8622
    def get_ns_prefix_(self):
8623
        return self.ns_prefix_
8624
    def set_ns_prefix_(self, ns_prefix):
8625
        self.ns_prefix_ = ns_prefix
8626
    def get_Layer(self):
8627
        return self.Layer
8628
    def set_Layer(self, Layer):
8629
        self.Layer = Layer
8630
    def add_Layer(self, value):
8631
        self.Layer.append(value)
8632
    def insert_Layer_at(self, index, value):
8633
        self.Layer.insert(index, value)
8634
    def replace_Layer_at(self, index, value):
8635
        self.Layer[index] = value
8636
    def has__content(self):
8637
        if (
8638
            self.Layer
8639
        ):
8640
            return True
8641
        else:
8642
            return False
8643
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='LayersType', pretty_print=True):
8644
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LayersType')
8645
        if imported_ns_def_ is not None:
8646
            namespacedef_ = imported_ns_def_
8647
        if pretty_print:
8648
            eol_ = '\n'
8649
        else:
8650
            eol_ = ''
8651
        if self.original_tagname_ is not None and name_ == 'LayersType':
8652
            name_ = self.original_tagname_
8653
        if UseCapturedNS_ and self.ns_prefix_:
8654
            namespaceprefix_ = self.ns_prefix_ + ':'
8655
        showIndent(outfile, level, pretty_print)
8656
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
8657
        already_processed = set()
8658
        self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LayersType')
8659
        if self.has__content():
8660
            outfile.write('>%s' % (eol_, ))
8661
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LayersType', pretty_print=pretty_print)
8662
            showIndent(outfile, level, pretty_print)
8663
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
8664
        else:
8665
            outfile.write('/>%s' % (eol_, ))
8666
    def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LayersType'):
8667
        pass
8668
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='LayersType', fromsubclass_=False, pretty_print=True):
8669
        if pretty_print:
8670
            eol_ = '\n'
8671
        else:
8672
            eol_ = ''
8673
        for Layer_ in self.Layer:
8674
            namespaceprefix_ = self.Layer_nsprefix_ + ':' if (UseCapturedNS_ and self.Layer_nsprefix_) else ''
8675
            Layer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Layer', pretty_print=pretty_print)
8676
    def to_etree(self, parent_element=None, name_='LayersType', mapping_=None, reverse_mapping_=None, nsmap_=None):
8677
        if parent_element is None:
8678
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
8679
        else:
8680
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
8681
        for Layer_ in self.Layer:
8682
            Layer_.to_etree(element, name_='Layer', mapping_=mapping_, reverse_mapping_=reverse_mapping_, nsmap_=nsmap_)
8683
        if mapping_ is not None:
8684
            mapping_[id(self)] = element
8685
        if reverse_mapping_ is not None:
8686
            reverse_mapping_[element] = self
8687
        return element
8688
    def build(self, node, gds_collector_=None):
8689
        self.gds_collector_ = gds_collector_
8690
        if SaveElementTreeNode:
8691
            self.gds_elementtree_node_ = node
8692
        already_processed = set()
8693
        self.ns_prefix_ = node.prefix
8694
        self._buildAttributes(node, node.attrib, already_processed)
8695
        for child in node:
8696
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
8697
            self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
8698
        return self
8699
    def _buildAttributes(self, node, attrs, already_processed):
8700
        pass
8701
    def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
8702
        if nodeName_ == 'Layer':
8703
            obj_ = LayerType.factory(parent_object_=self)
8704
            obj_.build(child_, gds_collector_=gds_collector_)
8705
            self.Layer.append(obj_)
8706
            obj_.original_tagname_ = 'Layer'
8707
    def __hash__(self):
8708
        return hash(self.id)
8709
# end class LayersType
8710
8711
@@ 11638-11756 (lines=119) @@
11635
# end class GraphemeGroupType
11636
11637
11638
class UserDefinedType(GeneratedsSuper):
11639
    """UserDefinedType -- Container for user-defined attributes
11640
    
11641
    """
11642
    __hash__ = GeneratedsSuper.__hash__
11643
    member_data_items_ = [
11644
        MemberSpec_('UserAttribute', 'UserAttributeType', 1, 0, {'maxOccurs': 'unbounded', 'minOccurs': '1', 'name': 'UserAttribute', 'type': 'UserAttributeType'}, None),
11645
    ]
11646
    subclass = None
11647
    superclass = None
11648
    def __init__(self, UserAttribute=None, gds_collector_=None, **kwargs_):
11649
        self.gds_collector_ = gds_collector_
11650
        self.gds_elementtree_node_ = None
11651
        self.original_tagname_ = None
11652
        self.parent_object_ = kwargs_.get('parent_object_')
11653
        self.ns_prefix_ = "pc"
11654
        if UserAttribute is None:
11655
            self.UserAttribute = []
11656
        else:
11657
            self.UserAttribute = UserAttribute
11658
        self.UserAttribute_nsprefix_ = "pc"
11659
    def factory(*args_, **kwargs_):
11660
        if CurrentSubclassModule_ is not None:
11661
            subclass = getSubclassFromModule_(
11662
                CurrentSubclassModule_, UserDefinedType)
11663
            if subclass is not None:
11664
                return subclass(*args_, **kwargs_)
11665
        if UserDefinedType.subclass:
11666
            return UserDefinedType.subclass(*args_, **kwargs_)
11667
        else:
11668
            return UserDefinedType(*args_, **kwargs_)
11669
    factory = staticmethod(factory)
11670
    def get_ns_prefix_(self):
11671
        return self.ns_prefix_
11672
    def set_ns_prefix_(self, ns_prefix):
11673
        self.ns_prefix_ = ns_prefix
11674
    def get_UserAttribute(self):
11675
        return self.UserAttribute
11676
    def set_UserAttribute(self, UserAttribute):
11677
        self.UserAttribute = UserAttribute
11678
    def add_UserAttribute(self, value):
11679
        self.UserAttribute.append(value)
11680
    def insert_UserAttribute_at(self, index, value):
11681
        self.UserAttribute.insert(index, value)
11682
    def replace_UserAttribute_at(self, index, value):
11683
        self.UserAttribute[index] = value
11684
    def has__content(self):
11685
        if (
11686
            self.UserAttribute
11687
        ):
11688
            return True
11689
        else:
11690
            return False
11691
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='UserDefinedType', pretty_print=True):
11692
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('UserDefinedType')
11693
        if imported_ns_def_ is not None:
11694
            namespacedef_ = imported_ns_def_
11695
        if pretty_print:
11696
            eol_ = '\n'
11697
        else:
11698
            eol_ = ''
11699
        if self.original_tagname_ is not None and name_ == 'UserDefinedType':
11700
            name_ = self.original_tagname_
11701
        if UseCapturedNS_ and self.ns_prefix_:
11702
            namespaceprefix_ = self.ns_prefix_ + ':'
11703
        showIndent(outfile, level, pretty_print)
11704
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
11705
        already_processed = set()
11706
        self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UserDefinedType')
11707
        if self.has__content():
11708
            outfile.write('>%s' % (eol_, ))
11709
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UserDefinedType', pretty_print=pretty_print)
11710
            showIndent(outfile, level, pretty_print)
11711
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
11712
        else:
11713
            outfile.write('/>%s' % (eol_, ))
11714
    def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UserDefinedType'):
11715
        pass
11716
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='UserDefinedType', fromsubclass_=False, pretty_print=True):
11717
        if pretty_print:
11718
            eol_ = '\n'
11719
        else:
11720
            eol_ = ''
11721
        for UserAttribute_ in self.UserAttribute:
11722
            namespaceprefix_ = self.UserAttribute_nsprefix_ + ':' if (UseCapturedNS_ and self.UserAttribute_nsprefix_) else ''
11723
            UserAttribute_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UserAttribute', pretty_print=pretty_print)
11724
    def to_etree(self, parent_element=None, name_='UserDefinedType', mapping_=None, reverse_mapping_=None, nsmap_=None):
11725
        if parent_element is None:
11726
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
11727
        else:
11728
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
11729
        for UserAttribute_ in self.UserAttribute:
11730
            UserAttribute_.to_etree(element, name_='UserAttribute', mapping_=mapping_, reverse_mapping_=reverse_mapping_, nsmap_=nsmap_)
11731
        if mapping_ is not None:
11732
            mapping_[id(self)] = element
11733
        if reverse_mapping_ is not None:
11734
            reverse_mapping_[element] = self
11735
        return element
11736
    def build(self, node, gds_collector_=None):
11737
        self.gds_collector_ = gds_collector_
11738
        if SaveElementTreeNode:
11739
            self.gds_elementtree_node_ = node
11740
        already_processed = set()
11741
        self.ns_prefix_ = node.prefix
11742
        self._buildAttributes(node, node.attrib, already_processed)
11743
        for child in node:
11744
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
11745
            self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
11746
        return self
11747
    def _buildAttributes(self, node, attrs, already_processed):
11748
        pass
11749
    def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
11750
        if nodeName_ == 'UserAttribute':
11751
            obj_ = UserAttributeType.factory(parent_object_=self)
11752
            obj_.build(child_, gds_collector_=gds_collector_)
11753
            self.UserAttribute.append(obj_)
11754
            obj_.original_tagname_ = 'UserAttribute'
11755
    def __hash__(self):
11756
        return hash(self.id)
11757
# end class UserDefinedType
11758
11759