Code Duplication    Length = 115-117 lines in 4 locations

src/ocrd_models/ocrd_page_generateds.py 4 locations

@@ 8183-8299 (lines=117) @@
8180
# end class BaselineType
8181
8182
8183
class RelationsType(GeneratedsSuper):
8184
    """Container for one-to-one relations between layout
8185
    objects (for example: DropCap - paragraph, caption -
8186
    image)."""
8187
    __hash__ = GeneratedsSuper.__hash__
8188
    member_data_items_ = [
8189
        MemberSpec_('Relation', 'RelationType', 1, 0, {'maxOccurs': 'unbounded', 'minOccurs': '1', 'name': 'Relation', 'type': 'RelationType'}, None),
8190
    ]
8191
    subclass = None
8192
    superclass = None
8193
    def __init__(self, Relation=None, gds_collector_=None, **kwargs_):
8194
        self.gds_collector_ = gds_collector_
8195
        self.gds_elementtree_node_ = None
8196
        self.original_tagname_ = None
8197
        self.parent_object_ = kwargs_.get('parent_object_')
8198
        self.ns_prefix_ = None
8199
        if Relation is None:
8200
            self.Relation = []
8201
        else:
8202
            self.Relation = Relation
8203
        self.Relation_nsprefix_ = "pc"
8204
    def factory(*args_, **kwargs_):
8205
        if CurrentSubclassModule_ is not None:
8206
            subclass = getSubclassFromModule_(
8207
                CurrentSubclassModule_, RelationsType)
8208
            if subclass is not None:
8209
                return subclass(*args_, **kwargs_)
8210
        if RelationsType.subclass:
8211
            return RelationsType.subclass(*args_, **kwargs_)
8212
        else:
8213
            return RelationsType(*args_, **kwargs_)
8214
    factory = staticmethod(factory)
8215
    def get_ns_prefix_(self):
8216
        return self.ns_prefix_
8217
    def set_ns_prefix_(self, ns_prefix):
8218
        self.ns_prefix_ = ns_prefix
8219
    def get_Relation(self):
8220
        return self.Relation
8221
    def set_Relation(self, Relation):
8222
        self.Relation = Relation
8223
    def add_Relation(self, value):
8224
        self.Relation.append(value)
8225
    def insert_Relation_at(self, index, value):
8226
        self.Relation.insert(index, value)
8227
    def replace_Relation_at(self, index, value):
8228
        self.Relation[index] = value
8229
    def hasContent_(self):
8230
        if (
8231
            self.Relation
8232
        ):
8233
            return True
8234
        else:
8235
            return False
8236
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='RelationsType', pretty_print=True):
8237
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('RelationsType')
8238
        if imported_ns_def_ is not None:
8239
            namespacedef_ = imported_ns_def_
8240
        if pretty_print:
8241
            eol_ = '\n'
8242
        else:
8243
            eol_ = ''
8244
        if self.original_tagname_ is not None and name_ == 'RelationsType':
8245
            name_ = self.original_tagname_
8246
        if UseCapturedNS_ and self.ns_prefix_:
8247
            namespaceprefix_ = self.ns_prefix_ + ':'
8248
        showIndent(outfile, level, pretty_print)
8249
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
8250
        already_processed = set()
8251
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RelationsType')
8252
        if self.hasContent_():
8253
            outfile.write('>%s' % (eol_, ))
8254
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RelationsType', pretty_print=pretty_print)
8255
            showIndent(outfile, level, pretty_print)
8256
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
8257
        else:
8258
            outfile.write('/>%s' % (eol_, ))
8259
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RelationsType'):
8260
        pass
8261
    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):
8262
        if pretty_print:
8263
            eol_ = '\n'
8264
        else:
8265
            eol_ = ''
8266
        for Relation_ in self.Relation:
8267
            namespaceprefix_ = self.Relation_nsprefix_ + ':' if (UseCapturedNS_ and self.Relation_nsprefix_) else ''
8268
            Relation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Relation', pretty_print=pretty_print)
8269
    def to_etree(self, parent_element=None, name_='RelationsType', mapping_=None, nsmap_=None):
8270
        if parent_element is None:
8271
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
8272
        else:
8273
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
8274
        for Relation_ in self.Relation:
8275
            Relation_.to_etree(element, name_='Relation', mapping_=mapping_, nsmap_=nsmap_)
