From 3415998d5986a44ffb706026b6d58ade2e914e03 Mon Sep 17 00:00:00 2001 From: Wendell Piez Date: Thu, 27 May 2021 11:10:26 -0400 Subject: [PATCH 1/2] Now displaying constraints in documentation at point of definition; WIP on constraint path matching logic --- .../xslt-M4/document/common-reference.xsl | 134 +++++++++++------- toolchains/xslt-M4/metapath/docs-metapath.xsl | 85 ++++++++--- 2 files changed, 147 insertions(+), 72 deletions(-) diff --git a/toolchains/xslt-M4/document/common-reference.xsl b/toolchains/xslt-M4/document/common-reference.xsl index 91af58a1e..a17499ba7 100644 --- a/toolchains/xslt-M4/document/common-reference.xsl +++ b/toolchains/xslt-M4/document/common-reference.xsl @@ -7,38 +7,87 @@ xmlns:m="http://csrc.nist.gov/ns/oscal/metaschema/1.0" exclude-result-prefixes="#all"> + - - - + + - - - - ---> - + but the template will be called for all the constraint's descendants as well -\-> + + + + + + + +
+ Constraints + +
+
- - + + +

+ +

+
+ + Empty description on { name(..) } + +
+ + +
+

(In use)

+ +
+
+ + + + + + + + + + + + - +

Allowed value{ 's'[count($enums) gt 1] } @@ -77,11 +126,11 @@ { ancestor::constraint/../@_tree-xml-id } - +

  • :
  • - +

    @@ -93,7 +142,7 @@ - +

    constraint @@ -103,7 +152,7 @@

    - +

    @@ -115,7 +164,7 @@

    - +

    constraint @@ -130,7 +179,7 @@

    - +

    @@ -150,7 +199,7 @@

    - +

    constraint @@ -171,31 +220,6 @@

    - - -

    - -

    -
    - - Empty description on { name(..) } - -
    - - -
    -

    (In use)

    - -
    -
    - - - - - - - - diff --git a/toolchains/xslt-M4/metapath/docs-metapath.xsl b/toolchains/xslt-M4/metapath/docs-metapath.xsl index a2568b62a..1c77f795f 100644 --- a/toolchains/xslt-M4/metapath/docs-metapath.xsl +++ b/toolchains/xslt-M4/metapath/docs-metapath.xsl @@ -10,8 +10,6 @@ - - - control[a=b]/part//./part/prop[@name='label'] | a/c + a / (b|c|d) - + - + + { . } - --> - + + + @@ -60,7 +58,7 @@ self axis is dropped child and attribute axis are unified so '/path/to//deep[$true]/@in' becomes 'deep/in' - 'any/where | you|want' becomes 'any/where' and 'you/want' (two targets) + 'any/where | you/want' becomes 'any/where' and 'you/want' (two targets) a path that does not parse should be empty (TODO) or come back '*' (match everything)? --> @@ -71,6 +69,22 @@ + + + + + + + + + + + + + + + + @@ -82,7 +96,7 @@ + m:match-paths($context-path,$t)"/> @@ -100,24 +114,51 @@ ( ($cs[$p],$ts[$p])='*' or $cs[$p]=$ts[$p] )"/> + + + + + - + + + + + + + + ( + + + + + ) + + + + - - + + - + * + @@ -131,7 +172,13 @@ - + + + + + + + @@ -162,6 +209,10 @@ node() + + . + + From dc9c1b1c7fe8042d2f3eff9613f8aa57dfe9596e Mon Sep 17 00:00:00 2001 From: Wendell Piez Date: Thu, 27 May 2021 12:53:27 -0400 Subject: [PATCH 2/2] Updating convertor generator and other pipelines to latest XSLT sequence. --- toolchains/xslt-M4/compose/make-model-map.xsl | 135 ++++++--- .../xslt-M4/compose/make-model-map2.xsl | 269 ------------------ .../xslt-M4/document/hugo-css-emulator.xsl | 5 +- .../document/json/object-reference-html.xsl | 35 ++- .../xslt-M4/make-any-metaschema-docs.xpl | 2 +- .../xslt-M4/make-hugo-metaschema-docs.xpl | 2 +- ...-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl | 15 +- ...-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl | 15 +- .../testing/test-xml-json-roundtrip.xpl | 2 +- .../xslt-M4/write-hugo-metaschema-docs.xpl | 2 +- 10 files changed, 148 insertions(+), 334 deletions(-) delete mode 100644 toolchains/xslt-M4/compose/make-model-map2.xsl diff --git a/toolchains/xslt-M4/compose/make-model-map.xsl b/toolchains/xslt-M4/compose/make-model-map.xsl index a7b5252e9..3b0bce441 100644 --- a/toolchains/xslt-M4/compose/make-model-map.xsl +++ b/toolchains/xslt-M4/compose/make-model-map.xsl @@ -9,6 +9,7 @@ exclude-result-prefixes="#all" version="3.0"> + @@ -19,38 +20,47 @@ - - - + + + - - - - - - - - - + + + + + + + + + + + + + empty - + true - - + + + + + + - + @@ -62,18 +72,25 @@ - + + - - + + - + + + + + + + @@ -84,18 +101,25 @@ - - - - - - + + + + + + + + + + + + global - + + - + @@ -138,6 +162,24 @@ + + + + + + + + + + + + + + + + + + - + + - + @@ -196,23 +239,31 @@ + - - + + + + - - + + - - + + - - - + + + + + + + + \ No newline at end of file diff --git a/toolchains/xslt-M4/compose/make-model-map2.xsl b/toolchains/xslt-M4/compose/make-model-map2.xsl deleted file mode 100644 index 3b0bce441..000000000 --- a/toolchains/xslt-M4/compose/make-model-map2.xsl +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - empty - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - global - - - - - - - - - - - - - - - in-use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - STRVALUE - RICHTEXT - PROSE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/toolchains/xslt-M4/document/hugo-css-emulator.xsl b/toolchains/xslt-M4/document/hugo-css-emulator.xsl index 1848c5f87..d6456aa6f 100644 --- a/toolchains/xslt-M4/document/hugo-css-emulator.xsl +++ b/toolchains/xslt-M4/document/hugo-css-emulator.xsl @@ -48,6 +48,9 @@ + + +
      @@ -56,7 +59,7 @@ - +
    • { . }

      diff --git a/toolchains/xslt-M4/document/json/object-reference-html.xsl b/toolchains/xslt-M4/document/json/object-reference-html.xsl index 7c88a9103..fdd1411e5 100644 --- a/toolchains/xslt-M4/document/json/object-reference-html.xsl +++ b/toolchains/xslt-M4/document/json/object-reference-html.xsl @@ -74,19 +74,46 @@

      An array of { $array-of/formal-name } { $array-of/name()}s

      -

      + + + +

      An object { formal-name } { $array-of/name()}s

      + +
      + + + +

      A { name(.) } { formal-name }

      + +
      + + +
      -

      { name(.) => replace('^define\-','') } { formal-name }

      +

      + + + { name(.) => replace('^define\-','') } of + + + + + + +

      diff --git a/toolchains/xslt-M4/make-any-metaschema-docs.xpl b/toolchains/xslt-M4/make-any-metaschema-docs.xpl index a35cc253d..8cec1fbd2 100644 --- a/toolchains/xslt-M4/make-any-metaschema-docs.xpl +++ b/toolchains/xslt-M4/make-any-metaschema-docs.xpl @@ -140,7 +140,7 @@ - + diff --git a/toolchains/xslt-M4/make-hugo-metaschema-docs.xpl b/toolchains/xslt-M4/make-hugo-metaschema-docs.xpl index b54855965..57e0e6d0e 100644 --- a/toolchains/xslt-M4/make-hugo-metaschema-docs.xpl +++ b/toolchains/xslt-M4/make-hugo-metaschema-docs.xpl @@ -100,7 +100,7 @@ - + diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl index 5587b04d3..9e2f1ee19 100644 --- a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl +++ b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl @@ -61,13 +61,14 @@ - metaschema-collect.xsl - metaschema-build-refs.xsl - metaschema-trim-extra-modules.xsl - metaschema-prune-unused-definitions.xsl - metaschema-resolve-use-names.xsl - metaschema-resolve-sibling-names.xsl - metaschema-digest.xsl + compose/metaschema-collect.xsl + compose/metaschema-build-refs.xsl + compose/metaschema-trim-extra-modules.xsl + compose/metaschema-prune-unused-definitions.xsl + compose/metaschema-resolve-use-names.xsl + compose/metaschema-resolve-sibling-names.xsl + compose/metaschema-digest.xsl + compose/annotate-composition.xsl compose/make-model-map.xsl diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl index 5b4184cc4..a00ac4e46 100644 --- a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl +++ b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl @@ -55,13 +55,14 @@ - metaschema-collect.xsl - metaschema-build-refs.xsl - metaschema-trim-extra-modules.xsl - metaschema-prune-unused-definitions.xsl - metaschema-resolve-use-names.xsl - metaschema-resolve-sibling-names.xsl - metaschema-digest.xsl + compose/metaschema-collect.xsl + compose/metaschema-build-refs.xsl + compose/metaschema-trim-extra-modules.xsl + compose/metaschema-prune-unused-definitions.xsl + compose/metaschema-resolve-use-names.xsl + compose/metaschema-resolve-sibling-names.xsl + compose/metaschema-digest.xsl + compose/annotate-composition.xsl compose/make-model-map.xsl diff --git a/toolchains/xslt-M4/testing/test-xml-json-roundtrip.xpl b/toolchains/xslt-M4/testing/test-xml-json-roundtrip.xpl index bfe03759c..f11aa42ff 100644 --- a/toolchains/xslt-M4/testing/test-xml-json-roundtrip.xpl +++ b/toolchains/xslt-M4/testing/test-xml-json-roundtrip.xpl @@ -100,7 +100,7 @@ - + diff --git a/toolchains/xslt-M4/write-hugo-metaschema-docs.xpl b/toolchains/xslt-M4/write-hugo-metaschema-docs.xpl index 3743a9457..b2c1c7fed 100644 --- a/toolchains/xslt-M4/write-hugo-metaschema-docs.xpl +++ b/toolchains/xslt-M4/write-hugo-metaschema-docs.xpl @@ -58,7 +58,7 @@ - +