metanorma-csa 2.0.8 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4383aed015d0b125c68bf6d02dbbd93688b6672c8b302295c181ebae7df9cd24
4
- data.tar.gz: 46df39c4b6a759009ba2ea03fcc45e850348f5bc6c2370dfec1b7b2ff5f59577
3
+ metadata.gz: 00d15180c046f90197e62c14a0fdb8d230a21794acaa419fec41ac105f26e6ca
4
+ data.tar.gz: f774f53e673c23755e6052c72366c7ff8894d7d20fffeeaf2eb1fa542e736aaf
5
5
  SHA512:
6
- metadata.gz: f7b3ff486721934e1f41fefaef1b4fc8227b7ca6ba593092abca761366d1b2be6005c554c002b104b9d2c400168563310a7f184764ee063f0383c4e1a2200e62
7
- data.tar.gz: 828d2554c73bdb4b725ad8d74e802550f3684d236c8e4d92b49c9a11695192dc5cb7e5461fe6a7b6bfe8a9716ba1e183d283969119ea422ac26f3d4a34fb6ea5
6
+ metadata.gz: e3473057ca935a4f33918e10cafa76d947fd75546381cbddd29ce8034cad367866ef218f5999fb9b77d646346cb0a1536b18b8c3b2ed2705e8495167c56dd31f
7
+ data.tar.gz: 6e8096c68a3689035dbbc87aeba2e076a06a32c6cbd48ed21467bcf14eb4486672d249a695aa7e1ce3423987f35fcf6a2de24f25560b7a795795f710f0171d6a
@@ -571,7 +571,7 @@
571
571
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAASEAAAEhCAYAAAAwHRYbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYWRhN2RlNC04YzAyLTQ1N2UtYjUwNy0zNGYzY2RjNWE2ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDUyNzBENDc3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDUyNzBENDY3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSW5EZXNpZ24gMTQuMCAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOmZiZjFiODZmLTIzMjMtM2U0OS1hMDMzLTVlOGQxYThlNmI1YiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmlkOjFlMzVjZTE3LWU5NzAtNDQ1OS05ZjI0LTM1NzcwZWYzMjNjMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpxYC6QAADYxSURBVHja7F0J3FbT9l59SWUqMmTOlMoUGRJuma/pmq9ZoZCZ6JplzjXPXFO4hrjGuCLckChkCA1ErjFFEWWq/uf57/Xe3r6+r2/t8+59zt7nXc/vt39vPvtM++zz7LXX2Khxn9dIoVAo8kKNDoFCoVASUigUSkIKhUKhJKRQKJSEFAqFQklIoVAoCSkUCoWSkEKhUBJSKBQKJSGFQqEkpFAoFD6wkA6BQoDFkrZEWVskac24AY2TtnjSppUd83PSfk/a9KT9yO2HpP2iw6lQElKUv/9VkrZ60lbjtlzSVuDf5ZO2DJOMK/yWtElJ+7rsF+3TpH3C7aukzdHXoySkKA4gsbRL2jpJWy9pHfjfqzomGAkWTtrK3BZEVB8lbUzS3k/a6KR9yH+bpa9TSUgRNhozyWyatE24rR/Zu16YSRJtn7K/z0ja20kbkbQ3uE3QV64kpMifdDZMWjduW5HR2xQR0EVtwa0EbOmGlrWxOiXiQiNNahYlsJXZOWk7JW0bMkphxVxSei5pT/PvVB0SJSGFg/fE26s9krYLGb2OomHMThom+FNJe1i3bkpCCnvi2Sxp+3JbWYekYkDJ/RATkm7blIQU9WCtpB2StEPJWK8UfgAF9z1Juy9pk3U4lISqHXAGPCBp3WlepavCP/5I2jNJuytpg/i/FRlCrWP5Aqb0Y1jqCUW5/BMZZ8FvytoUmuvxPI3/PZv71vXRNk1a86Q1SVoLmutpvSQZ58eSQ+SySVuR++f5DezGDc/9j6Tdxv9WqCRUSCBeDwrmE5LWNad7QEgFHAE/SNo4MgrbksfydzncDwhpdZrrud2eCbp9TgsliPXxpF2TtFd1yioJFQXNebvVJ2lrZnjd72muY9+bZLyPQTgxhEVAkmpLxhoIp0tYCDci4y+UFfCBXJ60J1j6UygJRYeWSTue2zIZXA9SzVBur1HxzNJwzlyXjFNmV/5dLoPrjk/alWR0R7/rtFYSigGLsdRzMhm9iE9JB055UK6+mLQvqnCsERe3HRkfqm40N7rfF8lflLR/kiqxlYQCxaIs9ZyatFaergE9ziNMPHiBGtQ577a3GxPSXmQyAfgko3t0m6YkFAqgQO2RtAuT1trD+UuOdo+SUSgrGgaMAHB5QBDsnuTH4RPvpS8vCAolodyAVfcyMlHfLgHzOJzp7iajUFZUMNfJ6JCwUOzN22WXeCFpp5FxglQoCWUGeDdfn7QdHZ4TWytYYu5I2rO61fK2ZcZWrWfS/uTwvLA4ws/oTDK6OoVQXFXYAybii1kUd0VAyC54PplMh1ip/60E5A3wk7qXJSOY/28i43jpQto6iowlrZd+XyoJ+QI8a29gsnAB+O5cQUbRrNaW/LA4b9VOSVobR+ccyaT0jg6vSkIuAB8f6GeedERAkHS2JuOEN1AJKHdM5601ttiI4xvl4Jyb8iIDqbmpDrGSUCXApESO4wMdnAv6Hnj9Qpk9VIc2OGAxeDBpncgkjRtR4fngXAkd0btJ66LDqyRki1a8Tbo/aUs7Ih/EjakFJQ4MTlpnR2S0dtKGkbGiLqxDqyQkwfZJe4+MFaUS/CdpGyv5FIKM/kLGUTQtoLjuy4TWXodVSag+YO9+NZlQiBUqOA8cCqHERg7ot3RYCwHkG0LcWm8yuazToiMZndNxTExKQor/AakkhiftpArOMZUnKSbaUzqkhQN0RreQyYSArVXaYFbEt13P2/0W1TygSkJzsQdLLBulPB6OareTST1xC6m1q+iAX9HpZGq6PV/BefZkqaijklD1AtYL+Ok8RibtRhrA8rE5GQe1KTqkVQUkzIf+8K+UPhsjJPDXk3aEklD1AelGERrRJ+XxKFd8NhnF8wj9HqsaqOCB2ME7Ux7flCVpeG83URKqDiAHDTxat015PFzNNyDjiKZbLwUwjaUZSEYTU56jNy+Mrapl0KqVhHZmySVNmlUQzhlkMvpp7SpFXYCOaL0KpKKteYHsoCRUTBxJxtSapl47fERQkLA/aXCpYsH4iaUiBCOniahfnaXtrkUfqGoiIfhjIOHYrSmfGykaYDkbpd+XwgKPslT0YopjsVAOSdp+SkLxowmLxmenOBZpHw4mEw09Q78pRQrAarYDL4JzUsxdxLL1KergVAMJweoAh7AeKY5F0Coioe/T70hRIbB9P5dMHFqa2m5XsBpASSgyIPkYcv/uluLYfzEBfajfj8IhYPnaMOW2/m9Ju5EKFupRZBJqwfvprVMcex4Z57Of9ZtReMDnZKyrA1Mci7Lh8CdqrCQUPgEhANU2fwt0PrBmXEBxVChVxAvMNeSpSqOnPJxMqaFCEFERSahEQJtaHvcNr06P6vehyAhY6C5mqftXy2ORYG9AEbZmRSMh6ICeSEFA8P/ZnNT8rsgHCPmAl/U0y+Ngtb0pdiIqEgmh8iZSZ9g6dyF1BwrkTdRvQZEjXuF5+LnlcUeTKbygJJQzsDeGGd1WCT2YV6Dv9BtQBABYYqHH/MjyOCir+ykJ5YubyeRlsQG2bbuTOiAqwsIXLBG9b3kcLLpHKgnlA6wAvSyPQeJ6WMF+0zmvCBCTWa0wMoPFOHfEXvwQZXxvS0FAh5IGoNoAXufNF/CL6hGLWPwiPzN8uFC/XV0h6kcaS+8vZNLTDFcS8o9u/IJsEkApAc0PeO8i4TqCLBEw2aysNeVfX0Alkv145VfUT0RDyS7967dMXJ8pCfkDqmQiHeZSFscMYlFVCWguTkzaVTlvy19N2p+SNltfR71A9V9E4a9rccxoMrql6aE/XIw6oZZMKDYEhHidfZSA5sGWSbsmgDmAD2VnfR0LBCRFlI762OKY9VjyD96rOjYSquGBXdvimDfIFDBUJfS8ODmge1ESkhHRjmRX72zXpJ2vJOQW55BJhSAF/C1Q813N8HVLIKGgs74OET7h+f+jxTFnUbosEkpCdQCrwLkW/SfxMar0rHtLu1xA94PaXYvoaxEBpcSh27Qpuohg1zWUhCrDKrwNk94vzJRwRPxU52ydWDuw+4HeYmN9LWJASd3bctFBfqzmSkLpsBCZ9JY2imikOtA6YPWjXYD3pFsyO9yRtCst+ne07K8kVAbogTa36H9R0h7QORqVJKQklA7ItPiURf/evEMITsoIGTAj2yR9epLs9EYqCdWPmWQqjMDPZFbZL5Sis8t+fyDj9Vz6LaWjKP8dI7imkpA98D6QV+jNpLW1kKBgMf4qlIdYyNE5ViP7yF/JPvY+C2ltQtK6k4YBSCCZsCCOkxxdb4SAhJYno/v7r74eK2Bx2IvHeFFBf1R2vZuM0SYIB9FKtmMgnx5kqpAiBmhhx/d2DU9KCWbyi5imc7JBNLYgIVd4XbdkXvEB2QVxb0d2iu3gSKicfO4iY/pbmYwy2BV2YalGCuRTeU/noghtSBZvN15JKCpAD2qT3Owy3sFERUJ1kU85znQkDbVgXYQU2LIN0DkoRnthv7EOr4k4JonDaJYkhDisf5IJ8vyajD5xm8jf7akWizG2bigImntqWAkJNWqAfEpwJQ2hyNsKwr6fshSkkEOqwBzn8JpQoL4h6LeRh219XfMZ1UyRT/wg3vK3JuNVDLVCv4jfLZLlo4LHL8L+3UL4fiQkNIdJSOJxWak0hEHpaTGxMYl+VF6xQjvhOx/v+LoSvy2kDuno8dkRjf40L3T1bUmRofAaijd5PFLE2sQFXkrGKBD8dky6OlQiDWFS3GTRH/5AMeYhwbb2WDKJzSeSSWWBSdMso+tLfIRgoZrp+LrSd+VrS4ZEX++SLPbwRN6qxFrX65ak/VvYd/GkXR0DCQ1N2kvCvmmloT4W+gpMposjnBzQdyGRFxSI8IFalUxi86t4L981g3uQSELjPFxX6sHumoQW4rkyxHLFh/Q/MIPtoS8g3/QPwr5ILLd96CTkWxrCx3iOsO8fPEF+j2xSlGqibVnP/1+LyR5K+Zae7gHnXVbQb6yHa0P5K8n055KEVuHF88yU2yvkIR9EcQbXfkl2fl438HY4aBLyKQ1dYfGiL0naO5FNCIzFQ0JJpxfv6/fKaSvmSxKSSkOrCYmyIezFEnOXCs+zA5k0wi0iJKIBFtuytpRTjilbPyEf0hAkg30sPo5LIpsI0CsglcIuFsdg2/AImZLULpWG0sDVsZ7GIgt/IejWbubxcyVRbsGL8DIREhGKI0rzaZ3paAHwSkKupSGIyDaRvTAn/hrRBGjEH8R+KY9H3pgxLB25sNbkLQn5JqEOZFwBjvZw77DawZiwUmQk9LmF8AAldeaZGNN4TLuUhuDTIC1ngnxCL0Y2AS4n+5potVFy3oRCe60MJKHprE/wAfjmSHR5aUioJxPQuh7fJ0gc1sw1I5uH1/AWX4JeTOZBk5AraWhhi60VfIFOTXGvC/GquEoOLx7R/30cng/6JHgen0HpA48ljorjPY4JpNi3Bf02Ibl5HCSNfFOoP5eFAhlzaRiZRPKxAMQvjRXDuP89dBKylYaOXgDjrio8zwVkrCs25NODdRs3MxlmieOTdqGH8zZl4kbqBttMhHkErtYFiXJ6saStI+i3GZNa2u0uMj9AJ/mC5XFIjfsyXz8W4H4HCvvuQhmG0KQlIRtpCCt37bSSzUmeJwihGdenIJ/yEJPDM5SGUFzxOs/X2IA/5istVv82lH3gal2QOi3CUrN6Pf8P+rG+LJGkDcK8l0yYCLZXqPbxhOXxLZm8Yoo3O53kOtULQichG2kIcTlH1frbUfx3CTDZGirX01BwbZOMpKE9+fpZvbtTkvY+yRzNNhSeNwRJiPh9IkfUcJaaS7lyYL0ZTCYKPM229GdeKNB+4r9hfu3NxGQD3NMzSftLJCQ0MWnXCvtiTnXL4qYqrcA6lGS+L9/wqjaTRe0JJDMFDmdxec4CyOdglqoaim3DvhgKRV9Js5Cj5d9kV5Z6JBMJPKY3rfD6SFQFHdR3tSQGhCugzPNuwkUHUpbvtCgoU2xr7p7O24ndKH2lkNLW7aMFSFiQuo+1PC/iGJF65r4IiAg6NBRRXFrQ96UsiKjSHNNS6aJcGupFcl+Ev9VDQA1JPnXBpzSEHNhPWhIQJJhdeTuA40/iVToturMUsz+/1/35o0O4wu4kD1Yen8GH8HqKY2A+7lkBAV3H4/xRA88Pwrb1RYO+DWlBekdAQgjlkIY8QcDYKnRJiFg03lEoDa3NH9/Kgv4o3fznCiSfrKQh1MyC/8gSFsdM4BXmi1p/h6L+ljqe2xZThCtdXeJ6FomuzqTsYv8gGR5GJvzCBn15y5fm2S4NnIia8xyUOMI+zYtlsJKQrW7oZiEB1T5vGsknC2kIfjsvWBLQl0zaX9Tx/xBbtRMT7ZQK7mvplMeNzegjeCWj68Ai1DEFAQEwU8Oya5uHGVJUfwo7FQjUIlLFMyxlPn2vnJDQ6yy1SPBXYb9BfF5X5FOOw0muFF8Q4Dn7H8sPfgoT0IQG+kG30J5F/CzxdkbXeZUlYl+YzYvYNvWQvRS3Ju0Qsg+WhhrhJgo7FQhSlXxuIRUGTUI20pDUmnGJB/IBoGjbgbeGlQBK1aFJW9HiGDhcwhT8gQVhHcJbs88ymJRQrt6b0QcAkti/QmlvQZLm1mTCD2Y5OB889fch+/xKR/PWOlT8ZrFtPIA8hqu4IiEbaaghfMgSgEvyGcETsxuTRyVowVswm3vDBIYZ940U13uWxeFryG+JFqx2YzL8CD7grRJCUqY6OieMAxvwNswlnmS9yHTL43pS5fo9nxhAxlIpER6O9nUTLiuw9nN0ng6OyQc6ls4OyAdYhEnBxmUfovy+JHfurAvwZ4HzHqw7ox3PAaRFgfXsqhw+AkgtR7FkiQXi2pRSKlb1E5K2B83rouASiFvcPsX5Dw2YhGaS3G8IVm0vCd5ckpBLacgl+Qx2dM6FeUW0cdWfzVuqpx3dA/yKOpFJAFdJNoHvyaT03JDbkzm/r1lM0iex2I8t87/IJLBrCOP5ncC/Z04G8woStU0I0VoUNqC7kriGLMuLadAk5FIaCol8AFg64Ci3bQq9wEDHzwjJ6iLedthamaAMPpw/9FMozORwIKQhPOFX5metT/q4m0k5y+cYTfNHACwIkwMnIRQMvU3Y97gYSCgvacgX+ZRwLIv6NjjV4uWmAXL+dGWia6jiyBu85YJP013kPom9L3zDUh/8p45I2mMsMd3OW6MeNDf0Iis0JnkqYnIoBfvEjQIpEg6Ft/q4uAtnxdroTNlVwRjB0tdgz9eBsry9Rf+LLCdqpYCVDh7BtVPCjuH7eDSDrUq1ALo5qf4M4RHQH/4SwXMhBq62Eh3e1bCY/oPc6yK9khCR3Is6dPIprXx/WPSHbuKEnCYS0l8gp/LCrCuBFW+28oYztCFj1ZNmLoD+aGgkzwbrX8mpcxgTD1LkzvB9YV8k5EsaypJ8yvErySwD+ODXpWxN3YrsAFXDDsK+2IofGdGzQTWDwo8DSZ6F0dmFfcC1bsi3zqchvGwxnsjy10y/18LhUAsCgvWsb2TPN5tJ6MOsL1zj8dz9HJyj5MOSF/mUcK7FtgbK3yv1my0U4MdkU6UUVqRpOmz5k1Al0hDIBwnCkPnuyQDGCVtLm6jvY/j+FcUAHPqWEvaFBe9RHbIwSCiNNFROPo9TWBYdxCINs+h/B+WTYF/hFoj3O0DYF9akY3XIwiIhSEMSP4mQyaeEWTwZpXFOS5IJflxIp1m0QCI1myDU08jOm1qRAQkB50ROPuVAWojDLPpvQfl7kSvSA9kcpPmvSk6UigBJCDlqnoicfMqBZ7nRoj+qjWytUy06bG6xtYILRy9Sh9BgSQg4vwDkUw6EZLxrMcZIUra0Trdo0JSlGml2REi7H+mwhU1CkIa6FIB8SoAbPpJySRPTI5fv3RR2yk/FvNKrtBQyFqMrdMjCJyHgtYKJq8j6eLxFf1hZTtYpFzzWYRKSAMYKJC77Q4ctDhIqIhCRfr9FfyRA76TDFvT3gHALafIuZLt8U4etMqj5uHIglQaSaklrnyE2B4nEpkf0jM1ZQkAOI0SFo5AldFyt+LcxS7lIlgYXBlgRkcz/A/5IP4xEWoAienNh30/IeNIrKoSvANZqQyfebkqLH0J6OijwZ2rLW0jE7CFvUdMKzgUnPqRHRYVaWBdDTPS1CpPmYsL+yGf0vE593Y6FgreSdrpF/wPJzt8oKyBFBSq5ImMjkqYhXmqHCgkIQHGAPXmr8xUZ48Tugc2/GywIaIASkEpCQY5l0p5i6UECWNY2puwKDi4I+PgQdHkqb7GyAp4dVU7hwvB7js+PoGOpy8UkMpaz73XKqyQUGuawFCF121+U8k/7AZ0gErBNJFODqlXG129HRrn/Pm/78sLGFn1PVAJSEgoZKOYHXY807QcUvf1z/PBGkYkQb5XzuEH/BH0RMvstn8P1pdYw5LN+Uqe5klDoQGnoSyz6QxJZLeN3fjaZ4OL1Ahs7pBhFLuO9Mr6uNH/yYiztKpSEgkc/MvXWJYAuafuM7qslSxwXUrh10iGVIbfx5Rne43CSlw06kzwVAVQSUrgEPGlhAftB2L9FBvfUhqWfHSMZw1N5e7ZIBteCPk+ajhVR9fvpFHcHdVb0h2kW4/uV53tB8n2kx13R0fmg+4IJ/1v+969MpGjQ6cB6tKiD60BZjYohf7Yg9LRAwUWY3bcT9IVy+l6d4kpCoeNQ4YeIwoU+lZ1rOiAgkOTTfB74dDRkAcQWE3quLkwgu1Yg7SG/+HO8Zf3R8zs7R0hCcE7dg7e2v+lUrwzqJ+QPo1kCaQjwkznd0z0sz/qONimPh9/TzWRyhc+q4D4Q9gFlMwJ+N6tAUtk1g49+KBkPcQlgBZ1IpsQT6ryNZQkRv5P0E1ASyhNIWfKWoN9vTBA+UoLC/wilijZJST6Ii3rbw31tSyb1RccUx8Kn6HDP7w6S2zMOzvNDGSGNLSOoj1V60u1YFjhQ2O9h8peT+IYUBIRtF4I4H/c4Ni/wdqY3S4E2uqPDWLLzmUb1WZZq2lZ4Hmw/N+VWjlm1pKdyKepblYQUlWIp3m7cQTKnu63IroKHFEi49oDlMdBvHEzyRP4usFbSHrKUipBQDo6WH3i8L/huXZvD/JnGpPQyLyJfKAkpGpIi12fS6czNZvWEaN7Ow3215g90KYtj4Fx5DuVTtx4m+HuStrfFMSPJpNzwdb+tWCrM0x8IqV6g/H6xyB/RrCs31+2YBVZgotmMP4BOVJkPy/2e7vMySwJCFsH+OY7rDDJ+N7eRPLMAtjgIuL3O0z19R8ZHae8cxwXlhh7jharQZYRUEqobUOpuVCbhoK3s+BownU9wfE7cM5KISXNZ501A88xFMtH0NoUGV/O4fQTR4ePI26EX9eEvKKoUVNpSKExWxJKEg98NPY/NBx4ICLjSgoDuDIiAAHgt92Cy31LQH4rfv5E/94aRLG3dkDMRbVoNeo1qBCYwAhG3Z9JZJuPrP+HhnCi02E3YF6b33gG+l994a/aO8J2cyMTrK1MjfKTeIFNTrCsvVll/M4sV8QMsSUHVSkJYWWCCXj7He3jQwzlPEvZDiMVBFK6vChTCPYVE3YwJ4hKP9/MmzU1mj/S9yK8NPc3a/AtjRHuy08NVPQlVsyS0FE/u1jnew60kTx0hBfIj7ynsezEZM3DIQBjLoyRL6XFM0v5O2STSR/bHcdxqAxa1DmWk1JZJCqTVWL/RuqWgaiShnjkSEJzUYM3p6+HcBwon+pe8fYkB0PfsRg0XD0BMHOK9Bud8v7CovcKtHLj/NVlyas+/JSmqpUpC1UdCW2RMOpB4kD4DVhbEPvkyte4r7IcUrjMieVcIb0CYxpHC5x8c6HP8zpLnGJrfE/2f1HDVlcJ/o9VGQj7z9nzNhDOCSQexYz9n8EzYim0k6Adv3AGRva9rhSS0J/ebFdnzSZL7L1r0j7LaSMhVThood0cx6ZTaf3N6pj8L+92bESm6BIomvkQNR7UvSSZf96gCzscmRf8oq42E5qQ8Dj49I1nCgaTzNuVboqYcUj+ShyN9Zw+SLLXGnyIkIcl8LLwkVG3pXSUrD0R6RHpDfwLF6HJkFItQ/l7PZPR7QM8kKVsMP5pXI31nTzkchxjnY+EEhdpRGioJzQ+kK90ukudBZdT2gn5IfzE70ndWqmu/RgP92hd0PpakoZ+L+lGqJDQ/mkX0PFBKS8I0RkT+3iT3D7+cxgWcj0Ch9ULVRkKSlScmEpIG1Y6J/L1JSmVDKly2wJKQklAVSUJNI3qeFYT9Po/8vUmDfZcq4HxUSagKJaGYpCEpYU6O/L1Ja78vVdD5qJJQgSAtGRMLCS3u+LlDxS/CfqoTUhIKHlILUTNSKFQSUhJSSciZhLBk5O+tiePxUElISUglIUeYIuy3TOTvTWoF/KmgktAiRf4oVRKKm4SkdapWify9Se8/thI5Uklo4SJ/lCoJxU1C0tQgG0T+3joI+qBEzjSVhJSEVBLKFp8kbaag30aRvzdJHqiJET5X1UpC5fFjKgnFTUIItpVUIu1GcTlhlgMxYxKnzFERPptKQioJRU9CwDvCSfynSN/ZHsJ+wyN5ntb8TCi3dG+1SkLl0lC1RdEX0U8IaUd6CvodSibFbGzYL2ISaspb4fKadqumOE+hJaFqI6EiSkJDmFwbkmr3SdrxFJfyFh/tJoJ+Xwm3pb7Rpoxs8NvRkRRTWOsYpCGVhOInIVR5GEENJ/XCM6E2Wb+Inq2PsB/KA83J+N5QBWPjWqTjK4pfJaECYXoBSQi4j2SZBUFC10QiDXVk6U2ChzK4HxTL3JHHuXPS1qXsdKo/FfmjbFQ71WLBgTpPU4US00QyeXjGk8lnM45/JwX6XNiSNBf0vYG3ZaFjKMlyS39EpoaXr8yRCIpFhddTcly0UczgWZWEqksSwgq3Orddav2/H8oIqfQ7nltepZWnsTTQXdD32KQ9QGFbk3oJCQi4lvymrr08aSfnOBYoHTWkyB9ltUlC5FF3MKuW9FQuRX2bwXPBq/h9kqV7/YT1GVMDfD8oKgC3A0nkOO4fcWW+8i+vwZJWo5zG4kPeAn5R5A+y2iSh0v7aR2ndxjxp16hHUoH15mkyFTt+8jRhIQ1JTNqQ8O5P2q4UVsFAbCsHkTx1xVXkNwH8PjkQEBYsGBpQZeRuMjXuCo1qlIS+IVPGJy9gZd3G0+rWlslImtzrtqQdRdlblupCMybpbYT9kbIWNd1nerynl5O2lcfzo3QUatiVF9H8tNo+yGqUhN6k+fU8WWItlkJ8eDCPZ0nrJGH/XiwJQU+UZ0mgRXjl39rimNM9ExBSxXZxfM7PaG6ZcPyOqgZJRyWh+bFt0p4P4D4255XPNZZI2ntk55n7WNIOTtqMHMYBYQyPWH7wQ1hX4lOC68mSYlpgLN8ok3BAOl+TQiUhMmEOfZN2GeWncAQO9URC8Arvwc8p9WPZk0yF1gNIVl7HFbZM2kCSVw0BpjFB+N5CHmDZfywTTYl0RlNY+jaVhAIEvFyPIVPLfc0cCBmezsuTv5LS/ZJ2nuUxM3mbc1PS/vD47FA8X5y0E1IsBHuT8ZD2CUiRnwru7We+H5QGn6p0kg41VfzsWLXgV4PywXDyg5Jz96SdlrQ7kzaMicIXWiVtL4/nvyBpT1oeg3GA3827ZPRmriVFxED1TtrHSTsxxfkvyYCASlsxyb1hfJ9VAlJJyDegoIQPDixP7Zis8Lu6A+kJ1peuHu8drggvkiwItC7A7+g6Mqb/Hyq4D/jyHMEf94opzzGQt0i+t2EgyokspTaEv5BxKVAoCeWCJkxE7cpaiaBsqlt0ZMnDF5ZhIlq3gnPAE/w5XvWx9Xi7gW1kK34u6Hx2ZhKsRKrCh74PZeORfkjS7hFup1eg/LzklYQUC8TSSfuXUMrBCr+/5/sBEcGi5CrXNMz5iFWDrxNMzDNYgliWm0s/LGx59s3oY2/EC8J6gr5wlOyjU11JKGQge95jgn6zWHr62PP9tCBjCt82ojGEibw3ZWdlQi7rYcK+eGfjdJpXjhodAm8YRDKvaHg3X5DB/UCnsxMZZ8bQAcscgkaPpGzN3NKCAAitmKhTXEkodODjuUHYF9uxDTO4J+hxYBaHFXBKoOOG4Fp4k1+T0zuTAFvO/jrFlYRiwM0ksypBF3F6hvcFPQv0Ho8HNFazWUqD3iovHcGbFn0RGrOrTnElodAB7+UbhX23z/jeEMgLT2noiEbnPE7P8lYIUlqeWQRh+XvJov8AsvP2VigJ5QKpX0uLnO7vRd4KHkTZ1+56kbdeyBz4biDvCw6s0vS3cEVAat3GOs2VhEIFtjx/E/b9OMf7hC4Ekf2dWDJC5kVfeXrgXwPzdju+1iuBvTNEuve06N8taWfqVFcSChFYHe8guVf1PYHcN6STA8n4FiFB2l1Jm1ChJAjPa6RJRaoORM3DvyZk8zZcGW616N+PjGOmIgXUT8gfoLi8WtgXeYCgkP0l4OdpzZLSmtxWIhMWgmBU5AOC5Q0Wt8lkTNgTeIuFtCIxVotAHB10RFJP8y/4HX6vU19JKAS04dVfmqYUntUv67AFh3XI5ARqLuwPa+OeOmy6HQsBt1oQ0D+UgIIF8oKfaNEfXvLH6rApCeUNBEDuIOyL+Ku+OmRBA6EjD1v0v5LcxegpCSmsAWXu1Rb9j6PKUmQosgFycU8U9m1KJih50QI9P4wr6/o6uZKQWyDUoJWwL5JzPaZDFgWwUCCXkTTbJFK6XFcQ8ulBJnXtUPJTKktJyCEQHHqgxaRW3UFcQN7osy36H072eapDJB+4aKzBi+txSkLhAiuEjV/JqWTCJhRx4e9kV5L5Vqq7GGZM5FN73jr37FcScgPkPl5Z2Bdi7R06ZFECjpcwPEjLei+etAfJJHyLmXxKgDR0spJQeOhsIaYiC+GRFEbFU0U6TGIikmJjXqRiJp9ywAm3pZJQOMAKdzvJ8yf3I1MGWhE3nuOtmRQIU/lz5ORTQguSV/hVEsoAZ5DxqpXgnaRdoUNWGEBJPcKi/z0kt5yGSD7epCElofRAvTJp9DSi1OFr8ocOW2GAWDlYv34U9ocP2ck53Su+8/0dkI8XaSgEEkJQ5JGRTcAa3oZJFY7wH3pTv9vCAVVaj7fov3VO5IM4xgfIraXOmTSUFwktQaYE8yj+OJGLefmIJh8qQHSxmKjn6vdaSGAROtCif/OM7qs2+bT3cA1n0lDWJIS67zBPf00m7WkpuXuTiKQhpLC41KI/nmuGfq9OgVrxyN+NBGRIvvYeb42bZXgPyBeFrIo7WhwztgDk41wayoKEkGsG3sFQzEKRdzj/rTaOYjIKHeeQ8f+QYEDSns/pPlG+enMyIQRF0f1hwiM5GhKiHZ20VXguIYPlxWRyZXfL4D5gDUVg6z6Wx93q6X6yJh+n0lAWk7MxSw4NRRZjOxZDLpa/CPvNzmkbthxPRCQXG86rL7aEfXkbHCNQ0fYiMkGk8NptWk8/JFv7Dxl9XUuP94P0tIdZHoP7f8nxfeRFPk6loSxIaDpLBBKcFsEH0dpibAdStgnsd+Ctyf613i0khsuS9l/+XT0S8umQtJuYfM6yGMsjmHz39nBP/VKs/rc4XpBCIB9n0lBWmRUxSB8K+26XtBcC/jCQinUti/7v8TNN9nhPTXilleYmgsf2c7w4oAZZSDqrxXmb04NMJY5KgWyH8Gj/0tGqf7XlMSggcCi5qSQL8vkrE1r7gN4ZArLbkLxKSeaSEDDGglhCT/J1r2X/9ZP2KhmFtg9AqhlmOW7QaezIq+i3/Lu/5y2MhHxgJUVYxJ2OCAjYgxfAo0ju2V4XDk9BQIOYTCsloEb8HG87lnyQQ3tq3tJQljmmdyd5xc+NeMBDRDPe229qeRwSocNPxGVpH1TDQHpYV7oeOFMOJlMN9oMMxxQJwIYzYfsEygvBadS20se+ZAJRbRZt6KZ2SdrMCskH3815SevocBzeYWmqNc+fXKWhLK0mgyxe/nkBS0K/sO7lVcvjVuIPbT0H9wCL0G38YbhUNsOtH6WNkdy9S4ZjelYGBARsRaYCyFkkt8Qi5us+y29lJJPHzArvF1V5H3NIQCCfPXmRf4bkNfG8SkNZkhCsRdLYKbzADQMmoh+YiJ6zPG4ZXo03q+Da6zFJ9PT4fHCqu4fkNdMqxcEZvjtY1qA/eytpmwhI61Gycx2BshgJ7qY7uNchTBwuyQe7kTk8f6Qe1M8K+6WylGXtP4KJ/bWw74UUNqDM3Y0nqe2KAVF9mxTX7M0E1CGD51uDP0LfWJLkuZhcAmSObIlXU935oPHBPkV2Xs4TeHFyVXsMZHG+Y/IB4OktjXsEAZ1CsvQzqaShrEnoN5Ir97Cf7hw4EeF5YK0YkELSGMwSn/RDRVXQm6h+Hxkf2CKDa7RLedws3ib1p/SBwTX80UB6Kfd8bs8fn81WF9a37SwWWSmeSCEN1Uc+JfSyIH6kLIFi/yFf0lAenrRwt/9O2Lc/hQ98DLCc2CY2b8JSVENbkS48qfbK4dmyWATWtuz/O5N+Ox67M3jrPqKCe2jDiwIk9U68DVra4vgprL+Z6GF8bKShhsgHQCric4Tnw5i+yP++wEIa6hs6CaEksFQ31NVCWsgTeDknpthCYvxh8j+2nv8HBSoKI66S8r5g6kapFnisT46chL7kjwcKfngrf1xLD9OFV+GfK7gXZExEQPWKFsf8yFLUGI9j1JA0JCGfEmD5XE543dPL/m0jDZ1gQ+J5lYFejCeRZDCQiXAdXgFjQB9Kl7wMhFNKA7oCk9M2Ke8BSlH4xTxQ9jfoAfZg6WFHkqchWYvcuhXUxmN8Xw196K2E2y4Et8JDOYtMhjNZBzQsg2vtQfOXiHqHpaQnhFLKSvw9SQJ94YbSrdbfOjDhS/ytLqtFYkFJQiVpqL/FR9Cb4sGVvOeebXncxbz/3pknV1oCeoO3Jw/U+vtvvJIh9g1xetcGIg1JJKFxFnofRNbvxFLNFI/3/TtvkYdlNK/KpaExFpJPOS4leaaBusJMIA0NFB5/nFQayksSAprzCruCoO9U1gF8GxEZ7cfSTJaZASCBnSmUGrGqSRwSbyJ/NdLgAjBDMEYYx0NTnB8fwdXk3gVgNr/ff2U8p7Yl4+bxUIpFDhkVhgv7DmYirwsIEkZcXmNX0lCeKR5mktxMuCTZJRYPAQN5tZqZwbUm86Q5zWLbOpZkviybebzvNkKSHp/y/FNYItqJJSRX6JUDAQEIfXowBQEtxFtUKcEuyIkRgsM/XUpDeeeZwQonDc/onrQtIyOip/kD+NHzxNyAVy/b1fx1Qb+O5C8joDQGqlKlL8ZmXd6Czq7wXMgTfWdk8xBkIPVIRw7q9xroA2dPSTwc/K9ODZ2EMCH6WPS/hbLz4nUFKPi286CfwCSAMhuK0bS+KSMFfSB2d/I0Nm2F/cY7uBb0kLCewYr2fspz9COTLzwmQN1xgbAvLIsS871TaSiEjHvwHh4k7LsOuY13yQpQFiN49UtH50NeIESZX1Lhyi7VEWyeoyQ02xEJlQDfFyh0oXj9zeI4kM/5Ec496PSkmUAvs1jQnElDoaT9hIj7q7DvuSxaxwasvt3IuPZXgkd4izTcwT2NFPbzpReSWMY+s5gbUkBvdiFvYyXWLWy/Tolwzh1Ecj+7T8ikzpXCmTQUCglNIHmpXPi3DIhwW1Z6cd1SbgcQvQ9XBST8murofrBFlFSEzVMS8pkcfixLlKj8Up+SHnrLGEt3I02HjRf/8TzHbOBEGgopAfplJHeK6xTptgxAXqFteIsmBfwzkL/oFg/3I5GGoFdwnZQNifglFUnHeX4fIBeEEsEF5Fq+HrYkQ1mS6E5usiLmsQ1bStgX4UP/TrmoViwNhURCELlt/FHOI38KU9+ASR2xRpLE50jajpQToz3dS156IWng6tiM3slXZBTX7Zh0ocO7P0IJCEAso7RoxAyqLEd0xdJQaKVgnuMXLwH8S+AVvFikRIScRPCOfqqe/w+zPlKu9iK/OaDz0gtJY8bGkcIGbS23YbCwfl6hikEiDcHb+5UYSAhA8NskYV+EdFwT8YQBuUBxeDSTAVJjwvKF+lRQvg/M4B4wOSQOlXlJQkpCcjThRXxRYf9hZJ/9wVYaKg+ufToWEvqOP0opjmCJIVbMZtKBpAHP8FX5+T/P6PqIyRol6LcRuQ1BkUhCkAa/JoUU/S1UFDN52zbbwXXrkobEkf2hVuZ83GJbVtKbdNA5mBoSvRACH10mW5cGripkQDCtjRsBnBI/cnj9kjRkk1YkaBIqbcu+EvaF+An/mcV1LqZC1nohuFesKeg3Vl+NCNADDbDo/7IHNcbHPD9sI/uD9rXBtgyR08hyJ8lfAh3DHWTSrSrcS0IA9EKoDdaYCT/tbwvh3Buvr0a0AD9qsQBD73gw+XE7eCvtihQyEJyJ9BTS8tCoD4XI/Et0bloBEidCShrKKHggt6wwRl/NAoHF+W4y4UxSINnd5yE9RE0EA32WJcNeTHIfCYW9NJQlVBJqeK7vbdEfO4WHQnuIGEgIcT6wfv1gcQw09RvqHLXCyMDux3XgatEAb+4zLPojgd2JIT5ITSQDDqVXd4v+qFCKyPyVdK5GKwn5CFwtCrZkqUaKn1hi+jnEh6mJaOCRY9emBBD0G0hm1VLnrAjwFfojoPtRy1jdWIcXWJv6cz0oYHeHmshewNlk8g/ZvLCnWDJSLBiIoH47oPt5TV/JfEDBwmctF1YUXngk5IeKjYRgVoQJ/lOLY1BFFJU6G+scbhDPBXIfSKtxu76OebAME5BNTTS4twSfbaImwpeBHDgoEW2Ttxk1m+5RImoQ8AGamvM9IJ4OSlcN15gL+FUh1UZ7i2Ownd2XIkhDUhPpS4H/CCxmNnEv8G9BEu9GOqfrxTdM8JMyuBaUpLB4wj/pM94K3kgmIfsgfRXzEBAk1I0tjvk+abuSnUU5NywU8ct5hkweFJso4EN48iOT3hyd33UCuph2PFYbM2nPZsmzrt/pvNpKf2Gp+UOHWQToMhF5vqnFMXBpgSVsQiwPuVDkL+l6MnXaT7U45mjelvWmODPmZYFpPLaK/LdgXSyOmcOLx9CYHrSmAC+rLxl9jw16keqIFOECSughlgQEoGDEwNgetggkNIdJ5VnL46AjeoxM4nyFIhQsm7QXyaT0tQFytF8b4wPXFOTFoX4U8qmMsDxuNzK6pRY69xUBAJlCoZOzLWmFAghnxPrQNQV6gTDt7kj2MVCofIH8KhriocgTyMWD0JnVLY9D8r/jKGJDS03BXiRMkiiL/K7lcevzCrSOfguKHABzOiIBlk5BQMi5FbWBpaaALxREhHI6tgUGV+KVaGf9JhQZAilZERfZ3PK4J4tAQEUlIWAyb7Nst2ZLkHGUO02/DYVnIAB1AJnYLtvvEBLQXlQQF5OaAr/kybw1ezXFmPydjAm/mX4rCg9ozduv7imOva0oElA1kFBpa7YD2UXelwCnL+iJ1tBvRuEQXcmEqKSp44bogKOoYE62NVXw0mE12ylpD6c4FiVukFpW08UqKgXCX04n4wPUOsXx55LJjFi4cKOaKpkAyNC3H6UrcwIfIlQzuIrsEkkpFCXAAxp5rS5N8c0hzg5FCi8s6uDUVNFEwAoCt/ZTUh6PY6HoVjO+wgaQwkdTOqsrgn1hvr+ryANUU4WT4uqk7cPbNFusz9uzE0hTgigWDJjckZ8JQajLpTgeZXn+RPbhSEpCkQDpLpFx8b8pjsWW7Fre26+m35qiDiARPZTPx6Y8HgaRTSisdLtKQh6AmtnI0/JqyuO7kSmjgpxGGo2vABYjkwIFYUBrpzzHAJ5bk6pl0GqqfNLgRcOp8ZYKRO6rmcg20G+wqoGMlPDSPy7lVv13XtAOIxOQXTWo0bnz/y8cCc6Q1zhtXSYEH0JXBD8OjcivLmBLjhAKWL9WTXkO6H+2okhTcSgJucP9vA//MOXx2JIdT6ZqaHdSxXXRASn4XJ4vu1VwHtTGgz/aiGodSCWheYEE+tAT3VbBOZblff0bSdtah7SQ38whvNicT+lDeyCBoxwPTPffV/uAKuYFtmRHkikTNKWC83QiY0GDmK6+RcXAdrztRlxhJfmnsNh1JhOjWPUFF5SE6gfSK6zP4nIlgMISzmoPJm1NHdYo0Y1M8vghvHWqBPAd2oiqxPyuJFQ5vmZxGTmsK6nhBP0QwkbG8lZNySgu8kEAdNcKz4WqwbDEQm/4iw6tkpANIC7fzluqJyo8F5TX3VmfgIDaTXV4g/wmoGge5oh8UJsNVq91KV02ByUhxf+ASqHQEx1AplJpJYBkhNARWERe4i2bvot8AQVzTzIOqDC5b+HgnO/xeeD/M0OHWEnIFaDbgTcsnBRd5HVBfBCU1x+Tyei4tA5xpkC+qCt4kYFVtJ2Dc05n4oFx4nUd4gZW5MZ9XtNRSA+I2DcykbgC0o48lLQ7WUrSctXugfg/RKdD17cDufXpgr8ZKgJ/rcOsJJTZGPLWqj/Zl2tpCBOTdi8Zk/DHOtQVAzq4HmSMBEs5PvdwlmSH6zArCeUFVHJF+Me5HiY4AP0RlNmoGvuJDrcY2BLtS0aft7aH839EpvDgIzrUSkKhoCUZT1iYYhf1dI1RPOmRq+Zd3bLNgyZklMFwrdjbg3RaAuK9LknaHWSCTxVKQsFhadYNHOeRjIh1D3CohHIbKSSmVOFYtyHjgwPigVezzyBiWEZR9x2ZF9TfR0koKjI6mrKJsIeJeSi3YVS5O0GIgLMnEod147ZqBtdEAjzkGf9H0mbqtFYSihGLk4lJg+k2y7r3MD1Dn4SA2jfJ5LyJhZgaMcEgfGYTblAuL5nhPWC7e3nSBpJJOq9QEiqEzmJ/MnmqN87pHqawxIQ2joyi+1P+zWOVhx4NeXlW59Y+aR3IuEAsmsP9QMf2DJnqLEN0yioJFRlY2Y8hYzJuHsg9QUqCnmlS2S+q2SJ27kdu+HdJHwJP4PJMgHiOUmkkpDtdoqxhO4ryNyuQSXmyYtKWz1iyaYic4Z91C5OyQkmoagCTPnLU9KDKo7QV9lIPUq4MIOMC8asOiZJQtQP6DwS5It3scjoc3oBt6D3cvtDhUBJSzA9E3Hcj42i3F29jFJUBXuePsMTzlg6HkpDCjpAQn7YnmZgnrXcmB5KHPcXEM1qHQ0lI4QYIP9iJCQn+Mk11SP4HKM2fJ+NNDguXBpIqCSk8A3lwOtNcx73OVUZKU8kEjQ7lBslnlk6LeLCQDkH0+KXsAyQmoA1prmMffttSMUoQwVkQicLgeDmSG0ruzNZpoCSkCAcwMb9O8ybTgn8OHP/gALge/xsOga0DfQaQCgJE4Uw5monmff5vNaErCSkiBPQkr3IrB7yRyz2V2zAxwYFwOf5dwsP9wCnwWzIhJXCEhIl8IhmPbbTPqMpKISsJKaoVP7OE8f4C+jSlud7OJc/nlvz/mlDdYRU/sjQzi+Z6WE+juR7XGoOlUBJSWG3vJnNTKJxDE90rFAolIYVCoSSkUCgUSkIKhUJJSKFQKJSEFAqFkpBCoVAoCSkUCiUhhUKhUBJSKBRKQgqFQuEF/yfAACbVBNmSyrCxAAAAAElFTkSuQmCC</xsl:text>
572
572
  </xsl:variable>