8276
        if mapping_ is not None:
8277
            mapping_[id(self)] = element
8278
        return element
8279
    def build(self, node, gds_collector_=None):
8280
        self.gds_collector_ = gds_collector_
8281
        if SaveElementTreeNode:
8282
            self.gds_elementtree_node_ = node
8283
        already_processed = set()
8284
        self.ns_prefix_ = node.prefix
8285
        self.buildAttributes(node, node.attrib, already_processed)
8286
        for child in node:
8287
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
8288
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
8289
        return self
8290
    def buildAttributes(self, node, attrs, already_processed):
8291
        pass
8292
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
8293
        if nodeName_ == 'Relation':
8294
            obj_ = RelationType.factory(parent_object_=self)
8295
            obj_.build(child_, gds_collector_=gds_collector_)
8296
            self.Relation.append(obj_)
8297
            obj_.original_tagname_ = 'Relation'
8298
    def __hash__(self):
8299
        return hash(self.id)
8300
# end class RelationsType
8301
8302
@@ 7752-7868 (lines=117) @@
7749
# end class BorderType
7750
7751
7752
class LayersType(GeneratedsSuper):
7753
    """Can be used to express the z-index of overlapping
7754
    regions. An element with a greater z-index is always in
7755
    front of another element with lower z-index."""
7756
    __hash__ = GeneratedsSuper.__hash__
7757
    member_data_items_ = [
7758
        MemberSpec_('Layer', 'LayerType', 1, 0, {'maxOccurs': 'unbounded', 'minOccurs': '1', 'name': 'Layer', 'type': 'LayerType'}, None),
7759
    ]
7760
    subclass = None
7761
    superclass = None
7762
    def __init__(self, Layer=None, gds_collector_=None, **kwargs_):
7763
        self.gds_collector_ = gds_collector_
7764
        self.gds_elementtree_node_ = None
7765
        self.original_tagname_ = None
7766
        self.parent_object_ = kwargs_.get('parent_object_')
7767
        self.ns_prefix_ = None
7768
        if Layer is None:
7769
            self.Layer = []
7770
        else:
7771
            self.Layer = Layer
7772
        self.Layer_nsprefix_ = "pc"
7773
    def factory(*args_, **kwargs_):
7774
        if CurrentSubclassModule_ is not None:
7775
            subclass = getSubclassFromModule_(
7776
                CurrentSubclassModule_, LayersType)
7777
            if subclass is not None:
7778
                return subclass(*args_, **kwargs_)
7779
        if LayersType.subclass:
7780
            return LayersType.subclass(*args_, **kwargs_)
7781
        else:
7782
            return LayersType(*args_, **kwargs_)
7783
    factory = staticmethod(factory)
7784
    def get_ns_prefix_(self):
7785
        return self.ns_prefix_
7786
    def set_ns_prefix_(self, ns_prefix):
7787
        self.ns_prefix_ = ns_prefix
7788
    def get_Layer(self):
7789
        return self.Layer
7790
    def set_Layer(self, Layer):
7791
        self.Layer = Layer
7792
    def add_Layer(self, value):
7793
        self.Layer.append(value)
7794
    def insert_Layer_at(self, index, value):
7795
        self.Layer.insert(index, value)
7796
    def replace_Layer_at(self, index, value):
7797
        self.Layer[index] = value
7798
    def hasContent_(self):
7799
        if (
7800
            self.Layer
7801
        ):
7802
            return True
7803
        else:
7804
            return False
7805
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='LayersType', pretty_print=True):
7806
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LayersType')
7807
        if imported_ns_def_ is not None:
7808
            namespacedef_ = imported_ns_def_
7809
        if pretty_print:
7810
            eol_ = '\n'
7811
        else:
7812
            eol_ = ''
7813
        if self.original_tagname_ is not None and name_ == 'LayersType':
7814
            name_ = self.original_tagname_
7815
        if UseCapturedNS_ and self.ns_prefix_:
7816
            namespaceprefix_ = self.ns_prefix_ + ':'
7817
        showIndent(outfile, level, pretty_print)
7818
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
7819
        already_processed = set()
7820
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LayersType')
7821
        if self.hasContent_():
7822
            outfile.write('>%s' % (eol_, ))
7823
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LayersType', pretty_print=pretty_print)
7824
            showIndent(outfile, level, pretty_print)
