Skip to content

Commit 5cf2f4a

Browse files
committed
Formatting edits for 2nd edition publication
1 parent 97aded4 commit 5cf2f4a

File tree

6 files changed

+36
-36
lines changed

6 files changed

+36
-36
lines changed

excerpts/0x00-Header.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -212,21 +212,20 @@
212212
}
213213
</style>
214214
<pre class="metadata">
215-
title: CycloneDX Bill of Materials Specification
215+
title: CycloneDX Bill of materials specification
216216
shortname: ECMA-424
217-
status: draft
217+
status: standard
218218
location: https://tc54.org/ecma424/
219219
markEffects: true
220-
<!-- version: DRAFT -->
221220
version: 2<sup>nd</sup> Edition
222221
</pre>
223222
<p><img src="img/ecma-logo.svg" id="ecma-logo" alt="Ecma International logo"></p>
224223
<div id="metadata-block">
225-
<h1>About this Specification</h1>
224+
<h1>About this specification</h1>
226225
<p>The document at <a href="https://tc54.org/ecma424/">https://tc54.org/ecma424/</a> is the most accurate and
227226
up-to-date CycloneDX specification.</p>
228227
<p>This document is available as <a href>a single page</a> and as <a href="multipage/">multiple pages</a>.</p>
229-
<h1>Contributing to this Specification</h1>
228+
<h1>Contributing to this specification</h1>
230229
<p>This specification is developed on GitHub with the help of the OWASP community. There are a number of ways to
231230
contribute to the development of this specification:</p>
232231
<ul>

excerpts/0x10-Introduction.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@ <h1>Introduction</h1>
2121
components, CycloneDX enables organizations to achieve greater security and reliability in their supply chains,
2222
supporting a wide range of use cases from product security to vendor risk management.
2323
</p>
24+
<p class="adoption-info">This Ecma Standard was developed by Technical Committee 54 and was adopted by the General Assembly of December 2025.</p>
2425
</emu-intro>

excerpts/0x20-Scope-Conformance-References.html

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ <h1>Scope</h1>
66
<emu-clause id="sec-conformance">
77
<h1>Conformance</h1>
88
<emu-clause id="sec-requirements-terminology">
9-
<h1>Requirements Terminology</h1>
9+
<h1>Requirements terminology</h1>
1010
<p>
1111
In this standard, the words that are used to define the significance of each requirement are detailed below.
1212
These words are used in accordance with their definitions in <a href="https://www.ietf.org/rfc/rfc2119.txt">RFC 2119</a>,
@@ -20,7 +20,7 @@ <h1>Requirements Terminology</h1>
2020
<p>The words "must not", "shall not", "should not", and "not recommended", are the negative forms of "must", "shall", "should", and "recommended", respectively. There is no negative form of "may".</p>
2121
</emu-clause>
2222
<emu-clause id="sec-implementation-conformance">
23-
<h1>Implementation Conformance</h1>
23+
<h1>Implementation conformance</h1>
2424
<p>
2525
This standard includes the implementation requirements that systems processing CycloneDX content must satisfy
2626
in order to achieve conforming interoperability. An implementation is a consumer, or a producer, or both a
@@ -43,15 +43,15 @@ <h1>Implementation Conformance</h1>
4343
</emu-clause>
4444

4545
<emu-clause id="sec-normative-references">
46-
<h1>Normative References</h1>
47-
<p>The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
46+
<h1>Normative references</h1>
47+
<p>The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
4848
<p>
49-
RFC 3986, <i>Uniform Resource Identifier (URI): Generic Syntax</i>.<br>
50-
<a href="https://datatracker.ietf.org/doc/html/rfc3986">https://datatracker.ietf.org/doc/html/rfc3986</a>
49+
ECMA-404, <i>The JSON Data Interchange Format</i><br>
50+
<a href="https://ecma-international.org/publications-and-standards/standards/ecma-404/">https://ecma-international.org/publications-and-standards/standards/ecma-404/</a>
5151
</p>
5252
<p>
53-
ECMA ECMA-404, <i>The JSON Data Interchange Format</i><br>
54-
<a href="https://ecma-international.org/publications-and-standards/standards/ecma-404/">https://ecma-international.org/publications-and-standards/standards/ecma-404/</a>
53+
IETF RFC 3986, <i>Uniform Resource Identifier (URI): Generic Syntax</i><br>
54+
<a href="https://datatracker.ietf.org/doc/html/rfc3986">https://datatracker.ietf.org/doc/html/rfc3986</a>
5555
</p>
5656
<p>
5757
IETF RFC3339, <i>Date and Time on the Internet: Timestamps</i><br>
@@ -72,74 +72,74 @@ <h1>Normative References</h1>
7272
</emu-clause>
7373

