metanorma-ogc 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1944,6 +1944,9 @@
1944
1944
  <xsl:attribute-set name="import-style">
1945
1945
  </xsl:attribute-set>
1946
1946
 
1947
+ <xsl:attribute-set name="component-style">
1948
+ </xsl:attribute-set>
1949
+
1947
1950
  <xsl:attribute-set name="recommendation-style">
1948
1951
 
1949
1952
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -7902,41 +7905,47 @@
7902
7905
  </fo:block>
7903
7906
  </xsl:template>
7904
7907
 
7905
- <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
7908
+ <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
7906
7909
  <fo:block xsl:use-attribute-sets="inherit-style">
7907
7910
  <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
7908
7911
  </fo:block>
7909
7912
  </xsl:template>
7910
7913
 
7911
- <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
7914
+ <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description'] | *[local-name() = 'div'][@type = 'requirement-description'] | *[local-name() = 'div'][@type = 'recommendation-description'] | *[local-name() = 'div'][@type = 'permission-description']">
7912
7915
  <fo:block xsl:use-attribute-sets="description-style">
7913
7916
  <xsl:apply-templates/>
7914
7917
  </fo:block>
7915
7918
  </xsl:template>
7916
7919
 
7917
- <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
7920
+ <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification'] | *[local-name() = 'div'][@type = 'requirement-specification'] | *[local-name() = 'div'][@type = 'recommendation-specification'] | *[local-name() = 'div'][@type = 'permission-specification']">
7918
7921
  <fo:block xsl:use-attribute-sets="specification-style">
7919
7922
  <xsl:apply-templates/>
7920
7923
  </fo:block>
7921
7924
  </xsl:template>
7922
7925
 
7923
- <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
7926
+ <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target'] | *[local-name() = 'div'][@type = 'requirement-measurement-target'] | *[local-name() = 'div'][@type = 'recommendation-measurement-target'] | *[local-name() = 'div'][@type = 'permission-measurement-target']">
7924
7927
  <fo:block xsl:use-attribute-sets="measurement-target-style">
7925
7928
  <xsl:apply-templates/>
7926
7929
  </fo:block>
7927
7930
  </xsl:template>
7928
7931
 
7929
- <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
7932
+ <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification'] | *[local-name() = 'div'][@type = 'requirement-verification'] | *[local-name() = 'div'][@type = 'recommendation-verification'] | *[local-name() = 'div'][@type = 'permission-verification']">
7930
7933
  <fo:block xsl:use-attribute-sets="verification-style">
7931
7934
  <xsl:apply-templates/>
7932
7935
  </fo:block>
7933
7936
  </xsl:template>
7934
7937
 
7935
- <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
7938
+ <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import'] | *[local-name() = 'div'][@type = 'requirement-import'] | *[local-name() = 'div'][@type = 'recommendation-import'] | *[local-name() = 'div'][@type = 'permission-import']">
7936
7939
  <fo:block xsl:use-attribute-sets="import-style">
7937
7940
  <xsl:apply-templates/>
7938
7941
  </fo:block>
7939
7942
  </xsl:template>
7943
+
7944
+ <xsl:template match="*[local-name() = 'div'][starts-with(@type, 'requirement-component')] | *[local-name() = 'div'][starts-with(@type, 'recommendation-component')] | *[local-name() = 'div'][starts-with(@type, 'permission-component')]">
7945
+ <fo:block xsl:use-attribute-sets="component-style">
7946
+ <xsl:apply-templates/>
7947
+ </fo:block>
7948
+ </xsl:template>
7940
7949
  <!-- ========== -->
7941
7950
  <!-- END -->
7942
7951
  <!-- ========== -->
@@ -1944,6 +1944,9 @@
1944
1944
  <xsl:attribute-set name="import-style">
1945
1945
  </xsl:attribute-set>
1946
1946
 
1947
+ <xsl:attribute-set name="component-style">
1948
+ </xsl:attribute-set>
1949
+
1947
1950
  <xsl:attribute-set name="recommendation-style">
1948
1951
 
1949
1952
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -7902,41 +7905,47 @@
7902
7905
  </fo:block>