7825
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
7826
        else:
7827
            outfile.write('/>%s' % (eol_, ))
7828
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LayersType'):
7829
        pass
7830
    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):
7831
        if pretty_print:
7832
            eol_ = '\n'
7833
        else:
7834
            eol_ = ''
7835
        for Layer_ in self.Layer:
7836
            namespaceprefix_ = self.Layer_nsprefix_ + ':' if (UseCapturedNS_ and self.Layer_nsprefix_) else ''
7837
            Layer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Layer', pretty_print=pretty_print)
7838
    def to_etree(self, parent_element=None, name_='LayersType', mapping_=None, nsmap_=None):
7839
        if parent_element is None:
7840
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
7841
        else:
7842
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
7843
        for Layer_ in self.Layer:
7844
            Layer_.to_etree(element, name_='Layer', mapping_=mapping_, nsmap_=nsmap_)
7845
        if mapping_ is not None:
7846
            mapping_[id(self)] = element
7847
        return element
7848
    def build(self, node, gds_collector_=None):
7849
        self.gds_collector_ = gds_collector_
7850
        if SaveElementTreeNode:
7851
            self.gds_elementtree_node_ = node
7852
        already_processed = set()
7853
        self.ns_prefix_ = node.prefix
7854
        self.buildAttributes(node, node.attrib, already_processed)
7855
        for child in node:
7856
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
7857
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
7858
        return self
7859
    def buildAttributes(self, node, attrs, already_processed):
7860
        pass
7861
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
7862
        if nodeName_ == 'Layer':
7863
            obj_ = LayerType.factory(parent_object_=self)
7864
            obj_.build(child_, gds_collector_=gds_collector_)
7865
            self.Layer.append(obj_)
7866
            obj_.original_tagname_ = 'Layer'
7867
    def __hash__(self):
7868
        return hash(self.id)
7869
# end class LayersType
7870
7871
@@ 10672-10786 (lines=115) @@
10669
# end class GraphemeGroupType
10670
10671
10672
class UserDefinedType(GeneratedsSuper):
10673
    """Container for user-defined attributes"""
10674
    __hash__ = GeneratedsSuper.__hash__
10675
    member_data_items_ = [
10676
        MemberSpec_('UserAttribute', 'UserAttributeType', 1, 0, {'maxOccurs': 'unbounded', 'minOccurs': '1', 'name': 'UserAttribute', 'type': 'UserAttributeType'}, None),
10677
    ]
10678
    subclass = None
10679
    superclass = None
10680
    def __init__(self, UserAttribute=None, gds_collector_=None, **kwargs_):
10681
        self.gds_collector_ = gds_collector_
10682
        self.gds_elementtree_node_ = None
10683
        self.original_tagname_ = None
10684
        self.parent_object_ = kwargs_.get('parent_object_')
10685
        self.ns_prefix_ = None
10686
        if UserAttribute is None:
10687
            self.UserAttribute = []
10688
        else:
10689
            self.UserAttribute = UserAttribute
10690
        self.UserAttribute_nsprefix_ = "pc"
10691
    def factory(*args_, **kwargs_):
10692
        if CurrentSubclassModule_ is not None:
10693
            subclass = getSubclassFromModule_(
10694
                CurrentSubclassModule_, UserDefinedType)
10695
            if subclass is not None:
10696
                return subclass(*args_, **kwargs_)
10697
        if UserDefinedType.subclass:
10698
            return UserDefinedType.subclass(*args_, **kwargs_)
10699
        else:
10700
            return UserDefinedType(*args_, **kwargs_)
10701
    factory = staticmethod(factory)
10702
    def get_ns_prefix_(self):
10703
        return self.ns_prefix_
10704
    def set_ns_prefix_(self, ns_prefix):
10705
        self.ns_prefix_ = ns_prefix
10706
    def get_UserAttribute(self):
10707
        return self.UserAttribute
10708
    def set_UserAttribute(self, UserAttribute):
10709
        self.UserAttribute = UserAttribute
10710
    def add_UserAttribute(self, value):
10711
        self.UserAttribute.append(value)
10712
    def insert_UserAttribute_at(self, index, value):
10713
        self.UserAttribute.insert(index, value)
10714
    def replace_UserAttribute_at(self, index, value):