7474
<emu-clause id="sec-terms-and-definitions">
75-
<h1>Terms and Definitions</h1>
75+
<h1>Terms and definitions</h1>
7676
<p>For the purposes of this document, the following terms and definitions apply. Terms explicitly defined in this standard are not to be presumed to refer implicitly to similar terms defined elsewhere.</p>
7777
<emu-clause id="sec-terms-and-definitions-attestation">
78-
<h1>Attestation</h1>
78+
<h1>attestation</h1>
7979
<p>A formal declaration that something is true or accurate, often backed by documentation or verification from an authoritative source. It serves as a confirmation or proof of a fact, condition, or compliance with specific standards or requirements.</p>
8080
</emu-clause>
8181
<emu-clause id="sec-terms-and-definitions-author">
82-
<h1>Author</h1>
82+
<h1>author</h1>
8383
<p>A person who creates written works, such as software or data.</p>
8484
</emu-clause>
8585
<emu-clause id="sec-terms-and-definitions-component-function">
86-
<h1>Component function</h1>
86+
<h1>component function</h1>
8787
<p>The purpose for which a software component exists. Examples of component functions include parsers, database persistence, and authentication providers.</p>
8888
</emu-clause>
8989
<emu-clause id="sec-terms-and-definitions-component-type">
90-
<h1>Component type</h1>
90+
<h1>component type</h1>
9191
<p>The general classification of a software components architecture. Examples of component types include libraries, frameworks, applications, containers, and operating systems.</p>
9292
</emu-clause>
9393
<emu-clause id="sec-terms-and-definitions-manufacturer">
94-
<h1>Manufacturer</h1>
94+
<h1>manufacturer</h1>
9595
<p>An entity that develops and produces products such as virtual or physical goods.</p>
9696
</emu-clause>
9797
<emu-clause id="sec-terms-and-definitions-direct-dependency">
98-
<h1>Direct dependency</h1>
98+
<h1>direct dependency</h1>
9999
<p>A component that is referenced by a main (metadata) component itself.</p>
100100
</emu-clause>
101101
<emu-clause id="sec-terms-and-definitions-purl">
102102
<h1>Package-URL (PURL)</h1>
103103
<p>An ecosystem-agnostic specification which standardizes the syntax and location information of software components.</p>
104104
</emu-clause>
105105
<emu-clause id="sec-terms-and-definitions-pedigree">
106-
<h1>Pedigree</h1>
106+
<h1>pedigree</h1>
107107
<p>Data which describes the lineage and/or process for which software has been created or altered.</p>
108108
</emu-clause>
109109
<emu-clause id="sec-terms-and-definitions-procurement">
110-
<h1>Procurement</h1>
110+
<h1>procurement</h1>
111111
<p>The process of agreeing to terms and acquiring physical or virtual goods or services.</p>
112112
</emu-clause>
113113
<emu-clause id="sec-terms-and-definitions-provenance">
114-
<h1>Provenance</h1>
114+
<h1>provenance</h1>
115115
<p>The chain of custody and origin of a software component. Provenance incorporates the point of origin through distribution as well as derivatives in the case of software that has been modified.</p>
116116
</emu-clause>
117117
<emu-clause id="sec-terms-and-definitions-provider">
118-
<h1>Provider</h1>
118+
<h1>provider</h1>
119119
<p>An entity that offers services, infrastructure, or platforms. These services can include computing resources, storage, software applications, and networking capabilities.</p>
120120
</emu-clause>
121121
<emu-clause id="sec-terms-and-definitions-publisher">
122-
<h1>Publisher</h1>
122+
<h1>publisher</h1>
123123
<p>An entity that produces and distributes content, such as software, to the public.</p>
124124
</emu-clause>
125125
<emu-clause id="sec-terms-and-definitions-swid">
126-
<h1>Software Identification (SWID)</h1>
126+
<h1>Software identification (SWID)</h1>
127127
<p>An ISO standard that formalizes XML records that uniquely identify software products, versions, and installations to support asset management, security, and compliance.</p>
128128
</emu-clause>
129129
<emu-clause id="sec-terms-and-definitions-spdx">
130130
<h1>Software Package Data Exchange (SPDX)</h1>
131131
<p>A Linux Foundation project which produces a standardized list of open source licences and defines an expression language for those licences.</p>
132132
</emu-clause>
133133
<emu-clause id="sec-terms-and-definitions-supplier">
134-
<h1>Supplier</h1>
134+
<h1>supplier</h1>
135135
<p>An entity that provides products or services to another entity, typically within a supply chain.</p>
136136
</emu-clause>
137137
<emu-clause id="sec-terms-and-definitions-third-party-component">
138-
<h1>Third-party component</h1>
138+
<h1>third-party component</h1>
139139
<p>Any software component not directly created including open source, "source available", and commercial or proprietary software.</p>
140140
</emu-clause>
141141
<emu-clause id="sec-terms-and-definitions-transitive-dependency">
142-
<h1>Transitive dependency</h1>
142+
<h1>transitive dependency</h1>
143143
<p>A software component that is indirectly used by another component by means of being a dependency of a dependency.</p>
144144
</emu-clause>
145145
</emu-clause>