7903
7906
  </xsl:template>
7904
7907
 
7905
- <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
7908
+ <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
7906
7909
  <fo:block xsl:use-attribute-sets="inherit-style">
7907
7910
  <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
7908
7911
  </fo:block>
7909
7912
  </xsl:template>
7910
7913
 
7911
- <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
7914
+ <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description'] | *[local-name() = 'div'][@type = 'requirement-description'] | *[local-name() = 'div'][@type = 'recommendation-description'] | *[local-name() = 'div'][@type = 'permission-description']">
7912
7915
  <fo:block xsl:use-attribute-sets="description-style">
7913
7916
  <xsl:apply-templates/>
7914
7917
  </fo:block>
7915
7918
  </xsl:template>
7916
7919
 
7917
- <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
7920
+ <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification'] | *[local-name() = 'div'][@type = 'requirement-specification'] | *[local-name() = 'div'][@type = 'recommendation-specification'] | *[local-name() = 'div'][@type = 'permission-specification']">
7918
7921
  <fo:block xsl:use-attribute-sets="specification-style">
7919
7922
  <xsl:apply-templates/>
7920
7923
  </fo:block>
7921
7924
  </xsl:template>
7922
7925
 
7923
- <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
7926
+ <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target'] | *[local-name() = 'div'][@type = 'requirement-measurement-target'] | *[local-name() = 'div'][@type = 'recommendation-measurement-target'] | *[local-name() = 'div'][@type = 'permission-measurement-target']">
7924
7927
  <fo:block xsl:use-attribute-sets="measurement-target-style">
7925
7928
  <xsl:apply-templates/>
7926
7929
  </fo:block>
7927
7930
  </xsl:template>
7928
7931
 
7929
- <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
7932
+ <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification'] | *[local-name() = 'div'][@type = 'requirement-verification'] | *[local-name() = 'div'][@type = 'recommendation-verification'] | *[local-name() = 'div'][@type = 'permission-verification']">
7930
7933
  <fo:block xsl:use-attribute-sets="verification-style">
7931
7934
  <xsl:apply-templates/>
7932
7935
  </fo:block>
7933
7936
  </xsl:template>
7934
7937
 
7935
- <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
7938
+ <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import'] | *[local-name() = 'div'][@type = 'requirement-import'] | *[local-name() = 'div'][@type = 'recommendation-import'] | *[local-name() = 'div'][@type = 'permission-import']">
7936
7939
  <fo:block xsl:use-attribute-sets="import-style">
7937
7940
  <xsl:apply-templates/>
7938
7941
  </fo:block>
7939
7942
  </xsl:template>
7943
+
7944
+ <xsl:template match="*[local-name() = 'div'][starts-with(@type, 'requirement-component')] | *[local-name() = 'div'][starts-with(@type, 'recommendation-component')] | *[local-name() = 'div'][starts-with(@type, 'permission-component')]">
7945
+ <fo:block xsl:use-attribute-sets="component-style">
7946
+ <xsl:apply-templates/>
7947
+ </fo:block>
7948
+ </xsl:template>
7940
7949
  <!-- ========== -->
7941
7950
  <!-- END -->
7942
7951
  <!-- ========== -->
@@ -1944,6 +1944,9 @@
1944
1944
  <xsl:attribute-set name="import-style">
1945
1945
  </xsl:attribute-set>
1946
1946
 
1947
+ <xsl:attribute-set name="component-style">
1948
+ </xsl:attribute-set>
1949
+
1947
1950
  <xsl:attribute-set name="recommendation-style">
1948
1951
 
1949
1952
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -7902,41 +7905,47 @@
7902
7905
  </fo:block>
7903
7906
  </xsl:template>
7904
7907
 
7905
- <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
7908
+ <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
7906
7909
  <fo:block xsl:use-attribute-sets="inherit-style">
7907
7910
  <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
7908
7911
  </fo:block>
7909
7912
  </xsl:template>
7910
7913
 