573
573
 
574
- <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:variable name="lang">
574
+ <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:variable name="lang">
575
575
  <xsl:call-template name="getLang"/>
576
576
  </xsl:variable><xsl:variable name="pageWidth_">
577
577
  215.9
@@ -586,20 +586,7 @@
586
586
  </xsl:variable><xsl:variable name="marginTop" select="normalize-space($marginTop_)"/><xsl:variable name="marginBottom_">
587
587
  21
588
588
  </xsl:variable><xsl:variable name="marginBottom" select="normalize-space($marginBottom_)"/><xsl:variable name="titles_">
589
-
590
- <title-edition lang="en">
591
-
592
- <xsl:text>Version</xsl:text>
593
-
594
- </title-edition>
595
589
 
596
- <title-edition lang="fr">
597
- <xsl:text>Édition </xsl:text>
598
- </title-edition>
599
-
600
- <title-edition lang="ru">
601
- <xsl:text>Издание </xsl:text>
602
- </title-edition>
603
590
 
604
591
  <!-- These titles of Table of contents renders different than determined in localized-strings -->
605
592
  <title-toc lang="en">
@@ -680,7 +667,7 @@
680
667
  </xsl:variable><xsl:variable name="bibdata">
681
668
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
682
669
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
683
- </xsl:variable><xsl:variable name="linebreak">&#8232;</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:variable name="non_breaking_hyphen">‑</xsl:variable><xsl:variable name="thin_space"> </xsl:variable><xsl:variable name="zero_width_space">​</xsl:variable><xsl:variable name="en_dash">–</xsl:variable><xsl:template name="getTitle">
670
+ </xsl:variable><xsl:variable name="linebreak">&#8232;</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:variable name="non_breaking_hyphen">‑</xsl:variable><xsl:variable name="thin_space"> </xsl:variable><xsl:variable name="zero_width_space">​</xsl:variable><xsl:variable name="hair_space"> </xsl:variable><xsl:variable name="en_dash">–</xsl:variable><xsl:template name="getTitle">
684
671
  <xsl:param name="name"/>