excerpts/0x30-Overview.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ <h1>Overview</h1>
1111
project and, in December 2025, was formally adopted as an Ecma International Standard.
1212
</p>
1313
<emu-clause id="sec-overview-purpose-benefits">
14-
<h1>Purpose and Benefits</h1>
14+
<h1>Purpose and benefits</h1>
1515
<p>
1616
At its core, CycloneDX enables software and system transparency. It provides detailed information about
1717
components such as versions, suppliers, and dependencies, allowing organizations to:
@@ -30,7 +30,7 @@ <h1>Purpose and Benefits</h1>
3030
</emu-clause>
3131

3232
<emu-clause id="sec-overview-design-philosophy-and-guiding-principles">
33-
<h1>Design Philosophy and Guiding Principles</h1>
33+
<h1>Design philosophy and guiding principles</h1>
3434
<p>
3535
The simplicity of design is at the forefront of the CycloneDX philosophy. The format is easily understandable
3636
by a wide range of technical and non-technical roles. CycloneDX is a full-stack BOM format with many advanced
@@ -202,7 +202,7 @@ <h3>Common Release Notes Format</h3>
202202
</emu-clause>
203203

204204
<emu-clause id="sec-cyclonedx-object-model">
205-
<h1>CycloneDX Object Model</h1>
205+
<h1>CycloneDX object model</h1>
206206
<p>Within the root element, CycloneDX defines the following object types:</p>
207207
<emu-figure caption="Root Object Model Overview">
208208
<img src="img/Object-Model/CycloneDX-Object-Type-Overview.svg" alt="Root Object Model Overview">
@@ -364,8 +364,7 @@ <h4>Extensions</h4>
364364
<h2>Serialization Formats</h2>
365365
<p>CycloneDX can be represented in JSON, XML, and Protocol Buffers (protobuf) and has corresponding schemas for each.</p>
366366

367-
<emu-table id="table-cyclonedx-serialization-formats">
368-
<caption>Serialization formats in CycloneDX</caption>
367+
<emu-table id="table-cyclonedx-serialization-formats" caption="Serialization formats in CycloneDX">
369368
<table>
370369
<thead>
371370
<tr>

excerpts/1x10-Grammar.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!--
22
<emu-annex id="sec-grammar-summary">
3-
<h1>Grammar Summary</h1>
3+
<h1>Grammar summary</h1>
44
<p>TODO</p>
55
</emu-annex>
66
-->

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
"build-only": "ecmarkup --verbose spec.html --multipage out",
2222
"build": "npm run build-head",
2323
"build-for-pdf": "npm run prebuild-only && ecmarkup --verbose spec.html out/index.html --assets external --assets-dir out --printable --lint-spec",
24-
"pdf": "npm run build-for-pdf && pagedjs-cli --page-size a4 out/index.html -o out/index.pdf",
24+
"pdf": "npm run build-for-pdf && prince-books --script ./node_modules/ecmarkup/js/print.js out/index.html -o out/ECMA-424.pdf",
25+
"local-dev-pdf": "npm run generate-spec && npm run pdf",
2526
"prebuild-snapshot": "npm run clean",
2627
"build-snapshot": "npm run build-head && node scripts/insert_snapshot_warning.js",
2728
"clean": "rm -rf out",

0 commit comments

Comments
 (0)