wipo-gbd-transformation 1.1.105__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.
Files changed (607) hide show
  1. gbdtransformation/__init__.py +0 -0
  2. gbdtransformation/brands/__init__.py +44 -0
  3. gbdtransformation/brands/aetm/__init__.py +5 -0
  4. gbdtransformation/brands/aetm/filters.py +84 -0
  5. gbdtransformation/brands/aetm/schema +87 -0
  6. gbdtransformation/brands/aetm/template.yml +1 -0
  7. gbdtransformation/brands/aetm/tests/__init__.py +0 -0
  8. gbdtransformation/brands/altm/__init__.py +6 -0
  9. gbdtransformation/brands/altm/filters.py +107 -0
  10. gbdtransformation/brands/altm/schema +83 -0
  11. gbdtransformation/brands/altm/template.yml +1 -0
  12. gbdtransformation/brands/altm/tests/__init__.py +0 -0
  13. gbdtransformation/brands/altm/tests/altm.xml +93 -0
  14. gbdtransformation/brands/aptm/__init__.py +15 -0
  15. gbdtransformation/brands/aptm/filters.py +80 -0
  16. gbdtransformation/brands/aptm/schema +87 -0
  17. gbdtransformation/brands/aptm/template.yml +1 -0
  18. gbdtransformation/brands/aptm/tests/__init__.py +0 -0
  19. gbdtransformation/brands/attm/__init__.py +6 -0
  20. gbdtransformation/brands/attm/filters.py +76 -0
  21. gbdtransformation/brands/attm/schema +52 -0
  22. gbdtransformation/brands/attm/template.yml +85 -0
  23. gbdtransformation/brands/autm/__init__.py +2 -0
  24. gbdtransformation/brands/autm/filters.py +222 -0
  25. gbdtransformation/brands/autm/schema +91 -0
  26. gbdtransformation/brands/autm/template.yml +157 -0
  27. gbdtransformation/brands/bgtm/__init__.py +5 -0
  28. gbdtransformation/brands/bgtm/filters.py +112 -0
  29. gbdtransformation/brands/bgtm/schema +314 -0
  30. gbdtransformation/brands/bgtm/template.yml +154 -0
  31. gbdtransformation/brands/bhtm/__init__.py +12 -0
  32. gbdtransformation/brands/bhtm/filters.py +87 -0
  33. gbdtransformation/brands/bhtm/schema +87 -0
  34. gbdtransformation/brands/bhtm/template.yml +1 -0
  35. gbdtransformation/brands/bhtm/tests/__init__.py +0 -0
  36. gbdtransformation/brands/bntm/__init__.py +2 -0
  37. gbdtransformation/brands/bntm/filters.py +75 -0
  38. gbdtransformation/brands/bntm/schema +87 -0
  39. gbdtransformation/brands/bntm/template.yml +1 -0
  40. gbdtransformation/brands/bntm/tests/__init__.py +0 -0
  41. gbdtransformation/brands/brtm/__init__.py +3 -0
  42. gbdtransformation/brands/brtm/filters.py +169 -0
  43. gbdtransformation/brands/brtm/schema +86 -0
  44. gbdtransformation/brands/brtm/template.yml +22 -0
  45. gbdtransformation/brands/brtm/tests/__init__.py +0 -0
  46. gbdtransformation/brands/brtm/tests/test01.xml +53 -0
  47. gbdtransformation/brands/bttm/__init__.py +10 -0
  48. gbdtransformation/brands/bttm/filters.py +80 -0
  49. gbdtransformation/brands/bttm/schema +87 -0
  50. gbdtransformation/brands/bttm/template.yml +1 -0
  51. gbdtransformation/brands/bttm/tests/__init__.py +0 -0
  52. gbdtransformation/brands/bwtm/__init__.py +13 -0
  53. gbdtransformation/brands/bwtm/filters.py +90 -0
  54. gbdtransformation/brands/bwtm/schema +87 -0
  55. gbdtransformation/brands/bwtm/template.yml +1 -0
  56. gbdtransformation/brands/bwtm/tests/__init__.py +0 -0
  57. gbdtransformation/brands/bztm/__init__.py +16 -0
  58. gbdtransformation/brands/bztm/filters.py +77 -0
  59. gbdtransformation/brands/bztm/schema +87 -0
  60. gbdtransformation/brands/bztm/template.yml +1 -0
  61. gbdtransformation/brands/bztm/tests/__init__.py +0 -0
  62. gbdtransformation/brands/catm/__init__.py +10 -0
  63. gbdtransformation/brands/catm/filters.py +272 -0
  64. gbdtransformation/brands/catm/schema +804 -0
  65. gbdtransformation/brands/catm/template.yml +230 -0
  66. gbdtransformation/brands/chtm/__init__.py +6 -0
  67. gbdtransformation/brands/chtm/filters.py +161 -0
  68. gbdtransformation/brands/chtm/schema +79 -0
  69. gbdtransformation/brands/chtm/template.yml +121 -0
  70. gbdtransformation/brands/cltm/__init__.py +2 -0
  71. gbdtransformation/brands/cltm/filters.py +80 -0
  72. gbdtransformation/brands/cltm/schema +86 -0
  73. gbdtransformation/brands/cltm/template.yml +1 -0
  74. gbdtransformation/brands/cltm/tests/__init__.py +0 -0
  75. gbdtransformation/brands/crtm/__init__.py +5 -0
  76. gbdtransformation/brands/crtm/filters.py +196 -0
  77. gbdtransformation/brands/crtm/schema +86 -0
  78. gbdtransformation/brands/crtm/template.yml +1 -0
  79. gbdtransformation/brands/crtm/tests/__init__.py +0 -0
  80. gbdtransformation/brands/cutm/__init__.py +10 -0
  81. gbdtransformation/brands/cutm/filters.py +94 -0
  82. gbdtransformation/brands/cutm/schema +86 -0
  83. gbdtransformation/brands/cutm/template.yml +4 -0
  84. gbdtransformation/brands/cutm/tests/__init__.py +0 -0
  85. gbdtransformation/brands/detm/__init__.py +19 -0
  86. gbdtransformation/brands/detm/filters.py +75 -0
  87. gbdtransformation/brands/detm/schema +511 -0
  88. gbdtransformation/brands/detm/template.yml +151 -0
  89. gbdtransformation/brands/dktm/__init__.py +7 -0
  90. gbdtransformation/brands/dktm/filters.py +90 -0
  91. gbdtransformation/brands/dktm/schema +95 -0
  92. gbdtransformation/brands/dktm/template.yml +114 -0
  93. gbdtransformation/brands/dztm/__init__.py +10 -0
  94. gbdtransformation/brands/dztm/filters.py +81 -0
  95. gbdtransformation/brands/dztm/schema +87 -0
  96. gbdtransformation/brands/dztm/template.yml +1 -0
  97. gbdtransformation/brands/dztm/tests/__init__.py +0 -0
  98. gbdtransformation/brands/eetm/__init__.py +8 -0
  99. gbdtransformation/brands/eetm/filters.py +115 -0
  100. gbdtransformation/brands/eetm/schema +48 -0
  101. gbdtransformation/brands/eetm/template.yml +98 -0
  102. gbdtransformation/brands/egtm/__init__.py +5 -0
  103. gbdtransformation/brands/egtm/filters.py +73 -0
  104. gbdtransformation/brands/egtm/schema +87 -0
  105. gbdtransformation/brands/egtm/template.yml +1 -0
  106. gbdtransformation/brands/egtm/tests/__init__.py +0 -0
  107. gbdtransformation/brands/emtm/__init__.py +3 -0
  108. gbdtransformation/brands/emtm/filters.py +96 -0
  109. gbdtransformation/brands/emtm/schema +314 -0
  110. gbdtransformation/brands/emtm/template.yml +125 -0
  111. gbdtransformation/brands/estm/__init__.py +3 -0
  112. gbdtransformation/brands/estm/filters.py +110 -0
  113. gbdtransformation/brands/estm/schema +99 -0
  114. gbdtransformation/brands/estm/template.yml +144 -0
  115. gbdtransformation/brands/filters.py +125 -0
  116. gbdtransformation/brands/frtm/__init__.py +2 -0
  117. gbdtransformation/brands/frtm/filters.py +172 -0
  118. gbdtransformation/brands/frtm/schema +300 -0
  119. gbdtransformation/brands/frtm/template.yml +203 -0
  120. gbdtransformation/brands/gbtm/__init__.py +3 -0
  121. gbdtransformation/brands/gbtm/filters.py +122 -0
  122. gbdtransformation/brands/gbtm/schema +362 -0
  123. gbdtransformation/brands/gbtm/template.yml +147 -0
  124. gbdtransformation/brands/gdtm/__init__.py +5 -0
  125. gbdtransformation/brands/gdtm/filters.py +68 -0
  126. gbdtransformation/brands/gdtm/schema +87 -0
  127. gbdtransformation/brands/gdtm/template.yml +1 -0
  128. gbdtransformation/brands/gdtm/tests/__init__.py +0 -0
  129. gbdtransformation/brands/getm/__init__.py +3 -0
  130. gbdtransformation/brands/getm/filters.py +68 -0
  131. gbdtransformation/brands/getm/schema +209 -0
  132. gbdtransformation/brands/getm/template.yml +142 -0
  133. gbdtransformation/brands/ghtm/__init__.py +12 -0
  134. gbdtransformation/brands/ghtm/filters.py +74 -0
  135. gbdtransformation/brands/ghtm/schema +86 -0
  136. gbdtransformation/brands/ghtm/template.yml +1 -0
  137. gbdtransformation/brands/ghtm/tests/__init__.py +0 -0
  138. gbdtransformation/brands/gmtm/__init__.py +7 -0
  139. gbdtransformation/brands/gmtm/filters.py +70 -0
  140. gbdtransformation/brands/gmtm/schema +86 -0
  141. gbdtransformation/brands/gmtm/template.yml +1 -0
  142. gbdtransformation/brands/gmtm/tests/__init__.py +0 -0
  143. gbdtransformation/brands/gstm/__init__.py +2 -0
  144. gbdtransformation/brands/gstm/filters.py +75 -0
  145. gbdtransformation/brands/gstm/template.gs.yml +56 -0
  146. gbdtransformation/brands/gstm/template.yml +32 -0
  147. gbdtransformation/brands/hrtm/__init__.py +3 -0
  148. gbdtransformation/brands/hrtm/filters.py +158 -0
  149. gbdtransformation/brands/hrtm/schema +43 -0
  150. gbdtransformation/brands/hrtm/template.yml +205 -0
  151. gbdtransformation/brands/idtm/__init__.py +12 -0
  152. gbdtransformation/brands/idtm/filters.py +95 -0
  153. gbdtransformation/brands/idtm/schema +86 -0
  154. gbdtransformation/brands/idtm/template.yml +1 -0
  155. gbdtransformation/brands/idtm/tests/__init__.py +0 -0
  156. gbdtransformation/brands/idtm/tests/translation.xml +106 -0
  157. gbdtransformation/brands/idtm/tests/unicode.xml +120 -0
  158. gbdtransformation/brands/iltm/__init__.py +2 -0
  159. gbdtransformation/brands/iltm/filters.py +91 -0
  160. gbdtransformation/brands/iltm/schema +87 -0
  161. gbdtransformation/brands/iltm/template.yml +213 -0
  162. gbdtransformation/brands/iltm/tests/__init__.py +0 -0
  163. gbdtransformation/brands/iltm/tests/cancellations.xml +156 -0
  164. gbdtransformation/brands/iltm/tests/collcert.xml +51 -0
  165. gbdtransformation/brands/iltm/tests/eventdata.xml +83 -0
  166. gbdtransformation/brands/iltm/tests/international.xml +80 -0
  167. gbdtransformation/brands/iltm/tests/markfeature.xml +117 -0
  168. gbdtransformation/brands/iltm/tests/noevents.xml +44 -0
  169. gbdtransformation/brands/iltm/tests/opposition.xml +147 -0
  170. gbdtransformation/brands/iltm/tests/tlit.xml +77 -0
  171. gbdtransformation/brands/intm/__init__.py +6 -0
  172. gbdtransformation/brands/intm/filters.py +75 -0
  173. gbdtransformation/brands/intm/schema +127 -0
  174. gbdtransformation/brands/intm/template.yml +112 -0
  175. gbdtransformation/brands/ipas/__init__.py +0 -0
  176. gbdtransformation/brands/ipas/filters.py +203 -0
  177. gbdtransformation/brands/ipas/template.yml +185 -0
  178. gbdtransformation/brands/istm/__init__.py +10 -0
  179. gbdtransformation/brands/istm/filters.py +60 -0
  180. gbdtransformation/brands/istm/schema +53 -0
  181. gbdtransformation/brands/istm/template.yml +119 -0
  182. gbdtransformation/brands/ittm/__init__.py +6 -0
  183. gbdtransformation/brands/ittm/filters.py +114 -0
  184. gbdtransformation/brands/ittm/schema +104 -0
  185. gbdtransformation/brands/ittm/template.yml +107 -0
  186. gbdtransformation/brands/jotm/__init__.py +8 -0
  187. gbdtransformation/brands/jotm/filters.py +61 -0
  188. gbdtransformation/brands/jotm/schema +86 -0
  189. gbdtransformation/brands/jotm/template.yml +1 -0
  190. gbdtransformation/brands/jotm/tests/__init__.py +0 -0
  191. gbdtransformation/brands/jotm/tests/test.xml +84 -0
  192. gbdtransformation/brands/jptm/__init__.py +6 -0
  193. gbdtransformation/brands/jptm/filters.py +79 -0
  194. gbdtransformation/brands/jptm/schema +39 -0
  195. gbdtransformation/brands/jptm/template.yml +113 -0
  196. gbdtransformation/brands/ketm/__init__.py +9 -0
  197. gbdtransformation/brands/ketm/filters.py +77 -0
  198. gbdtransformation/brands/ketm/schema +86 -0
  199. gbdtransformation/brands/ketm/template.yml +1 -0
  200. gbdtransformation/brands/ketm/tests/__init__.py +0 -0
  201. gbdtransformation/brands/kgtm/__init__.py +6 -0
  202. gbdtransformation/brands/kgtm/filters.py +67 -0
  203. gbdtransformation/brands/kgtm/schema +27 -0
  204. gbdtransformation/brands/kgtm/template.yml +58 -0
  205. gbdtransformation/brands/khtm/__init__.py +14 -0
  206. gbdtransformation/brands/khtm/filters.py +134 -0
  207. gbdtransformation/brands/khtm/schema +86 -0
  208. gbdtransformation/brands/khtm/template.yml +1 -0
  209. gbdtransformation/brands/khtm/tests/__init__.py +0 -0
  210. gbdtransformation/brands/khtm/tests/khtm.xml +122 -0
  211. gbdtransformation/brands/krtm/__init__.py +6 -0
  212. gbdtransformation/brands/krtm/filters.py +136 -0
  213. gbdtransformation/brands/krtm/schema +179 -0
  214. gbdtransformation/brands/krtm/template.yml +186 -0
  215. gbdtransformation/brands/kwtm/__init__.py +2 -0
  216. gbdtransformation/brands/kwtm/filters.py +69 -0
  217. gbdtransformation/brands/kwtm/schema +86 -0
  218. gbdtransformation/brands/kwtm/template.yml +1 -0
  219. gbdtransformation/brands/kwtm/tests/__init__.py +0 -0
  220. gbdtransformation/brands/kwtm/tests/test.xml +84 -0
  221. gbdtransformation/brands/kztm/__init__.py +242 -0
  222. gbdtransformation/brands/kztm/filters.py +140 -0
  223. gbdtransformation/brands/kztm/schema +36 -0
  224. gbdtransformation/brands/kztm/template.yml +117 -0
  225. gbdtransformation/brands/latm/__init__.py +7 -0
  226. gbdtransformation/brands/latm/filters.py +93 -0
  227. gbdtransformation/brands/latm/schema +86 -0
  228. gbdtransformation/brands/latm/template.yml +1 -0
  229. gbdtransformation/brands/latm/tests/__init__.py +0 -0
  230. gbdtransformation/brands/latm/tests/test.xml +112 -0
  231. gbdtransformation/brands/lktm/__init__.py +5 -0
  232. gbdtransformation/brands/lktm/filters.py +83 -0
  233. gbdtransformation/brands/lktm/schema +87 -0
  234. gbdtransformation/brands/lktm/template.yml +1 -0
  235. gbdtransformation/brands/lktm/tests/__init__.py +0 -0
  236. gbdtransformation/brands/matm/__init__.py +3 -0
  237. gbdtransformation/brands/matm/filters.py +36 -0
  238. gbdtransformation/brands/matm/schema +33 -0
  239. gbdtransformation/brands/matm/template.yml +72 -0
  240. gbdtransformation/brands/mctm/__init__.py +3 -0
  241. gbdtransformation/brands/mctm/filters.py +65 -0
  242. gbdtransformation/brands/mctm/schema +128 -0
  243. gbdtransformation/brands/mctm/template.yml +122 -0
  244. gbdtransformation/brands/mdtm/__init__.py +3 -0
  245. gbdtransformation/brands/mdtm/filters.py +64 -0
  246. gbdtransformation/brands/mdtm/schema +128 -0
  247. gbdtransformation/brands/mdtm/template.yml +122 -0
  248. gbdtransformation/brands/metm/__init__.py +5 -0
  249. gbdtransformation/brands/metm/filters.py +87 -0
  250. gbdtransformation/brands/metm/schema +87 -0
  251. gbdtransformation/brands/metm/template.yml +1 -0
  252. gbdtransformation/brands/metm/tests/__init__.py +0 -0
  253. gbdtransformation/brands/mgtm/__init__.py +7 -0
  254. gbdtransformation/brands/mgtm/filters.py +73 -0
  255. gbdtransformation/brands/mgtm/schema +86 -0
  256. gbdtransformation/brands/mgtm/template.yml +1 -0
  257. gbdtransformation/brands/mgtm/tests/__init__.py +0 -0
  258. gbdtransformation/brands/mgtm/tests/test.xml +107 -0
  259. gbdtransformation/brands/mktm/__init__.py +6 -0
  260. gbdtransformation/brands/mktm/filters.py +63 -0
  261. gbdtransformation/brands/mktm/schema +80 -0
  262. gbdtransformation/brands/mktm/template.yml +112 -0
  263. gbdtransformation/brands/mntm/__init__.py +11 -0
  264. gbdtransformation/brands/mntm/filters.py +99 -0
  265. gbdtransformation/brands/mntm/schema +86 -0
  266. gbdtransformation/brands/mntm/template.yml +1 -0
  267. gbdtransformation/brands/mntm/tests/__init__.py +0 -0
  268. gbdtransformation/brands/mwtm/__init__.py +11 -0
  269. gbdtransformation/brands/mwtm/filters.py +80 -0
  270. gbdtransformation/brands/mwtm/schema +86 -0
  271. gbdtransformation/brands/mwtm/template.yml +1 -0
  272. gbdtransformation/brands/mwtm/tests/__init__.py +0 -0
  273. gbdtransformation/brands/mxtm/__init__.py +6 -0
  274. gbdtransformation/brands/mxtm/filters.py +77 -0
  275. gbdtransformation/brands/mxtm/schema +81 -0
  276. gbdtransformation/brands/mxtm/template.yml +127 -0
  277. gbdtransformation/brands/mytm/__init__.py +17 -0
  278. gbdtransformation/brands/mytm/filters.py +125 -0
  279. gbdtransformation/brands/mytm/schema +86 -0
  280. gbdtransformation/brands/mytm/template.yml +1 -0
  281. gbdtransformation/brands/mytm/tests/__init__.py +0 -0
  282. gbdtransformation/brands/mytm/tests/example.xml +132 -0
  283. gbdtransformation/brands/mytm/tests/mytm.xml +132 -0
  284. gbdtransformation/brands/mztm/__init__.py +14 -0
  285. gbdtransformation/brands/mztm/filters.py +89 -0
  286. gbdtransformation/brands/mztm/schema +86 -0
  287. gbdtransformation/brands/mztm/template.yml +1 -0
  288. gbdtransformation/brands/mztm/tests/__init__.py +0 -0
  289. gbdtransformation/brands/natm/__init__.py +11 -0
  290. gbdtransformation/brands/natm/filters.py +88 -0
  291. gbdtransformation/brands/natm/schema +86 -0
  292. gbdtransformation/brands/natm/template.yml +1 -0
  293. gbdtransformation/brands/natm/tests/__init__.py +0 -0
  294. gbdtransformation/brands/notm/__init__.py +5 -0
  295. gbdtransformation/brands/notm/filters.py +170 -0
  296. gbdtransformation/brands/notm/template.yml +289 -0
  297. gbdtransformation/brands/nztm/__init__.py +3 -0
  298. gbdtransformation/brands/nztm/filters.py +126 -0
  299. gbdtransformation/brands/nztm/schema +197 -0
  300. gbdtransformation/brands/nztm/template.yml +161 -0
  301. gbdtransformation/brands/oatm/__init__.py +18 -0
  302. gbdtransformation/brands/oatm/filters.py +82 -0
  303. gbdtransformation/brands/oatm/schema +87 -0
  304. gbdtransformation/brands/oatm/template.yml +1 -0
  305. gbdtransformation/brands/oatm/tests/__init__.py +0 -0
  306. gbdtransformation/brands/omtm/__init__.py +5 -0
  307. gbdtransformation/brands/omtm/filters.py +60 -0
  308. gbdtransformation/brands/omtm/schema +86 -0
  309. gbdtransformation/brands/omtm/template.yml +1 -0
  310. gbdtransformation/brands/omtm/tests/__init__.py +0 -0
  311. gbdtransformation/brands/omtm/tests/test.xml +84 -0
  312. gbdtransformation/brands/patm/__init__.py +8 -0
  313. gbdtransformation/brands/patm/filters.py +149 -0
  314. gbdtransformation/brands/patm/template.yml +40 -0
  315. gbdtransformation/brands/petm/__init__.py +6 -0
  316. gbdtransformation/brands/petm/filters.py +90 -0
  317. gbdtransformation/brands/petm/schema +114 -0
  318. gbdtransformation/brands/petm/template.yml +143 -0
  319. gbdtransformation/brands/pgtm/__init__.py +5 -0
  320. gbdtransformation/brands/pgtm/filters.py +76 -0
  321. gbdtransformation/brands/pgtm/schema +86 -0
  322. gbdtransformation/brands/pgtm/template.yml +1 -0
  323. gbdtransformation/brands/pgtm/tests/__init__.py +0 -0
  324. gbdtransformation/brands/pgtm/tests/pgtm.xml +128 -0
  325. gbdtransformation/brands/phtm/__init__.py +14 -0
  326. gbdtransformation/brands/phtm/filters.py +169 -0
  327. gbdtransformation/brands/phtm/schema +79 -0
  328. gbdtransformation/brands/phtm/schema.classic +50 -0
  329. gbdtransformation/brands/phtm/template.classic.yml +102 -0
  330. gbdtransformation/brands/phtm/template.yml +189 -0
  331. gbdtransformation/brands/pttm/__init__.py +0 -0
  332. gbdtransformation/brands/pttm/filters.py +0 -0
  333. gbdtransformation/brands/pttm/schema +0 -0
  334. gbdtransformation/brands/pttm/template.yml +0 -0
  335. gbdtransformation/brands/pytm/__init__.py +6 -0
  336. gbdtransformation/brands/pytm/filters.py +136 -0
  337. gbdtransformation/brands/pytm/template.yml +40 -0
  338. gbdtransformation/brands/qatm/__init__.py +5 -0
  339. gbdtransformation/brands/qatm/filters.py +81 -0
  340. gbdtransformation/brands/qatm/schema +87 -0
  341. gbdtransformation/brands/qatm/template.yml +1 -0
  342. gbdtransformation/brands/qatm/tests/__init__.py +0 -0
  343. gbdtransformation/brands/rotm/__init__.py +3 -0
  344. gbdtransformation/brands/rotm/filters.py +82 -0
  345. gbdtransformation/brands/rotm/schema +128 -0
  346. gbdtransformation/brands/rotm/template.yml +121 -0
  347. gbdtransformation/brands/rstm/__init__.py +5 -0
  348. gbdtransformation/brands/rstm/filters.py +88 -0
  349. gbdtransformation/brands/rstm/schema +86 -0
  350. gbdtransformation/brands/rstm/template.yml +1 -0
  351. gbdtransformation/brands/rstm/tests/__init__.py +0 -0
  352. gbdtransformation/brands/rutm/__init__.py +14 -0
  353. gbdtransformation/brands/rutm/filters.py +82 -0
  354. gbdtransformation/brands/rutm/schema +94 -0
  355. gbdtransformation/brands/rutm/template.yml +105 -0
  356. gbdtransformation/brands/sdtm/__init__.py +5 -0
  357. gbdtransformation/brands/sdtm/filters.py +59 -0
  358. gbdtransformation/brands/sdtm/schema +86 -0
  359. gbdtransformation/brands/sdtm/template.yml +1 -0
  360. gbdtransformation/brands/sdtm/tests/__init__.py +0 -0
  361. gbdtransformation/brands/sdtm/tests/test.xml +84 -0
  362. gbdtransformation/brands/sgtm/__init__.py +16 -0
  363. gbdtransformation/brands/sgtm/filters.py +177 -0
  364. gbdtransformation/brands/sgtm/schema +213 -0
  365. gbdtransformation/brands/sgtm/template.article6ter.yml +48 -0
  366. gbdtransformation/brands/sgtm/template.r13.yml +45 -0
  367. gbdtransformation/brands/sgtm/template.trademark.yml +148 -0
  368. gbdtransformation/brands/sgtm/template.yml +9 -0
  369. gbdtransformation/brands/smtm/__init__.py +6 -0
  370. gbdtransformation/brands/smtm/filters.py +77 -0
  371. gbdtransformation/brands/smtm/schema +86 -0
  372. gbdtransformation/brands/smtm/template.yml +1 -0
  373. gbdtransformation/brands/smtm/tests/__init__.py +0 -0
  374. gbdtransformation/brands/smtm/tests/test.xml +133 -0
  375. gbdtransformation/brands/solrjtm/__init__.py +1 -0
  376. gbdtransformation/brands/solrjtm/filters.py +85 -0
  377. gbdtransformation/brands/solrjtm/template.yml +195 -0
  378. gbdtransformation/brands/st66tm/__init__.py +1 -0
  379. gbdtransformation/brands/st66tm/filters.py +33 -0
  380. gbdtransformation/brands/st66tm/st66tm.tmpl +219 -0
  381. gbdtransformation/brands/sttm/__init__.py +18 -0
  382. gbdtransformation/brands/sttm/filters.py +72 -0
  383. gbdtransformation/brands/sttm/schema +83 -0
  384. gbdtransformation/brands/sttm/template.yml +1 -0
  385. gbdtransformation/brands/sttm/tests/__init__.py +0 -0
  386. gbdtransformation/brands/sztm/__init__.py +14 -0
  387. gbdtransformation/brands/sztm/filters.py +72 -0
  388. gbdtransformation/brands/sztm/schema +86 -0
  389. gbdtransformation/brands/sztm/template.yml +1 -0
  390. gbdtransformation/brands/sztm/tests/__init__.py +0 -0
  391. gbdtransformation/brands/thtm/__init__.py +2 -0
  392. gbdtransformation/brands/thtm/filters.py +86 -0
  393. gbdtransformation/brands/thtm/schema +86 -0
  394. gbdtransformation/brands/thtm/template.yml +175 -0
  395. gbdtransformation/brands/thtm/tests/__init__.py +0 -0
  396. gbdtransformation/brands/thtm/tests/test.xml +84 -0
  397. gbdtransformation/brands/tntm/__init__.py +16 -0
  398. gbdtransformation/brands/tntm/filters.py +89 -0
  399. gbdtransformation/brands/tntm/schema +87 -0
  400. gbdtransformation/brands/tntm/template.yml +1 -0
  401. gbdtransformation/brands/tntm/tests/__init__.py +0 -0
  402. gbdtransformation/brands/totm/__init__.py +5 -0
  403. gbdtransformation/brands/totm/filters.py +72 -0
  404. gbdtransformation/brands/totm/schema +86 -0
  405. gbdtransformation/brands/totm/template.yml +1 -0
  406. gbdtransformation/brands/totm/tests/__init__.py +0 -0
  407. gbdtransformation/brands/totm/tests/nofeature.xml +106 -0
  408. gbdtransformation/brands/totm/tests/syntax.xml +162 -0
  409. gbdtransformation/brands/totm/tests/test.xml +84 -0
  410. gbdtransformation/brands/tttm/__init__.py +17 -0
  411. gbdtransformation/brands/tttm/filters.py +79 -0
  412. gbdtransformation/brands/tttm/schema +87 -0
  413. gbdtransformation/brands/tttm/template.yml +1 -0
  414. gbdtransformation/brands/tttm/tests/__init__.py +0 -0
  415. gbdtransformation/brands/uatm/__init__.py +18 -0
  416. gbdtransformation/brands/uatm/filters.py +70 -0
  417. gbdtransformation/brands/uatm/schema +158 -0
  418. gbdtransformation/brands/uatm/template.yml +148 -0
  419. gbdtransformation/brands/ustm/__init__.py +187 -0
  420. gbdtransformation/brands/ustm/filters.py +227 -0
  421. gbdtransformation/brands/ustm/schema +2183 -0
  422. gbdtransformation/brands/ustm/template.yml +219 -0
  423. gbdtransformation/brands/uytm/__init__.py +3 -0
  424. gbdtransformation/brands/uytm/filters.py +64 -0
  425. gbdtransformation/brands/uytm/schema +106 -0
  426. gbdtransformation/brands/uytm/template.yml +137 -0
  427. gbdtransformation/brands/vctm/__init__.py +5 -0
  428. gbdtransformation/brands/vctm/filters.py +75 -0
  429. gbdtransformation/brands/vctm/schema +87 -0
  430. gbdtransformation/brands/vctm/template.yml +1 -0
  431. gbdtransformation/brands/vctm/tests/__init__.py +0 -0
  432. gbdtransformation/brands/vntm/__init__.py +9 -0
  433. gbdtransformation/brands/vntm/filters.py +84 -0
  434. gbdtransformation/brands/vntm/schema +86 -0
  435. gbdtransformation/brands/vntm/template.yml +1 -0
  436. gbdtransformation/brands/vntm/tests/__init__.py +0 -0
  437. gbdtransformation/brands/vutm/__init__.py +5 -0
  438. gbdtransformation/brands/vutm/filters.py +67 -0
  439. gbdtransformation/brands/vutm/schema +83 -0
  440. gbdtransformation/brands/vutm/template.yml +1 -0
  441. gbdtransformation/brands/vutm/tests/__init__.py +0 -0
  442. gbdtransformation/brands/whoinn/__init__.py +6 -0
  443. gbdtransformation/brands/whoinn/filters.py +46 -0
  444. gbdtransformation/brands/whoinn/schema +4 -0
  445. gbdtransformation/brands/whoinn/template.yml +45 -0
  446. gbdtransformation/brands/wo6ter/__init__.py +1 -0
  447. gbdtransformation/brands/wo6ter/filters.py +88 -0
  448. gbdtransformation/brands/wo6ter/template.yml +88 -0
  449. gbdtransformation/brands/woao/__init__.py +1 -0
  450. gbdtransformation/brands/woao/filters.py +107 -0
  451. gbdtransformation/brands/woao/schema +116 -0
  452. gbdtransformation/brands/woao/template.yml +90 -0
  453. gbdtransformation/brands/woptm/__init__.py +3 -0
  454. gbdtransformation/brands/woptm/filters.py +42 -0
  455. gbdtransformation/brands/woptm/template.yml +2 -0
  456. gbdtransformation/brands/wotm/__init__.py +3 -0
  457. gbdtransformation/brands/wotm/filters.py +127 -0
  458. gbdtransformation/brands/wotm/schema +218 -0
  459. gbdtransformation/brands/wotm/template.yml +220 -0
  460. gbdtransformation/brands/wstm/__init__.py +6 -0
  461. gbdtransformation/brands/wstm/filters.py +67 -0
  462. gbdtransformation/brands/wstm/schema +86 -0
  463. gbdtransformation/brands/wstm/template.yml +1 -0
  464. gbdtransformation/brands/wstm/tests/__init__.py +0 -0
  465. gbdtransformation/brands/wstm/tests/test.xml +132 -0
  466. gbdtransformation/brands/xxxx/__init__.py +6 -0
  467. gbdtransformation/brands/xxxx/filters.py +60 -0
  468. gbdtransformation/brands/xxxx/schema +4 -0
  469. gbdtransformation/brands/xxxx/template.yml +363 -0
  470. gbdtransformation/brands/zmtm/__init__.py +12 -0
  471. gbdtransformation/brands/zmtm/filters.py +79 -0
  472. gbdtransformation/brands/zmtm/schema +86 -0
  473. gbdtransformation/brands/zmtm/template.yml +1 -0
  474. gbdtransformation/brands/zmtm/tests/__init__.py +0 -0
  475. gbdtransformation/brands/zwtm/__init__.py +3 -0
  476. gbdtransformation/brands/zwtm/filters.py +86 -0
  477. gbdtransformation/brands/zwtm/schema +86 -0
  478. gbdtransformation/brands/zwtm/template.yml +1 -0
  479. gbdtransformation/brands/zwtm/tests/__init__.py +0 -0
  480. gbdtransformation/common/__init__.py +383 -0
  481. gbdtransformation/common/filters.py +418 -0
  482. gbdtransformation/common/jpap/__init__.py +1 -0
  483. gbdtransformation/common/jpap/filters.py +83 -0
  484. gbdtransformation/common/jpap/template.yml +37 -0
  485. gbdtransformation/common/jpbase/__init__.py +1 -0
  486. gbdtransformation/common/jpbase/filters.py +93 -0
  487. gbdtransformation/common/jpbase/template.yml +51 -0
  488. gbdtransformation/common/jprp/__init__.py +1 -0
  489. gbdtransformation/common/jprp/filters.py +86 -0
  490. gbdtransformation/common/jprp/template.yml +51 -0
  491. gbdtransformation/common/navigation.tmpl +12 -0
  492. gbdtransformation/commons/__init__.py +0 -0
  493. gbdtransformation/commons/emap/__init__.py +1 -0
  494. gbdtransformation/commons/emap/filters.py +16 -0
  495. gbdtransformation/commons/emap/template.yml +55 -0
  496. gbdtransformation/commons/emrp/__init__.py +1 -0
  497. gbdtransformation/commons/emrp/filters.py +14 -0
  498. gbdtransformation/commons/emrp/template.yml +53 -0
  499. gbdtransformation/commons/filters.py +3 -0
  500. gbdtransformation/designs/__init__.py +8 -0
  501. gbdtransformation/designs/alid/__init__.py +5 -0
  502. gbdtransformation/designs/alid/filters.py +69 -0
  503. gbdtransformation/designs/alid/schema +89 -0
  504. gbdtransformation/designs/alid/template.yml +1 -0
  505. gbdtransformation/designs/bnid/__init__.py +5 -0
  506. gbdtransformation/designs/bnid/filters.py +61 -0
  507. gbdtransformation/designs/bnid/schema +80 -0
  508. gbdtransformation/designs/bnid/template.yml +1 -0
  509. gbdtransformation/designs/bwid/__init__.py +6 -0
  510. gbdtransformation/designs/bwid/filters.py +64 -0
  511. gbdtransformation/designs/bwid/schema +101 -0
  512. gbdtransformation/designs/bwid/template.yml +1 -0
  513. gbdtransformation/designs/crid/__init__.py +5 -0
  514. gbdtransformation/designs/crid/filters.py +63 -0
  515. gbdtransformation/designs/crid/schema +94 -0
  516. gbdtransformation/designs/crid/template.yml +1 -0
  517. gbdtransformation/designs/cuid/__init__.py +5 -0
  518. gbdtransformation/designs/cuid/filters.py +60 -0
  519. gbdtransformation/designs/cuid/schema +98 -0
  520. gbdtransformation/designs/cuid/template.yml +1 -0
  521. gbdtransformation/designs/egid/__init__.py +5 -0
  522. gbdtransformation/designs/egid/filters.py +62 -0
  523. gbdtransformation/designs/egid/schema +82 -0
  524. gbdtransformation/designs/egid/template.yml +1 -0
  525. gbdtransformation/designs/filters.py +73 -0
  526. gbdtransformation/designs/idid/__init__.py +5 -0
  527. gbdtransformation/designs/idid/filters.py +67 -0
  528. gbdtransformation/designs/idid/schema +102 -0
  529. gbdtransformation/designs/idid/template.yml +1 -0
  530. gbdtransformation/designs/ipas/__init__.py +0 -0
  531. gbdtransformation/designs/ipas/filters.py +181 -0
  532. gbdtransformation/designs/ipas/template.yml +174 -0
  533. gbdtransformation/designs/joid/__init__.py +6 -0
  534. gbdtransformation/designs/joid/filters.py +62 -0
  535. gbdtransformation/designs/joid/schema +97 -0
  536. gbdtransformation/designs/joid/template.yml +1 -0
  537. gbdtransformation/designs/keid/__init__.py +5 -0
  538. gbdtransformation/designs/keid/filters.py +62 -0
  539. gbdtransformation/designs/keid/schema +99 -0
  540. gbdtransformation/designs/keid/template.yml +1 -0
  541. gbdtransformation/designs/khid/__init__.py +5 -0
  542. gbdtransformation/designs/khid/filters.py +63 -0
  543. gbdtransformation/designs/khid/schema +100 -0
  544. gbdtransformation/designs/khid/template.yml +1 -0
  545. gbdtransformation/designs/laid/__init__.py +5 -0
  546. gbdtransformation/designs/laid/filters.py +61 -0
  547. gbdtransformation/designs/laid/schema +94 -0
  548. gbdtransformation/designs/laid/template.yml +1 -0
  549. gbdtransformation/designs/mnid/__init__.py +6 -0
  550. gbdtransformation/designs/mnid/filters.py +62 -0
  551. gbdtransformation/designs/mnid/schema +98 -0
  552. gbdtransformation/designs/mnid/template.yml +1 -0
  553. gbdtransformation/designs/myid/__init__.py +5 -0
  554. gbdtransformation/designs/myid/filters.py +60 -0
  555. gbdtransformation/designs/myid/schema +95 -0
  556. gbdtransformation/designs/myid/template.yml +1 -0
  557. gbdtransformation/designs/phid/__init__.py +5 -0
  558. gbdtransformation/designs/phid/filters.py +70 -0
  559. gbdtransformation/designs/phid/schema +95 -0
  560. gbdtransformation/designs/phid/template.yml +1 -0
  561. gbdtransformation/designs/sgid/__init__.py +6 -0
  562. gbdtransformation/designs/sgid/filters.py +66 -0
  563. gbdtransformation/designs/sgid/schema +115 -0
  564. gbdtransformation/designs/sgid/template.yml +1 -0
  565. gbdtransformation/designs/thid/__init__.py +4 -0
  566. gbdtransformation/designs/thid/filters.py +64 -0
  567. gbdtransformation/designs/thid/schema +98 -0
  568. gbdtransformation/designs/thid/template.yml +1 -0
  569. gbdtransformation/designs/tnid/__init__.py +5 -0
  570. gbdtransformation/designs/tnid/filters.py +66 -0
  571. gbdtransformation/designs/tnid/schema +96 -0
  572. gbdtransformation/designs/tnid/template.yml +1 -0
  573. gbdtransformation/designs/vnid/__init__.py +5 -0
  574. gbdtransformation/designs/vnid/filters.py +62 -0
  575. gbdtransformation/designs/vnid/schema +97 -0
  576. gbdtransformation/designs/vnid/template.yml +1 -0
  577. gbdtransformation/designs/woid/__init__.py +2 -0
  578. gbdtransformation/designs/woid/filters.py +372 -0
  579. gbdtransformation/designs/woid/schema +592 -0
  580. gbdtransformation/designs/woid/template.yml +516 -0
  581. gbdtransformation/designs/xxid/__init__.py +2 -0
  582. gbdtransformation/designs/xxid/filters.py +60 -0
  583. gbdtransformation/designs/xxid/schema +4 -0
  584. gbdtransformation/designs/xxid/template.yml +358 -0
  585. gbdtransformation/execs-nico.py +709 -0
  586. gbdtransformation/execs.py +734 -0
  587. gbdtransformation/gbd-transform.exec.tgz +0 -0
  588. gbdtransformation/parser.py +190 -0
  589. gbdtransformation/renders.py +149 -0
  590. gbdtransformation/utilities/ISOCountryCodeType-V2006.xsd +1245 -0
  591. gbdtransformation/utilities/ISOCurrencyCodeType-V2001.xsd +855 -0
  592. gbdtransformation/utilities/ISOLanguageCodeType-V2002.xsd +715 -0
  593. gbdtransformation/utilities/WIPOST3CodeType-V2007.xsd +1151 -0
  594. gbdtransformation/utilities/__init__.py +0 -0
  595. gbdtransformation/utilities/st66.dot +2828 -0
  596. gbdtransformation/utilities/st66.pdf +0 -0
  597. gbdtransformation/utilities/st66.py +38700 -0
  598. gbdtransformation/utilities/st66.xsd +4174 -0
  599. schemas/ShazamConfig.py +35 -0
  600. schemas/__init__.py +0 -0
  601. schemas/schema_extractor.py +300 -0
  602. wipo_gbd_transformation-1.1.105.dist-info/LICENSE.md +687 -0
  603. wipo_gbd_transformation-1.1.105.dist-info/METADATA +25 -0
  604. wipo_gbd_transformation-1.1.105.dist-info/RECORD +607 -0
  605. wipo_gbd_transformation-1.1.105.dist-info/WHEEL +5 -0
  606. wipo_gbd_transformation-1.1.105.dist-info/entry_points.txt +6 -0
  607. wipo_gbd_transformation-1.1.105.dist-info/top_level.txt +2 -0
