metanorma-ogc 1.2.12 → 1.2.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +9 -32
  3. data/.gitignore +2 -0
  4. data/.rubocop.yml +6 -2
  5. data/lib/asciidoctor/ogc/biblio.rng +4 -6
  6. data/lib/asciidoctor/ogc/boilerplate.xml +1 -1
  7. data/lib/asciidoctor/ogc/converter.rb +14 -15
  8. data/lib/asciidoctor/ogc/isodoc.rng +105 -2
  9. data/lib/asciidoctor/ogc/ogc.rng +22 -0
  10. data/lib/isodoc/ogc/base_convert.rb +15 -1
  11. data/lib/isodoc/ogc/html/htmlstyle.css +3 -0
  12. data/lib/isodoc/ogc/html/htmlstyle.scss +4 -0
  13. data/lib/isodoc/ogc/html/ogc.css +3 -0
  14. data/lib/isodoc/ogc/html/ogc.scss +3 -0
  15. data/lib/isodoc/ogc/i18n-en.yaml +1 -1
  16. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +496 -253
  17. data/lib/isodoc/ogc/ogc.best-practice.xsl +496 -253
  18. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +496 -253
  19. data/lib/isodoc/ogc/ogc.community-practice.xsl +496 -253
  20. data/lib/isodoc/ogc/ogc.community-standard.xsl +496 -253
  21. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +496 -253
  22. data/lib/isodoc/ogc/ogc.engineering-report.xsl +496 -253
  23. data/lib/isodoc/ogc/ogc.other.xsl +496 -253
  24. data/lib/isodoc/ogc/ogc.policy.xsl +496 -253
  25. data/lib/isodoc/ogc/ogc.reference-model.xsl +496 -253
  26. data/lib/isodoc/ogc/ogc.release-notes.xsl +496 -253
  27. data/lib/isodoc/ogc/ogc.standard.xsl +496 -253
  28. data/lib/isodoc/ogc/ogc.test-suite.xsl +496 -253
  29. data/lib/isodoc/ogc/ogc.user-guide.xsl +496 -253
  30. data/lib/isodoc/ogc/ogc.white-paper.xsl +547 -264
  31. data/lib/metanorma/ogc/version.rb +1 -1
  32. data/metanorma-ogc.gemspec +2 -2
  33. metadata +9 -9
@@ -848,3 +848,6 @@ div.warning p {
848
848
  mso-border-alt: solid windowtext .5pt;
849
849
  padding: 0cm;
850
850
  mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; }
851
+
852
+ span.hi {
853
+ background-color: yellow; }
@@ -806,3 +806,6 @@ div.warning p {
806
806
  margin-bottom:6.0pt;border:none;mso-border-alt:solid windowtext .5pt;
807
807
  padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;
808
808
  }
809
+ span.hi {
810
+ background-color: yellow;
811
+ }
@@ -9,7 +9,7 @@ permissionclass: Permission Class
9
9
  abstracttest: Abstract Test
10
10
  conformanceclass: Conformance Class
11
11
  example: Example
12
- security_empty: No security considerations have been made for this standard.
12
+ security_empty: No security considerations have been made for this %.
13
13
  stage_dict:
14
14
  swg-draft: Candidate SWG Draft
15
15
  oab-review: Candidate OAB Review Draft
@@ -3,6 +3,7 @@
3
3
  <xsl:output version="1.0" method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
5
  <xsl:param name="svg_images"/>
6
+ <xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
6
7
  <xsl:variable name="images" select="document($svg_images)"/>
7
8
 
8
9
  <xsl:variable name="pageWidth" select="'215.9mm'"/>
@@ -101,7 +102,9 @@
101
102
 
102
103
  </fo:layout-master-set>
103
104
 
104
- <xsl:call-template name="addPDFUAmeta"/>
105
+ <fo:declarations>
106
+ <xsl:call-template name="addPDFUAmeta"/>
107
+ </fo:declarations>
105
108
 
106
109
  <xsl:call-template name="addBookmarks">
107
110
  <xsl:with-param name="contents" select="$contents"/>
@@ -1760,6 +1763,7 @@
1760
1763
 
1761
1764
 
1762
1765
 
1766
+
1763
1767
 
1764
1768
  <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
1765
1769
 
@@ -2042,206 +2046,234 @@
2042
2046
  <xsl:call-template name="add-zero-spaces-java"/>
2043
2047
  </xsl:template><xsl:template match="*[local-name()='table']" name="table">
2044
2048
 
2045
- <xsl:variable name="simple-table">
2046
- <xsl:call-template name="getSimpleTable"/>
2047
- </xsl:variable>
2049
+ <xsl:variable name="table">
2048
2050
 
2049
-
2050
-
2051
-
2052
- <fo:block> </fo:block>
2053
-
2054
-
2055
- <!-- <xsl:if test="$namespace = 'bipm'">
2056
- <fo:block>&#xA0;</fo:block>
2057
- </xsl:if> -->
2058
-
2059
- <!-- $namespace = 'iso' or -->
2060
-
2061
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2062
-
2063
-
2064
-
2065
- <xsl:call-template name="fn_name_display"/>
2051
+ <xsl:variable name="simple-table">
2052
+ <xsl:call-template name="getSimpleTable"/>
2053
+ </xsl:variable>
2066
2054
 