685
672
  <xsl:param name="lang"/>
686
673
  <xsl:variable name="lang_">
@@ -728,7 +715,7 @@
728
715
  <xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
729
716
 
730
717
  <xsl:variable name="additional_fonts_">
731
- <xsl:for-each select="//*[local-name() = 'misc-container'][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
718
+ <xsl:for-each select="//*[contains(local-name(), '-standard')][1]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value'] | //*[contains(local-name(), '-standard')][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
732
719
  <xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
733
720
  </xsl:for-each>
734
721
  </xsl:variable>
@@ -803,7 +790,6 @@
803
790
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
804
791
 
805
792
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
806
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
807
793
 
808
794
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
809
795
  <xsl:attribute name="white-space">pre</xsl:attribute>
@@ -892,6 +878,7 @@
892
878
 
893
879
 
894
880
 
881
+
895
882
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
896
883
 
897
884
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
@@ -1975,22 +1962,32 @@
1975
1962
  <xsl:sort select="@displayorder" data-type="number"/>
1976
1963
  <xsl:apply-templates select="."/>
1977
1964
  </xsl:for-each>
1978
- </xsl:template><xsl:variable name="tag_open">###fo:inline###</xsl:variable><xsl:variable name="tag_close">###/fo:inline###</xsl:variable><xsl:template match="text()" name="text">
1979
- <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
1980
- <xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_open,'$1',$tag_close))"/>
1981
- <xsl:call-template name="replace_fo_inline">
1982
- <xsl:with-param name="text" select="$text"/>
1983
- </xsl:call-template>
1984
- </xsl:template><xsl:template name="replace_fo_inline">
1965
+ </xsl:template><xsl:variable name="tag_fo_inline_keep-together_within-line_open">###fo:inline keep-together_within-line###</xsl:variable><xsl:variable name="tag_fo_inline_keep-together_within-line_close">###/fo:inline keep-together_within-line###</xsl:variable><xsl:template match="text()" name="text">
1966
+
1967
+ <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
1968
+ <xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_fo_inline_keep-together_within-line_open,'$1',$tag_fo_inline_keep-together_within-line_close))"/>
1969
+ <xsl:call-template name="replace_fo_inline_tags">
1970
+ <xsl:with-param name="tag_open" select="$tag_fo_inline_keep-together_within-line_open"/>
1971
+ <xsl:with-param name="tag_close" select="$tag_fo_inline_keep-together_within-line_close"/>
1972
+ <xsl:with-param name="text" select="$text"/>
1973
+ </xsl:call-template>
1974
+
1975
+ </xsl:template><xsl:template name="replace_fo_inline_tags">
1976
+ <xsl:param name="tag_open"/>
1977
+ <xsl:param name="tag_close"/>
1985
1978
  <xsl:param name="text"/>
