wipo-gbd-transformation 1.1.80__py3-none-any.whl → 1.1.82__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of wipo-gbd-transformation might be problematic. Click here for more details.

Files changed (31) hide show
  1. gbdtransformation/brands/catm/filters.py +12 -3
  2. gbdtransformation/brands/catm/template.yml +7 -0
  3. gbdtransformation/brands/jotm/tests/test.xml +84 -0
  4. gbdtransformation/brands/kwtm/tests/test.xml +84 -0
  5. gbdtransformation/brands/latm/tests/test.xml +112 -0
  6. gbdtransformation/brands/mgtm/tests/test.xml +107 -0
  7. gbdtransformation/brands/notm/filters.py +4 -0
  8. gbdtransformation/brands/notm/template.yml +29 -3
  9. gbdtransformation/brands/omtm/tests/test.xml +84 -0
  10. gbdtransformation/brands/sdtm/tests/test.xml +84 -0
  11. gbdtransformation/brands/smtm/tests/test.xml +133 -0
  12. gbdtransformation/brands/thtm/tests/test.xml +84 -0
  13. gbdtransformation/brands/totm/tests/test.xml +84 -0
  14. gbdtransformation/brands/wstm/tests/test.xml +132 -0
  15. gbdtransformation/brands/xxxx/template.yml +36 -0
  16. {wipo_gbd_transformation-1.1.80.dist-info → wipo_gbd_transformation-1.1.82.dist-info}/METADATA +1 -1
  17. {wipo_gbd_transformation-1.1.80.dist-info → wipo_gbd_transformation-1.1.82.dist-info}/RECORD +21 -21
  18. gbdtransformation/brands/jotm/tests/test.xml.gz +0 -0
  19. gbdtransformation/brands/kwtm/tests/test.xml.gz +0 -0
  20. gbdtransformation/brands/latm/tests/test.xml.gz +0 -0
  21. gbdtransformation/brands/mgtm/tests/test.xml.gz +0 -0
  22. gbdtransformation/brands/omtm/tests/test.xml.gz +0 -0
  23. gbdtransformation/brands/sdtm/tests/test.xml.gz +0 -0
  24. gbdtransformation/brands/smtm/tests/test.xml.gz +0 -0
  25. gbdtransformation/brands/thtm/tests/test.xml.gz +0 -0
  26. gbdtransformation/brands/totm/tests/test.xml.gz +0 -0
  27. gbdtransformation/brands/wstm/tests/test.xml.gz +0 -0
  28. {wipo_gbd_transformation-1.1.80.dist-info → wipo_gbd_transformation-1.1.82.dist-info}/LICENSE.md +0 -0
  29. {wipo_gbd_transformation-1.1.80.dist-info → wipo_gbd_transformation-1.1.82.dist-info}/WHEEL +0 -0
  30. {wipo_gbd_transformation-1.1.80.dist-info → wipo_gbd_transformation-1.1.82.dist-info}/entry_points.txt +0 -0
  31. {wipo_gbd_transformation-1.1.80.dist-info → wipo_gbd_transformation-1.1.82.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  # standard gbd definitions
2
2
  from gbdtransformation.brands import features as std_features
3
3
  from gbdtransformation.brands.filters import st13 as std_st13
4
-
4
+ import re
5
5
  from datetime import datetime
6
6
  # namespaces defined in XML and to be ignored in procecssing
7
7
  ignore_namespace = ['http://www.cipo.ic.gc.ca/standards/XMLSchema/ST96/Trademark',
@@ -13,7 +13,6 @@ ignore_namespace = ['http://www.cipo.ic.gc.ca/standards/XMLSchema/ST96/Trademark
13
13
  'http://www.w3.org/1998/Math/MathML',
14
14
  'http://www.w3.org/2001/XMLSchema-instance']
15
15
 
16
-
17
16
  # -------------------------------------------------------------
18
17
  # data translation helpers:
19
18
  # translate values from office interpretation to gbd equivalent
@@ -34,7 +33,17 @@ def to_appnum(appnum):
34
33
  def neutralize_version(appnum):
35
34
  if appnum.endswith('-00'):
36
35
  return appnum.replace('-00', '')
37
- else: return appnum
36
+ else:
37
+ return appnum
38
+
39
+ def has_extension_version(name):
40
+ if name is None:
41
+ return False
42
+ name = name.replace(".png", "")
43
+ if re.search(r'\-\d\d$', name):
44
+ return True
45
+ else:
46
+ return False
38
47
 
39
48
  def get_type_kind(type_raw):
40
49
 
@@ -65,8 +65,14 @@ wordMarkSpecification:
65
65
  {% endcall %}
66
66
  markTransliteration: {{ wspec.MarkTransliteration }}
67
67
 
68
+ # We might have several images, but only one is the protected logo. It can be identified as the only MarkImage entry
69
+ # with MarkImageClassification and MarkImageColourClaimedText, or based on the file name pattern, e.g.:
70
+ # 2382009.png versus 2382009-01.png, 2382009-02.png, etc. for the additional images.
71
+ # Additional images seem always examples of usage of the main logo on actual products.
68
72
  markImageDetails:
69
73
  {% call(img) match('MarkRepresentation.MarkReproduction.MarkImageBag.MarkImage', trademark) %}
74
+ {% set has_extension = img.FileName | has_extension_version %}
75
+ {% if not has_extension %}
70
76
  - name: {{ img.FileName }}
71
77
  colourIndicator: {{ img.MarkImageColourClaimedText.__value | get_true_or_false }}
72
78
  colourClaimed:
@@ -82,6 +88,7 @@ markImageDetails:
82
88
  - {{ class | parse_viena }}
83
89
  {% endcall %}
84
90
  {% endcall %}
91
+ {% endif %}
85
92
  {% endcall %}
86
93
 
87
94
  markSoundDetails:
@@ -0,0 +1,84 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <Transaction xmlns="http://www.wipo.int/standards/XMLSchema/trademarks" xmlns:wo="http://www.wipo.int/standards/XMLSchema/wo-trademarks">
4
+ <TradeMarkTransactionBody>
5
+ <TransactionContentDetails>
6
+ <TransactionIdentifier>M</TransactionIdentifier>
7
+ <TransactionCode>Trademark</TransactionCode>
8
+ <TransactionSubCode>Mark</TransactionSubCode>
9
+ <TransactionData>
10
+ <TradeMarkApplication>
11
+ <TradeMarkDetails>
12
+ <TradeMark>
13
+ <RegistrationOfficeCode>TO</RegistrationOfficeCode>
14
+ <ApplicationNumber>2017/3420</ApplicationNumber>
15
+ <ApplicationDate>2017-07-26</ApplicationDate>
16
+ <ApplicationLanguageCode>en</ApplicationLanguageCode>
17
+ <MarkCurrentStatusDate>2017-09-04</MarkCurrentStatusDate>
18
+ <KindMark>Individual</KindMark>
19
+ <MarkImageDetails>
20
+ <MarkImage/>
21
+ </MarkImageDetails>
22
+ <GoodsServicesDetails>
23
+ <GoodsServices>
24
+ <ClassDescriptionDetails>
25
+ <ClassDescription>
26
+ <ClassNumber>25</ClassNumber>
27
+ <GoodsServicesDescription languageCode="en">Slippers</GoodsServicesDescription>
28
+ </ClassDescription>
29
+ </ClassDescriptionDetails>
30
+ </GoodsServices>
31
+ </GoodsServicesDetails>
32
+ <PublicationDetails>
33
+ <Publication>
34
+ <PublicationDate>2017-11-30</PublicationDate>
35
+ </Publication>
36
+ </PublicationDetails>
37
+ <ApplicantDetails>
38
+ <Applicant>
39
+ <ApplicantAddressBook>
40
+ <FormattedNameAddress>
41
+ <Name>
42
+ <FreeFormatName>
43
+ <FreeFormatNameDetails>
44
+ <FreeFormatNameLine languageCode="en">Lei Signs</FreeFormatNameLine>
45
+ </FreeFormatNameDetails>
46
+ </FreeFormatName>
47
+ </Name>
48
+ <Address>
49
+ <AddressCountryCode>TO</AddressCountryCode>
50
+ <FreeFormatAddress>
51
+ <FreeFormatAddressLine>Fund Management, Nuku'alofa</FreeFormatAddressLine>
52
+ </FreeFormatAddress>
53
+ </Address>
54
+ </FormattedNameAddress>
55
+ </ApplicantAddressBook>
56
+ </Applicant>
57
+ </ApplicantDetails>
58
+ <wo:WordMarkSpecification>
59
+ <wo:MarkVerbalElementText languageCode="en">TOKO</wo:MarkVerbalElementText>
60
+ </wo:WordMarkSpecification>
61
+ <wo:MarkEventDetails>
62
+ <wo:MarkEvent>
63
+ <wo:MarkEventDate>2017-07-26</wo:MarkEventDate>
64
+ <wo:MarkEventCode>Filed</wo:MarkEventCode>
65
+ </wo:MarkEvent>
66
+ <wo:MarkEvent>
67
+ <wo:MarkEventDate>2017-11-30</wo:MarkEventDate>
68
+ <wo:MarkEventCode>Published</wo:MarkEventCode>
69
+ </wo:MarkEvent>
70
+ <wo:MarkEvent>
71
+ <wo:MarkEventDate>2017-09-04</wo:MarkEventDate>
72
+ <wo:MarkEventCode>Examined</wo:MarkEventCode>
73
+ <wo:OfficeSpecificMarkEventCode>1044</wo:OfficeSpecificMarkEventCode>
74
+ <wo:OfficeSpecificMarkEventDescription languageCode="en">To Issue Publication Notice</wo:OfficeSpecificMarkEventDescription>
75
+ </wo:MarkEvent>
76
+ </wo:MarkEventDetails>
77
+ <wo:MarkCurrentStatusCode>Examined</wo:MarkCurrentStatusCode>
78
+ </TradeMark>
79
+ </TradeMarkDetails>
80
+ </TradeMarkApplication>
81
+ </TransactionData>
82
+ </TransactionContentDetails>
83
+ </TradeMarkTransactionBody>
84
+ </Transaction>
@@ -0,0 +1,84 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <Transaction xmlns="http://www.wipo.int/standards/XMLSchema/trademarks" xmlns:wo="http://www.wipo.int/standards/XMLSchema/wo-trademarks">
4
+ <TradeMarkTransactionBody>
5
+ <TransactionContentDetails>
6
+ <TransactionIdentifier>M</TransactionIdentifier>
7
+ <TransactionCode>Trademark</TransactionCode>
8
+ <TransactionSubCode>Mark</TransactionSubCode>
9
+ <TransactionData>
10
+ <TradeMarkApplication>
11
+ <TradeMarkDetails>
12
+ <TradeMark>
13
+ <RegistrationOfficeCode>TO</RegistrationOfficeCode>
14
+ <ApplicationNumber>2017/3420</ApplicationNumber>
15
+ <ApplicationDate>2017-07-26</ApplicationDate>
16
+ <ApplicationLanguageCode>en</ApplicationLanguageCode>
17
+ <MarkCurrentStatusDate>2017-09-04</MarkCurrentStatusDate>
18
+ <KindMark>Individual</KindMark>
19
+ <MarkImageDetails>
20
+ <MarkImage/>
21
+ </MarkImageDetails>
22
+ <GoodsServicesDetails>
23
+ <GoodsServices>
24
+ <ClassDescriptionDetails>
25
+ <ClassDescription>
26
+ <ClassNumber>25</ClassNumber>
27
+ <GoodsServicesDescription languageCode="en">Slippers</GoodsServicesDescription>
28
+ </ClassDescription>
29
+ </ClassDescriptionDetails>
30
+ </GoodsServices>
31
+ </GoodsServicesDetails>
32
+ <PublicationDetails>
33
+ <Publication>
34
+ <PublicationDate>2017-11-30</PublicationDate>
35
+ </Publication>
36
+ </PublicationDetails>
37
+ <ApplicantDetails>
38
+ <Applicant>
39
+ <ApplicantAddressBook>
40
+ <FormattedNameAddress>
41
+ <Name>
42
+ <FreeFormatName>
43
+ <FreeFormatNameDetails>
44
+ <FreeFormatNameLine languageCode="en">Lei Signs</FreeFormatNameLine>
45
+ </FreeFormatNameDetails>
46
+ </FreeFormatName>
47
+ </Name>
48
+ <Address>
49
+ <AddressCountryCode>TO</AddressCountryCode>
50
+ <FreeFormatAddress>
51
+ <FreeFormatAddressLine>Fund Management, Nuku'alofa</FreeFormatAddressLine>
52
+ </FreeFormatAddress>
53
+ </Address>
54
+ </FormattedNameAddress>
55
+ </ApplicantAddressBook>
56
+ </Applicant>
57
+ </ApplicantDetails>
58
+ <wo:WordMarkSpecification>
59
+ <wo:MarkVerbalElementText languageCode="en">TOKO</wo:MarkVerbalElementText>
60
+ </wo:WordMarkSpecification>
61
+ <wo:MarkEventDetails>
62
+ <wo:MarkEvent>
63
+ <wo:MarkEventDate>2017-07-26</wo:MarkEventDate>
64
+ <wo:MarkEventCode>Filed</wo:MarkEventCode>
65
+ </wo:MarkEvent>
66
+ <wo:MarkEvent>
67
+ <wo:MarkEventDate>2017-11-30</wo:MarkEventDate>
68
+ <wo:MarkEventCode>Published</wo:MarkEventCode>
69
+ </wo:MarkEvent>
70
+ <wo:MarkEvent>
71
+ <wo:MarkEventDate>2017-09-04</wo:MarkEventDate>
72
+ <wo:MarkEventCode>Examined</wo:MarkEventCode>
73
+ <wo:OfficeSpecificMarkEventCode>1044</wo:OfficeSpecificMarkEventCode>
74
+ <wo:OfficeSpecificMarkEventDescription languageCode="en">To Issue Publication Notice</wo:OfficeSpecificMarkEventDescription>
75
+ </wo:MarkEvent>
76
+ </wo:MarkEventDetails>
77
+ <wo:MarkCurrentStatusCode>Examined</wo:MarkCurrentStatusCode>
78
+ </TradeMark>
79
+ </TradeMarkDetails>
80
+ </TradeMarkApplication>
81
+ </TransactionData>
82
+ </TransactionContentDetails>
83
+ </TradeMarkTransactionBody>
84
+ </Transaction>
@@ -0,0 +1,112 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <Transaction xmlns="http://www.wipo.int/standards/XMLSchema/trademarks" xmlns:wo="http://www.wipo.int/standards/XMLSchema/wo-trademarks">
4
+ <TradeMarkTransactionBody>
5
+ <TransactionContentDetails>
6
+ <TransactionIdentifier>T</TransactionIdentifier>
7
+ <TransactionCode>Trademark</TransactionCode>
8
+ <TransactionSubCode>Trademark</TransactionSubCode>
9
+ <TransactionData>
10
+ <TradeMarkApplication>
11
+ <TradeMarkDetails>
12
+ <TradeMark>
13
+ <RegistrationOfficeCode>LA</RegistrationOfficeCode>
14
+ <ApplicationNumber>37978</ApplicationNumber>
15
+ <ApplicationDate>2016-08-17</ApplicationDate>
16
+ <RegistrationNumber>38524</RegistrationNumber>
17
+ <RegistrationDate>2017-08-15</RegistrationDate>
18
+ <ApplicationLanguageCode>la</ApplicationLanguageCode>
19
+ <ExpiryDate>2027-08-15</ExpiryDate>
20
+ <MarkCurrentStatusDate>2017-08-15</MarkCurrentStatusDate>
21
+ <MarkFeature>Word</MarkFeature>
22
+ <MarkImageDetails>
23
+ <MarkImage/>
24
+ </MarkImageDetails>
25
+ <GoodsServicesDetails>
26
+ <GoodsServices>
27
+ <ClassDescriptionDetails>
28
+ <ClassDescription>
29
+ <ClassNumber>9</ClassNumber>
30
+ <GoodsServicesDescription languageCode="la">Electric wires; electric cables; telephone wires; fiber cables; cnamclcd wircs.</GoodsServicesDescription>
31
+ </ClassDescription>
32
+ </ClassDescriptionDetails>
33
+ </GoodsServices>
34
+ </GoodsServicesDetails>
35
+ <PublicationDetails>
36
+ <Publication>
37
+ <PublicationIdentifier>37978</PublicationIdentifier>
38
+ <PublicationDate>2017-09-30</PublicationDate>
39
+ </Publication>
40
+ </PublicationDetails>
41
+ <ApplicantDetails>
42
+ <Applicant>
43
+ <ApplicantAddressBook>
44
+ <FormattedNameAddress>
45
+ <Name>
46
+ <FreeFormatName>
47
+ <FreeFormatNameDetails>
48
+ <FreeFormatNameLine languageCode="la">TA YA ELECTRIC WIRE &amp; CABLE CO., LTD.</FreeFormatNameLine>
49
+ </FreeFormatNameDetails>
50
+ </FreeFormatName>
51
+ </Name>
52
+ <Address>
53
+ <AddressCountryCode>TW</AddressCountryCode>
54
+ <FreeFormatAddress>
55
+ <FreeFormatAddressLine>249, Section 2, Chung Shan Road, Guanmiao District, Tainan City, Taiwan, R.O.C.</FreeFormatAddressLine>
56
+ </FreeFormatAddress>
57
+ </Address>
58
+ </FormattedNameAddress>
59
+ </ApplicantAddressBook>
60
+ </Applicant>
61
+ </ApplicantDetails>
62
+ <RepresentativeDetails>
63
+ <Representative>
64
+ <RepresentativeAddressBook>
65
+ <FormattedNameAddress>
66
+ <Name>
67
+ <FreeFormatName>
68
+ <FreeFormatNameDetails>
69
+ <FreeFormatNameLine languageCode="la">LAO TRADEMARK AGENCY (LAO IP AGENCY)</FreeFormatNameLine>
70
+ </FreeFormatNameDetails>
71
+ </FreeFormatName>
72
+ </Name>
73
+ <Address>
74
+ <AddressCountryCode>LA</AddressCountryCode>
75
+ <FreeFormatAddress>
76
+ <FreeFormatAddressLine>LLC Bldg, Nongbone Road, Ban Nongbone, Saysettha District, P.O.BOX 925, Vientiane, LAO P.D.R.</FreeFormatAddressLine>
77
+ </FreeFormatAddress>
78
+ </Address>
79
+ </FormattedNameAddress>
80
+ </RepresentativeAddressBook>
81
+ </Representative>
82
+ </RepresentativeDetails>
83
+ <wo:WordMarkSpecification>
84
+ <wo:MarkVerbalElementText languageCode="la">TA YA</wo:MarkVerbalElementText>
85
+ </wo:WordMarkSpecification>
86
+ <wo:MarkEventDetails>
87
+ <wo:MarkEvent>
88
+ <wo:MarkEventDate>2016-08-17</wo:MarkEventDate>
89
+ <wo:MarkEventCode>Filed</wo:MarkEventCode>
90
+ <wo:OfficeSpecificMarkEventName>Filing</wo:OfficeSpecificMarkEventName>
91
+ </wo:MarkEvent>
92
+ <wo:MarkEvent>
93
+ <wo:MarkEventDate>2017-08-15</wo:MarkEventDate>
94
+ <wo:MarkEventCode>Registered</wo:MarkEventCode>
95
+ <wo:OfficeSpecificMarkEventName>Registration</wo:OfficeSpecificMarkEventName>
96
+ <wo:OfficeSpecificMarkEventCode>016</wo:OfficeSpecificMarkEventCode>
97
+ <wo:OfficeSpecificMarkEventDescription languageCode="la">(TM) Registered</wo:OfficeSpecificMarkEventDescription>
98
+ </wo:MarkEvent>
99
+ <wo:MarkEvent>
100
+ <wo:MarkEventDate>2017-09-30</wo:MarkEventDate>
101
+ <wo:MarkEventCode>Published</wo:MarkEventCode>
102
+ <wo:OfficeSpecificMarkEventName>Publication</wo:OfficeSpecificMarkEventName>
103
+ </wo:MarkEvent>
104
+ </wo:MarkEventDetails>
105
+ <wo:MarkCurrentStatusCode>Registered</wo:MarkCurrentStatusCode>
106
+ </TradeMark>
107
+ </TradeMarkDetails>
108
+ </TradeMarkApplication>
109
+ </TransactionData>
110
+ </TransactionContentDetails>
111
+ </TradeMarkTransactionBody>
112
+ </Transaction>
@@ -0,0 +1,107 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <Transaction xmlns="http://www.wipo.int/standards/XMLSchema/trademarks" xmlns:wo="http://www.wipo.int/standards/XMLSchema/wo-trademarks">
4
+ <TradeMarkTransactionBody>
5
+ <TransactionContentDetails>
6
+ <TransactionIdentifier>M</TransactionIdentifier>
7
+ <TransactionCode>Marques Nationales</TransactionCode>
8
+ <TransactionSubCode>Marque Nationale Individuelle</TransactionSubCode>
9
+ <TransactionData>
10
+ <TradeMarkApplication>
11
+ <TradeMarkDetails>
12
+ <TradeMark>
13
+ <RegistrationOfficeCode>MG</RegistrationOfficeCode>
14
+ <ApplicationNumber>MG/M/2018/516</ApplicationNumber>
15
+ <ApplicationDate>2018-07-04</ApplicationDate>
16
+ <RegistrationNumber>19695</RegistrationNumber>
17
+ <RegistrationDate>2019-01-17</RegistrationDate>
18
+ <ApplicationLanguageCode>fr</ApplicationLanguageCode>
19
+ <ExpiryDate>2028-07-04</ExpiryDate>
20
+ <MarkCurrentStatusDate>2019-01-17</MarkCurrentStatusDate>
21
+ <MarkImageDetails>
22
+ <MarkImage>
23
+ <MarkImageFilename>ATTACHMENT/logo</MarkImageFilename>
24
+ <MarkImageFileFormat>JPEG</MarkImageFileFormat>
25
+ <MarkImageCategory>
26
+ <CategoryKind>Vienna</CategoryKind>
27
+ <CategoryVersion>7</CategoryVersion>
28
+ <CategoryCodeDetails>
29
+ <CategoryCode>03.11.10</CategoryCode>
30
+ <CategoryCode>27.05.01</CategoryCode>
31
+ <CategoryCode>27.05.08</CategoryCode>
32
+ </CategoryCodeDetails>
33
+ </MarkImageCategory>
34
+ </MarkImage>
35
+ </MarkImageDetails>
36
+ <GoodsServicesDetails>
37
+ <GoodsServices>
38
+ <ClassDescriptionDetails>
39
+ <ClassDescription>
40
+ <ClassNumber>14</ClassNumber>
41
+ <GoodsServicesDescription languageCode="fr">Collier, Bracelets, Breloques pour la bijouteries, boucles d'oreilles, boites à bijoux.</GoodsServicesDescription>
42
+ </ClassDescription>
43
+ <ClassDescription>
44
+ <ClassNumber>18</ClassNumber>
45
+ <GoodsServicesDescription languageCode="fr">sacs à mains, sacs de plages, sacs normales, porte-feuilles, sacs des voyages; valises ;pochettes pour documents, sacs à dos.</GoodsServicesDescription>
46
+ </ClassDescription>
47
+ <ClassDescription>
48
+ <ClassNumber>21</ClassNumber>
49
+ <GoodsServicesDescription languageCode="fr">boites pour la distribution de serviettes en papiers; sous verres en bambou; corbeilles à pain pour usage ménagères;plateaux à usage domestiques;corbeilles à usage ménagères, dessous de plats;ustensiles de cuisines;sets de tables;ni en papier, ni en matières textiles.</GoodsServicesDescription>
50
+ </ClassDescription>
51
+ <ClassDescription>
52
+ <ClassNumber>24</ClassNumber>
53
+ <GoodsServicesDescription languageCode="fr">chemins de tables non en papier, sets de tables en matières textiles ; Housses d'oreiller ; Couverture de lits ; serviettes de tables en matières textiles ; Housses pour coussins ; tapis des tables non en papier.</GoodsServicesDescription>
54
+ </ClassDescription>
55
+ <ClassDescription>
56
+ <ClassNumber>25</ClassNumber>
57
+ <GoodsServicesDescription languageCode="fr">Ponchos;Sarongs;Jupes;paréo;Pantalons, Foulards;Serviettes de plages;cache nez;chapeaux;Ceintures.</GoodsServicesDescription>
58
+ </ClassDescription>
59
+ </ClassDescriptionDetails>
60
+ </GoodsServices>
61
+ </GoodsServicesDetails>
62
+ <ApplicantDetails>
63
+ <Applicant>
64
+ <ApplicantAddressBook>
65
+ <FormattedNameAddress>
66
+ <Name>
67
+ <FreeFormatName>
68
+ <FreeFormatNameDetails>
69
+ <FreeFormatNameLine languageCode="fr">RAMIANDRISOA Hery Gedeon</FreeFormatNameLine>
70
+ </FreeFormatNameDetails>
71
+ </FreeFormatName>
72
+ </Name>
73
+ <Address>
74
+ <AddressCountryCode>MG</AddressCountryCode>
75
+ <FreeFormatAddress>
76
+ <FreeFormatAddressLine>Lot III G124 A Bis Ambatolampy Antehiroka</FreeFormatAddressLine>
77
+ </FreeFormatAddress>
78
+ </Address>
79
+ </FormattedNameAddress>
80
+ </ApplicantAddressBook>
81
+ </Applicant>
82
+ </ApplicantDetails>
83
+ <wo:WordMarkSpecification>
84
+ <wo:MarkVerbalElementText languageCode="fr">chicetnic</wo:MarkVerbalElementText>
85
+ </wo:WordMarkSpecification>
86
+ <wo:MarkEventDetails>
87
+ <wo:MarkEvent>
88
+ <wo:MarkEventDate>2018-07-04</wo:MarkEventDate>
89
+ <wo:MarkEventCode>Filed</wo:MarkEventCode>
90
+ <wo:OfficeSpecificMarkEventName>Filing</wo:OfficeSpecificMarkEventName>
91
+ </wo:MarkEvent>
92
+ <wo:MarkEvent>
93
+ <wo:MarkEventDate>2019-01-17</wo:MarkEventDate>
94
+ <wo:MarkEventCode>Registered</wo:MarkEventCode>
95
+ <wo:OfficeSpecificMarkEventName>-</wo:OfficeSpecificMarkEventName>
96
+ <wo:OfficeSpecificMarkEventCode>079</wo:OfficeSpecificMarkEventCode>
97
+ <wo:OfficeSpecificMarkEventDescription languageCode="fr">TM Enregistree</wo:OfficeSpecificMarkEventDescription>
98
+ </wo:MarkEvent>
99
+ </wo:MarkEventDetails>
100
+ <wo:MarkCurrentStatusCode>Registered</wo:MarkCurrentStatusCode>
101
+ </TradeMark>
102
+ </TradeMarkDetails>
103
+ </TradeMarkApplication>
104
+ </TransactionData>
105
+ </TransactionContentDetails>
106
+ </TradeMarkTransactionBody>
107
+ </Transaction>
@@ -63,10 +63,14 @@ def translate_feature(feature):
63
63
  #raise Exception('Feature "%s" unmapped' % feature)
64
64
 
65
65
  def get_local_text(node):
66
+ if node is None:
67
+ return None
66
68
  if "$" in node:
67
69
  return node["$"]
68
70
 
69
71
  def get_local_texts(nodes):
72
+ if nodes is None:
73
+ return None
70
74
  text = ""
71
75
  start = True
72
76
  for node in nodes:
@@ -138,7 +138,7 @@ publications:
138
138
 
139
139
  representatives:
140
140
  {% call(representative) match('representative', trademark.representativeBag) %}
141
- - identifier: {{ representative.partyIdentifier }}
141
+ - identifier: {{ representative.partyIdentifier | get_local_text() }}
142
142
  kind:
143
143
  fullName:
144
144
  - languageCode:
@@ -173,7 +173,7 @@ correspondence:
173
173
 
174
174
  applicants:
175
175
  {% call(applicant) match('applicant', trademark.applicantBag) %}
176
- - identifier: {{ applicant.partyIdentifier }}
176
+ - identifier: {{ applicant.partyIdentifier | get_local_text() }}
177
177
  kind:
178
178
  fullName:
179
179
  - languageCode:
@@ -197,6 +197,32 @@ applicants:
197
197
  {% endcall %}
198
198
  {% endcall %}
199
199
 
200
+ holders:
201
+ {% call(holder) match('holder', holderBag) %}
202
+ - identifier: {{ holder.partyIdentifier | get_local_text() }}
203
+ kind:
204
+ fullName:
205
+ - languageCode:
206
+ text: {{ holder.contact.contactTypeChoiceSequence.name.entityName.transliterationName | get_local_texts() }}
207
+ fullAddress:
208
+ {% call(postalAddress) match('postalAddress', holder.contact.contactTypeChoiceSequence.postalAddressBag) %}
209
+ - languageCode:
210
+ text: {{ postalAddress.postalStructuredAddress | get_full_address() }}
211
+ {% endcall %}
212
+ detailedAddress:
213
+ {% call(postalAddress) match('postalAddress', holder.contact.contactTypeChoiceSequence.postalAddressBag) %}
214
+ - languageCode:
215
+ text:
216
+ cityName: {{ postalAddress.postalStructuredAddress.cityName }}
217
+ geographicRegionName:
218
+ postalCode: {{ postalAddress.postalStructuredAddress.postalCode }}
219
+ countryCode: {{ postalAddress.postalStructuredAddress.countryCode }}
220
+ {% endcall %}
221
+ {% call(postalAddress) match('postalAddress', holder.contact.contactTypeChoiceSequence.postalAddressBag) %}
222
+ countryCode: {{ postalAddress.postalStructuredAddress.countryCode }}
223
+ {% endcall %}
224
+ {% endcall %}
225
+
200
226
  # licence information, not frequent, but provided by Singapore, Norway and UK as of 2025-04-23
201
227
  licences:
202
228
  {% call(record) match('markRecord', trademark.markRecordBag) %}
@@ -215,7 +241,7 @@ licences:
215
241
  effectiveDate: {{ record.recordLicence.recordEffectiveDate }}
216
242
  licensee:
217
243
  {% call(licensee) match('licensee', licence.licenseeBag) %}
218
- - identifier:
244
+ - identifier: {{ licensee.partyIdentifier | get_local_text() }}
219
245
  kind:
220
246
  fullName:
221
247
  - languageCode:
@@ -0,0 +1,84 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <Transaction xmlns="http://www.wipo.int/standards/XMLSchema/trademarks" xmlns:wo="http://www.wipo.int/standards/XMLSchema/wo-trademarks">
4
+ <TradeMarkTransactionBody>
5
+ <TransactionContentDetails>
6
+ <TransactionIdentifier>M</TransactionIdentifier>
7
+ <TransactionCode>Trademark</TransactionCode>
8
+ <TransactionSubCode>Mark</TransactionSubCode>
9
+ <TransactionData>
10
+ <TradeMarkApplication>
11
+ <TradeMarkDetails>
12
+ <TradeMark>
13
+ <RegistrationOfficeCode>TO</RegistrationOfficeCode>
14
+ <ApplicationNumber>2017/3420</ApplicationNumber>
15
+ <ApplicationDate>2017-07-26</ApplicationDate>
16
+ <ApplicationLanguageCode>en</ApplicationLanguageCode>
17
+ <MarkCurrentStatusDate>2017-09-04</MarkCurrentStatusDate>
18
+ <KindMark>Individual</KindMark>
19
+ <MarkImageDetails>
20
+ <MarkImage/>
21
+ </MarkImageDetails>
22
+ <GoodsServicesDetails>
23
+ <GoodsServices>
24
+ <ClassDescriptionDetails>
25
+ <ClassDescription>
26
+ <ClassNumber>25</ClassNumber>
27
+ <GoodsServicesDescription languageCode="en">Slippers</GoodsServicesDescription>
28
+ </ClassDescription>
29
+ </ClassDescriptionDetails>
30
+ </GoodsServices>
31
+ </GoodsServicesDetails>
32
+ <PublicationDetails>
33
+ <Publication>
34
+ <PublicationDate>2017-11-30</PublicationDate>
35
+ </Publication>
36
+ </PublicationDetails>
37
+ <ApplicantDetails>
38
+ <Applicant>
39
+ <ApplicantAddressBook>
40
+ <FormattedNameAddress>
41
+ <Name>
42
+ <FreeFormatName>
43
+ <FreeFormatNameDetails>
44
+ <FreeFormatNameLine languageCode="en">Lei Signs</FreeFormatNameLine>
45
+ </FreeFormatNameDetails>
46
+ </FreeFormatName>
47
+ </Name>
48
+ <Address>
49
+ <AddressCountryCode>TO</AddressCountryCode>
50
+ <FreeFormatAddress>
51
+ <FreeFormatAddressLine>Fund Management, Nuku'alofa</FreeFormatAddressLine>
52
+ </FreeFormatAddress>
53
+ </Address>
54
+ </FormattedNameAddress>
55
+ </ApplicantAddressBook>
56
+ </Applicant>
57
+ </ApplicantDetails>
58
+ <wo:WordMarkSpecification>
59
+ <wo:MarkVerbalElementText languageCode="en">TOKO</wo:MarkVerbalElementText>
60
+ </wo:WordMarkSpecification>
61
+ <wo:MarkEventDetails>
62
+ <wo:MarkEvent>
63
+ <wo:MarkEventDate>2017-07-26</wo:MarkEventDate>
64
+ <wo:MarkEventCode>Filed</wo:MarkEventCode>
65
+ </wo:MarkEvent>
66
+ <wo:MarkEvent>
67
+ <wo:MarkEventDate>2017-11-30</wo:MarkEventDate>
68
+ <wo:MarkEventCode>Published</wo:MarkEventCode>
69
+ </wo:MarkEvent>
70
+ <wo:MarkEvent>
71
+ <wo:MarkEventDate>2017-09-04</wo:MarkEventDate>
72
+ <wo:MarkEventCode>Examined</wo:MarkEventCode>
73
+ <wo:OfficeSpecificMarkEventCode>1044</wo:OfficeSpecificMarkEventCode>
74
+ <wo:OfficeSpecificMarkEventDescription languageCode="en">To Issue Publication Notice</wo:OfficeSpecificMarkEventDescription>
75
+ </wo:MarkEvent>
76
+ </wo:MarkEventDetails>
77
+ <wo:MarkCurrentStatusCode>Examined</wo:MarkCurrentStatusCode>
78
+ </TradeMark>
79
+ </TradeMarkDetails>
80
+ </TradeMarkApplication>
81
+ </TransactionData>
82
+ </TransactionContentDetails>
83
+ </TradeMarkTransactionBody>
84
+ </Transaction>