2067
2055
 
2068
-
2069
- <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2070
-
2071
- <!-- <xsl:variable name="cols-count">
2072
- <xsl:choose>
2073
- <xsl:when test="*[local-name()='thead']">
2074
- <xsl:call-template name="calculate-columns-numbers">
2075
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2076
- </xsl:call-template>
2077
- </xsl:when>
2078
- <xsl:otherwise>
2079
- <xsl:call-template name="calculate-columns-numbers">
2080
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2081
- </xsl:call-template>
2082
- </xsl:otherwise>
2083
- </xsl:choose>
2084
- </xsl:variable> -->
2085
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2086
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2087
-
2088
-
2089
-
2090
- <xsl:variable name="colwidths">
2091
- <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2092
- <xsl:call-template name="calculate-column-widths">
2093
- <xsl:with-param name="cols-count" select="$cols-count"/>
2094
- <xsl:with-param name="table" select="$simple-table"/>
2095
- </xsl:call-template>
2096
- </xsl:if>
2097
- </xsl:variable>
2098
- <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2099
-
2100
- <!-- <xsl:variable name="colwidths2">
2101
- <xsl:call-template name="calculate-column-widths">
2102
- <xsl:with-param name="cols-count" select="$cols-count"/>
2103
- </xsl:call-template>
2104
- </xsl:variable> -->
2105
-
2106
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2107
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2108
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2109
-
2110
- <xsl:variable name="margin-left">
2111
- <xsl:choose>
2112
- <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2113
- <xsl:otherwise>0</xsl:otherwise>
2114
- </xsl:choose>
2115
- </xsl:variable>
2116
-
2117
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2118
2056
 
2119
2057
 
2120
-
2121
-
2122
-
2058
+ <fo:block> </fo:block>
2123
2059
 
2124
2060
 
2061
+ <!-- <xsl:if test="$namespace = 'bipm'">
2062
+ <fo:block>&#xA0;</fo:block>
2063
+ </xsl:if> -->
2125
2064
 
2126
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2127
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2128
- <xsl:attribute name="space-after">12pt</xsl:attribute>
2129
-
2065
+ <!-- $namespace = 'iso' or -->
2130
2066
 
2131
- <xsl:if test="ancestor::*[local-name()='sections']">
2132
- <xsl:attribute name="font-size">9pt</xsl:attribute>
2133
- </xsl:if>
2067
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2134
2068
 
2069
+
2070
+
2071
+ <xsl:call-template name="fn_name_display"/>
2135
2072
 
2073
+
2136
2074
 
2075
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2137
2076
 
2077
+ <!-- <xsl:variable name="cols-count">
2078
+ <xsl:choose>
2079
+ <xsl:when test="*[local-name()='thead']">
2080
+ <xsl:call-template name="calculate-columns-numbers">
2081
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2082
+ </xsl:call-template>
2083
+ </xsl:when>
2084
+ <xsl:otherwise>
2085
+ <xsl:call-template name="calculate-columns-numbers">
2086
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2087
+ </xsl:call-template>
2088
+ </xsl:otherwise>
2089
+ </xsl:choose>
2090
+ </xsl:variable> -->
2091
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2092
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2138
2093
 
2139
2094
 
2140
2095
 
2141
- <xsl:variable name="table_attributes">
2142
- <attribute name="table-layout">fixed</attribute>
2143
- <attribute name="width">
2144
- <xsl:choose>
2145
- <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
2146
- <xsl:otherwise>100%</xsl:otherwise>
2147
- </xsl:choose>
2148
- </attribute>
2149
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2150
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2096
+ <xsl:variable name="colwidths">
2097
+ <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2098
+ <xsl:call-template name="calculate-column-widths">
2099
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2100
+ <xsl:with-param name="table" select="$simple-table"/>
2101
+ </xsl:call-template>
2102
+ </xsl:if>
2103
+ </xsl:variable>
2104
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2105
+
2106
+ <!-- <xsl:variable name="colwidths2">
2107
+ <xsl:call-template name="calculate-column-widths">
2108
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2109
+ </xsl:call-template>
2110
+ </xsl:variable> -->
2111
+
2112
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2113
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
2114
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2115
+
2116
+ <xsl:variable name="margin-left">
2117
+ <xsl:choose>
2118
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2119
+ <xsl:otherwise>0</xsl:otherwise>
2120
+ </xsl:choose>
2121
+ </xsl:variable>
2122
+
2123
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2151
2124
 
2152
2125
 
2126
+
2127
+
2128
+
2153
2129
 
2154
2130
 
2155
2131
 
2156
- <attribute name="margin-left">0mm</attribute>
2157
- <attribute name="margin-right">0mm</attribute>
2158
-
2159
-
2160
-
2132
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2133
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2134
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
2135
+
2161
2136
 