10715
        self.UserAttribute[index] = value
10716
    def hasContent_(self):
10717
        if (
10718
            self.UserAttribute
10719
        ):
10720
            return True
10721
        else:
10722
            return False
10723
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='UserDefinedType', pretty_print=True):
10724
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('UserDefinedType')
10725
        if imported_ns_def_ is not None:
10726
            namespacedef_ = imported_ns_def_
10727
        if pretty_print:
10728
            eol_ = '\n'
10729
        else:
10730
            eol_ = ''
10731
        if self.original_tagname_ is not None and name_ == 'UserDefinedType':
10732
            name_ = self.original_tagname_
10733
        if UseCapturedNS_ and self.ns_prefix_:
10734
            namespaceprefix_ = self.ns_prefix_ + ':'
10735
        showIndent(outfile, level, pretty_print)
10736
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
10737
        already_processed = set()
10738
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UserDefinedType')
10739
        if self.hasContent_():
10740
            outfile.write('>%s' % (eol_, ))
10741
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UserDefinedType', pretty_print=pretty_print)
10742
            showIndent(outfile, level, pretty_print)
10743
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
10744
        else:
10745
            outfile.write('/>%s' % (eol_, ))
10746
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UserDefinedType'):
10747
        pass
10748
    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):
10749
        if pretty_print:
10750
            eol_ = '\n'
10751
        else:
10752
            eol_ = ''
10753
        for UserAttribute_ in self.UserAttribute:
10754
            namespaceprefix_ = self.UserAttribute_nsprefix_ + ':' if (UseCapturedNS_ and self.UserAttribute_nsprefix_) else ''
10755
            UserAttribute_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UserAttribute', pretty_print=pretty_print)
10756
    def to_etree(self, parent_element=None, name_='UserDefinedType', mapping_=None, nsmap_=None):
10757
        if parent_element is None:
10758
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
10759
        else:
10760
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
10761
        for UserAttribute_ in self.UserAttribute:
10762
            UserAttribute_.to_etree(element, name_='UserAttribute', mapping_=mapping_, nsmap_=nsmap_)
10763
        if mapping_ is not None:
10764
            mapping_[id(self)] = element
10765
        return element
10766
    def build(self, node, gds_collector_=None):
10767
        self.gds_collector_ = gds_collector_
10768
        if SaveElementTreeNode:
10769
            self.gds_elementtree_node_ = node
10770
        already_processed = set()
10771
        self.ns_prefix_ = node.prefix
10772
        self.buildAttributes(node, node.attrib, already_processed)
10773
        for child in node:
10774
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
10775
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
10776
        return self
10777
    def buildAttributes(self, node, attrs, already_processed):
10778
        pass
10779
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
10780
        if nodeName_ == 'UserAttribute':
10781
            obj_ = UserAttributeType.factory(parent_object_=self)
10782
            obj_.build(child_, gds_collector_=gds_collector_)
10783
            self.UserAttribute.append(obj_)
10784
            obj_.original_tagname_ = 'UserAttribute'
10785
    def __hash__(self):
10786
        return hash(self.id)
10787
# end class UserDefinedType
10788
10789
@@ 5215-5329 (lines=115) @@
5212
# end class TextEquivType
5213
5214
5215
class GridType(GeneratedsSuper):
5216
    """Matrix of grid points defining the table grid on the page."""
5217
    __hash__ = GeneratedsSuper.__hash__
5218
    member_data_items_ = [
5219
        MemberSpec_('GridPoints', 'GridPointsType', 1, 0, {'maxOccurs': 'unbounded', 'minOccurs': '2', 'name': 'GridPoints', 'type': 'GridPointsType'}, None),
5220
    ]
5221
    subclass = None
5222
    superclass = None
5223
    def __init__(self, GridPoints=None, gds_collector_=None, **kwargs_):
5224
        self.gds_collector_ = gds_collector_
5225
        self.gds_elementtree_node_ = None
5226
        self.original_tagname_ = None
5227
        self.parent_object_ = kwargs_.get('parent_object_')
5228
        self.ns_prefix_ = None
5229
        if GridPoints is None:
5230
            self.GridPoints = []
5231
        else:
5232
            self.GridPoints = GridPoints
5233
        self.GridPoints_nsprefix_ = "pc"
5234
    def factory(*args_, **kwargs_):