7911
- <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
7914
+ <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description'] | *[local-name() = 'div'][@type = 'requirement-description'] | *[local-name() = 'div'][@type = 'recommendation-description'] | *[local-name() = 'div'][@type = 'permission-description']">
7912
7915
  <fo:block xsl:use-attribute-sets="description-style">
7913
7916
  <xsl:apply-templates/>
7914
7917
  </fo:block>
7915
7918
  </xsl:template>
7916
7919
 
7917
- <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
7920
+ <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification'] | *[local-name() = 'div'][@type = 'requirement-specification'] | *[local-name() = 'div'][@type = 'recommendation-specification'] | *[local-name() = 'div'][@type = 'permission-specification']">
7918
7921
  <fo:block xsl:use-attribute-sets="specification-style">
7919
7922
  <xsl:apply-templates/>
7920
7923
  </fo:block>
7921
7924
  </xsl:template>
7922
7925
 
7923
- <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
7926
+ <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target'] | *[local-name() = 'div'][@type = 'requirement-measurement-target'] | *[local-name() = 'div'][@type = 'recommendation-measurement-target'] | *[local-name() = 'div'][@type = 'permission-measurement-target']">
7924
7927
  <fo:block xsl:use-attribute-sets="measurement-target-style">
7925
7928
  <xsl:apply-templates/>
7926
7929
  </fo:block>
7927
7930
  </xsl:template>
7928
7931
 
7929
- <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
7932
+ <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification'] | *[local-name() = 'div'][@type = 'requirement-verification'] | *[local-name() = 'div'][@type = 'recommendation-verification'] | *[local-name() = 'div'][@type = 'permission-verification']">
7930
7933
  <fo:block xsl:use-attribute-sets="verification-style">
7931
7934
  <xsl:apply-templates/>
7932
7935
  </fo:block>
7933
7936
  </xsl:template>
7934
7937
 
7935
- <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
7938
+ <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import'] | *[local-name() = 'div'][@type = 'requirement-import'] | *[local-name() = 'div'][@type = 'recommendation-import'] | *[local-name() = 'div'][@type = 'permission-import']">
7936
7939
  <fo:block xsl:use-attribute-sets="import-style">
7937
7940
  <xsl:apply-templates/>
7938
7941
  </fo:block>
7939
7942
  </xsl:template>
7943
+
7944
+ <xsl:template match="*[local-name() = 'div'][starts-with(@type, 'requirement-component')] | *[local-name() = 'div'][starts-with(@type, 'recommendation-component')] | *[local-name() = 'div'][starts-with(@type, 'permission-component')]">
7945
+ <fo:block xsl:use-attribute-sets="component-style">
7946
+ <xsl:apply-templates/>
7947
+ </fo:block>
7948
+ </xsl:template>
7940
7949
  <!-- ========== -->
7941
7950
  <!-- END -->
7942
7951
  <!-- ========== -->
@@ -1944,6 +1944,9 @@
1944
1944
  <xsl:attribute-set name="import-style">
1945
1945
  </xsl:attribute-set>
1946
1946
 
1947
+ <xsl:attribute-set name="component-style">
1948
+ </xsl:attribute-set>
1949
+
1947
1950
  <xsl:attribute-set name="recommendation-style">
1948
1951
 
1949
1952
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -7902,41 +7905,47 @@
7902
7905
  </fo:block>
7903
7906
  </xsl:template>
7904
7907
 
7905
- <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
7908
+ <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
7906
7909
  <fo:block xsl:use-attribute-sets="inherit-style">
7907
7910
  <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
7908
7911
  </fo:block>
7909
7912
  </xsl:template>
7910
7913
 
7911
- <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
7914
+ <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description'] | *[local-name() = 'div'][@type = 'requirement-description'] | *[local-name() = 'div'][@type = 'recommendation-description'] | *[local-name() = 'div'][@type = 'permission-description']">
7912
7915
  <fo:block xsl:use-attribute-sets="description-style">
7913
7916
  <xsl:apply-templates/>
7914
7917
  </fo:block>
7915
7918
  </xsl:template>
7916
7919
 