2162
-
2137
+ <xsl:if test="ancestor::*[local-name()='sections']">
2138
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2139
+ </xsl:if>
2163
2140
 
2164
- </xsl:variable>
2165
-
2166
-
2167
- <fo:table id="{@id}" table-omit-footer-at-break="true">
2168
2141
 
2169
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2170
- <xsl:attribute name="{@name}">
2171
- <xsl:value-of select="."/>
2172
- </xsl:attribute>
2173
- </xsl:for-each>
2174
2142
 
2175
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
2176
- <xsl:if test="$isNoteOrFnExist = 'true'">
2177
- <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2178
- </xsl:if>
2179
2143
 
2180
- <xsl:choose>
2181
- <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2182
- <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
2183
- <fo:table-column column-width="{@width}"/>
2184
- </xsl:for-each>
2185
- </xsl:when>
2186
- <xsl:otherwise>
2187
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2188
- <xsl:choose>
2189
- <xsl:when test=". = 1 or . = 0">
2190
- <fo:table-column column-width="proportional-column-width(2)"/>
2191
- </xsl:when>
2192
- <xsl:otherwise>
2193
- <fo:table-column column-width="proportional-column-width({.})"/>
2194
- </xsl:otherwise>
2195
- </xsl:choose>
2196
- </xsl:for-each>
2197
- </xsl:otherwise>
2198
- </xsl:choose>
2199
2144
 
2200
- <xsl:choose>
2201
- <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
2202
- <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2203
- </xsl:when>
2204
- <xsl:otherwise>
2205
- <xsl:apply-templates/>
2206
- </xsl:otherwise>
2207
- </xsl:choose>
2208
2145
 
2209
- </fo:table>
2210
-
2211
- <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
2212
- <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2213
- <xsl:call-template name="insertTableFooterInSeparateTable">
2214
- <xsl:with-param name="table_attributes" select="$table_attributes"/>
2215
- <xsl:with-param name="colwidths" select="$colwidths"/>
2216
- <xsl:with-param name="colgroup" select="$colgroup"/>
2217
- </xsl:call-template>
2218
- </xsl:for-each>
2219
-
2220
- <!-- insert footer as table -->
2221
- <!-- <fo:table>
2222
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2223
- <xsl:attribute name="{@name}">
2224
- <xsl:value-of select="."/>
2225
- </xsl:attribute>
2226
- </xsl:for-each>
2146
+ <xsl:variable name="table_width">
2147
+ <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2148
+
2149
+
2150
+
2151
+ <xsl:choose>
2152
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
2153
+ <xsl:otherwise>100%</xsl:otherwise>
2154
+ </xsl:choose>
2155
+
2156
+ </xsl:variable>
2157
+
2158
+ <xsl:variable name="table_attributes">
2159
+ <attribute name="table-layout">fixed</attribute>
2160
+ <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
2161
+ <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2162
+ <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2163
+
2164
+
2165
+
2166
+
2167
+
2168
+ <attribute name="margin-left">0mm</attribute>
2169
+ <attribute name="margin-right">0mm</attribute>
2170
+
2171
+
2172
+
2173
+
2174
+
2175
+
2176
+ </xsl:variable>
2227
2177
 
2228
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2178
+
2179
+ <fo:table id="{@id}" table-omit-footer-at-break="true">
2180
+
2181
+ <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2182
+ <xsl:attribute name="{@name}">
2183
+ <xsl:value-of select="."/>
2184
+ </xsl:attribute>
2185
+ </xsl:for-each>
2186
+
2187
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
2188
+ <xsl:if test="$isNoteOrFnExist = 'true'">
2189
+ <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2190
+ </xsl:if>
2191
+
2192
+ <xsl:choose>
2193
+ <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2194
+ <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
2195
+ <fo:table-column column-width="{@width}"/>
2196
+ </xsl:for-each>
2197
+ </xsl:when>
2198
+ <xsl:otherwise>
2199
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2200
+ <xsl:choose>
2201
+ <xsl:when test=". = 1 or . = 0">
2202
+ <fo:table-column column-width="proportional-column-width(2)"/>
2203
+ </xsl:when>
2204
+ <xsl:otherwise>
2205
+ <fo:table-column column-width="proportional-column-width({.})"/>
2206
+ </xsl:otherwise>
2207
+ </xsl:choose>
2208
+ </xsl:for-each>
2209
+ </xsl:otherwise>
2210
+ </xsl:choose>
2211
+
2229
2212
  <xsl:choose>
2230
- <xsl:when test=". = 1 or . = 0">
2231
- <fo:table-column column-width="proportional-column-width(2)"/>
2213
+ <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
2214
+ <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2232
2215
  </xsl:when>
2233
2216
  <xsl:otherwise>
2234
- <fo:table-column column-width="proportional-column-width({.})"/>
2217
+ <xsl:apply-templates/>
2235
2218
  </xsl:otherwise>