5235
        if CurrentSubclassModule_ is not None:
5236
            subclass = getSubclassFromModule_(
5237
                CurrentSubclassModule_, GridType)
5238
            if subclass is not None:
5239
                return subclass(*args_, **kwargs_)
5240
        if GridType.subclass:
5241
            return GridType.subclass(*args_, **kwargs_)
5242
        else:
5243
            return GridType(*args_, **kwargs_)
5244
    factory = staticmethod(factory)
5245
    def get_ns_prefix_(self):
5246
        return self.ns_prefix_
5247
    def set_ns_prefix_(self, ns_prefix):
5248
        self.ns_prefix_ = ns_prefix
5249
    def get_GridPoints(self):
5250
        return self.GridPoints
5251
    def set_GridPoints(self, GridPoints):
5252
        self.GridPoints = GridPoints
5253
    def add_GridPoints(self, value):
5254
        self.GridPoints.append(value)
5255
    def insert_GridPoints_at(self, index, value):
5256
        self.GridPoints.insert(index, value)
5257
    def replace_GridPoints_at(self, index, value):
5258
        self.GridPoints[index] = value
5259
    def hasContent_(self):
5260
        if (
5261
            self.GridPoints
5262
        ):
5263
            return True
5264
        else:
5265
            return False
5266
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:pc="http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15"', name_='GridType', pretty_print=True):
5267
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('GridType')
5268
        if imported_ns_def_ is not None:
5269
            namespacedef_ = imported_ns_def_
5270
        if pretty_print:
5271
            eol_ = '\n'
5272
        else:
5273
            eol_ = ''
5274
        if self.original_tagname_ is not None and name_ == 'GridType':
5275
            name_ = self.original_tagname_
5276
        if UseCapturedNS_ and self.ns_prefix_:
5277
            namespaceprefix_ = self.ns_prefix_ + ':'
5278
        showIndent(outfile, level, pretty_print)
5279
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
5280
        already_processed = set()
5281
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GridType')
5282
        if self.hasContent_():
5283
            outfile.write('>%s' % (eol_, ))
5284
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GridType', pretty_print=pretty_print)
5285
            showIndent(outfile, level, pretty_print)
5286
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
5287
        else:
5288
            outfile.write('/>%s' % (eol_, ))
5289
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GridType'):
5290
        pass
5291
    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):
5292
        if pretty_print:
5293
            eol_ = '\n'
5294
        else:
5295
            eol_ = ''
5296
        for GridPoints_ in self.GridPoints:
5297
            namespaceprefix_ = self.GridPoints_nsprefix_ + ':' if (UseCapturedNS_ and self.GridPoints_nsprefix_) else ''
5298
            GridPoints_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GridPoints', pretty_print=pretty_print)
5299
    def to_etree(self, parent_element=None, name_='GridType', mapping_=None, nsmap_=None):
5300
        if parent_element is None:
5301
            element = etree_.Element('{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
5302
        else:
5303
            element = etree_.SubElement(parent_element, '{http://schema.primaresearch.org/PAGE/gts/pagecontent/2019-07-15}' + name_, nsmap=nsmap_)
5304
        for GridPoints_ in self.GridPoints:
5305
            GridPoints_.to_etree(element, name_='GridPoints', mapping_=mapping_, nsmap_=nsmap_)
5306
        if mapping_ is not None:
5307
            mapping_[id(self)] = element
5308
        return element
5309
    def build(self, node, gds_collector_=None):
5310
        self.gds_collector_ = gds_collector_
5311
        if SaveElementTreeNode:
5312
            self.gds_elementtree_node_ = node
5313
        already_processed = set()
5314
        self.ns_prefix_ = node.prefix
5315
        self.buildAttributes(node, node.attrib, already_processed)
5316
        for child in node:
5317
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
5318
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
5319
        return self
5320
    def buildAttributes(self, node, attrs, already_processed):
5321
        pass
5322
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
5323
        if nodeName_ == 'GridPoints':
5324
            obj_ = GridPointsType.factory(parent_object_=self)
5325
            obj_.build(child_, gds_collector_=gds_collector_)
5326
            self.GridPoints.append(obj_)
5327
            obj_.original_tagname_ = 'GridPoints'
5328
    def __hash__(self):
5329
        return hash(self.id)
5330
# end class GridType
5331
5332