7917
- <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
7920
+ <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification'] | *[local-name() = 'div'][@type = 'requirement-specification'] | *[local-name() = 'div'][@type = 'recommendation-specification'] | *[local-name() = 'div'][@type = 'permission-specification']">
7918
7921
  <fo:block xsl:use-attribute-sets="specification-style">
7919
7922
  <xsl:apply-templates/>
7920
7923
  </fo:block>
7921
7924
  </xsl:template>
7922
7925
 
7923
- <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
7926
+ <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target'] | *[local-name() = 'div'][@type = 'requirement-measurement-target'] | *[local-name() = 'div'][@type = 'recommendation-measurement-target'] | *[local-name() = 'div'][@type = 'permission-measurement-target']">
7924
7927
  <fo:block xsl:use-attribute-sets="measurement-target-style">
7925
7928
  <xsl:apply-templates/>
7926
7929
  </fo:block>
7927
7930
  </xsl:template>
7928
7931
 
7929
- <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
7932
+ <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification'] | *[local-name() = 'div'][@type = 'requirement-verification'] | *[local-name() = 'div'][@type = 'recommendation-verification'] | *[local-name() = 'div'][@type = 'permission-verification']">
7930
7933
  <fo:block xsl:use-attribute-sets="verification-style">
7931
7934
  <xsl:apply-templates/>
7932
7935
  </fo:block>
7933
7936
  </xsl:template>
7934
7937
 
7935
- <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
7938
+ <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import'] | *[local-name() = 'div'][@type = 'requirement-import'] | *[local-name() = 'div'][@type = 'recommendation-import'] | *[local-name() = 'div'][@type = 'permission-import']">
7936
7939
  <fo:block xsl:use-attribute-sets="import-style">
7937
7940
  <xsl:apply-templates/>
7938
7941
  </fo:block>
7939
7942
  </xsl:template>
7943
+
7944
+ <xsl:template match="*[local-name() = 'div'][starts-with(@type, 'requirement-component')] | *[local-name() = 'div'][starts-with(@type, 'recommendation-component')] | *[local-name() = 'div'][starts-with(@type, 'permission-component')]">
7945
+ <fo:block xsl:use-attribute-sets="component-style">
7946
+ <xsl:apply-templates/>
7947
+ </fo:block>
7948
+ </xsl:template>
7940
7949
  <!-- ========== -->
7941
7950
  <!-- END -->
7942
7951
  <!-- ========== -->
@@ -1944,6 +1944,9 @@
1944
1944
  <xsl:attribute-set name="import-style">
1945
1945
  </xsl:attribute-set>
1946
1946
 
1947
+ <xsl:attribute-set name="component-style">
1948
+ </xsl:attribute-set>
1949
+
1947
1950
  <xsl:attribute-set name="recommendation-style">
1948
1951
 
1949
1952
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -7902,41 +7905,47 @@
7902
7905
  </fo:block>
7903
7906
  </xsl:template>
7904
7907
 
7905
- <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
7908
+ <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
7906
7909
  <fo:block xsl:use-attribute-sets="inherit-style">
7907
7910
  <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
7908
7911
  </fo:block>
7909
7912
  </xsl:template>
7910
7913
 
7911
- <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
7914
+ <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description'] | *[local-name() = 'div'][@type = 'requirement-description'] | *[local-name() = 'div'][@type = 'recommendation-description'] | *[local-name() = 'div'][@type = 'permission-description']">
7912
7915
  <fo:block xsl:use-attribute-sets="description-style">
7913
7916
  <xsl:apply-templates/>
7914
7917
  </fo:block>
7915
7918
  </xsl:template>
7916
7919
 
7917
- <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
7920
+ <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification'] | *[local-name() = 'div'][@type = 'requirement-specification'] | *[local-name() = 'div'][@type = 'recommendation-specification'] | *[local-name() = 'div'][@type = 'permission-specification']">
7918
7921
  <fo:block xsl:use-attribute-sets="specification-style">
7919
7922
  <xsl:apply-templates/>
7920
7923
  </fo:block>
7921
7924
  </xsl:template>
7922
7925
 