2236
2219
  </xsl:choose>
2220
+
2221
+ </fo:table>
2222
+
2223
+ <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
2224
+ <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2225
+ <xsl:call-template name="insertTableFooterInSeparateTable">
2226
+ <xsl:with-param name="table_attributes" select="$table_attributes"/>
2227
+ <xsl:with-param name="colwidths" select="$colwidths"/>
2228
+ <xsl:with-param name="colgroup" select="$colgroup"/>
2229
+ </xsl:call-template>
2237
2230
  </xsl:for-each>
2238
- </fo:table>-->
2239
-
2240
-
2241
-
2242
-
2243
-
2244
- </fo:block-container>
2231
+
2232
+ <!-- insert footer as table -->
2233
+ <!-- <fo:table>
2234
+ <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2235
+ <xsl:attribute name="{@name}">
2236
+ <xsl:value-of select="."/>
2237
+ </xsl:attribute>
2238
+ </xsl:for-each>
2239
+
2240
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2241
+ <xsl:choose>
2242
+ <xsl:when test=". = 1 or . = 0">
2243
+ <fo:table-column column-width="proportional-column-width(2)"/>
2244
+ </xsl:when>
2245
+ <xsl:otherwise>
2246
+ <fo:table-column column-width="proportional-column-width({.})"/>
2247
+ </xsl:otherwise>
2248
+ </xsl:choose>
2249
+ </xsl:for-each>
2250
+ </fo:table>-->
2251
+
2252
+
2253
+
2254
+
2255
+
2256
+ </fo:block-container>
2257
+ </xsl:variable>
2258
+
2259
+
2260
+
2261
+ <xsl:choose>
2262
+ <xsl:when test="@width">
2263
+
2264
+ <!-- centered table when table name is centered (see table-name-style) -->
2265
+
2266
+
2267
+
2268
+ <xsl:copy-of select="$table"/>
2269
+
2270
+
2271
+ </xsl:when>
2272
+ <xsl:otherwise>
2273
+ <xsl:copy-of select="$table"/>
2274
+ </xsl:otherwise>
2275
+ </xsl:choose>
2276
+
2245
2277
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2246
2278
  <xsl:if test="normalize-space() != ''">
2247
2279
  <fo:block xsl:use-attribute-sets="table-name-style">
@@ -2369,7 +2401,15 @@
2369
2401
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
2370
2402
  <xsl:value-of select="@target"/>
2371
2403
  </xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
2372
- <xsl:variable name="math_text" select="normalize-space(.)"/>
2404
+ <xsl:variable name="mathml">
2405
+ <xsl:for-each select="*">
2406
+ <xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
2407
+ <xsl:copy-of select="."/>
2408
+ </xsl:if>
2409
+ </xsl:for-each>
2410
+ </xsl:variable>
2411
+
2412
+ <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
2373
2413
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2374
2414
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2375
2415
  <xsl:param name="cols-count"/>
@@ -3087,7 +3127,7 @@
3087
3127
  <xsl:with-param name="table" select="$html-table"/>
3088
3128
  </xsl:call-template>
3089
3129
  </xsl:variable>
3090
- <!-- colwidths=<xsl:value-of select="$colwidths"/> -->
3130
+ <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
3091
3131
  <xsl:variable name="maxlength_dt">
3092
3132
  <xsl:call-template name="getMaxLength_dt"/>
3093
3133
  </xsl:variable>
@@ -3116,13 +3156,22 @@
3116
3156
  </xsl:when>
3117
3157
  <xsl:otherwise>
3118
3158
  <xsl:choose>
3159
+ <!-- to set width check most wide chars like `W` -->
3119
3160
  <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 2"> <!-- if dt contains short text like t90, a, etc -->
3120
- <fo:table-column column-width="5%"/>
3121
- <fo:table-column column-width="95%"/>
3161
+ <fo:table-column column-width="7%"/>
3162
+ <fo:table-column column-width="93%"/>
3163
+ </xsl:when>
3164
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like ABC, etc -->
3165
+ <fo:table-column column-width="15%"/>
3166
+ <fo:table-column column-width="85%"/>
3167
+ </xsl:when>
3168
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 7"> <!-- if dt contains short text like ABCDEF, etc -->
3169
+ <fo:table-column column-width="20%"/>
3170
+ <fo:table-column column-width="80%"/>
3122
3171
  </xsl:when>
3123
- <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 5"> <!-- if dt contains short text like t90, a, etc -->
3124
- <fo:table-column column-width="10%"/>
3125
- <fo:table-column column-width="90%"/>
3172
+ <xsl:when test="normalize-space($maxlength_dt) != '' and number($maxlength_dt) &lt;= 10"> <!-- if dt contains short text like ABCDEFEF, etc -->
3173
+ <fo:table-column column-width="25%"/>
3174
+ <fo:table-column column-width="75%"/>
3126
3175
  </xsl:when>
3127
3176
  <!-- <xsl:when test="xalan:nodeset($colwidths)/column[1] div xalan:nodeset($colwidths)/column[2] &gt; 1.7">