1986
1979
  <xsl:choose>
1987
1980
  <xsl:when test="contains($text, $tag_open)">
1988
1981
  <xsl:value-of select="substring-before($text, $tag_open)"/>
1989
- <xsl:text disable-output-escaping="yes">&lt;fo:inline keep-together.within-line="always"&gt;</xsl:text>
1982
+ <!-- <xsl:text disable-output-escaping="yes">&lt;fo:inline keep-together.within-line="always"&gt;</xsl:text> -->
1990
1983
  <xsl:variable name="text_after" select="substring-after($text, $tag_open)"/>
1991
- <xsl:value-of select="substring-before($text_after, $tag_close)"/>
1992
- <xsl:text disable-output-escaping="yes">&lt;/fo:inline&gt;</xsl:text>
1993
- <xsl:call-template name="replace_fo_inline">
1984
+ <fo:inline keep-together.within-line="always">
1985
+ <xsl:value-of select="substring-before($text_after, $tag_close)"/>
1986
+ </fo:inline>
1987
+ <!-- <xsl:text disable-output-escaping="yes">&lt;/fo:inline&gt;</xsl:text> -->
1988
+ <xsl:call-template name="replace_fo_inline_tags">
1989
+ <xsl:with-param name="tag_open" select="$tag_open"/>
1990
+ <xsl:with-param name="tag_close" select="$tag_close"/>
1994
1991
  <xsl:with-param name="text" select="substring-after($text_after, $tag_close)"/>