7923
- <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
7926
+ <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target'] | *[local-name() = 'div'][@type = 'requirement-measurement-target'] | *[local-name() = 'div'][@type = 'recommendation-measurement-target'] | *[local-name() = 'div'][@type = 'permission-measurement-target']">
7924
7927
  <fo:block xsl:use-attribute-sets="measurement-target-style">
7925
7928
  <xsl:apply-templates/>
7926
7929
  </fo:block>
7927
7930
  </xsl:template>
7928
7931
 
7929
- <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
7932
+ <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification'] | *[local-name() = 'div'][@type = 'requirement-verification'] | *[local-name() = 'div'][@type = 'recommendation-verification'] | *[local-name() = 'div'][@type = 'permission-verification']">
7930
7933
  <fo:block xsl:use-attribute-sets="verification-style">
7931
7934
  <xsl:apply-templates/>
7932
7935
  </fo:block>
7933
7936
  </xsl:template>
7934
7937
 
7935
- <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
7938
+ <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import'] | *[local-name() = 'div'][@type = 'requirement-import'] | *[local-name() = 'div'][@type = 'recommendation-import'] | *[local-name() = 'div'][@type = 'permission-import']">
7936
7939
  <fo:block xsl:use-attribute-sets="import-style">
7937
7940
  <xsl:apply-templates/>
7938
7941
  </fo:block>
7939
7942
  </xsl:template>
7943
+
7944
+ <xsl:template match="*[local-name() = 'div'][starts-with(@type, 'requirement-component')] | *[local-name() = 'div'][starts-with(@type, 'recommendation-component')] | *[local-name() = 'div'][starts-with(@type, 'permission-component')]">
7945
+ <fo:block xsl:use-attribute-sets="component-style">
7946
+ <xsl:apply-templates/>
7947
+ </fo:block>
7948
+ </xsl:template>
7940
7949
  <!-- ========== -->
7941
7950
  <!-- END -->
7942
7951
  <!-- ========== -->
@@ -1121,6 +1121,9 @@
1121
1121
  <xsl:attribute-set name="import-style">
1122
1122
  </xsl:attribute-set>
1123
1123
 
1124
+ <xsl:attribute-set name="component-style">
1125
+ </xsl:attribute-set>
1126
+
1124
1127
  <xsl:attribute-set name="recommendation-style">
1125
1128
 
1126
1129
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -7061,41 +7064,47 @@
7061
7064
  </fo:block>
7062
7065
  </xsl:template>
7063
7066
 
7064
- <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
7067
+ <xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
7065
7068
  <fo:block xsl:use-attribute-sets="inherit-style">
7066
7069
  <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
7067
7070
  </fo:block>
7068
7071
  </xsl:template>
7069
7072
 
7070
- <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
7073
+ <xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description'] | *[local-name() = 'div'][@type = 'requirement-description'] | *[local-name() = 'div'][@type = 'recommendation-description'] | *[local-name() = 'div'][@type = 'permission-description']">
7071
7074
  <fo:block xsl:use-attribute-sets="description-style">
7072
7075
  <xsl:apply-templates/>
7073
7076
  </fo:block>
7074
7077
  </xsl:template>
7075
7078
 
7076
- <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
7079
+ <xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification'] | *[local-name() = 'div'][@type = 'requirement-specification'] | *[local-name() = 'div'][@type = 'recommendation-specification'] | *[local-name() = 'div'][@type = 'permission-specification']">
7077
7080
  <fo:block xsl:use-attribute-sets="specification-style">
7078
7081
  <xsl:apply-templates/>
7079
7082
  </fo:block>
7080
7083
  </xsl:template>
7081
7084
 
7082
- <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
7085
+ <xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target'] | *[local-name() = 'div'][@type = 'requirement-measurement-target'] | *[local-name() = 'div'][@type = 'recommendation-measurement-target'] | *[local-name() = 'div'][@type = 'permission-measurement-target']">
7083
7086
  <fo:block xsl:use-attribute-sets="measurement-target-style">
7084
7087
  <xsl:apply-templates/>
7085
7088
  </fo:block>
7086
7089
  </xsl:template>
7087
7090
 
7088
- <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
7091
+ <xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification'] | *[local-name() = 'div'][@type = 'requirement-verification'] | *[local-name() = 'div'][@type = 'recommendation-verification'] | *[local-name() = 'div'][@type = 'permission-verification']">
7089
7092
  <fo:block xsl:use-attribute-sets="verification-style">
7090
7093
  <xsl:apply-templates/>
7091
7094
  </fo:block>
7092
7095
  </xsl:template>
7093
7096
 
7094
- <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
7097
+ <xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import'] | *[local-name() = 'div'][@type = 'requirement-import'] | *[local-name() = 'div'][@type = 'recommendation-import'] | *[local-name() = 'div'][@type = 'permission-import']">
7095
7098
  <fo:block xsl:use-attribute-sets="import-style">
7096
7099
  <xsl:apply-templates/>
7097
7100
  </fo:block>
7098
7101
  </xsl:template>
7102
+
7103
+ <xsl:template match="*[local-name() = 'div'][starts-with(@type, 'requirement-component')] | *[local-name() = 'div'][starts-with(@type, 'recommendation-component')] | *[local-name() = 'div'][starts-with(@type, 'permission-component')]">
7104
+ <fo:block xsl:use-attribute-sets="component-style">
7105
+ <xsl:apply-templates/>
7106
+ </fo:block>
7107
+ </xsl:template>
7099
7108
  <!-- ========== -->
7100
7109
  <!-- END -->
7101
7110
  <!-- ========== -->
@@ -1,5 +1,4 @@
1
1
  require_relative "init"
2
- require_relative "reqt"
3
2
  require "uuidtools"
4
3
  require_relative "../../relaton/render/general"
5
4
 
@@ -124,11 +123,6 @@ module IsoDoc
124
123
  super
125
124
  end
126
125
 
127
- def block(docxml)
128
- super
129
- recommendation_to_table(docxml)
130
- end
131
-
132
126
  def section(docxml)
133
127
  super
134
128
  references(docxml)
@@ -190,12 +184,13 @@ module IsoDoc
190
184
  ::Relaton::Render::Ogc::General.new(language: @lang)
191
185
  end
192
186
 
193
- def bibrender(xml)
194
- unless xml.at(ns("./formattedref"))
195
- xml.children =
196
- "#{bibrenderer.render(xml.to_xml)}"\
197
- "#{xml.xpath(ns('./docidentifier | ./uri | ./note | ./status')).to_xml}"
198
- end
187
+ def bibrender_formattedref(formattedref, xml); end
188
+
189
+ def bibrender_relaton(xml, renderings)
190
+ f = renderings[xml["id"]][:formattedref]
191
+ f &&= "<formattedref>#{f}</formattedref>"
192
+ keep = "./docidentifier | ./uri | ./note | ./status"
193
+ xml.children = "#{f}#{xml.xpath(ns(keep)).to_xml}"
199
194
  end
200
195
 
201
196
  def display_order(docxml)
@@ -4,131 +4,6 @@ module IsoDoc
4
4
  end
5
5
 
6
6
  class Xref < IsoDoc::Xref
7
- def initialize(lang, script, klass, labels, options)
8
- @reqtlabels = {}
9
- super
10
- end
11
-
12
- def reqtlabels
13
- @reqtlabels
14
- end
15
-
16
- FIRST_LVL_REQ = IsoDoc::XrefGen::Blocks::FIRST_LVL_REQ
17
-
18
- def sequential_permission_names(clause, klass, label)
19
- c = Counter.new
20
- clause.xpath(ns(".//#{klass}#{FIRST_LVL_REQ}")).each do |t|
21
- next if t["id"].nil? || t["id"].empty?
22
-
23
- id = c.increment(t).print
24
- @anchors[t["id"]] = anchor_struct(id, t, label, klass,
25
- t["unnumbered"])
26
- reqt_suffix_label(t)
27
- permission_parts(t, label, klass)
28
- sequential_permission_children(t, id)
29
- end
30
- end
31
-
32
- def req_class_paths
33
- { "class" => "@type = 'class'",
34
- "test" => "@type = 'verification'",
35
- "" => "not(@type = 'verification' or @type = 'class' or "\
36
- "@type = 'abstracttest' or @type = 'conformanceclass')" }
37
- end
38
-
39
- def req_class_paths2
40
- { "abstracttest" => "@type = 'abstracttest'",
41
- "conformanceclass" => "@type = 'conformanceclass'" }
42
- end
43
-
44
- def reqt_suffix_label(reqt)
45
- if l = reqt.at(ns("./label"))&.text
46
- @reqtlabels[l] = reqt["id"]
47
- @anchors[reqt["id"]][:xref] += ": <tt>#{l}</tt>"
48
- end
49
- end
50
-
51
- def permission_parts(block, label, klass)
52
- block.xpath(ns("./component[@class = 'part']"))
53
- .each_with_index do |c, i|
54
- next if c["id"].nil? || c["id"].empty?
55
-
56
- @anchors[c["id"]] = anchor_struct((i + "A".ord).chr.to_s, c, label,
57
- klass, c["unnumbered"])
58
- end
59
- end
60
-
61
- REQS = %w(permission requirement recommendation).freeze
62
-
63
- def sequential_permission_children(block, idx)
64
- req_class_paths.each do |k, v|
65
- REQS.each do |r|
66
- sequential_permission_names1(block, idx, "#{r}[#{v}]",
67
- @labels["#{r}#{k}"])
68
- end
69
- end
70
- req_class_paths2.each do |k, v|
71
- sequential_permission_names1(block, idx, "*[#{v}]", @labels[k])
72
- end
73
- end
74
-
75
- def sequential_permission_names1(block, lbl, klass, label)
76
- c = Counter.new
77
- block.xpath(ns("./#{klass}")).each do |t|
78
- next if t["id"].nil? || t["id"].empty?
79
-
80
- id = "#{lbl}#{hierfigsep}#{c.increment(t).print}"
81
- @anchors[t["id"]] = anchor_struct(id, t, label, klass,
82
- t["unnumbered"])
83
- permission_parts(t, label, klass)
84
- sequential_permission_children(t, id)
85
- end
86
- end
87
-
88
- def sequential_asset_names(clause)
89
- sequential_table_names(clause)
90
- sequential_figure_names(clause)
91
- sequential_formula_names(clause)
92
- req_class_paths.each do |k, v|
93
- REQS.each do |r|
94
- sequential_permission_names(clause, "#{r}[#{v}]",
95
- @labels["#{r}#{k}"])
96
- end
97
- end
98
- req_class_paths2.each do |k, v|
99
- sequential_permission_names(clause, "*[#{v}]", @labels[k])
100
- end
101
- end
102
-
103
- def hierarchical_asset_names(clause, num)
104
- hierarchical_table_names(clause, num)
105
- hierarchical_figure_names(clause, num)
106
- hierarchical_formula_names(clause, num)
107
- req_class_paths.each do |k, v|
108
- REQS.each do |r|
109
- hierarchical_permission_names(clause, num, "#{r}[#{v}]",
110
- @labels["#{r}#{k}"])
111
- end
112
- end
113
- req_class_paths2.each do |k, v|
114
- hierarchical_permission_names(clause, num, "*[#{v}]", @labels[k])
115
- end
116
- end
117
-
118
- def hierarchical_permission_names(clause, num, klass, label)
119
- c = Counter.new
120
- clause.xpath(ns(".//#{klass}#{FIRST_LVL_REQ}")).each do |t|
121
- next if t["id"].nil? || t["id"].empty?
122
-
123
- lbl = "#{num}#{hiersep}#{c.increment(t).print}"
124
- @anchors[t["id"]] = anchor_struct(lbl, t, label, klass,
125
- t["unnumbered"])
126
- reqt_suffix_label(t)
127
- permission_parts(t, label, klass)
128
- sequential_permission_children(t, lbl)
129
- end
130
- end
131
-
132
7
  def initial_anchor_names(doc)
133
8
  if @parse_settings.empty? || @parse_settings[:clauses]
134
9
  preface_anchor_names(doc)