3128
3177
  <fo:table-column column-width="60%"/>
@@ -3345,6 +3394,10 @@
3345
3394
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
3346
3395
  <xsl:apply-templates/>
3347
3396
  </fo:inline>
3397
+ </xsl:template><xsl:template match="*[local-name()='hi']">
3398
+ <fo:inline background-color="yellow">
3399
+ <xsl:apply-templates/>
3400
+ </fo:inline>
3348
3401
  </xsl:template><xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
3349
3402
  <xsl:variable name="text" select="normalize-space(.)"/>
3350
3403
  <fo:inline font-size="75%">
@@ -3434,6 +3487,10 @@
3434
3487
  <xsl:param name="text" select="."/>
3435
3488
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
3436
3489
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| )','$1​')"/>
3490
+ </xsl:template><xsl:template name="add-zero-spaces-link-java">
3491
+ <xsl:param name="text" select="."/>
3492
+ <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
3493
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |,)','$1​')"/>
3437
3494
  </xsl:template><xsl:template name="add-zero-spaces">
3438
3495
  <xsl:param name="text" select="."/>
3439
3496
  <xsl:variable name="zero-space-after-chars">-</xsl:variable>
@@ -3681,6 +3738,7 @@
3681
3738
  <xsl:apply-templates select="." mode="mathml"/>
3682
3739
  </xsl:variable>
3683
3740
  <fo:instream-foreign-object fox:alt-text="Math">
3741
+
3684
3742
  <!-- <xsl:copy-of select="."/> -->
3685
3743
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3686
3744
  </fo:instream-foreign-object>
@@ -3694,7 +3752,12 @@
3694
3752
  <!-- replace start and end spaces to non-break space -->
3695
3753
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
3696
3754
  </xsl:copy>
3697
- </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3755
+ </xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
3756
+ <xsl:copy>
3757
+ <xsl:apply-templates select="@*|node()" mode="mathml"/>
3758
+ </xsl:copy>
3759
+ <mathml:mspace width="0.5ex"/>
3760
+ </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">
3698
3761
  <xsl:variable name="target">
3699
3762
  <xsl:choose>
3700
3763
  <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
@@ -3715,7 +3778,10 @@
3715
3778
  <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
3716
3779
  <xsl:choose>
3717
3780
  <xsl:when test="normalize-space(.) = ''">
3718
- <xsl:value-of select="$target"/>
3781
+ <!-- <xsl:value-of select="$target"/> -->
3782
+ <xsl:call-template name="add-zero-spaces-link-java">
3783
+ <xsl:with-param name="text" select="$target"/>
3784
+ </xsl:call-template>
3719
3785
  </xsl:when>
3720
3786
  <xsl:otherwise>
3721
3787
  <xsl:apply-templates/>
@@ -3725,8 +3791,6 @@
3725
3791
  </xsl:otherwise>
3726
3792
  </xsl:choose>
3727
3793
  </fo:inline>
3728
- </xsl:template><xsl:template match="*[local-name()='bookmark']">
3729
- <fo:inline id="{@id}"/>
3730
3794
  </xsl:template><xsl:template match="*[local-name()='appendix']">
3731
3795
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
3732
3796
  <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
@@ -3941,6 +4005,7 @@
3941
4005
  <fo:block id="{@id}">
3942
4006
  <xsl:apply-templates/>
3943
4007
  </fo:block>
4008
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3944
4009
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
3945
4010
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
3946
4011
  <xsl:apply-templates/>
@@ -4237,6 +4302,8 @@
4237
4302
  <xsl:copy>
4238
4303
  <xsl:apply-templates mode="contents_item"/>
4239
4304
  </xsl:copy>
4305
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents_item">
4306
+ <xsl:copy-of select="."/>
4240
4307
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
4241
4308
  <xsl:text> </xsl:text>
4242
4309
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
@@ -4573,9 +4640,10 @@
4573
4640
  </xsl:choose>
4574
4641
 
4575
4642
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
4576
-
4643
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
4577
4644
  <xsl:variable name="element">
4578
4645
 
4646
+
4579
4647
  inline
4580
4648
  </xsl:variable>
4581
4649
  <xsl:choose>
@@ -4650,11 +4718,13 @@
4650
4718
  </xsl:if>
4651
4719
  </xsl:if>
4652
4720
 
4721
+
4653
4722
  <fo:block-container margin-left="0mm">
4654
4723
 
4655
4724
  <fo:block xsl:use-attribute-sets="quote-style">
4656
4725
  <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
4657
- <xsl:apply-templates select="./*[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
4726
+
4727
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
4658
4728
  </fo:block>
4659
4729
  <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
4660
4730
  <fo:block xsl:use-attribute-sets="quote-source-style">
@@ -4677,30 +4747,48 @@
4677
4747
  <xsl:text>— </xsl:text>
4678
4748
  <xsl:apply-templates/>
4679
4749
  </xsl:template><xsl:template match="*[local-name() = 'eref']">