1995
1992
  </xsl:call-template>
1996
1993
  </xsl:when>
@@ -1998,6 +1995,8 @@
1998
1995
  </xsl:choose>
1999
1996
  </xsl:template><xsl:template match="*[local-name()='br']">
2000
1997
  <xsl:value-of select="$linebreak"/>
1998
+ </xsl:template><xsl:template match="*[local-name() = 'keep-together_within-line']">
1999
+ <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
2001
2000
  </xsl:template><xsl:template match="*[local-name()='copyright-statement']">
2002
2001
  <fo:block xsl:use-attribute-sets="copyright-statement-style">
2003
2002
  <xsl:apply-templates/>
@@ -2063,8 +2062,23 @@
2063
2062
  </xsl:call-template>
2064
2063
 
2065
2064
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2066
- <!-- <xsl:call-template name="add-zero-spaces"/> -->
2067
- <xsl:call-template name="add-zero-spaces-java"/>
2065
+ <xsl:choose>
2066
+ <xsl:when test="parent::*[local-name() = 'keep-together_within-line']">
2067
+ <xsl:value-of select="."/>
2068
+ </xsl:when>
2069
+ <xsl:otherwise>
2070
+ <xsl:call-template name="addZeroWidthSpacesToTextNodes"/>
2071
+ </xsl:otherwise>
2072
+ </xsl:choose>
2073
+ </xsl:template><xsl:template name="addZeroWidthSpacesToTextNodes">
2074
+ <xsl:variable name="text"><text><xsl:call-template name="text"/></text></xsl:variable>
2075
+ <!-- <xsl:copy-of select="$text"/> -->
2076
+ <xsl:for-each select="xalan:nodeset($text)/text/node()">
2077
+ <xsl:choose>
2078
+ <xsl:when test="self::text()"><xsl:call-template name="add-zero-spaces-java"/></xsl:when>
2079
+ <xsl:otherwise><xsl:copy-of select="."/></xsl:otherwise> <!-- copy 'as-is' for <fo:inline keep-together.within-line="always" ... -->
2080
+ </xsl:choose>
2081
+ </xsl:for-each>
2068
2082
  </xsl:template><xsl:template match="*[local-name()='table']" name="table">
2069
2083
 
2070
2084
  <xsl:variable name="table-preamble">
@@ -2186,16 +2200,9 @@
2186
2200
  </xsl:for-each>
2187
2201
  </xsl:when>
2188
2202
  <xsl:otherwise>
2189
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2190
- <xsl:choose>
2191
- <xsl:when test=". = 1 or . = 0">
2192
- <fo:table-column column-width="proportional-column-width(2)"/>
2193
- </xsl:when>
2194
- <xsl:otherwise>
2195
- <fo:table-column column-width="proportional-column-width({.})"/>
2196
- </xsl:otherwise>
2197
- </xsl:choose>
2198
- </xsl:for-each>
2203
+ <xsl:call-template name="insertTableColumnWidth">
2204
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2205
+ </xsl:call-template>
2199
2206
  </xsl:otherwise>
2200
2207
  </xsl:choose>
2201
2208
 
@@ -2359,6 +2366,7 @@
2359
2366
  <xsl:with-param name="text" select="$td_text"/>
2360
2367
  </xsl:call-template>
2361
2368
  </xsl:variable>
2369
+ <!-- <xsl:message>string_with_added_zerospaces=<xsl:value-of select="$string_with_added_zerospaces"/></xsl:message> -->
2362
2370
  <xsl:call-template name="tokenize">
2363
2371
  <!-- <xsl:with-param name="text" select="translate(td[$curr-col],'- —:', ' ')"/> -->
2364
2372
  <!-- 2009 thinspace -->
@@ -2371,6 +2379,7 @@
2371
2379
  <xsl:with-param name="words" select="xalan:nodeset($words)"/>
2372
2380
  </xsl:call-template>
2373
2381
  </xsl:variable>
2382
+ <!-- <xsl:message>max_length=<xsl:value-of select="$max_length"/></xsl:message> -->
2374
2383
  <width>
2375
2384
  <xsl:variable name="divider">
2376
2385
  <xsl:choose>
@@ -2403,6 +2412,10 @@
2403
2412
  <xsl:with-param name="table" select="$table"/>
2404
2413
  </xsl:call-template>
2405
2414
  </xsl:if>
2415
+ </xsl:template><xsl:template match="*[@keep-together.within-line]/text()" priority="2" mode="td_text">
2416
+ <!-- <xsl:message>DEBUG t1=<xsl:value-of select="."/></xsl:message>
2417
+ <xsl:message>DEBUG t2=<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/></xsl:message> -->
2418
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/>
2406
2419
  </xsl:template><xsl:template match="text()" mode="td_text">
2407
2420
  <xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
2408
2421
  </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
@@ -2504,16 +2517,9 @@
2504
2517
  </xsl:for-each>
2505
2518
  </xsl:when>
2506
2519
  <xsl:otherwise>
2507
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2508
- <xsl:choose>
2509
- <xsl:when test=". = 1 or . = 0">
2510
- <fo:table-column column-width="proportional-column-width(2)"/>
2511
- </xsl:when>
2512
- <xsl:otherwise>
2513
- <fo:table-column column-width="proportional-column-width({.})"/>
2514
- </xsl:otherwise>
2515
- </xsl:choose>
2516
- </xsl:for-each>
2520
+ <xsl:call-template name="insertTableColumnWidth">
2521
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2522
+ </xsl:call-template>
2517
2523
  </xsl:otherwise>
2518
2524
  </xsl:choose>
2519
2525
 
@@ -3054,8 +3060,10 @@
3054
3060
  <!-- and (not(../@class) or ../@class !='pseudocode') -->
3055
3061
  </xsl:variable>
3056
3062
 
3063
+ <xsl:variable name="onlyOneComponent" select="normalize-space($parent = 'formula' and count(*[local-name()='dt']) = 1)"/>
3064
+
3057
3065
  <xsl:choose>
3058
- <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3066
+ <xsl:when test="$onlyOneComponent = 'true'"> <!-- only one component -->
3059
3067
 
3060
3068
  <fo:block margin-bottom="12pt" text-align="left">
3061
3069
 
@@ -3070,7 +3078,7 @@
3070
3078
  <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3071
3079
  </fo:block>
3072
3080
 
3073
- </xsl:when>
3081
+ </xsl:when> <!-- END: only one component -->
3074
3082
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3075
3083
  <fo:block margin-bottom="12pt" text-align="left">
3076
3084
 
@@ -3084,8 +3092,8 @@
3084
3092
  </xsl:variable>
3085
3093
  <xsl:value-of select="$title-where"/>
3086
3094
  </fo:block>
3087
- </xsl:when>
3088
- <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')">
3095
+ </xsl:when> <!-- END: a few components -->
3096
+ <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
3089
3097
  <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3090
3098
 
3091
3099
 
@@ -3098,11 +3106,11 @@
3098
3106
  </xsl:variable>
3099
3107
  <xsl:value-of select="$title-key"/>
3100
3108
  </fo:block>
3101
- </xsl:when>
3109
+ </xsl:when> <!-- END: definition list in a figure -->
3102
3110
  </xsl:choose>
3103
3111
 
3104
3112
  <!-- a few components -->
3105
- <xsl:if test="not($parent = 'formula' and count(*[local-name()='dt']) = 1)">
3113
+ <xsl:if test="$onlyOneComponent = 'false'">
3106
3114
  <fo:block>
3107
3115
 
3108
3116
 
@@ -3141,21 +3149,28 @@
3141
3149
  <xsl:apply-templates mode="dl"/>
3142
3150
  </tbody>
3143
3151
  </xsl:variable>
3144
- <!-- html-table<xsl:copy-of select="$html-table"/> -->
3152
+ <!-- DEBUG: html-table<xsl:copy-of select="$html-table"/> -->
3145
3153
  <xsl:variable name="colwidths">
3146
3154
  <xsl:call-template name="calculate-column-widths">
3147
3155
  <xsl:with-param name="cols-count" select="2"/>
3148
3156
  <xsl:with-param name="table" select="$html-table"/>
3149
3157
  </xsl:call-template>
3150
3158
  </xsl:variable>
3151
- <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
3159
+ <!-- DEBUG: colwidths=<xsl:copy-of select="$colwidths"/> -->
3152
3160
  <xsl:variable name="maxlength_dt">
3153
3161
  <xsl:call-template name="getMaxLength_dt"/>
3154
3162
  </xsl:variable>
3163
+ <xsl:variable name="isContainsKeepTogetherTag_">
3164
+ false
3165
+ </xsl:variable>
3166
+ <xsl:variable name="isContainsKeepTogetherTag" select="normalize-space($isContainsKeepTogetherTag_)"/>
3167
+ <!-- isContainsExpressReference=<xsl:value-of select="$isContainsExpressReference"/> -->
3155
3168
  <xsl:call-template name="setColumnWidth_dl">
3156
3169
  <xsl:with-param name="colwidths" select="$colwidths"/>
3157
3170
  <xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
3171
+ <xsl:with-param name="isContainsKeepTogetherTag" select="$isContainsKeepTogetherTag"/>
3158
3172
  </xsl:call-template>
3173
+
3159
3174
  <fo:table-body>
3160
3175
  <xsl:apply-templates>
3161
3176
  <xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
@@ -3164,12 +3179,13 @@
3164
3179
  </fo:table>
3165
3180
  </fo:block>
3166
3181
  </fo:block>
3167
- </xsl:if>
3182
+ </xsl:if> <!-- END: a few components -->
3168
3183
  </fo:block-container>
3169
3184
  </fo:block-container>
3170
3185
  </xsl:template><xsl:template name="setColumnWidth_dl">
3171
3186
  <xsl:param name="colwidths"/>
3172
3187
  <xsl:param name="maxlength_dt"/>
3188
+ <xsl:param name="isContainsKeepTogetherTag"/>
3173
3189
  <xsl:choose>
3174
3190
  <xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
3175
3191
  <fo:table-column column-width="50%"/>
@@ -3177,6 +3193,11 @@
3177
3193
  </xsl:when>
3178
3194
  <xsl:otherwise>
3179
3195
  <xsl:choose>
3196
+ <xsl:when test="$isContainsKeepTogetherTag">
3197
+ <xsl:call-template name="insertTableColumnWidth">
3198
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3199
+ </xsl:call-template>
3200
+ </xsl:when>
3180
3201
  <!-- to set width check most wide chars like `W` -->
3181
3202
  <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
3182
3203
  <fo:table-column column-width="7%"/>
@@ -3207,20 +3228,25 @@
3207
3228
  <fo:table-column column-width="60%"/>
3208
3229
  </xsl:when>
3209
3230
  <xsl:otherwise>
3210
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
3211
- <xsl:choose>
3212
- <xsl:when test=". = 1 or . = 0">
3213
- <fo:table-column column-width="proportional-column-width(2)"/>
3214
- </xsl:when>
3215
- <xsl:otherwise>
3216
- <fo:table-column column-width="proportional-column-width({.})"/>
3217
- </xsl:otherwise>
3218
- </xsl:choose>
3219
- </xsl:for-each>
3231
+ <xsl:call-template name="insertTableColumnWidth">
3232
+ <xsl:with-param name="colwidths" select="$colwidths"/>
3233
+ </xsl:call-template>
3220
3234
  </xsl:otherwise>
3221
3235
  </xsl:choose>
3222
3236
  </xsl:otherwise>
3223
3237
  </xsl:choose>
3238
+ </xsl:template><xsl:template name="insertTableColumnWidth">
3239
+ <xsl:param name="colwidths"/>
3240
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
3241
+ <xsl:choose>
3242
+ <xsl:when test=". = 1 or . = 0">
3243
+ <fo:table-column column-width="proportional-column-width(2)"/>
3244
+ </xsl:when>
3245
+ <xsl:otherwise>
3246
+ <fo:table-column column-width="proportional-column-width({.})"/>
3247
+ </xsl:otherwise>
3248
+ </xsl:choose>
3249
+ </xsl:for-each>
3224
3250
  </xsl:template><xsl:template name="getMaxLength_dt">
3225
3251
  <xsl:variable name="lengths">
3226
3252
  <xsl:for-each select="*[local-name()='dt']">
@@ -3244,7 +3270,6 @@
3244
3270
  <xsl:value-of select="$maxLength"/>
3245
3271
  </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
3246
3272
  <xsl:param name="key_iso"/>
3247
-
3248
3273
  <!-- <tr>
