Error found while checking this document as SVG 1.1!

Result: 1 Error, 2 warning(s)
:
: utf-8
: SVG 1.1
Root Element: svg
Root Namespace: http://www.w3.org/2000/svg
Options

Help on the options is available.

Notes and Potential Issues

The following notes and warnings highlight missing or conflicting information which caused the validator to perform some guesswork prior to validation, or other things affecting the output below. If the guess or fallback is incorrect, it could make validation results entirely incoherent. It is highly recommended to check these potential issues, and, if necessary, fix them and re-validate the document.

  1. Warning DOCTYPE Override in effect!

    The DOCTYPE Declaration for "SVG 1.1" has been inserted at the start of the document, but even if no errors are shown below the document will not be Valid until you add the new DOCTYPE Declaration.

  2. Warning Byte-Order Mark found in UTF-8 File.

    The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.

↑ Top

Validation Output: 1 Error

  1. Error Line 272, Column 13: ID "legend" already defined
         <g id="legend" font-size="36" transform="translate(695 169)" text-anchor="…

    An "id" is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).

  2. Info Line 242, Column 13: ID "legend" first defined here
         <g id="legend" font-size="36" transform="translate(65 169)" text-anchor="s…

↑ Top

Source Listing

Below is the source input I used for this validation:

  1. <?xml version="1.0"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" height="600px" width="800px" version="1.1" preserveAspectRatio="none" viewBox="0 0 800 600">
  3. <title>China Population Pyramid for 2017</title>
  4. <desc>Translations are included for Arabic, Basque, Bulgarian, Czech, Chinese, Croatian, Dutch, English, Finnish, French, Georgian, German, Italian, Japanese, Korean, Lithuanian, Macedonian, Mongolian, Norwegian, Polish, Portuguese, Russian, Slovenian, Spanish, Swedish, and Vietnamese. Other languages can easily be added.</desc>
  5. <!-- background -->
  6. <rect width="100%" fill="#fff" height="100%"/>
  7. <!--
  8. ORDER OF TRANSFORMATIONS:
  9. (1) Shift origin from (x, y) to (0, 0) (e.g., from [2004, 0] to [0, 0])
  10. (2) Scale as appropriate
  11. (3) Shift back to viewport's origin
  12. (4) Shift away from edge as desired
  13. In working out your calculations, opt for a number that divides nicely into 100s (e.g., 1, 2, 2.5, 5, 10, 20, 25, etc.)
  14. CALCULATIONS:
  15. Horizontal = Width/Range
  16. = 800/ 2015-1995
  17. ~ 40
  18. Vertical = [-1 * Height]/Range
  19. = -400 / (13 - 6)
  20. ~ -60
  21. Population values are in ten thousands (1000s divided by 10)
  22. -->
  23. <g font-family="Verdana, Tahoma, sans-serif" transform="translate(25 -35)" text-anchor="middle">
  24. <!-- Border -->
  25. <path style="fill:#f4f4f4; stroke:grey; stroke-width:1" d="
  26. m -10 40 h 775 v 590 h -775 v -590"/>
  27. <!-- The lines in the graph are scaled significantly. Make sure the stroke width is set appropriately. -->
  28. <!-- The ratio between the x/y scaling needs to be between 0.25 and 2.5. If not, multiply or divide the values by 10 until it is. -->
  29. <g stroke="#333" transform="translate(80 420) scale(5 -22) translate(23)">
  30. <!-- Male -->
  31. <g transform="translate(28 -7) scale(-1 1)" stroke-width="0.2">
  32. <path style="fill:lightgrey; stroke:black; stroke-width:0.05;" d="
  33. m 0 1 h 65 v 21 h -65 v -21"/>
  34. <path d="m 0 1 v -0.5"/>
  35. <path d="m 10 1 v -0.5"/>
  36. <path d="m 20 1 v -0.5"/>
  37. <path d="m 30 1 v -0.5"/>
  38. <path d="m 40 1 v -0.5"/>
  39. <path d="m 50 1 v -0.5"/>
  40. <path d="m 60 1 v -0.5"/>
  41. <g style="fill:lightblue; stroke:black;" stroke-width="0.03">
  42. <path d="m 0 1 h 44.33182 v 1 h -44.33182 v -1"/>
  43. <path d="m 0 2 h 42.866562 v 1 h -42.866562 v -1"/>
  44. <path d="m 0 3 h 41.730788 v 1 h -41.730788 v -1"/>
  45. <path d="m 0 4 h 40.824831 v 1 h -40.824831 v -1"/>
  46. <path d="m 0 5 h 47.835285 v 1 h -47.835285 v -1"/>
  47. <path d="m 0 6 h 57.765146 v 1 h -57.765146 v -1"/>
  48. <path d="m 0 7 h 59.371795 v 1 h -59.371795 v -1"/>
  49. <path d="m 0 8 h 50.458153 v 1 h -50.458153 v -1"/>
  50. <path d="m 0 9 h 48.238641 v 1 h -48.238641 v -1"/>
  51. <path d="m 0 10 h 60.529631 v 1 h -60.529631 v -1"/>
  52. <path d="m 0 11 h 59.508598 v 1 h -59.508598 v -1"/>
  53. <path d="m 0 12 h 43.490898 v 1 h -43.490898 v -1"/>
  54. <path d="m 0 13 h 39.00912 v 1 h -39.00912 v -1"/>
  55. <path d="m 0 14 h 32.86646 v 1 h -32.86646 v -1"/>
  56. <path d="m 0 15 h 20.355169 v 1 h -20.355169 v -1"/>
  57. <path d="m 0 16 h 12.75967 v 1 h -12.75967 v -1"/>
  58. <path d="m 0 17 h 7.6544 v 1 h -7.6544 v -1"/>
  59. <path d="m 0 18 h 3.258743 v 1 h -3.258743 v -1"/>
  60. <path d="m 0 19 h 0.77338 v 1 h -0.77338 v -1"/>
  61. <path d="m 0 20 h 0.096152 v 1 h -0.096152 v -1"/>
  62. <path d="m 0 21 h 0.005124 v 1 h -0.005124 v -1"/>
  63. </g>
  64. </g>
  65. <!-- Female -->
  66. <g transform="translate(45 -7) scale(1 1)" stroke-width="0.2">
  67. <path style="fill:lightgrey; stroke:black; stroke-width:0.05;" d="
  68. m 0 1 h 65 v 21 h -65 v -21"/>
  69. <path d="m 0 1 v -0.5"/>
  70. <path d="m 10 1 v -0.5"/>
  71. <path d="m 20 1 v -0.5"/>
  72. <path d="m 30 1 v -0.5"/>
  73. <path d="m 40 1 v -0.5"/>
  74. <path d="m 50 1 v -0.5"/>
  75. <path d="m 60 1 v -0.5"/>
  76. <g transform="translate(0 0)" style="fill:pink; stroke:black;" stroke-width="0.03">
  77. <path d="m 0 1 h 39.021093 v 1 h -39.021093 v -1"/>
  78. <path d="m 0 2 h 36.658307 v 1 h -36.658307 v -1"/>
  79. <path d="m 0 3 h 35.377756 v 1 h -35.377756 v -1"/>
  80. <path d="m 0 4 h 34.629323 v 1 h -34.629323 v -1"/>
  81. <path d="m 0 5 h 41.751972 v 1 h -41.751972 v -1"/>
  82. <path d="m 0 6 h 53.451078 v 1 h -53.451078 v -1"/>
  83. <path d="m 0 7 h 56.982502 v 1 h -56.982502 v -1"/>
  84. <path d="m 0 8 h 48.245152 v 1 h -48.245152 v -1"/>
  85. <path d="m 0 9 h 46.616144 v 1 h -46.616144 v -1"/>
  86. <path d="m 0 10 h 58.415817 v 1 h -58.415817 v -1"/>
  87. <path d="m 0 11 h 57.631361 v 1 h -57.631361 v -1"/>
  88. <path d="m 0 12 h 42.766842 v 1 h -42.766842 v -1"/>
  89. <path d="m 0 13 h 38.334759 v 1 h -38.334759 v -1"/>
  90. <path d="m 0 14 h 33.800649 v 1 h -33.800649 v -1"/>
  91. <path d="m 0 15 h 21.518002 v 1 h -21.518002 v -1"/>
  92. <path d="m 0 16 h 14.380479 v 1 h -14.380479 v -1"/>
  93. <path d="m 0 17 h 9.678948 v 1 h -9.678948 v -1"/>
  94. <path d="m 0 18 h 4.893094 v 1 h -4.893094 v -1"/>
  95. <path d="m 0 19 h 1.474974 v 1 h -1.474974 v -1"/>
  96. <path d="m 0 20 h 0.243105 v 1 h -0.243105 v -1"/>
  97. <path d="m 0 21 h 0.017055 v 1 h -0.017055 v -1"/>
  98. </g>
  99. </g>
  100. </g>
  101. <!-- Text can't be scaled or it goes strange. Its location must be calculated directly. -->
  102. <!-- Title -->
  103. <g font-size="30" transform="translate(375 70)">
  104. <switch>
  105. <text systemLanguage="ar">&#8206;(2019) الصين السكان</text>
  106. <text systemLanguage="bg">Население на Китай (2019)</text>
  107. <text y="5" systemLanguage="cs">Populace Číny (2019)</text>
  108. <text systemLanguage="de">China Bevölkerung (2019)</text>
  109. <text systemLanguage="es">China Población (2019)</text>
  110. <text systemLanguage="eu">Txina Biztanleria (2019)</text>
  111. <text systemLanguage="fi">Kiina Väkiluku (2019)</text>
  112. <text systemLanguage="fr">Population de la Chine (2019)</text>
  113. <text systemLanguage="hr">Kineskog stanovništva (2019)</text>
  114. <text systemLanguage="it">Cina Popolazione (2019)</text>
  115. <text systemLanguage="ja">中国の人口(2017年)</text>
  116. <text systemLanguage="ka">ჩინეთი მოსახლეობა (2019)</text>
  117. <text systemLanguage="ko">중국 인구 (2019)</text>
  118. <text systemLanguage="lt">Kinijos Demografinė (2019)</text>
  119. <text systemLanguage="mk">Кина Население (2019)</text>
  120. <text systemLanguage="mn">Хятад улс хүн ам (2019)</text>
  121. <text systemLanguage="nl">China Bevolking (2019)</text>
  122. <text systemLanguage="no">Kina Befolkning (2019)</text>
  123. <text systemLanguage="pl">Chiny mieszkańców (2017 r.)</text>
  124. <text systemLanguage="pt">China População (2019)</text>
  125. <text systemLanguage="ru">Китай Население (2019)</text>
  126. <text systemLanguage="sl">Kitajska Prebivalstvo (2019)</text>
  127. <text systemLanguage="sv">Kina Befolkning (2019)</text>
  128. <text systemLanguage="vi">Trung Quốc Dân số (2019)</text>
  129. <text systemLanguage="zh">中國人口(2017年)</text>
  130. <text>China Population (2019)</text>
  131. </switch>
  132. </g>
  133. <!-- Y-axis -->
  134. <g font-size="24" transform="translate(360 620)">
  135. <switch>
  136. <text systemLanguage="ar">&#8206;(السكان (بالملايين</text>
  137. <text systemLanguage="bg">Население (в милиони)</text>
  138. <text x="20" systemLanguage="cs">Počet obyvatel (v milionech)</text>
  139. <text systemLanguage="de">Bevölkerung (in Millionen)</text>
  140. <text systemLanguage="es">Población (en millones)</text>
  141. <text systemLanguage="eu">Biztanleria (milioitan)</text>
  142. <text systemLanguage="fi">Väkiluku (miljoonaa)</text>
  143. <text systemLanguage="fr">Population (en millions)</text>
  144. <text systemLanguage="hr">Stanovništvo (u milijunima)</text>
  145. <text systemLanguage="it">Popolazione (in milioni)</text>
  146. <text systemLanguage="ja">人口(百万ドル)</text>
  147. <text systemLanguage="ka">მოსახლეობა (მილიონებში)</text>
  148. <text systemLanguage="ko">인구 (백만)</text>
  149. <text systemLanguage="lt">Gyventojai (mln.)</text>
  150. <text systemLanguage="mk">Население (во милиони)</text>
  151. <text systemLanguage="mn">Хүн ам (сая)</text>
  152. <text systemLanguage="nl">Bevolking (in miljoenen)</text>
  153. <text systemLanguage="no">Befolkning (i millioner)</text>
  154. <text systemLanguage="pl">Ludność (w mln)</text>
  155. <text systemLanguage="pt">População (em milhões)</text>
  156. <text systemLanguage="ru">Население (в миллионах)</text>
  157. <text systemLanguage="sl">Prebivalstvo (v milijonih)</text>
  158. <text systemLanguage="sv">Befolkning (miljoner)</text>
  159. <text systemLanguage="vi">Dân số (triệu người)</text>
  160. <text systemLanguage="zh">人口(百萬)</text>
  161. <text>Population (in millions)</text>
  162. </switch>
  163. </g>
  164. <g id="age" font-size="20" text-anchor="middle" transform="translate(377 571)">
  165. <switch>
  166. <text systemLanguage="ar">سن</text>
  167. <text systemLanguage="bg">Възраст</text>
  168. <text systemLanguage="cs">Věk</text>
  169. <text systemLanguage="de">Alter</text>
  170. <text systemLanguage="es">Edad</text>
  171. <text systemLanguage="eu">Adina</text>
  172. <text systemLanguage="fi">Ikä</text>
  173. <text systemLanguage="fr">Âge</text>
  174. <text systemLanguage="hr">Starost</text>
  175. <text systemLanguage="it">Età</text>
  176. <text systemLanguage="ja">年齢</text>
  177. <text systemLanguage="ka">ასაკი</text>
  178. <text systemLanguage="ko">나이</text>
  179. <text systemLanguage="lt">Amžius</text>
  180. <text systemLanguage="mk">Bозраст</text>
  181. <text systemLanguage="mn">Нас</text>
  182. <text systemLanguage="nl">Leeftijd</text>
  183. <text systemLanguage="no">Alder</text>
  184. <text systemLanguage="pl">Wiek</text>
  185. <text systemLanguage="pt">Idade</text>
  186. <text systemLanguage="ru">Возраст</text>
  187. <text systemLanguage="sl">Starost</text>
  188. <text systemLanguage="sv">Ålder</text>
  189. <text systemLanguage="vi">Tuổi</text>
  190. <text systemLanguage="zh">年齡</text>
  191. <text>Age</text>
  192. </switch>
  193. <text y="-22">0-4</text>
  194. <text y="-44">5-9</text>
  195. <text y="-66">10-14</text>
  196. <text y="-88">15-19</text>
  197. <text y="-110">20-24</text>
  198. <text y="-132">25-29</text>
  199. <text y="-154">30-34</text>
  200. <text y="-176">35-39</text>
  201. <text y="-198">40-44</text>
  202. <text y="-220">45-49</text>
  203. <text y="-242">50-54</text>
  204. <text y="-264">55-59</text>
  205. <text y="-286">60-64</text>
  206. <text y="-308">65-69</text>
  207. <text y="-330">70-74</text>
  208. <text y="-352">75-79</text>
  209. <text y="-374">80-84</text>
  210. <text y="-396">85-89</text>
  211. <text y="-418">90-94</text>
  212. <text y="-440">95-99</text>
  213. <text y="-462">100+</text>
  214. </g>
  215. <!-- X-axis -->
  216. <g id="x_axis_numbers" font-size="24" transform="translate(0 591)">
  217. <text x="34">60</text>
  218. <text x="84">50</text>
  219. <text x="134">40</text>
  220. <text x="184">30</text>
  221. <text x="234">20</text>
  222. <text x="284">10</text>
  223. <text x="334">0</text>
  224. <text x="420">0</text>
  225. <text x="470">10</text>
  226. <text x="520">20</text>
  227. <text x="570">30</text>
  228. <text x="620">40</text>
  229. <text x="670">50</text>
  230. <text x="720">60</text>
  231. </g>
  232. <!-- legend -->
  233. <!-- Male -->
  234. <g id="legend" font-size="36" transform="translate(65 169)" text-anchor="start">
  235. <switch>
  236. <text systemLanguage="ar">ذكر</text>
  237. <text systemLanguage="bg">Мъжки</text>
  238. <text systemLanguage="cs">Muži</text>
  239. <text systemLanguage="de">Männlich</text>
  240. <text systemLanguage="es">Masculino</text>
  241. <text systemLanguage="eu">Gizonezkoa</text>
  242. <text systemLanguage="fi">Mies</text>
  243. <text systemLanguage="fr">Hommes</text>
  244. <text systemLanguage="hr">Muškarac</text>
  245. <text systemLanguage="it">Maschio</text>
  246. <text systemLanguage="ja">男性</text>
  247. <text systemLanguage="ka">კაცი</text>
  248. <text systemLanguage="ko">남성</text>
  249. <text systemLanguage="lt">Vyriškis</text>
  250. <text systemLanguage="mk">Машки</text>
  251. <text systemLanguage="mn">Эрэгтэй</text>
  252. <text systemLanguage="nl">Mannelijk</text>
  253. <text systemLanguage="no">Mann</text>
  254. <text systemLanguage="pl">Mężczyzna</text>
  255. <text systemLanguage="pt">Masculino</text>
  256. <text systemLanguage="ru">Мужской</text>
  257. <text systemLanguage="sl">Moški</text>
  258. <text systemLanguage="sv">Maskulin</text>
  259. <text systemLanguage="vi">Nam</text>
  260. <text systemLanguage="zh">男</text>
  261. <text>Male</text>
  262. </switch>
  263. </g> <!-- Female -->
  264. <g id="legend" font-size="36" transform="translate(695 169)" text-anchor="end"> <switch>
  265. <text systemLanguage="ar">أنثى</text>
  266. <text systemLanguage="bg">Женски</text>
  267. <text systemLanguage="cs">Ženy</text>
  268. <text systemLanguage="de">Weiblich</text>
  269. <text systemLanguage="es">Femenino</text>
  270. <text systemLanguage="eu">Eme</text>
  271. <text systemLanguage="fi">Nainen</text>
  272. <text systemLanguage="fr">Femmes</text>
  273. <text systemLanguage="hr">Žena</text>
  274. <text systemLanguage="it">Femminile</text>
  275. <text systemLanguage="ja">女性</text>
  276. <text systemLanguage="ka">ქალი</text>
  277. <text systemLanguage="ko">여성</text>
  278. <text systemLanguage="lt">Moteris</text>
  279. <text systemLanguage="mk">Женски</text>
  280. <text systemLanguage="mn">Эмэгтэй</text>
  281. <text systemLanguage="nl">Vrouw</text>
  282. <text systemLanguage="no">Kvinne</text>
  283. <text systemLanguage="pl">Kobieta</text>
  284. <text systemLanguage="pt">Feminino</text>
  285. <text systemLanguage="ru">Женский</text>
  286. <text systemLanguage="sl">Ženski</text>
  287. <text systemLanguage="sv">Kvinna</text>
  288. <text systemLanguage="vi">Nữ</text>
  289. <text systemLanguage="zh">女</text>
  290. <text>Female</text>
  291. </switch>
  292. </g>
  293. </g>
  294. </svg>

↑ Top