4680
- <fo:inline xsl:use-attribute-sets="eref-style">
4681
- <xsl:if test="@type = 'footnote'">
4682
-
4683
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4684
- <xsl:attribute name="font-size">80%</xsl:attribute>
4685
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4686
- <xsl:attribute name="vertical-align">super</xsl:attribute>
4687
-
4688
-
4689
- </xsl:if>
4690
-
4691
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4692
-
4693
- <xsl:if test="@type = 'inline'">
4694
-
4695
-
4696
-
4697
-
4698
- </xsl:if>
4699
-
4700
-
4701
- <xsl:apply-templates/>
4702
- </fo:basic-link>
4703
- </fo:inline>
4750
+
4751
+ <xsl:variable name="bibitemid">
4752
+ <xsl:choose>
4753
+ <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
4754
+ <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
4755
+ <xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
4756
+ </xsl:choose>
4757
+ </xsl:variable>
4758
+
4759
+ <xsl:choose>
4760
+ <xsl:when test="normalize-space($bibitemid) != ''">
4761
+ <fo:inline xsl:use-attribute-sets="eref-style">
4762
+ <xsl:if test="@type = 'footnote'">
4763
+
4764
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
4765
+ <xsl:attribute name="font-size">80%</xsl:attribute>
4766
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
4767
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
4768
+
4769
+
4770
+ </xsl:if>
4771
+
4772
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
4773
+ <xsl:if test="normalize-space(@citeas) = ''">
4774
+ <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
4775
+ </xsl:if>
4776
+ <xsl:if test="@type = 'inline'">
4777
+
4778
+
4779
+
4780
+
4781
+ </xsl:if>
4782
+
4783
+ <xsl:apply-templates/>
4784
+ </fo:basic-link>
4785
+
4786
+ </fo:inline>
4787
+ </xsl:when>
4788
+ <xsl:otherwise>
4789
+ <fo:inline><xsl:apply-templates/></fo:inline>
4790
+ </xsl:otherwise>
4791
+ </xsl:choose>
4704
4792
  </xsl:template><xsl:template match="*[local-name() = 'tab']">
4705
4793
  <!-- zero-space char -->
4706
4794
  <xsl:variable name="depth">
@@ -4883,6 +4971,153 @@
4883
4971
  </fo:block>
4884
4972
  </xsl:otherwise>
4885
4973
  </xsl:choose>
