Git Product home page Git Product logo

mn-samples-ogc's Introduction

OGC documents in Metanorma

Build Status Docker Build Status

These documents are available in its rendered forms here:

General

This repository contains three documents converted to Metanorma format from the OGC series, used to demonstrate usage of Metanorma in the OGC context.

Documents shown include:

Structure

repos/

git repositories of Metanorma OGC documents (branch gh-pages), added as submodules in this directory. These are the Metanorma XML documents we need here.

source/

(automatically generated) extracted Metanorma XML documents from repos/. This is where the Metanorma XML documents will be processed into output formats.
Note: 17-069r3/ includes plenty of samples of Metanorma requirements.

documents/

(automatically generated) generated Metanorma output from XML files in source/.

published/

(automatically generated) published Metanorma OGC documents together with the Relaton index (index.html).

Usage

This repository uses metanorma to run these processes.

Pre-requisites

  • Make sure to initialize submodules: the easiest way is to clone this repository with --recursive flag.

  • Have puppeteer NPM package installed globally.

Running via Docker or locally

If you have installed the build tools locally, and wish to run the locally-installed compilation tools, there is nothing further to set.

If you don’t want to deal with local dependencies, use the docker:

docker run -v "$(pwd)":/metanorma -w /metanorma -it metanorma/mn metanorma site generate . -o published -c metanorma.yml

Building The Document

metanorma site generate . -o published -c metanorma.yml

Updating document repos

Update the submodules:

git submodule foreach git pull
git add repos
git commit -m 'Update document repos'

License

These documents are privately shared by OGC and the copyright of such documents (as well as their converted text) remain unchanged.

All other code and information, copyright Ribose.

mn-samples-ogc's People

Contributors

ronaldtse avatar camobap avatar manuelfuenmayor avatar anermina avatar opoudjis avatar metanorma-ci avatar github-actions[bot] avatar strogonoff avatar

Stargazers

 avatar

Watchers

 avatar Ildar Manzhikov avatar James Cloos avatar  avatar Maxim Samsonov avatar  avatar Alexander Dyuzhev avatar Frank Hofmann avatar Mehmet Sabırlı avatar Vasil Buraliev avatar webdev778 avatar KW Kwan avatar  avatar  avatar

Forkers

koalageo situx

mn-samples-ogc's Issues

15-104r5 contains 7 invalid PNG images

$ pngcheck *.png
001.png  illegal (unless recently approved) unknown, public chunk iDOT
ERROR: 001.png
002.png  illegal (unless recently approved) unknown, public chunk iDOT
ERROR: 002.png
003.png  illegal (unless recently approved) unknown, public chunk iDOT
ERROR: 003.png
OK: 004.png (903x390, 32-bit RGB+alpha, non-interlaced, 76.0%).
005.png  illegal (unless recently approved) unknown, public chunk iDOT
ERROR: 005.png
006.png  illegal (unless recently approved) unknown, public chunk iDOT
ERROR: 006.png
OK: 007.png (1800x1116, 24-bit RGB, non-interlaced, 96.1%).
OK: 008.png (1797x2112, 24-bit RGB, non-interlaced, 93.1%).
OK: 009.png (1800x1703, 24-bit RGB, non-interlaced, 95.3%).
OK: 010.png (1800x1425, 24-bit RGB, non-interlaced, 88.6%).
OK: 011.png (1800x1487, 24-bit RGB, non-interlaced, 92.5%).
012.png  illegal (unless recently approved) unknown, public chunk iDOT
ERROR: 012.png
013.png  illegal (unless recently approved) unknown, public chunk iDOT
ERROR: 013.png
OK: 014.png (896x351, 32-bit RGB+alpha, non-interlaced, 72.6%).

Errors were detected in 7 of the 14 files tested.
No errors were detected in 7 of the 14 files tested.

Convert OGC document samples (batch 2)

Convert 14-065r2 requirements into Metanorma requirements

14-065r2 contains Requirements.

Example:

[%unnumbered]
[cols="2"]
|===
2+^h|Requirements Class
2+|http://www.opengis.net/spec/WPS/2.0/req/conceptual-model/job-control

.^|*Target type* |Derived information model, encoding, and software implementation

.^|*Dependency* |http://www.opengis.net/spec/WPS/2.0/req/conceptual-model/capabilities

.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/conceptual-model/job/identifier +
_The service shall assign a unique identifier to each job._

.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/conceptual-model/job/identifier-unavailable-exception +
_The Service shall return an exception, if the client has attempted to use an invalid job identifier._

.^|*Requirement* a|	http://www.opengis.net/spec/WPS/2.0/req/conceptual-model/job-control/execution +
_The service shall provide the ability to execute a process, i.e. to create a new job for a given process execution capability. This capability enables service clients to execute the process defined in capabilities._

.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/conceptual-model/job-control/dismiss +
_The service may provide the capability to dismiss a submitted job. This capability enables service clients to indicate that they are no longer interested in the job or its results and permit the server to free the associated resources as soon as possible._
|===

Contains Requirement Classes:

Example:

[%unnumbered]
[cols="2"]
|===
2+^h|Requirements Class
2+|http://www.opengis.net/spec/WPS/2.0/req/service/model

.^|*Target type* |Software implementation
.^|*Dependency* |http://www.opengis.net/spec/WPS/2.0/req/conceptual-model
.^|*Dependency* |OWS Common 2.0
.^|*Requirement* a|	http://www.opengis.net/spec/WPS/2.0/req/service/model/data-transmission +
_Requirements class for data transmission._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/handling +
_Requirements class for WPS service handling._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/process-offering-properties +
_Requirements class for common process offering properties._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/status-info +
_Requirements class for the status information document._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/result +
_Requirements class for the processing result document._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/get-capabilities +
_Requirements class for the GetCapabilities operation._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/describe-process +
_Requirements class for the DescribeProcess operation._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/execute +
_Requirements class for the Execute operation._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/get-status +
_Requirements class for the GetStatus operation._
.^|*Requirement* a|http://www.opengis.net/spec/WPS/2.0/req/service/model/get-result +
_Requirements class for the GetResult operation._
|===

And also contains Tests:

[%unnumbered]
[cols="2"]
|===
|Test id:	|conf/service/profile/basic-wps
|Test purpose:	|Verify that the server implements the Basic WPS conformance class.
|Test method:	a|Verify that the server implements the Synchronous WPS and/or the Asynchronous WPS conformance class. Verify that the requests and responses to a supported operation are syntactically correct. Verify that the service supports the Synchronous WPS Conformance class, the Asynchronous WPS Conformance class or both. Verify that all process offerings implement the native process model. Verify the following list of conformance tests:

- <<annex-subsec-process-xml-encoding>>, <<annex-subsec-process-data-types-xml-encoding>>
- <<annex-subsec-synchronous-wps-conformance-class>> and/or <<annex-subsec-asynchronous-wps-conformance-class>>
|===

Metanorma supports encoding Requirements, Requirement Classes and Tests according to this syntax: https://www.metanorma.com/author/ogc/authoring/#recommendations-requirements-and-permissions

@manuel489 could you help convert all of these elements into the new syntax? Thanks!

Code-blocks get numbered as if they were figures (DOC output)

This issue alters the numbering order of the actual figures (in any output).

Code-block sample:

== Code-block sample
----
1 <xsd:complexType name="LanguageStringType">
2   <xsd:simpleContent>
3       <xsd:extension base="string">
4           <xsd:attribute ref="xml:lang" use="optional"/>
5           <!-- ... additional optional attributes ... --!>
5       </xsd:extension>
6   </xsd:simpleContent>
7 </xsd:complexType>
----

DOC output:
capture2

File sample:
ogc-cissue.zip

Issues with 08-062r7

Issues to be handled in markup or metanorma-ogc:

  • Unlike the other OGC documents, this one doesn't have submission, approval and publication date, rather only "Date". There are also no editors listed. I'm not sure how this should be solved in adoc.
  • Warning on the front page has a different content, as well as the License Agreement.
  • [class=steps] is not working.
  • Header and footer in the generated .doc should have a different content.
  • Text is not justified in the generated .doc file.
  • Years are missing in the quotes.