3249
3274
  <td>NOTE</td>
3250
3275
  <td>
@@ -3252,18 +3277,30 @@
3252
3277
  </td>
3253
3278
  </tr>
3254
3279
  -->
3255
- <fo:table-row>
3280
+ <!-- OLD Variant -->
3281
+ <!-- <fo:table-row>
3256
3282
  <fo:table-cell>
3257
3283
  <fo:block margin-top="6pt">
3258
3284
  <xsl:if test="normalize-space($key_iso) = 'true'">
3259
3285
  <xsl:attribute name="margin-top">0</xsl:attribute>
3260
3286
  </xsl:if>
3261
- <xsl:apply-templates select="*[local-name() = 'name']"/>
3287
+ <xsl:apply-templates select="*[local-name() = 'name']" />
3262
3288
  </fo:block>
3263
3289
  </fo:table-cell>
3264
3290
  <fo:table-cell>
3265
3291
  <fo:block>
3266
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3292
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" />
3293
+ </fo:block>
3294
+ </fo:table-cell>
3295
+ </fo:table-row> -->
3296
+ <!-- <tr>
3297
+ <td number-columns-spanned="2">NOTE <xsl:apply-templates /> </td>
3298
+ </tr>
3299
+ -->
3300
+ <fo:table-row>
3301
+ <fo:table-cell number-columns-spanned="2">
3302
+ <fo:block>
3303
+ <xsl:call-template name="note"/>
3267
3304
  </fo:block>
3268
3305
  </fo:table-cell>
3269
3306
  </fo:table-row>
@@ -3365,13 +3402,15 @@
3365
3402
  <xsl:choose>
3366
3403
  <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
3367
3404
  <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
3368
- <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3405
+ <xsl:when test="ancestor::*[local-name()='note'] or ancestor::*[local-name()='example']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3369
3406
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3370
3407
  </xsl:choose>
3371
3408
  </xsl:attribute>
3372
3409
  </xsl:if>
3373
3410
  <xsl:apply-templates/>
3374
3411
  </fo:inline>
3412
+ </xsl:template><xsl:template match="*[local-name()='tt']/text()" priority="2">
3413
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
3375
3414
  </xsl:template><xsl:template match="*[local-name()='underline']">
3376
3415
  <fo:inline text-decoration="underline">
3377
3416
  <xsl:apply-templates/>
@@ -3519,41 +3558,50 @@
3519
3558
  <fo:block break-after="page"/>
3520
3559
  <fo:block> </fo:block>
3521
3560
  <fo:block break-after="page"/>
3561
+ </xsl:template><xsl:template match="*[local-name() = 'span']">
3562
+ <xsl:apply-templates/>
3522
3563
  </xsl:template><xsl:template name="tokenize">
3523
3564
  <xsl:param name="text"/>
3524
3565
  <xsl:param name="separator" select="' '"/>
3525
3566
  <xsl:choose>
3526
3567
  <xsl:when test="not(contains($text, $separator))">
3527
3568
  <word>
3528
- <xsl:variable name="str_no_en_chars" select="normalize-space(translate($text, $en_chars, ''))"/>
3529
- <xsl:variable name="len_str_no_en_chars" select="string-length($str_no_en_chars)"/>
3530
3569
  <xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
3531
- <xsl:variable name="len_str">
3532
- <xsl:choose>
3533
- <xsl:when test="normalize-space(translate($text, $upper, '')) = ''"> <!-- english word in CAPITAL letters -->
3534
- <xsl:value-of select="$len_str_tmp * 1.5"/>
3535
- </xsl:when>
3536
- <xsl:otherwise>
3537
- <xsl:value-of select="$len_str_tmp"/>
3538
- </xsl:otherwise>
3539
- </xsl:choose>
3540
- </xsl:variable>
3541
-
3542
- <!-- <xsl:if test="$len_str_no_en_chars div $len_str &gt; 0.8">
3543
- <xsl:message>
3544
- div=<xsl:value-of select="$len_str_no_en_chars div $len_str"/>
3545
- len_str=<xsl:value-of select="$len_str"/>
3546
- len_str_no_en_chars=<xsl:value-of select="$len_str_no_en_chars"/>
3547
- </xsl:message>
3548
- </xsl:if> -->
3549
- <!-- <len_str_no_en_chars><xsl:value-of select="$len_str_no_en_chars"/></len_str_no_en_chars>
3550
- <len_str><xsl:value-of select="$len_str"/></len_str> -->
3551
3570
  <xsl:choose>
3552
- <xsl:when test="$len_str_no_en_chars div $len_str &gt; 0.8"> <!-- means non-english string -->
3553
- <xsl:value-of select="$len_str - $len_str_no_en_chars"/>
3571
+ <xsl:when test="normalize-space(translate($text, 'X', '')) = ''"> <!-- special case for keep-together.within-line -->
3572
+ <xsl:value-of select="$len_str_tmp"/>
3554
3573
  </xsl:when>
3555
3574
  <xsl:otherwise>
3556
- <xsl:value-of select="$len_str"/>
3575
+ <xsl:variable name="str_no_en_chars" select="normalize-space(translate($text, $en_chars, ''))"/>
3576
+ <xsl:variable name="len_str_no_en_chars" select="string-length($str_no_en_chars)"/>
3577
+ <xsl:variable name="len_str">
3578
+ <xsl:choose>
3579
+ <xsl:when test="normalize-space(translate($text, $upper, '')) = ''"> <!-- english word in CAPITAL letters -->
3580
+ <xsl:value-of select="$len_str_tmp * 1.5"/>
3581
+ </xsl:when>
3582
+ <xsl:otherwise>
3583
+ <xsl:value-of select="$len_str_tmp"/>
3584
+ </xsl:otherwise>
3585
+ </xsl:choose>
3586
+ </xsl:variable>
3587
+
3588
+ <!-- <xsl:if test="$len_str_no_en_chars div $len_str &gt; 0.8">
3589
+ <xsl:message>
3590
+ div=<xsl:value-of select="$len_str_no_en_chars div $len_str"/>
3591
+ len_str=<xsl:value-of select="$len_str"/>
3592
+ len_str_no_en_chars=<xsl:value-of select="$len_str_no_en_chars"/>
3593
+ </xsl:message>
3594
+ </xsl:if> -->
3595
+ <!-- <len_str_no_en_chars><xsl:value-of select="$len_str_no_en_chars"/></len_str_no_en_chars>
3596
+ <len_str><xsl:value-of select="$len_str"/></len_str> -->
3597
+ <xsl:choose>
3598
+ <xsl:when test="$len_str_no_en_chars div $len_str &gt; 0.8"> <!-- means non-english string -->
3599
+ <xsl:value-of select="$len_str - $len_str_no_en_chars"/>
3600
+ </xsl:when>
3601
+ <xsl:otherwise>
3602
+ <xsl:value-of select="$len_str"/>
3603
+ </xsl:otherwise>
3604
+ </xsl:choose>
3557
3605
  </xsl:otherwise>
3558
3606
  </xsl:choose>
3559
3607
  </word>
@@ -3828,6 +3876,9 @@
3828
3876
  <xsl:variable name="isDeleted" select="@deleted"/>
3829
3877
 
3830
3878
  <fo:inline xsl:use-attribute-sets="mathml-style">
3879
+
3880
+
3881
+
3831
3882
 
3832
3883
 
3833
3884
  <xsl:call-template name="setTrackChangesStyles">
@@ -3835,48 +3886,80 @@
3835
3886
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3836
3887
  </xsl:call-template>
3837
3888
 
3889
+ <xsl:if test="$add_math_as_text = 'true'">
3890
+ <!-- insert helper tag -->
3891
+ <!-- set unique font-size (fiction) -->
3892
+ <xsl:variable name="font-size_sfx"><xsl:number level="any"/></xsl:variable>
3893
+ <fo:inline color="white" font-size="1.{$font-size_sfx}pt" font-style="normal" font-weight="normal"><xsl:value-of select="$zero_width_space"/></fo:inline> <!-- zero width space -->
3894
+ </xsl:if>
3838
3895
 
3839
-
3840
- <xsl:variable name="mathml">
3841
- <xsl:apply-templates select="." mode="mathml"/>
3896
+ <xsl:variable name="mathml_content">
3897
+ <xsl:apply-templates select="." mode="mathml_actual_text"/>
3842
3898
  </xsl:variable>
3843
- <fo:instream-foreign-object fox:alt-text="Math">
3844
3899
 
3900
+
3901
+ <xsl:call-template name="mathml_instream_object">
3902
+ <xsl:with-param name="mathml_content" select="$mathml_content"/>
3903
+ </xsl:call-template>
3845
3904
 
3846
-
3847
- <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
3848
- <xsl:variable name="comment_text_">
3849
- <xsl:choose>
3850
- <xsl:when test="normalize-space($comment_text_following) != ''">
3851
- <xsl:value-of select="$comment_text_following"/>
3852
- </xsl:when>
3853
- <xsl:otherwise>
3854
- <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
3855
- </xsl:otherwise>
3856
- </xsl:choose>
3857
- </xsl:variable>
3858
- <xsl:variable name="comment_text" select="java:org.metanorma.fop.Util.unescape($comment_text_)"/>
3859
-
3860
- <xsl:if test="normalize-space($comment_text) != ''">
3861
- <!-- put Mathin Alternate Text -->
3862
- <xsl:attribute name="fox:alt-text">
3863
- <xsl:value-of select="java:org.metanorma.fop.Util.unescape($comment_text)"/>
3864
- </xsl:attribute>
3865
- </xsl:if>
3866
-
3867
- <xsl:variable name="mathml_content">
3868
- <xsl:apply-templates select="." mode="mathml_actual_text"/>
3869
- </xsl:variable>
3870
- <!-- put MathML in Actual Text -->
3871
- <xsl:attribute name="fox:actual-text">
3872
- <xsl:value-of select="$mathml_content"/>
3873
- </xsl:attribute>
3874
-
3875
-
3876
-
3877
- <xsl:copy-of select="xalan:nodeset($mathml)"/>
3878
- </fo:instream-foreign-object>
3905
+
3879
3906
  </fo:inline>
3907
+ </xsl:template><xsl:template name="getMathml_comment_text">
3908
+ <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
3909
+ <xsl:variable name="comment_text_">
3910
+ <xsl:choose>
3911
+ <xsl:when test="normalize-space($comment_text_following) != ''">
3912
+ <xsl:value-of select="$comment_text_following"/>
3913
+ </xsl:when>
3914
+ <xsl:otherwise>
3915
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
3916
+ </xsl:otherwise>
3917
+ </xsl:choose>
3918
+ </xsl:variable>
3919
+ <xsl:variable name="comment_text_2" select="java:org.metanorma.fop.Util.unescape($comment_text_)"/>
3920
+ <xsl:variable name="comment_text" select="java:trim(java:java.lang.String.new($comment_text_2))"/>
3921
+ <xsl:value-of select="$comment_text"/>
3922
+ </xsl:template><xsl:template name="mathml_instream_object">
3923
+ <xsl:param name="comment_text"/>
3924
+ <xsl:param name="mathml_content"/>
3925
+
3926
+ <xsl:variable name="comment_text_">
3927
+ <xsl:choose>
3928
+ <xsl:when test="normalize-space($comment_text) != ''"><xsl:value-of select="$comment_text"/></xsl:when>
3929
+ <xsl:otherwise><xsl:call-template name="getMathml_comment_text"/></xsl:otherwise>
3930
+ </xsl:choose>
3931
+ </xsl:variable>
3932
+
3933
+ <xsl:variable name="mathml">
3934
+ <xsl:apply-templates select="." mode="mathml"/>
3935
+ </xsl:variable>
3936
+
3937
+ <fo:instream-foreign-object fox:alt-text="Math">
3938
+
3939
+
3940
+
3941
+
3942
+
3943
+
3944
+
3945
+ <!-- put MathML in Actual Text -->
3946
+ <!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
3947
+ <xsl:attribute name="fox:actual-text">
3948
+ <xsl:value-of select="$mathml_content"/>
3949
+ </xsl:attribute>
3950
+
3951
+ <!-- <xsl:if test="$add_math_as_text = 'true'"> -->
3952
+ <xsl:if test="normalize-space($comment_text_) != ''">
3953
+ <!-- put Mathin Alternate Text -->
3954
+ <xsl:attribute name="fox:alt-text">
3955
+ <xsl:value-of select="$comment_text_"/>
3956
+ </xsl:attribute>
3957
+ </xsl:if>
3958
+ <!-- </xsl:if> -->
3959
+
3960
+ <xsl:copy-of select="xalan:nodeset($mathml)"/>
3961
+
3962
+ </fo:instream-foreign-object>
3880
3963
  </xsl:template><xsl:template match="mathml:*" mode="mathml_actual_text">
3881
3964
  <!-- <xsl:text>a+b</xsl:text> -->
3882
3965
  <xsl:text>&lt;</xsl:text>