4974
+ </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
4975
+ <xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
4976
+ <bookmark><xsl:value-of select="@id"/></bookmark>
4977
+ </xsl:for-each>
4978
+ </xsl:variable><xsl:template match="@*|node()" mode="index_add_id">
4979
+ <xsl:copy>
4980
+ <xsl:apply-templates select="@*|node()" mode="index_add_id"/>
4981
+ </xsl:copy>
4982
+ </xsl:template><xsl:template match="*[local-name() = 'xref']" mode="index_add_id">
4983
+ <xsl:variable name="id">
4984
+ <xsl:call-template name="generateIndexXrefId"/>
4985
+ </xsl:variable>
4986
+ <xsl:copy> <!-- add id to xref -->
4987
+ <xsl:apply-templates select="@*" mode="index_add_id"/>
4988
+ <xsl:attribute name="id">
4989
+ <xsl:value-of select="$id"/>
4990
+ </xsl:attribute>
4991
+ <xsl:apply-templates mode="index_add_id"/>
4992
+ </xsl:copy>
4993
+ <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
4994
+ <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
4995
+ <xsl:if test="@to">
4996
+ <xsl:value-of select="$dash"/>
4997
+ <xsl:copy>
4998
+ <xsl:copy-of select="@*"/>
4999
+ <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
5000
+ <xsl:attribute name="id">
5001
+ <xsl:value-of select="$id"/><xsl:text>_to</xsl:text>
5002
+ </xsl:attribute>
5003
+ <xsl:apply-templates mode="index_add_id"/>
5004
+ </xsl:copy>
5005
+ </xsl:if>
5006
+ </xsl:template><xsl:template match="@*|node()" mode="index_update">
5007
+ <xsl:copy>
5008
+ <xsl:apply-templates select="@*|node()" mode="index_update"/>
5009
+ </xsl:copy>
5010
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" mode="index_update">
5011
+ <xsl:copy>
5012
+ <xsl:apply-templates select="@*" mode="index_update"/>
5013
+ <xsl:apply-templates select="node()[1]" mode="process_li_element"/>
5014
+ </xsl:copy>
5015
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/node()" mode="process_li_element" priority="2">
5016
+ <xsl:param name="element"/>
5017
+ <xsl:param name="remove" select="'false'"/>
5018
+ <xsl:param name="target"/>
5019
+ <!-- <node></node> -->
5020
+ <xsl:choose>
5021
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
5022
+ <!-- skip text (i.e. remove it) and process next element -->
5023
+ <!-- [removed_<xsl:value-of select="."/>] -->
5024
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
5025
+ <xsl:with-param name="target"><xsl:value-of select="$target"/></xsl:with-param>
5026
+ </xsl:apply-templates>
5027
+ </xsl:when>
5028
+ <xsl:when test="self::text()">
5029
+ <xsl:value-of select="."/>
5030
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
5031
+ </xsl:when>
5032
+ <xsl:when test="self::* and local-name(.) = 'xref'">
5033
+ <xsl:variable name="id" select="@id"/>
5034
+ <xsl:variable name="page" select="$index//item[@id = $id]"/>
5035
+ <xsl:variable name="id_next" select="following-sibling::*[local-name() = 'xref'][1]/@id"/>
5036
+ <xsl:variable name="page_next" select="$index//item[@id = $id_next]"/>
5037
+
5038
+ <xsl:variable name="id_prev" select="preceding-sibling::*[local-name() = 'xref'][1]/@id"/>
5039
+ <xsl:variable name="page_prev" select="$index//item[@id = $id_prev]"/>
5040
+
5041
+ <xsl:choose>
5042
+ <!-- 2nd pass -->
5043
+ <!-- if page is equal to page for next and page is not the end of range -->
5044
+ <xsl:when test="$page != '' and $page_next != '' and $page = $page_next and not(contains($page, '_to'))"> <!-- case: 12, 12-14 -->
5045
+ <!-- skip element (i.e. remove it) and remove next text ',' -->
5046
+ <!-- [removed_xref] -->
5047
+
5048
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
5049
+ <xsl:with-param name="remove">true</xsl:with-param>
5050
+ <xsl:with-param name="target">
5051
+ <xsl:choose>
5052
+ <xsl:when test="$target != ''"><xsl:value-of select="$target"/></xsl:when>
5053
+ <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise>
5054
+ </xsl:choose>
5055
+ </xsl:with-param>
5056
+ </xsl:apply-templates>
5057
+ </xsl:when>
5058
+
5059
+ <xsl:when test="$page != '' and $page_prev != '' and $page = $page_prev and contains($page_prev, '_to')"> <!-- case: 12-14, 14, ... -->
5060
+ <!-- remove xref -->
5061
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
5062
+ <xsl:with-param name="remove">true</xsl:with-param>
5063
+ </xsl:apply-templates>
5064
+ </xsl:when>
5065
+
5066
+ <xsl:otherwise>
5067
+ <xsl:apply-templates select="." mode="xref_copy">
5068
+ <xsl:with-param name="target" select="$target"/>
5069
+ </xsl:apply-templates>
5070
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
5071
+ </xsl:otherwise>
5072
+ </xsl:choose>
5073
+ </xsl:when>
5074
+ <xsl:when test="self::* and local-name(.) = 'ul'">
5075
+ <!-- ul -->
5076
+ <xsl:apply-templates select="." mode="index_update"/>
5077
+ </xsl:when>
5078
+ <xsl:otherwise>
5079
+ <xsl:apply-templates select="." mode="xref_copy">
5080
+ <xsl:with-param name="target" select="$target"/>
5081
+ </xsl:apply-templates>
5082
+ <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element"/>
5083
+ </xsl:otherwise>
5084
+ </xsl:choose>
5085
+ </xsl:template><xsl:template match="@*|node()" mode="xref_copy">
5086
+ <xsl:param name="target"/>
5087
+ <xsl:copy>
5088
+ <xsl:apply-templates select="@*" mode="xref_copy"/>
5089
+ <xsl:if test="$target != '' and not(xalan:nodeset($bookmark_in_fn)//bookmark[. = $target])">
5090
+ <xsl:attribute name="target"><xsl:value-of select="$target"/></xsl:attribute>
5091
+ </xsl:if>
5092
+ <xsl:apply-templates select="node()" mode="xref_copy"/>
5093
+ </xsl:copy>
5094
+ </xsl:template><xsl:template name="generateIndexXrefId">
5095
+ <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
5096
+
5097
+ <xsl:variable name="docid">
5098
+ <xsl:call-template name="getDocumentId"/>
5099
+ </xsl:variable>
5100
+ <xsl:variable name="item_number">
5101
+ <xsl:number count="*[local-name() = 'li'][ancestor::*[local-name() = 'indexsect']]" level="any"/>
5102
+ </xsl:variable>
5103
+ <xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
5104
+ <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
5105
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
5106
+ <xsl:apply-templates/>
5107
+ <fo:block>
5108
+ <xsl:if test="following-sibling::*[local-name() = 'clause']">
5109
+ <fo:block> </fo:block>
5110
+ </xsl:if>
5111
+ </fo:block>
5112
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
5113
+ <xsl:apply-templates/>
5114
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
5115
+ <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
5116
+ <fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
5117
+ <xsl:apply-templates/>
5118
+ </fo:block>
5119
+ </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
5120
+ <fo:inline id="{@id}" font-size="1pt"/>
4886
5121
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
4887
5122
  <!-- <row>
4888
5123
  <date>05-07-2013</date>
@@ -5212,7 +5447,7 @@
5212
5447
  <xsl:param name="charDelim" select="', '"/>
5213
5448
  <xsl:choose>
5214
5449
  <xsl:when test="$sorting = 'true' or $sorting = 'yes'">
5215
- <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
5450
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
5216
5451
  <xsl:sort data-type="text" order="ascending"/>
5217
5452
  <xsl:call-template name="insertKeyword">
5218
5453
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
@@ -5221,7 +5456,7 @@
5221
5456
  </xsl:for-each>
5222
5457
  </xsl:when>
5223
5458
  <xsl:otherwise>
5224
- <xsl:for-each select="/*/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
5459
+ <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
5225
5460
  <xsl:call-template name="insertKeyword">
5226
5461
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
5227
5462
  <xsl:with-param name="charDelim" select="$charDelim"/>
@@ -5238,63 +5473,71 @@
5238
5473
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
5239
5474
  </xsl:choose>
5240
5475
  </xsl:template><xsl:template name="addPDFUAmeta">
5241
- <fo:declarations>
5242
- <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
5243
- <pdf:dictionary type="normal" key="ViewerPreferences">
5244
- <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
5245
- </pdf:dictionary>
5246
- </pdf:catalog>
5247
- <x:xmpmeta xmlns:x="adobe:ns:meta/">
5248
- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
5249
- <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
5250
- <!-- Dublin Core properties go here -->
5251
- <dc:title>
5252
- <xsl:variable name="title">
5476
+ <xsl:variable name="lang">
5477
+ <xsl:call-template name="getLang"/>
5478
+ </xsl:variable>
5479
+ <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
5480
+ <pdf:dictionary type="normal" key="ViewerPreferences">
5481
+ <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
5482
+ </pdf:dictionary>
5483
+ </pdf:catalog>
5484
+ <x:xmpmeta xmlns:x="adobe:ns:meta/">
5485
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
5486
+ <rdf:Description xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" rdf:about="">
5487
+ <!-- Dublin Core properties go here -->
5488
+ <dc:title>
5489
+ <xsl:variable name="title">
5490
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5491
+
5253
5492
 
5254
5493
 
5255
5494
 
5256
- <xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = 'en']"/>
5495
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
5257
5496
 
5258
5497
 
5259
5498
 
5260
- </xsl:variable>
5261
- <xsl:choose>
5262
- <xsl:when test="normalize-space($title) != ''">
5263
- <xsl:value-of select="$title"/>
5264
- </xsl:when>
5265
- <xsl:otherwise>
5266
- <xsl:text> </xsl:text>
5267
- </xsl:otherwise>
5268
- </xsl:choose>
5269
- </dc:title>
5270
- <dc:creator>
5499
+ </xsl:for-each>
5500
+ </xsl:variable>
5501
+ <xsl:choose>
5502
+ <xsl:when test="normalize-space($title) != ''">
5503
+ <xsl:value-of select="$title"/>
5504
+ </xsl:when>
5505
+ <xsl:otherwise>
5506
+ <xsl:text> </xsl:text>
5507
+ </xsl:otherwise>
5508
+ </xsl:choose>
5509
+ </dc:title>
5510
+ <dc:creator>
5511
+ <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
5271
5512
 
5513
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
5514
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
5515
+ <xsl:if test="position() != last()">; </xsl:if>
5516
+ </xsl:for-each>
5272
5517
 
5273
5518
 
5274
- </dc:creator>
5275
- <dc:description>
5276
- <xsl:variable name="abstract">
5277
-
5278
-
5279
-
5280
-
5281
- <xsl:copy-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'abstract']//text()"/>
5282
-
5283
-
5284
- </xsl:variable>
5285
- <xsl:value-of select="normalize-space($abstract)"/>
5286
- </dc:description>
5287
- <pdf:Keywords>
5288
- <xsl:call-template name="insertKeywords"/>
5289
- </pdf:Keywords>
5290
- </rdf:Description>
5291
- <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
5292
- <!-- XMP properties go here -->
5293
- <xmp:CreatorTool/>
5294
- </rdf:Description>
5295
- </rdf:RDF>
5296
- </x:xmpmeta>
5297
- </fo:declarations>
5519
+
5520
+ </xsl:for-each>
5521
+ </dc:creator>
5522
+ <dc:description>
5523
+ <xsl:variable name="abstract">
5524
+
5525
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
5526
+
5527
+
5528
+ </xsl:variable>
5529
+ <xsl:value-of select="normalize-space($abstract)"/>
5530
+ </dc:description>
5531
+ <pdf:Keywords>
5532
+ <xsl:call-template name="insertKeywords"/>
5533
+ </pdf:Keywords>
5534
+ </rdf:Description>
5535
+ <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
5536
+ <!-- XMP properties go here -->
5537
+ <xmp:CreatorTool/>
5538
+ </rdf:Description>
5539
+ </rdf:RDF>
5540
+ </x:xmpmeta>
5298
5541
  </xsl:template><xsl:template name="getId">
5299
5542
  <xsl:choose>
5300
5543
  <xsl:when test="../@id">