Inconsistency with 10-100r3 document

From @manuel489 in #16 :

In the original document, there are several titles that shouldn't be part of the main content as they are part of the "front material" of the doc. That means, they should get numbered with Roman numerals (i., ii., iii., ..., etc). These titles are: Document terms and definitions, Document contributor contact points, Changes to the OpenGIS(R) Abstract Specification, Changes to existing Implementation Standards, and Future Work.

However, as instructed by OGC, the prefix sections are fixed. We will need to address this.

Build failure in Windows due to Chocolatey not seeing Metanorma package

https://github.com/metanorma/mn-samples-ogc/pull/108/checks?check_run_id=1238406007

The term 'metanorma' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
815
Setup metanorma
816
ERROR: The term 'metanorma' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
817
Environment Vars (like PATH) have changed. Close/reopen your shell to
818
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
819
The install of metanorma was NOT successful.
820
Error while running 'C:\ProgramData\chocolatey\lib\metanorma\tools\chocolateyinstall.ps1'.
821
 See log for details.
822

823

`make` fails

When I run make, I get the following:

$ make
...
Bundle complete! 2 Gemfile dependencies, 67 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
BUILT_TARGET=repos/ogc-tcpnp/ogc-tcpnp.xml; \
	if [ "$BUILT_TARGET" != "null" ]; then \
	cp "$BUILT_TARGET" sources/ogc-tcpnp.xml; \
	fi
cp: repos/ogc-tcpnp/ogc-tcpnp.xml: No such file or directory
make: *** [sources/ogc-tcpnp.xml] Error 1

Differences of 00-027 with original

Differences between the original and the generated document:

  • Style of the front page is different. Only release date is given in the original document (no submission/approval/publication date).
  • Instead of the License Agreement, which is included in the generated document, the original contains Notice.
  • List of Figures is included in the generated document, unlike in the original.
  • The first section (Preface) is numbered with 0 in the original document and with 1 in the generated document.
  • Header and footer content is different.
  • I'm not sure whether the page break should be added in .adoc after each section, or it should be set as a general rule that each section starts on a new page. Please let me know if I should add page breaks.
  • In the original document, figures and their captions are left-aligned, while they are centered in the generated document (which I believe is good).
  • [class=steps] is not working in OGC.
  • In cross-references, generated document uses the word "Clause", while the original document uses "section".
  • [appendix,obligation=informative] produces the title "Annex", while "Appendix" is expected.

Originally from #25 .

Convert OGC document samples (batch 1)

  • community-standard (18-053r2 in #12) [http://docs.opengeospatial.org/cs/18-053r2/18-053r2.html] (merged)

  • engineering-report (18-046 in #12) [http://docs.opengeospatial.org/per/18-046.html] (merged)

  • reference-model (08-062r7 in #12) [https://portal.opengeospatial.org/files/?artifact_id=47245] (merged)

  • user-guide (16-080 in #18) [https://docs.opengeospatial.org/guides/16-080.html] (merged)

  • policy (05-020r27 in #11) [http://docs.opengeospatial.org/pol/05-020r27/05-020r27.html] (merged)

  • profile (10-100r3 in #16) [http://portal.opengeospatial.org/files/?artifact_id=42729] (merged)

  • technical-corrigendum (14-065r2 in #26) [http://docs.opengeospatial.org/is/14-065/14-065.html] (merged)

  • standard-with-suite [most OGC standards fall under this category] Moved to #27

  • test-suite (00-027 in #25) Catalog Service Interface 1.0 - Compliance Test (merged)

Question on IETF bibliographic item rendering

@anermina re: bibliographic items:

You might realize that the IETF references are "auto-fetched" (https://www.metanorma.com/author/topics/building/reference-lookup/)

(and ISO, IEC, ITU, OGC, NIST ...)

This is a manual rendering of a bibliographic item:

* [[[openapi,Open API Initiative]]], Open API Initiative: OpenAPI Specification 3.0.2, 2018 https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md

This is an auto-fetched document, and is identical in effect to:

* [[[rfc2616,RFC 2616]]], Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., Berners-Lee, T.: IETF RFC 2616, HTTP/1.1, 1999 http://tools.ietf.org/rfc/rfc2616.txt

SAME AS:

* [[[rfc2616,RFC 2616]]]

Is this the difference you see?

Originally posted by @ronaldtse in #36 (comment)

Failure in relaton-iec in GitHub Actions workflow (master build failed)

https://github.com/metanorma/mn-samples-ogc/runs/2702879797?check_suite_focus=true

[relaton-iec] ("ISO/IEC DIR 2") fetching...
/__enclose_io_memfs__/local/vendor/bundle/ruby/2.4.0/gems/relaton-iec-1.7.8/lib/relaton_iec/hit_collection.rb:28:in `to_all_parts': undefined local variable or method `lang' for #<RelatonIec::HitCollection:0x000000001bea9848> (NameError)
	from /__enclose_io_memfs__/local/vendor/bundle/ruby/2.4.0/gems/relaton-iec-1.7.8/lib/relaton_iec/iec_bibliography.rb:169:in `results_filter'
	from /__enclose_io_memfs__/local/vendor/bundle/ruby/2.4.0/gems/relaton-iec-1.7.8/lib/relaton_iec/iec_bibliography.rb:208:in `iecbib_get'
	from /__enclose_io_memfs__/local/vendor/bundle/ruby/2.4.0/gems/relaton-iec-1.7.8/lib/relaton_iec/iec_bibliography.rb:46:in `get'
	from /__enclose_io_memfs__/local/vendor/bundle/ruby/2.4.0/gems/relaton-iso-1.7.4/lib/relaton_iso/iso_bibliography.rb:53:in `get'
	from /__enclose_io_memfs__/local/vendor/bundle/ruby/2.4.0/gems/relaton-iso-1.7.4/lib/relaton_iso/processor.rb:19:in `get'

This is blocking generation of mn-samples-ogc.

Also posted to metanorma/packed-mn#99

Issues with 18-053r2

Issues to be handled in markup or metanorma-ogc:

  • Unnumbered tables are shown in the list of tables (I'm not sure if this is fine, since they are untitled).
  • Chapters order is different (for the first 3 chapters).
  • [class=steps] is not working.
  • There's no option such as [source,json], so I've used [source,ruby].
  • Warning on the front page has a different content, as well as the License Agreement.
  • Front page is slightly different.
  • There should be no "Open Geospatial Consortium 18-053r2:2020" in the header, and the footer should be different.
  • In Terms and Definitions section, subsection titles are written below the corresponding number of the subsection, instead in the same line.
  • Annex B should have the subtitle "non-normative". I'm not sure how to produce this, because obligation attribute should be informative or normative (?).
  • Normative references aren't rendering and I didn't manage to figure out why.

Issues with 18-046

Issues to be handled in markup or metanorma-ogc:

  • In chapter 6 (Solutions), tag "elif" is used, but it isn't recognized by Metanorma when rendering. In order to check the output, I've changed this tag to "else" (this renders well), and then reverted change to "elif". Error output:
    C:/tools/ruby25/lib/ruby/gems/2.5.0/gems/liquid-4.0.3/lib/liquid/block.rb:38:in `unknown_tag': Liquid syntax error: Unkn
    own tag 'elseif' (Liquid::SyntaxError)
    Fixed in metanorma/metanorma-standoc#200
  • Unnumbered tables are shown in the list of tables (I'm not sure if this is fine, since they are untitled).
  • Chapters order is different (for the first 3 chapters).
  • In .html version, xml codes go out of the margins, i.e. line breaks are not used instead.
  • [class=steps] is not working.
  • I've mainly used [source,xml] because there are no options available for many code types.
  • Warning on the front page has a different content, as well as the License Agreement.
  • There should be no "Open Geospatial Consortium OGC 18-046:2020" in the header, and the footer should be different.

Missing references in 17-069 and 18-053r2

There are a few unresolved ID reference in the source XML documents (https://metanorma.github.io/mn-samples-ogc/):

  • 17-069.xml

Unresolved ID reference "rc2616" found.
Unresolved ID reference "rc_oas" found.
Unresolved ID reference "encodings" found.

  • 18-053r2.xml

Unresolved ID reference "grids" found.
Unresolved ID reference "_BinaryBodyReference_1]" found.
Unresolved ID reference "gltf" found.
Unresolved ID reference "_glTF" found.
Unresolved ID reference "composite" found.

Originally posted by @Intelligent2013 in metanorma/mn-native-pdf#76 (comment)

Update Table 44 in 14-065r2 when fix confirmed

In 14-065r2, Table 4 is missing an anchor for footnote b.

Footnotes a, c, d are all referred to within the table. However, b is missing. There is no anchor for where b is supposed to be.

A footnote must be anchored somewhere. I've put it to the "Output" cell now, but waiting for OGC confirmation.

image

Label issues in 17-069 and 18-046

echo "Running locally..."; bundle exec metanorma documents/17-069.xml
Running locally...
nil versions are discouraged and will be deprecated in Rubygems 4
No label has been processed for ID _b44ec54d-528f-4bb4-bbc0-359f49d3762f
No label has been processed for ID rc_oas
No label has been processed for ID encodings
...
echo "Running locally..."; bundle exec metanorma documents/18-046.xml
Running locally...
nil versions are discouraged and will be deprecated in Rubygems 4
No label has been processed for ID demonstration_workshop
No label has been processed for ID kickoff_workshop
No label has been processed for ID hackaton_scenario

The first document is in https://github.com/metanorma/ogc-wfs where we probably don't want to update.

The second document has anchors set on paragraphs, but they're not carried to the XML.

Encode 17-069r3 requirements as metanorma requirements

From @manuel489:

I was working on it, but I stumbled with a problem: this document contains Conformance Class and Abstract Test blocks. And I believe we don't have a proper markup for these cases. (I didn't find any documentation about it.)

To give an example of these two blocks:

Conformance Class:
capture-conformance

Abstract Test:
capture-abstract

Originally posted by @manuel489 in #57 (comment)

This is actionable when metanorma/metanorma-ogc#110 is fixed.

Questions for OGC 10-091r3

  • Terms and definitions section is given twice in this document - first in the preface, then as a regular section. Currently, both sections appear separately in the generated document, but none of them is in the preface (although I've marked the first one with [.preface] tag). Preface doesn't contain Terms and definitions by default, but here we have an exception. How should this be handled?

Original (preface):
image

Original (regular section):
image

Generated :
image
image

  • Normative references section contains different description than it regularly does. I didn't add this description in .adoc, but please let me know if I should.

Original:
image

Generated:
image

  • There are two references sections, as well. The first one refers to normative references, and the second one should be bibliography. The second References section (the one before the annex) couldn't be generated with the title "References" (probably because it then refers to Normative References), so I renamed it to "Bibliography". Please let me know is this a proper way of solving this issue, or something else should have been done.

Missing OGC bibliographic items from samples

[relaton-ogc] WARNING: no match found online for OGC 10-177. The code must be exactly like it is on the standards website.
335
[relaton-ogc] WARNING: no match found online for OGC 10-176. The code must be exactly like it is on the standards website.
[relaton-ogc] WARNING: no match found online for OGC 09-046. The code must be exactly like it is on the standards website.
[relaton-ogc] WARNING: no match found online for OGC 09-047. The code must be exactly like it is on the standards website.
[relaton-ogc] WARNING: no match found online for OGC 09-048. The code must be exactly like it is on the standards website.
[relaton-ogc] WARNING: no match found online for OGC 08-125. The code must be exactly like it is on the standards website.
[relaton-ogc] WARNING: no match found online for OGC 06-135. The code must be exactly like it is on the standards website.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.