@@ -3907,7 +3990,9 @@
3907
3990
  <!-- replace start and end spaces to non-break space -->
3908
3991
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
3909
3992
  </xsl:copy>
3910
- </xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3993
+ </xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="mathml:mtd/mathml:mo/text()[. = '/']" mode="mathml">
3994
+ <xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
3995
+ </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3911
3996
  <xsl:variable name="target">
3912
3997
  <xsl:choose>
3913
3998
  <xsl:when test="@updatetype = 'true'">
@@ -4502,18 +4587,33 @@
4502
4587
  </xsl:template><xsl:template match="*[local-name() = 'svg'][not(@width and @height)]" mode="svg_update">
4503
4588
  <xsl:copy>
4504
4589
  <xsl:apply-templates select="@*" mode="svg_update"/>
4505
- <xsl:variable name="viewbox">
4590
+ <xsl:variable name="viewbox_">
4506
4591
  <xsl:call-template name="split">
4507
4592
  <xsl:with-param name="pText" select="@viewBox"/>
4508
4593
  <xsl:with-param name="sep" select="' '"/>
4509
4594
  </xsl:call-template>
4510
4595
  </xsl:variable>
4596
+ <xsl:variable name="viewbox" select="xalan:nodeset($viewbox_)"/>
4597
+ <xsl:variable name="width" select="normalize-space($viewbox//item[3])"/>
4598
+ <xsl:variable name="height" select="normalize-space($viewbox//item[4])"/>
4599
+
4511
4600
  <xsl:attribute name="width">
4512
- <xsl:value-of select="round(xalan:nodeset($viewbox)//item[3])"/>
4601
+ <xsl:choose>
4602
+ <xsl:when test="$width != ''">
4603
+ <xsl:value-of select="round($width)"/>
4604
+ </xsl:when>
4605
+ <xsl:otherwise>400</xsl:otherwise> <!-- default width -->
4606
+ </xsl:choose>
4513
4607
  </xsl:attribute>
4514
4608
  <xsl:attribute name="height">
4515
- <xsl:value-of select="round(xalan:nodeset($viewbox)//item[4])"/>
4609
+ <xsl:choose>
4610
+ <xsl:when test="$height != ''">
4611
+ <xsl:value-of select="round($height)"/>
4612
+ </xsl:when>
4613
+ <xsl:otherwise>400</xsl:otherwise> <!-- default height -->
4614
+ </xsl:choose>
4516
4615
  </xsl:attribute>
4616
+
4517
4617
  <xsl:apply-templates mode="svg_update"/>
4518
4618
  </xsl:copy>
4519
4619
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][*[local-name() = 'svg']]" priority="3">
@@ -4708,7 +4808,11 @@
4708
4808
  <xsl:apply-templates mode="bookmarks"/>
4709
4809
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
4710
4810
  <xsl:apply-templates select="."/>
4711
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4811
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/><xsl:template match="*[local-name() = 'span']" mode="contents">
4812
+ <xsl:apply-templates mode="contents"/>
4813
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4814
+ <xsl:apply-templates mode="bookmarks"/>
4815
+ </xsl:template><xsl:template match="*[local-name() = 'span']" mode="bookmarks">
4712
4816
  <xsl:apply-templates mode="bookmarks"/>
4713
4817
  </xsl:template><xsl:template name="addBookmarks">
4714
4818
  <xsl:param name="contents"/>
@@ -4990,7 +5094,9 @@
4990
5094
  <xsl:apply-templates/>
4991
5095
  </xsl:otherwise>
4992
5096
  </xsl:choose>
4993
- </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
5097
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'xref']" mode="contents">
5098
+ <xsl:value-of select="."/>
5099
+ </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
4994
5100
  <xsl:text> </xsl:text>
4995
5101
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
4996
5102
  <xsl:copy>
@@ -5021,9 +5127,22 @@
5021
5127
  </xsl:when>
5022
5128
  <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
5023
5129
  </xsl:choose>
5130
+ </xsl:template><xsl:template match="text()" mode="contents_item">
5131
+ <xsl:call-template name="keep_together_standard_number"/>
5132
+ </xsl:template><xsl:template match="*[local-name() = 'span']" mode="contents_item">
5133
+ <xsl:apply-templates mode="contents_item"/>
5024
5134
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5025
5135
 
5026
5136
  <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
5137
+
5138
+ <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
5139
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
5140
+ </xsl:if>
5141
+
5142
+ <xsl:if test="ancestor::*[local-name() = 'example']">
5143
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
5144
+ </xsl:if>
5145
+
5027
5146
  <xsl:copy-of select="@id"/>
5028
5147
 
5029
5148
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -5501,39 +5620,67 @@
5501
5620
  </xsl:otherwise>
5502
5621
  </xsl:choose>
5503
5622
  </xsl:template><xsl:template match="*[local-name() = 'example']">
5504
- <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
5505
-
5623
+
5624
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style">
5625
+
5506
5626
 
5627
+
5507
5628
  <xsl:variable name="fo_element">
5508
- <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
5629
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
5509
5630
  block
5510
5631
  </xsl:variable>
5511
5632
 
5512
- <!-- display 'EXAMPLE' -->
5513
- <xsl:apply-templates select="*[local-name()='name']">
5514
- <xsl:with-param name="fo_element" select="$fo_element"/>
5515
- </xsl:apply-templates>
5633
+ <fo:block-container margin-left="0mm">
5516
5634
 
5517
- <xsl:choose>
5518
- <xsl:when test="contains(normalize-space($fo_element), 'block')">
5519
- <fo:block-container xsl:use-attribute-sets="example-body-style">
5520
- <fo:block-container margin-left="0mm" margin-right="0mm">
5521
- <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5635
+ <xsl:choose>
5636
+
5637
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
5638
+
5639
+ <!-- display name 'EXAMPLE' in a separate block -->
5640
+ <fo:block>
5641
+ <xsl:apply-templates select="*[local-name()='name']">
5522
5642
  <xsl:with-param name="fo_element" select="$fo_element"/>
5523
5643
  </xsl:apply-templates>
5644
+ </fo:block>
5645
+
5646
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
5647
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5648
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5649
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5650
+ </xsl:apply-templates>
5651
+ </fo:block-container>
5524
5652
  </fo:block-container>
5525
- </fo:block-container>
5526
- </xsl:when>
5527
- <xsl:otherwise>
5528
- <fo:inline>
5529
- <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5530
- <xsl:with-param name="fo_element" select="$fo_element"/>
5531
- </xsl:apply-templates>
5532
- </fo:inline>
5533
- </xsl:otherwise>
5534
- </xsl:choose>
5535
-
5536
- </fo:block>
5653
+ </xsl:when> <!-- end block -->
5654
+
5655
+ <xsl:otherwise> <!-- inline -->
5656
+
5657
+ <!-- display 'EXAMPLE' and first element in the same line -->
5658
+ <fo:block>
5659
+ <xsl:apply-templates select="*[local-name()='name']">
5660
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5661
+ </xsl:apply-templates>
5662
+ <fo:inline>
5663
+ <xsl:apply-templates select="*[not(local-name() = 'name')][1]">
5664
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5665
+ </xsl:apply-templates>
5666
+ </fo:inline>
5667
+ </fo:block>
5668
+
5669
+ <xsl:if test="*[not(local-name() = 'name')][position() &gt; 1]">
5670
+ <!-- display further elements in blocks -->
5671
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
5672
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5673
+ <xsl:apply-templates select="*[not(local-name() = 'name')][position() &gt; 1]">
5674
+ <xsl:with-param name="fo_element" select="'block'"/>
5675
+ </xsl:apply-templates>
5676
+ </fo:block-container>
5677
+ </fo:block-container>
5678
+ </xsl:if>
5679
+ </xsl:otherwise> <!-- end inline -->
5680
+
5681
+ </xsl:choose>
5682
+ </fo:block-container>
5683
+ </fo:block-container>
5537
5684
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
5538
5685
  <xsl:param name="fo_element">block</xsl:param>
5539
5686
 
@@ -5565,10 +5712,16 @@
5565
5712
  </xsl:variable>
5566
5713
  <xsl:choose>
5567
5714
  <xsl:when test="starts-with(normalize-space($element), 'block')">
5568
- <fo:block xsl:use-attribute-sets="example-p-style">
5569
-
5570
- <xsl:apply-templates/>
5571
- </fo:block>
5715
+ <fo:block-container>
5716
+ <xsl:if test="ancestor::*[local-name() = 'li'] and contains(normalize-space($fo_element), 'block')">
5717
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
5718
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
5719
+ </xsl:if>
5720
+ <fo:block xsl:use-attribute-sets="example-p-style">
5721
+
5722
+ <xsl:apply-templates/>
5723
+ </fo:block>
5724
+ </fo:block-container>
5572
5725
  </xsl:when>
5573
5726
  <xsl:otherwise>
5574
5727
  <fo:inline xsl:use-attribute-sets="example-p-style">
@@ -5747,7 +5900,16 @@
5747
5900
  </fo:inline>
5748
5901
  </xsl:when>
5749
5902
  <xsl:otherwise> <!-- if there is key('bibitems_hidden', $current_bibitemid) -->
5750
- <fo:inline><xsl:apply-templates/></fo:inline>
5903
+
5904
+ <!-- if in bibitem[@hidden='true'] there is url[@type='src'], then create hyperlink -->
5905
+ <xsl:variable name="uri_src" select="normalize-space($bibitems_hidden/*[local-name() ='bibitem'][@id = $current_bibitemid]/*[local-name() = 'uri'][@type = 'src'])"/>
5906
+ <xsl:choose>
5907
+ <xsl:when test="$uri_src != ''">
5908
+ <fo:basic-link external-destination="{$uri_src}" fox:alt-text="{$uri_src}"><xsl:apply-templates/></fo:basic-link>
5909
+ </xsl:when>
5910
+ <xsl:otherwise><fo:inline><xsl:apply-templates/></fo:inline></xsl:otherwise>
5911
+ </xsl:choose>
5912
+
5751
5913
  </xsl:otherwise>
5752
5914
  </xsl:choose>
5753
5915
  </xsl:template><xsl:template match="*[local-name() = 'tab']">
@@ -5923,10 +6085,24 @@
5923
6085
 
5924
6086
  </fo:block>
5925
6087
  <xsl:apply-templates/>
5926
- </xsl:template><xsl:template match="*[local-name() = 'review']">
6088
+ </xsl:template><xsl:template match="*[local-name() = 'review']"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
5927
6089
  <!-- comment 2019-11-29 -->
5928
6090
  <!-- <fo:block font-weight="bold">Review:</fo:block>
5929
6091
  <xsl:apply-templates /> -->
6092
+
6093
+ <xsl:variable name="id_from" select="normalize-space(current()/@from)"/>
6094
+
6095
+ <xsl:choose>
6096
+ <!-- if there isn't the attribute '@from', then -->
6097
+ <xsl:when test="$id_from = ''">
6098
+ <fo:block id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
6099
+ </xsl:when>
6100
+ <!-- if there isn't element with id 'from', then create 'bookmark' here -->
6101
+ <xsl:when test="not(ancestor::*[contains(local-name(), '-standard')]//*[@id = $id_from])">
6102
+ <fo:block id="{@from}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:block>
6103
+ </xsl:when>
6104
+ </xsl:choose>
6105
+
5930
6106
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
5931
6107
  <!-- 0xA0 to space replacement -->
5932
6108
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
@@ -6285,7 +6461,10 @@
6285
6461
  <!-- to split by '_' and other chars -->
6286
6462
  <xsl:call-template name="add-zero-spaces-java"/>
6287
6463
  </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
6288
- <fo:inline id="{@id}" font-size="1pt"/>
6464
+ <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
6465
+ <fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
6466
+ <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
6467
+ <xsl:if test="not(following-sibling::node()[normalize-space() != ''])"> </xsl:if>
6289
6468
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
6290
6469
  <!-- <row>
6291
6470
  <date>05-07-2013</date>
@@ -6879,6 +7058,120 @@
6879
7058
  <xsl:apply-templates select="." mode="update_xml_step1"/>
6880
7059
  </xsl:for-each>
6881
7060
  </xsl:copy>