@@ -0,0 +1,300 @@
1
+ TradeMark[@operationCode=Insert]
2
+ TradeMark[@operationCode=Update]
3
+ TradeMark
4
+ __/ApplicantDetails
5
+ ____/Applicant
6
+ ______/ApplicantAddressBook
7
+ ________/FormattedNameAddress
8
+ __________/Address
9
+ ____________/AddressCountryCode
10
+ ____________/FormattedAddress
11
+ ______________/AddressBuilding
12
+ ______________/AddressCity
13
+ ______________/AddressPostOfficeBox
14
+ ______________/AddressPostcode
15
+ ______________/AddressStreet
16
+ __________/Name
17
+ ____________/FormattedName
18
+ ______________/IndividualIdentifier
19
+ ______________/LastName
20
+ ______________/OrganizationName
21
+ ______/ApplicantIdentifier
22
+ ______/ApplicantIdentifier[@identifierKindCode=BE]
23
+ ______/ApplicantIdentifier[@identifierKindCode=CH]
24
+ ______/ApplicantIdentifier[@identifierKindCode=CL]
25
+ ______/ApplicantIdentifier[@identifierKindCode=CN]
26
+ ______/ApplicantIdentifier[@identifierKindCode=CW]
27
+ ______/ApplicantIdentifier[@identifierKindCode=FR]
28
+ ______/ApplicantIdentifier[@identifierKindCode=GB]
29
+ ______/ApplicantIdentifier[@identifierKindCode=LU]
30
+ ______/ApplicantIdentifier[@identifierKindCode=NL]
31
+ ______/ApplicantIdentifier[@identifierKindCode=PT]
32
+ ______/ApplicantIdentifier[@identifierKindCode=SE]
33
+ ______/ApplicantIdentifier[@identifierKindCode=SG]
34
+ ______/ApplicantLegalEntity
35
+ ______/ApplicantSequenceNumber
36
+ ______/Comment
37
+ __/ApplicationDate
38
+ __/ApplicationLanguageCode
39
+ __/ApplicationNumber
40
+ __/AssociatedMarkDetails
41
+ ____/AssociatedApplicationNumber
42
+ __/Comment
43
+ __/DivisionalApplicationDetails
44
+ ____/InitialApplicationDate
45
+ ____/InitialApplicationNumber
46
+ __/ExpiryDate
47
+ __/FilingPlace
48
+ __/GoodsServicesDetails
49
+ ____/GoodsServices
50
+ ______/ClassDescriptionDetails
51
+ ________/ClassDescription
52
+ __________/ClassNumber
53
+ __________/ClassNumberStatusCode
54
+ __________/GoodsServicesDescription
55
+ __________/GoodsServicesDescription[@languageCode=FR]
56
+ __________/GoodsServicesDescription[@languageCode=fr]
57
+ ______/ClassificationKindCode
58
+ ______/Comment
59
+ __/KindMark
60
+ __/MarkCurrentStatusCode
61
+ __/MarkDescriptionDetails
62
+ ____/MarkDescription
63
+ __/MarkDisclaimerDetails
64
+ ____/MarkDisclaimer
65
+ __/MarkFeature
66
+ __/MarkImageDetails
67
+ ____/MarkImage
68
+ ______/MarkImageCategory
69
+ ________/CategoryCodeDetails
70
+ __________/CategoryCode
71
+ ________/CategoryKind
72
+ ______/MarkImageColourIndicator
73
+ ______/MarkImageFileFormat
74
+ ______/MarkImageFilename
75
+ __/MarkRecordDetails
76
+ ____/MarkRecord
77
+ ______/BasicRecord
78
+ ________/BasicRecordKind
79
+ ________/ClaimantDetails
80
+ __________/Claimant
81
+ ____________/ClaimantAddressBook
82
+ ______________/FormattedNameAddress
83
+ ________________/Address
84
+ __________________/AddressCountryCode
85
+ __________________/FormattedAddress
86
+ ____________________/AddressCity
87
+ ____________________/AddressPostcode
88
+ ____________________/AddressStreet
89
+ ________________/Name
90
+ __________________/FormattedName
91
+ ____________________/LastName
92
+ ____________________/OrganizationName
93
+ ____________/ClaimantIdentifier
94
+ ________/GoodsServicesLimitationDetails
95
+ __________/GoodsServicesLimitation
96
+ ____________/LimitationClassDescriptionDetails
97
+ ______________/ClassDescription
98
+ ________________/ClassNumber
99
+ ________________/GoodsServicesDescription
100
+ ________________/GoodsServicesDescription[@languageCode=fr]
101
+ ________/RecordEventDetails
102
+ __________/RecordEvent
103
+ ____________/Comment
104
+ ____________/RecordEventCode
105
+ ________/RecordFilingDate
106
+ ________/RecordIdentifier
107
+ ________/RecordPublicationDetails
108
+ __________/RecordPublication
109
+ ____________/PublicationDate
110
+ ____________/PublicationIdentifier
111
+ ________/RecordReference
112
+ __/MarkSoundDetails
113
+ ____/MarkSound
114
+ ______/MarkSoundFileFormat
115
+ ______/MarkSoundFilename
116
+ ______/MarkSoundFilename[@SHA256=8c9f58dfd25ba28f9e3e77e6ceb445bb4a48418b9383ced990371cb54a7004a0]
117
+ __/MarkVideoDetails
118
+ ____/MarkVideo
119
+ ______/MarkVideoFileFormat
120
+ ______/MarkVideoFilename
121
+ ______/MarkVideoFilename[@SHA256=3ded056614d70c259762fc9d235731b491708e699ebb8b571ffd6527e9b9d098]
122
+ ______/MarkVideoFilename[@SHA256=a8ba0a555cb5c08aace3c5475df59fe5806da902f39a42f0d6b5ac8fe08e4b8b]
123
+ __/PreviousRegistrationDetails
124
+ ____/PreviousRegistration
125
+ ______/PreviousRegistrationDate
126
+ ______/PreviousRegistrationNumber
127
+ __/PriorityDetails
128
+ ____/Priority
129
+ ______/Comment
130
+ ______/PriorityCountryCode
131
+ ______/PriorityDate
132
+ ______/PriorityNumber
133
+ __/RegistrationOfficeCode
134
+ __/RepresentativeDetails
135
+ ____/Representative
136
+ ______/RepresentativeAddressBook
137
+ ________/FormattedNameAddress
138
+ __________/Address
139
+ ____________/AddressCountryCode
140
+ ____________/FormattedAddress
141
+ ______________/AddressBuilding
142
+ ______________/AddressCity
143
+ ______________/AddressPostOfficeBox
144
+ ______________/AddressPostcode
145
+ ______________/AddressStreet
146
+ __________/Name
147
+ ____________/FormattedName
148
+ ______________/LastName
149
+ ______________/OrganizationName
150
+ ______/RepresentativeIdentifier
151
+ ______/RepresentativeIdentifier[@identifierKindCode=DE]
152
+ ______/RepresentativeIdentifier[@identifierKindCode=FR]
153
+ ______/RepresentativeIdentifier[@identifierKindCode=LU]
154
+ ______/RepresentativeLegalEntity
155
+ ______/RepresentativeSequenceNumber
156
+ __/TradeMarkVersion
157
+ ____/VersionNumber
158
+ __/WordMarkSpecification
159
+ ____/MarkTranslation
160
+ ____/MarkTransliteration
161
+ ____/MarkVerbalElementText
162
+ __/ApplicantDetails
163
+ ____/Applicant
164
+ ______/ApplicantAddressBook
165
+ ________/FormattedNameAddress
166
+ __________/Address
167
+ ____________/AddressCountryCode
168
+ ____________/FormattedAddress
169
+ ______________/AddressBuilding
170
+ ______________/AddressCity
171
+ ______________/AddressPostOfficeBox
172
+ ______________/AddressPostcode
173
+ ______________/AddressStreet
174
+ __________/Name
175
+ ____________/FormattedName
176
+ ______________/IndividualIdentifier
177
+ ______________/LastName
178
+ ______________/OrganizationName
179
+ ______/ApplicantIdentifier
180
+ ______/ApplicantIdentifier[@identifierKindCode=CN]
181
+ ______/ApplicantIdentifier[@identifierKindCode=FR]
182
+ ______/ApplicantIdentifier[@identifierKindCode=IT]
183
+ ______/ApplicantIdentifier[@identifierKindCode=JP]
184
+ ______/ApplicantIdentifier[@identifierKindCode=MC]
185
+ ______/ApplicantLegalEntity
186
+ ______/ApplicantSequenceNumber
187
+ ______/Comment
188
+ __/ApplicationDate
189
+ __/ApplicationLanguageCode
190
+ __/ApplicationNumber
191
+ __/AssociatedMarkDetails
192
+ ____/AssociatedApplicationNumber
193
+ __/Comment
194
+ __/DivisionalApplicationDetails
195
+ ____/InitialApplicationDate
196
+ ____/InitialApplicationNumber
197
+ ____/InitialApplicationRegistrationDate
198
+ __/ExpiryDate
199
+ __/FilingPlace
200
+ __/GoodsServicesDetails
201
+ ____/GoodsServices
202
+ ______/ClassDescriptionDetails
203
+ ________/ClassDescription
204
+ __________/ClassNumber
205
+ __________/ClassNumberStatusCode
206
+ __________/GoodsServicesDescription
207
+ __________/GoodsServicesDescription[@languageCode=fr]
208
+ ______/ClassificationKindCode
209
+ ______/Comment
210
+ __/KindMark
211
+ __/MarkCurrentStatusCode
212
+ __/MarkDescriptionDetails
213
+ ____/MarkDescription
214
+ __/MarkDisclaimerDetails
215
+ ____/MarkDisclaimer
216
+ __/MarkFeature
217
+ __/MarkImageDetails
218
+ ____/MarkImage
219
+ ______/MarkImageCategory
220
+ ________/CategoryCodeDetails
221
+ __________/CategoryCode
222
+ ________/CategoryKind
223
+ ______/MarkImageColourIndicator
224
+ ______/MarkImageFileFormat
225
+ ______/MarkImageFilename
226
+ __/MarkRecordDetails
227
+ ____/MarkRecord
228
+ ______/BasicRecord
229
+ ________/BasicRecordKind
230
+ ________/ClaimantDetails
231
+ __________/Claimant
232
+ ____________/ClaimantAddressBook
233
+ ______________/FormattedNameAddress
234
+ ________________/Address
235
+ __________________/AddressCountryCode
236
+ __________________/FormattedAddress
237
+ ____________________/AddressCity
238
+ ____________________/AddressPostcode
239
+ ____________________/AddressStreet
240
+ ________________/Name
241
+ __________________/FormattedName
242
+ ____________________/LastName
243
+ ____________________/OrganizationName
244
+ ____________/ClaimantIdentifier
245
+ ________/GoodsServicesLimitationDetails
246
+ __________/GoodsServicesLimitation
247
+ ____________/LimitationClassDescriptionDetails
248
+ ______________/ClassDescription
249
+ ________________/ClassNumber
250
+ ________________/GoodsServicesDescription
251
+ ________________/GoodsServicesDescription[@languageCode=fr]
252
+ ________/RecordFilingDate
253
+ ________/RecordIdentifier
254
+ ________/RecordPublicationDetails
255
+ __________/RecordPublication
256
+ ____________/PublicationDate
257
+ ____________/PublicationIdentifier
258
+ ________/RecordReference
259
+ __/MarkSoundDetails
260
+ ____/MarkSound
261
+ ______/MarkSoundFileFormat
262
+ ______/MarkSoundFilename
263
+ __/MarkVideoDetails
264
+ ____/MarkVideo
265
+ ______/MarkVideoFileFormat
266
+ ______/MarkVideoFilename
267
+ __/PreviousRegistrationDetails
268
+ ____/PreviousRegistration
269
+ ______/PreviousRegistrationDate
270
+ ______/PreviousRegistrationNumber
271
+ __/PriorityDetails
272
+ ____/Priority
273
+ ______/Comment
274
+ __/RegistrationOfficeCode
275
+ __/RepresentativeDetails
276
+ ____/Representative
277
+ ______/RepresentativeAddressBook
278
+ ________/FormattedNameAddress
279
+ __________/Address
280
+ ____________/AddressCountryCode
281
+ ____________/FormattedAddress
282
+ ______________/AddressBuilding
283
+ ______________/AddressCity
284
+ ______________/AddressPostOfficeBox
285
+ ______________/AddressPostcode
286
+ ______________/AddressStreet
287
+ __________/Name
288
+ ____________/FormattedName
289
+ ______________/LastName
290
+ ______________/OrganizationName
291
+ ______/RepresentativeIdentifier
292
+ ______/RepresentativeIdentifier[@identifierKindCode=FR]
293
+ ______/RepresentativeIdentifier[@identifierKindCode=IT]
294
+ ______/RepresentativeSequenceNumber
295
+ __/TradeMarkVersion
296
+ ____/VersionNumber
297
+ __/WordMarkSpecification
298
+ ____/MarkTranslation
299
+ ____/MarkTransliteration
300
+ ____/MarkVerbalElementText
@@ -0,0 +1,203 @@
1
+ # No Reference to International Marks are made (Madrid Registration)
2
+ # Assumptions:
3
+ # - Registration number = Application number when registered
4
+ # - Registration date = BasicRecord['Enregistrement']/PublicationDate
5
+ # - Registration date = BasicRecord['Enregistrement']/PublicationIdentifier (when it matches yyyy-ww)
6
+ # - Status date = BasicRecord[0]/PublicationDate
7
+
8
+ {% from 'navigation.tmpl' import match %}
9
+ {% set status = TradeMark | translate_status %}
10
+
11
+ st13: {{ TradeMark.ApplicationNumber | st13('FR', appdate=TradeMark.ApplicationDate) }}
12
+ gbdStatus: {{ status }}
13
+ registrationOfficeCode: {{ TradeMark.RegistrationOfficeCode }}
14
+ type: TRADEMARK
15
+
16
+ {% if not status == 'Delete' %}
17
+ kind: {{ TradeMark.KindMark | translate_kind }}
18
+
19
+ designatedCountries:
20
+ - {{ TradeMark.RegistrationOfficeCode }}
21
+
22
+ filingPlace: {{ TradeMark.FilingPlace }}
23
+
24
+
25
+ publicationDate: {{ TradeMark | get_publication_date }}
26
+
27
+ applicationNumber: {{ TradeMark.ApplicationNumber }}
28
+ applicationDate: {{ TradeMark.ApplicationDate }}
29
+
30
+ registrationNumber: {{ TradeMark | get_registration_number }}
31
+ registrationDate: {{ TradeMark | get_registration_date }}
32
+
33
+ applicationLanguageCode: {{ TradeMark.ApplicationLanguageCode }}
34
+
35
+ expiryDate: {{ TradeMark.ExpiryDate }}
36
+
37
+ officeStatus: {{ TradeMark.MarkCurrentStatusCode }}
38
+ statusDate: {{ TradeMark | get_status_date }}
39
+ {% if status == 'Ended' %}
40
+ terminationDate: {{ TradeMark | get_status_date }}
41
+ {% endif %}
42
+ markFeature: {{ TradeMark.MarkFeature | translate_feature }}
43
+
44
+ markDescriptionDetails:
45
+ {% call(desc) match('MarkDescriptionDetails.MarkDescription', TradeMark) %}
46
+ - text: {{ desc }}
47
+ languageCode: {{ desc | guess_language('', TradeMark.ApplicationLanguageCode) }}
48
+ {% endcall %}
49
+
50
+ markDisclaimerDetails:
51
+ - text: {{ TradeMark.Comment }}
52
+ languageCode: {{ TradeMark.Comment | guess_language('', TradeMark.ApplicationLanguageCode) }}
53
+
54
+ wordMarkSpecification:
55
+ {% call(wordSpec) match('WordMarkSpecification', TradeMark) %}
56
+ {% call(verbal) match('MarkVerbalElementText', wordSpec) %}
57
+ markVerbalElement:
58
+ - languageCode: {{ verbal | guess_language(verbal._languageCode, TradeMark.ApplicationLanguageCode) }}
59
+ text: {{ verbal }}
60
+ {% endcall %}
61
+ {% call(trans) match('MarkTranslation', wordSpec) %}
62
+ markTranslation:
63
+ - text: {{ trans }}
64
+ languageCode: {{ trans | guess_language(trans._languageCode, TradeMark.ApplicationLanguageCode) }}
65
+ {% endcall %}
66
+ markTransliteration: {{ wordSpec.MarkTransliteration }}
67
+ {% endcall %}
68
+
69
+ markDisclaimerDetails:
70
+ {% call(disclaimer) match('MarkDisclaimerDetails.MarkDisclaimer', TradeMark) %}
71
+ - text: {{ disclaimer.__value }}
72
+ languageCode: {{ disclaimer.__value | guess_language(disclaimer._languageCode, trademark.ApplicationLanguageCode) }}
73
+ {% endcall %}
74
+
75
+ markImageDetails:
76
+ {% call(img) match('MarkImageDetails.MarkImage', TradeMark) %}
77
+ - name: {{ img.MarkImageFilename }}
78
+ colourIndicator: {{ img.MarkImageColourIndicator | get_true_or_false }}
79
+ {% call(category) match('MarkImageCategory', img) %}
80
+ {% if(category) %}
81
+ classification:
82
+ kind: Vienna #{{ category.CategoryKind }} they say Domestic but its vienna
83
+ version: {{ ASK_THE_OFFICE }}
84
+ code:
85
+ {% call(vc) match('CategoryCodeDetails.CategoryCode', category) %}
86
+ - {{ vc }}
87
+ {% endcall %}
88
+ {% endif %}
89
+ {% endcall %}
90
+ {% endcall %}
91
+
92
+ markVideoDetails:
93
+ {% call(video) match('MarkVideoDetails.MarkVideo', TradeMark)%}
94
+ - filename: {{ video.MarkVideoFilename }}
95
+ fileformat: {{ video.MarkVideoFileFormat }}
96
+ {% endcall %}
97
+
98
+ markSoundDetails:
99
+ {% call(sound) match('MarkSoundDetails.MarkSound', TradeMark)%}
100
+ - filename: {{ sound.MarkSoundFilename }}
101
+ fileformat: {{ sound.MarkSoundFileFormat }}
102
+ {% endcall %}
103
+
104
+ {% call(nc_gs) match('GoodsServicesDetails.GoodsServices', TradeMark) %}
105
+ goodsServicesClassification:
106
+ kind: Nice
107
+ version: {{ ASK_THE_OFFICE }}
108
+ class:
109
+ {% call(nice) match('ClassDescriptionDetails.ClassDescription', nc_gs) %}
110
+ {% if nice.ClassNumber != '00' %}
111
+ - code: {{ nice.ClassNumber | int }}
112
+ terms:
113
+ {% if nice.GoodsServicesDescription.__value %}
114
+ fr:
115
+ {% for gsline in nice.GoodsServicesDescription.__value | remove_trailing('.') | split_terms %}
116
+ - {{ gsline | lower }}
117
+ {% endfor %}
118
+ {% endif %}
119
+ {% endif %}
120
+ {% endcall %}
121
+
122
+ goodsServicesUnclassified:
123
+ {% call(nice) match('ClassDescriptionDetails.ClassDescription', nc_gs) %}
124
+ {% if nice.ClassNumber == '00' %}
125
+ fr:
126
+ {% for gsline in nice.GoodsServicesDescription.__value | remove_trailing('.') | split_terms %}
127
+ - {{ gsline | lower }}
128
+ {% endfor %}
129
+ {% endif %}
130
+ {% endcall %}
131
+
132
+ {% endcall %}
133
+
134
+
135
+ applicants:
136
+ {% call(applicant) match('ApplicantDetails.Applicant', TradeMark) %}
137
+ - kind: {% if applicant.ApplicantLegalEntity %} Legal entity {% endif %}
138
+ {% call(details) match('ApplicantAddressBook.FormattedNameAddress.Name.FormattedName', applicant) %}
139
+ identifier: {{ details.IndividualIdentifier }}
140
+ fullName:
141
+ {% set aname = details.LastName or details.OrganizationName %}
142
+ - text: {{ aname }}
143
+ languageCode: {{ aname | guess_language('fr', Trademark.ApplicationLanguageCode) }}
144
+ {% endcall %}
145
+ {% call(address) match('ApplicantAddressBook.FormattedNameAddress.Address', applicant) %}
146
+ countryCode: {{ address.AddressCountryCode }}
147
+ fullAddress:
148
+ {% call(adrtag) match('FormattedAddress', address) %}
149
+ - text: {{ adrtag | get_full_address }}
150
+ languageCode: {{ adrtag | get_full_address | guess_language('fr', Trademark.ApplicationLanguageCode) }}
151
+ {% endcall %}
152
+ {% endcall %}
153
+ {% endcall %}
154
+
155
+ representatives:
156
+ {% call(representative) match('RepresentativeDetails.Representative', TradeMark) %}
157
+ {% call(details) match('RepresentativeAddressBook.FormattedNameAddress.Name.FormattedName', representative) %}
158
+ - identifier: {{ representative.RepresentativeIdentifier }}
159
+ fullName:
160
+ {% set rname = details.LastName or details.OrganizationName %}
161
+ - text: {{ rname }}
162
+ languageCode: {{ rname | guess_language('fr', TradeMark.ApplicationLanguageCode) }}
163
+ {% endcall %}
164
+ {% call(address) match('RepresentativeAddressBook.FormattedNameAddress.Address', representative) %}
165
+ fullAddress:
166
+ {% call(adrtag) match('FormattedAddress', address) %}
167
+ - text: {{ adrtag | get_full_address }}
168
+ languageCode: {{ adrtag | get_full_address | guess_language('fr', Trademark.ApplicationLanguageCode) }}
169
+ {% endcall %}
170
+ countryCode: {{ address.AddressCountryCode }}
171
+ {% endcall %}
172
+ {% endcall %}
173
+
174
+ priorities:
175
+ {% call(priority) match('PriorityDetails.Priority', TradeMark) %}
176
+ - countryCode: {{ priority.PriorityCountryCode }}
177
+ number: {{ priority.PriorityNumber | remove_trailing('-') }}
178
+ date: {{ priority.PriorityDate }}
179
+ comment: {{ priority.Comment }}
180
+ {% endcall %}
181
+
182
+ publications:
183
+ {% call(record) match('MarkRecordDetails.MarkRecord', TradeMark) %}
184
+ {% call(publication) match('BasicRecord.RecordPublicationDetails.RecordPublication', record) %}
185
+ - identifier: {{ publication.PublicationIdentifier }}
186
+ date: {{ publication.PublicationDate }}
187
+ section: {{ record.BasicRecord.BasicRecordKind }}
188
+ {% endcall %}
189
+ {% endcall %}
190
+
191
+ events:
192
+ {% call(event) match('MarkEventDetails.MarkEvent', TradeMark) %}
193
+ - officeKind: {{ event.MarkEventCode }}
194
+ gbdKind: {{ event.MarkEventCode }}
195
+ date: {{ event.MarkEventDate }}
196
+ {% endcall %}
197
+
198
+ extra:
199
+ {% call(prev) match('PreviousRegistrationDetails.PreviousRegistration', TradeMark)%}
200
+ - previousRegistration: {{ prev.PreviousRegistrationNumber }}
201
+ {% endcall %}
202
+
203
+ {% endif %}
@@ -0,0 +1,3 @@
1
+ # instruction to render the output to JSON format
2
+ render = 'JSON'
3
+ source = 'national'
@@ -0,0 +1,122 @@
1
+ # namespaces defined in XML and to be ignored in procecssing
2
+ import os.path
3
+ from datetime import datetime
4
+ ignore_namespace = []
5
+
6
+ def multipleFileds(original, api):
7
+ if not original:
8
+ return api
9
+ return original
10
+
11
+ def format_addr(value):
12
+ if isinstance(value, list):
13
+ return ' '.join(value)
14
+ return value
15
+
16
+ def convertdateGB(date):
17
+ """Date convertor from input_format to output_format"""
18
+ if not date:
19
+ return None
20
+ output_format = "%Y-%m-%d"
21
+ for input_format in ['%Y-%m-%dT%H:%M:%S.000+01:00', '%Y-%m-%dZ', '%Y-%m-%dT%H:%M:%S.000Z', "%Y%m%d"]:
22
+ try:
23
+ return datetime.strptime(date, input_format).strftime(output_format)
24
+ except ValueError:
25
+ continue
26
+ return date
27
+
28
+ def get_entity_addr(addr):
29
+ if not addr: return None
30
+ if not isinstance(addr.AddressLine, list):
31
+ addr.AddressLine = [addr.AddressLine]
32
+ addr.AddressLine = [x for x in addr.AddressLine if x is not None]
33
+ return ("%s %s %s" % ('\n'.join(addr.AddressLine), addr.Town, addr.Postcode)).replace("None", "").strip()
34
+
35
+ def get_entity_name(name):
36
+ if not name: return
37
+ if name.OrganizationName: return name.OrganizationName
38
+ return "%s %s" % (name.FirstName, name.LastName )
39
+
40
+ def get_entity_kind(name):
41
+ if not name: return
42
+ if name.OrganizationName: return 'Legal Entity'
43
+ return 'Natural Person'
44
+
45
+ def parse_img_path(value):
46
+ return os.path.basename(value)
47
+
48
+ # -------------------------------------------------------------
49
+ # data translation helpers:
50
+ # translate values from office interpretation to gbd equivalent
51
+ # -------------------------------------------------------------
52
+ def translate_kind(kind):
53
+ if kind == 'Individual': return ['Individual']
54
+ if kind == 'Collective': return ['Collective']
55
+ if kind == 'State property': return ['Collective']
56
+ if kind == 'Certificate': return ['Certificate']
57
+
58
+ raise Exception('kind "%s" is not mapped.' % kind)
59
+
60
+
61
+ def translate_status(status):
62
+ if not status: return 'Unknown'
63
+ if status == 'Registration cancelled': return 'Expired'
64
+ if status == 'Expired': return 'Expired'
65
+ if status == 'Registration surrendered': return 'Expired'
66
+
67
+ if status in [ 'Registered','Registration renewed']:
68
+ return 'Registered'
69
+ if status in ['DO-NOT-DISPLAY']:
70
+ return 'Delete'
71
+ if status in [ 'Cancelled','Merged' ,'Removed', 'Withdrawn','Refused','Surrendered',
72
+ 'Dead', ]:
73
+ return 'Ended'
74
+
75
+ if status in [ 'Application Published',
76
+ 'Pre-Publication',
77
+ 'Examination',
78
+ 'Application Received',
79
+ 'Opposed',
80
+ 'Opposition pending',
81
+ 'Appeal pending' ]:
82
+ return 'Pending'
83
+ if status in ['Application filed',
84
+ 'Application published',
85
+ 'Application under examination',
86
+ 'Registration pending',
87
+ 'Appeal pending',
88
+ 'Registration cancellation pending']:
89
+ return 'Pending'
90
+
91
+ if status in ['Application refused',
92
+ 'Application withdrawn',
93
+ 'Application opposed',
94
+ 'Registration cancelled',
95
+ 'Registration surrendered']:
96
+ return 'Ended'
97
+
98
+ if status == 'Registered': return 'Registered'
99
+ if status == 'Registration expired': return 'Expired'
100
+ raise Exception('Status "%s" unmapped' % status)
101
+
102
+ def sanitize(value):
103
+ if isinstance(value, dict):
104
+ value = value['__value']
105
+ return value.replace('\n', '')
106
+
107
+ def translate_feature(feature):
108
+ if not feature: return 'Undefined'
109
+ if feature == 'Hologram': return 'Hologram'
110
+ if feature == 'Motion': return 'Motion'
111
+ if feature == 'Olfactory': return 'Olfactory'
112
+ if feature == 'Multimedia': return 'Multimedia'
113
+ if feature == 'Other': return 'Other'
114
+ if feature == 'Pattern': return 'Pattern'
115
+ if feature == 'Undefined': return 'Undefined'
116
+ if feature == 'Word': return 'Word'
117
+ if feature == 'Figurative': return 'Figurative'
118
+ if feature == 'Combined': return 'Combined'
119
+ if feature == '3-D': return 'Three dimensional'
120
+ if feature == 'Sound': return 'Sound'
121
+ if feature == 'Colour': return 'Colour'
122
+ raise Exception('Feature "%s" unmapped' % feature)