7061
+ </xsl:template><xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
7062
+ <xsl:apply-templates mode="update_xml_step1"/>
7063
+ </xsl:template><xsl:template match="@*|node()" mode="update_xml_enclose_keep-together_within-line">
7064
+ <xsl:copy>
7065
+ <xsl:apply-templates select="@*|node()" mode="update_xml_enclose_keep-together_within-line"/>
7066
+ </xsl:copy>
7067
+ </xsl:template><xsl:variable name="express_reference_separators">_.\</xsl:variable><xsl:variable name="express_reference_characters" select="concat($upper,$lower,'1234567890',$express_reference_separators)"/><xsl:variable name="element_name_keep-together_within-line">keep-together_within-line</xsl:variable><xsl:template match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'])]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
7068
+
7069
+ <!-- enclose standard's number into tag 'keep-together_within-line' -->
7070
+ <xsl:variable name="regex_standard_reference">([A-Z]{2,}(/[A-Z]{2,})* \d+(-\d+)*(:\d{4})?)</xsl:variable>
7071
+ <xsl:variable name="tag_keep-together_within-line_open">###<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
7072
+ <xsl:variable name="tag_keep-together_within-line_close">###/<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
7073
+ <xsl:variable name="text_" select="java:replaceAll(java:java.lang.String.new(.),$regex_standard_reference,concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
7074
+ <xsl:variable name="text"><text><xsl:call-template name="replace_text_tags">
7075
+ <xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
7076
+ <xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
7077
+ <xsl:with-param name="text" select="$text_"/>
7078
+ </xsl:call-template></text></xsl:variable>
7079
+
7080
+ <xsl:variable name="parent" select="local-name(..)"/>
7081
+
7082
+ <xsl:variable name="text2">
7083
+ <text><xsl:for-each select="xalan:nodeset($text)/text/node()">
7084
+ <xsl:copy-of select="."/>
7085
+ </xsl:for-each></text>
7086
+ </xsl:variable>
7087
+
7088
+ <!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
7089
+ <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable>
7090
+ <xsl:variable name="text3">
7091
+ <text><xsl:for-each select="xalan:nodeset($text2)/text/node()">
7092
+ <xsl:choose>
7093
+ <xsl:when test="self::text()">
7094
+ <xsl:variable name="text_units_" select="java:replaceAll(java:java.lang.String.new(.),$regex_solidus_units,concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
7095
+ <xsl:variable name="text_units"><text><xsl:call-template name="replace_text_tags">
7096
+ <xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
7097
+ <xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
7098
+ <xsl:with-param name="text" select="$text_units_"/>
7099
+ </xsl:call-template></text></xsl:variable>
7100
+ <xsl:copy-of select="xalan:nodeset($text_units)/text/node()"/>
7101
+ </xsl:when>
7102
+ <xsl:otherwise><xsl:copy-of select="."/></xsl:otherwise> <!-- copy 'as-is' for <fo:inline keep-together.within-line="always" ... -->
7103
+ </xsl:choose>
7104
+ </xsl:for-each></text>
7105
+ </xsl:variable>
7106
+
7107
+ <xsl:choose>
7108
+ <xsl:when test="ancestor::*[local-name() = 'td' or local-name() = 'th']">
7109
+ <!-- keep-together_within-line for: a.b, aaa.b, a.bbb, .b in table's cell ONLY -->
7110
+ <xsl:variable name="regex_dots_units">((\b((\S{1,3}\.\S+)|(\S+\.\S{1,3}))\b)|(\.\S{1,3})\b)</xsl:variable>
7111
+ <xsl:for-each select="xalan:nodeset($text3)/text/node()">
7112
+ <xsl:choose>
7113
+ <xsl:when test="self::text()">
7114
+ <xsl:variable name="text_dots_" select="java:replaceAll(java:java.lang.String.new(.),$regex_dots_units,concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
7115
+ <xsl:variable name="text_dots"><text><xsl:call-template name="replace_text_tags">
7116
+ <xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
7117
+ <xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
7118
+ <xsl:with-param name="text" select="$text_dots_"/>
7119
+ </xsl:call-template></text></xsl:variable>
7120
+ <xsl:copy-of select="xalan:nodeset($text_dots)/text/node()"/>
7121
+ </xsl:when>
7122
+ <xsl:otherwise><xsl:copy-of select="."/></xsl:otherwise> <!-- copy 'as-is' for <fo:inline keep-together.within-line="always" ... -->
7123
+ </xsl:choose>
7124
+ </xsl:for-each>
7125
+ </xsl:when>
7126
+ <xsl:otherwise><xsl:copy-of select="xalan:nodeset($text3)/text/node()"/></xsl:otherwise>
7127
+ </xsl:choose>
7128
+
7129
+ </xsl:template><xsl:template name="replace_text_tags">
7130
+ <xsl:param name="tag_open"/>
7131
+ <xsl:param name="tag_close"/>
7132
+ <xsl:param name="text"/>
7133
+ <xsl:choose>
7134
+ <xsl:when test="contains($text, $tag_open)">
7135
+ <xsl:value-of select="substring-before($text, $tag_open)"/>
7136
+ <xsl:variable name="text_after" select="substring-after($text, $tag_open)"/>
7137
+
7138
+ <xsl:element name="{substring-before(substring-after($tag_open, '###'),'###')}">
7139
+ <xsl:value-of select="substring-before($text_after, $tag_close)"/>
7140
+ </xsl:element>
7141
+
7142
+ <xsl:call-template name="replace_text_tags">
7143
+ <xsl:with-param name="tag_open" select="$tag_open"/>
7144
+ <xsl:with-param name="tag_close" select="$tag_close"/>
7145
+ <xsl:with-param name="text" select="substring-after($text_after, $tag_close)"/>
7146
+ </xsl:call-template>
7147
+ </xsl:when>
7148
+ <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
7149
+ </xsl:choose>
7150
+ </xsl:template><xsl:template name="printEdition">
7151
+ <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
7152
+ <xsl:text> </xsl:text>
7153
+ <xsl:choose>
7154
+ <xsl:when test="$edition_i18n != ''">
7155
+ <!-- Example: <edition language="fr">deuxième édition</edition> -->
7156
+ <xsl:call-template name="capitalize">
7157
+ <xsl:with-param name="str" select="$edition_i18n"/>
7158
+ </xsl:call-template>
7159
+ </xsl:when>
7160
+ <xsl:otherwise>
7161
+ <xsl:variable name="edition" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'])"/>
7162
+ <xsl:if test="$edition != ''"> <!-- Example: 1.3 -->
7163
+ <xsl:call-template name="capitalize">
7164
+ <xsl:with-param name="str">
7165
+ <xsl:call-template name="getLocalizedString">
7166
+ <xsl:with-param name="key">edition</xsl:with-param>
7167
+ </xsl:call-template>
7168
+ </xsl:with-param>
7169
+ </xsl:call-template>
7170
+ <xsl:text> </xsl:text>
7171
+ <xsl:value-of select="$edition"/>
7172
+ </xsl:if>
7173
+ </xsl:otherwise>
7174
+ </xsl:choose>
6882
7175
  </xsl:template><xsl:template name="convertDate">
6883
7176
  <xsl:param name="date"/>
6884
7177
  <xsl:param name="format" select="'short'"/>
@@ -72,6 +72,7 @@
72
72
  <div id="boilerplate-license-destination"/>
73
73
  </div>
74
74
  {% endif %}
75
+ <div class="coverpage-warning" id="coverpage-note-destination"/>
75
76
 
76
77
  <div class="copyright">
77
78
  <div class="year">
@@ -61,8 +61,9 @@ margin-left:4.25pt;margin-right:4.25pt'>
61
61
 
62
62
  {% if unpublished %}
63
63
  <div id="boilerplate-license-destination"/>
64
-
65
64
  {% endif %}
65
+ <div class="coverpage-warning" id="coverpage-note-destination"/>
66
+
66
67
 
67
68
  </div>
68
69
 
@@ -10,15 +10,14 @@ module IsoDoc
10
10
  @meta = Metadata.new(lang, script, i18n)
11
11
  end
12
12
 
13
- def xref_init(lang, script, klass, i18n, options)
13
+ def xref_init(lang, script, _klass, i18n, options)
14
14
  html = HtmlConvert.new(language: lang, script: script)
15
15
  @xrefs = Xref.new(lang, script, html, i18n, options)
16
16
  end
17
17
 
18
- def i18n_init(lang, script, i18nyaml = nil)
19
- @i18n = I18n.new(lang, script, i18nyaml || @i18nyaml)
18
+ def i18n_init(lang, script, i18nyaml = nil)
19
+ @i18n = I18n.new(lang, script, i18nyaml: i18nyaml || @i18nyaml)
20
20
  end
21
21
  end
22
22
  end
23
23
  end
24
-
@@ -851,17 +851,46 @@
851
851
  </define>
852
852
  <define name="bplace">
853
853
  <element name="place">
854
- <optional>
855
- <attribute name="uri">
856
- <data type="anyURI"/>
857
- </attribute>
858
- </optional>
859
- <optional>
860
- <attribute name="region"/>
861
- </optional>
854
+ <choice>
855
+ <text/>
856
+ <group>
857
+ <ref name="bibliocity"/>
858
+ <zeroOrMore>
859
+ <ref name="biblioregion"/>
860
+ </zeroOrMore>
861
+ <zeroOrMore>
862
+ <ref name="bibliocountry"/>
863
+ </zeroOrMore>
864
+ </group>
865
+ </choice>
866
+ </element>
867
+ </define>
868
+ <define name="bibliocity">
869
+ <element name="city">
862
870
  <text/>
863
871
  </element>
864
872
  </define>
873
+ <define name="biblioregion">
874
+ <element name="region">
875
+ <ref name="RegionType"/>
876
+ </element>
877
+ </define>
878
+ <define name="bibliocountry">
879
+ <element name="country">
880
+ <ref name="RegionType"/>
881
+ </element>
882
+ </define>
883
+ <define name="RegionType">
884
+ <optional>
885
+ <attribute name="iso"/>
886
+ </optional>
887
+ <optional>
888
+ <attribute name="recommended">
889
+ <data type="boolean"/>
890
+ </attribute>
891
+ </optional>
892
+ <text/>
893
+ </define>
865
894
  <define name="bprice">
866
895
  <element name="price">
867
896
  <attribute name="currency"/>
@@ -32,6 +32,43 @@
32
32
  <ref name="DocumentType"/>
33
33
  </element>
34
34
  </define>
35
+ <define name="admonition">
36
+ <element name="admonition">
37
+ <attribute name="type">
38
+ <ref name="AdmonitionType"/>
39
+ </attribute>
40
+ <optional>
41
+ <attribute name="class"/>
42
+ </optional>
43
+ <attribute name="id">
44
+ <data type="ID"/>
45
+ </attribute>
46
+ <optional>
47
+ <attribute name="uri">
48
+ <data type="anyURI"/>
49
+ </attribute>
50
+ </optional>
51
+ <optional>
52
+ <attribute name="coverpage">
53
+ <data type="boolean"/>
54
+ </attribute>
55
+ </optional>
56
+ <optional>
57
+ <attribute name="notag">
58
+ <data type="boolean"/>
59
+ </attribute>
60
+ </optional>
61
+ <optional>
62
+ <ref name="tname"/>
63
+ </optional>
64
+ <zeroOrMore>
65
+ <ref name="paragraph-with-footnote"/>
66
+ </zeroOrMore>
67
+ <zeroOrMore>
68
+ <ref name="note"/>
69
+ </zeroOrMore>
70
+ </element>
71
+ </define>
35
72
  <define name="index">
36
73
  <element name="index">
37
74
  <optional>
@@ -851,6 +888,16 @@
851
888
  <ref name="MultilingualRenderingType"/>
852
889
  </attribute>
853
890
  </optional>
891
+ <optional>
892
+ <attribute name="coverpage">
893
+ <data type="boolean"/>
894
+ </attribute>
895
+ </optional>
896
+ <optional>
897
+ <attribute name="notag">
898
+ <data type="boolean"/>
899
+ </attribute>
900
+ </optional>
854
901
  <oneOrMore>
855
902
  <choice>
856
903
  <ref name="paragraph"/>
@@ -1178,6 +1225,7 @@
1178
1225
  <ref name="concept"/>
1179
1226
  <ref name="add"/>
1180
1227
  <ref name="del"/>
1228
+ <ref name="span"/>
1181
1229
  </choice>
1182
1230
  </define>
1183
1231
  <define name="add">
@@ -1204,6 +1252,14 @@
1204
1252
  </choice>
1205
1253
  </element>
1206
1254
  </define>
1255
+ <define name="span">
1256
+ <element name="span">
1257
+ <attribute name="class"/>
1258
+ <oneOrMore>
1259
+ <ref name="TextElement"/>
1260
+ </oneOrMore>
1261
+ </element>
1262
+ </define>
1207
1263
  <define name="concept">
1208
1264
  <element name="concept">
1209
1265
  <optional>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Csa
3
- VERSION = "2.0.8".freeze
3
+ VERSION = "2.1.0".freeze
4
4
  end
5
5
  end
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.require_paths = ["lib"]
29
29
  spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
30
30
 
31
- spec.add_dependency "metanorma-generic", "~> 2.0.0"
31
+ spec.add_dependency "metanorma-generic", "~> 2.1.0"
32
32
 
33
33
  spec.add_development_dependency "debug"
34
34
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-csa
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.8
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-18 00:00:00.000000000 Z
11
+ date: 2022-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.0
19
+ version: 2.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.0
26
+ version: 2.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement