Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
9a1dc7f
Update CSS
SmolSoftBoi Sep 1, 2021
efd1837
Create contribute
SmolSoftBoi Sep 1, 2021
c8398bb
Update Read me
SmolSoftBoi Sep 1, 2021
af5dc2f
Add issue template
SmolSoftBoi Sep 1, 2021
f7e71b1
Update
SmolSoftBoi Sep 1, 2021
06ea8dc
Fix #7
SmolSoftBoi Sep 1, 2021
991d2ce
Fixed #6
SmolSoftBoi Sep 1, 2021
3c6dca2
Fixed #4
SmolSoftBoi Sep 1, 2021
35f53e2
Add symbol
SmolSoftBoi Sep 1, 2021
c3649e3
Lint
SmolSoftBoi Sep 1, 2021
1318825
Fix classification cells
SmolSoftBoi Sep 1, 2021
e08a47a
Add first aid inhalation
SmolSoftBoi Sep 1, 2021
d8c3e35
Add 5.1 media not to be used
SmolSoftBoi Sep 1, 2021
23ad87d
Fixed #4
SmolSoftBoi Sep 1, 2021
10dddb2
Fixed #8
SmolSoftBoi Sep 1, 2021
1354b95
Fixed substance name
SmolSoftBoi Sep 2, 2021
8e8af52
Fixed exact value
SmolSoftBoi Sep 2, 2021
9ef819c
Add section 15.2.
SmolSoftBoi Oct 20, 2021
40bd975
Bump nanoid from 3.1.23 to 3.2.0
dependabot[bot] Jan 22, 2022
28cda35
Merge pull request #9 from SmolSoftBoi/dependabot/npm_and_yarn/nanoid…
SmolSoftBoi Mar 13, 2022
17e945f
Bump deps
SmolSoftBoi Mar 13, 2022
187d6ca
Bump minimist from 1.2.5 to 1.2.6
dependabot[bot] Mar 30, 2022
2dde2e4
Merge pull request #10 from SmolSoftBoi/dependabot/npm_and_yarn/minim…
SmolSoftBoi Mar 30, 2022
75c5472
Bump ansi-regex from 3.0.0 to 3.0.1
dependabot[bot] Mar 30, 2022
185aa88
Merge pull request #11 from SmolSoftBoi/dependabot/npm_and_yarn/ansi-…
SmolSoftBoi Mar 30, 2022
d3bd38a
Bump deps
SmolSoftBoi Jul 19, 2022
a0b807b
Bump deps
SmolSoftBoi Nov 16, 2022
e8e8fcf
Bump json5 from 2.2.1 to 2.2.3
dependabot[bot] Jan 9, 2023
f5498fe
Merge pull request #12 from SmolSoftBoi/dependabot/npm_and_yarn/json5…
SmolSoftBoi Jan 10, 2023
a54f679
Bump deps
SmolSoftBoi Apr 25, 2023
fdf3b6e
Create stale.yml
SmolSoftBoi Nov 15, 2023
c73cf8b
Create node.js.yml
SmolSoftBoi Nov 15, 2023
d2816fc
Update Bootstrap version and stylelint
SmolSoftBoi Nov 15, 2023
2f24d47
Create techstack.yml
stacksharebot Jan 17, 2024
70145e1
Create techstack.md
stacksharebot Jan 17, 2024
a3e02d2
Update techstack.yml
stacksharebot Feb 29, 2024
a36d47c
Update techstack.md
stacksharebot Feb 29, 2024
e844ad0
Implement feature X to enhance user experience and optimize performance
SmolSoftBoi Dec 15, 2025
8dc7a3b
Merge pull request #16 from SmolSoftBoi/tech-stack-file
SmolSoftBoi Dec 15, 2025
e33d34f
Update repository references to reflect correct ownership and maintai…
SmolSoftBoi Dec 17, 2025
6663d3f
🧹 fix typo in comment: 'Mobility in soilMobility in soil'
google-labs-jules[bot] May 9, 2026
2da8a34
🧹 Remove commented out Bootstrap imports in scss/starter.scss
google-labs-jules[bot] May 9, 2026
cacee87
Merge pull request #23 from SmolSoftBoi/fix-comment-typo-mobility-in-…
SmolSoftBoi May 10, 2026
2fda9ba
🧹 Remove commented out Bootstrap imports and fix CI cache
google-labs-jules[bot] May 11, 2026
eb406d5
🧹 fix typo in comment and resolve CI issues
google-labs-jules[bot] May 11, 2026
00aa508
Merge pull request #26 from SmolSoftBoi/fix-comment-typo-mobility-in-…
SmolSoftBoi May 11, 2026
6009a3e
Merge pull request #25 from SmolSoftBoi/fix-commented-out-imports-391…
SmolSoftBoi May 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Bug report
about: Tell us about a bug you may have identified in SDScom XSL.
title: ''
labels: ''
assignees: ''

---

Before opening:

- [Search for duplicate or closed issues](https://github.com/SmolSoftBoi/sdscom-xsl/issues?utf8=%E2%9C%93&q=is%3Aissue)
- [Validate](https://sumdat.net/vali/) any XML to avoid common problems
- Read the [contributing guidelines](https://github.com/SmolSoftBoi/sdscom-xsl/blob/main/CONTRIBUTE.md)

Bug reports must include:

- Section and sub-section (#.#)
- A reduced test case or suggested fix
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
contact_links:
- name: Ask a question
url: https://github.com/SmolSoftBoi/sdscom-xsl/discussions/new
about: Ask and discuss questions with other SDScom XSL community members
31 changes: 31 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: Node.js CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [14.x, 16.x, 18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
- run: yarn install
- run: yarn run build
- run: yarn test
27 changes: 27 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
#
# You can adjust the behavior by modifying this file.
# For more information, see:
# https://github.com/actions/stale
name: Mark stale issues and pull requests

on:
schedule:
- cron: '23 20 * * *'

jobs:
stale:

runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write

steps:
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'Stale issue message'
stale-pr-message: 'Stale pull request message'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
4 changes: 3 additions & 1 deletion .stylelintrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{
"extends": [
"stylelint-config-twbs-bootstrap/scss"
"stylelint-config-standard",
"stylelint-config-standard-scss",
"stylelint-config-twbs-bootstrap"
],
"rules": {
"selector-max-compound-selectors": null,
Expand Down
30 changes: 30 additions & 0 deletions CONTRIBUTE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# How to Contribute
This Stylesheet was developed using XSL, Sass and node.js.

## Usage
Be sure to have [Node.js](https://nodejs.org/) installed before proceeding.

```shell
# Clone the repo
git clone https://github.com/SmolSoftBoi/sdscom-xsl
cd sdscom-xsl

# Install dependencies
yarn install

# Compile Sass
yarn run css-compile

# Watch Sass for changes (uses nodemon)
yarn run watch

# Start local server (uses sirv-cli)
yarn run server

# Watches Sass for changes and starts a local server
yarn start
```

For the most straightforward development, open two Terminal tabs to execute `yarn run server` and `yarn run watch` at the same time.

Open <http://localhost:3000> to see the page in action.
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,18 @@
# SDScom XSL
Style sheet documents of SDScom.

## About
`sdscom-xsl` is a GitHub repository for creating new SDScom-powered HTML, maintained by author @SmolSoftBoi. You can also use it as your own SDScom XML prototyping sandbox. It's built with SDScom XML v4.4 with plans to update for v5.

## What's included
- XSL (`SDSComXSL_XX.xsl`) to demonstrate how to include SDScom XSL.
- Includes [Bootstrap](https://getbootstrap.com) (currently using v5) source files via npm.
- npm scripts (see `package.json`) for compiling and autoprefixing Sass, watching for changes, and starting a basic local server.
- Stylesheet (`scss/starter.scss`) to include and customize Bootstrap.

XSL files with language suffix offer usable transformations, with `SDSComXSL_XX.xsl` being the main file (insert uppercase ISO 639-1 language code for `XX`).
Add:
`<?xml-stylesheet type="text/xsl" href="https://raw.githubusercontent.com/SmolSoftBoi/esdscom-xsl/main/SDSComXSL_XX.xsl"?>`
to the XML file(s) to facilitate automatic transformation, for example.

Tested with Saxon JS v2.2 for transformation.
139 changes: 70 additions & 69 deletions SDSComXSL.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,8 @@
<h4>
<xsl:choose>
<xsl:when test="Role/RoleCode">
<xsl:call-template name="Phrase">
<xsl:with-param name="Phrase" select="Role/RoleCode"/>
<xsl:call-template name="RoleDescriptionEnum">
<xsl:with-param name="RoleDescriptionEnum" select="Role/RoleCode"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
Expand Down Expand Up @@ -517,8 +517,32 @@
<h3>
<xsl:value-of select="$Section2.3"/>
</h3>
<xsl:if test="OtherHazardsInfo">
<strong class="text-danger">Error: Section 2.3 not implemented.</strong>
<xsl:if test="OtherHazardsInfo">
<dl class="row">
<xsl:if test="OtherHazardsInfo/PhysicochemicalEffect">
<strong class="text-danger">Error: Section 2.3 not implemented for physiochemical effects.</strong>
</xsl:if>
<xsl:if test="OtherHazardsInfo/HealthEffect">
<strong class="text-danger">Error: Section 2.3 not implemented for health effects.</strong>
</xsl:if>
<xsl:if test="OtherHazardsInfo/EnvironmentalEffect">
<strong class="text-danger">Error: Section 2.3 not implemented for environmental effects.</strong>
</xsl:if>
<xsl:if test="OtherHazardsInfo/OtherHazards">
<dt clas="col-4">
<h4>
<xsl:value-of select="$Section2.3-OtherHazards"/>
</h4>
</dt>
<dd class="col-8">
<xsl:for-each select="OtherHazardsInfo/OtherHazards">
<xsl:call-template name="Phrase">
<xsl:with-param name="Phrase" select="."/>
</xsl:call-template>
</xsl:for-each>
</dd>
</xsl:if>
</dl>
</xsl:if>
</li>
</ol>
Expand Down Expand Up @@ -635,6 +659,17 @@
<xsl:value-of select="$Section4.1"/>
</h3>
<xsl:if test="DescriptionOfFirstAidMeasures">
<xsl:if test="DescriptionOfFirstAidMeasures/FirstAidSkin">
<h4>
<xsl:value-of select="$Section4.1-FirstAidInhalation"/>
</h4>
<xsl:for-each select="DescriptionOfFirstAidMeasures/FirstAidInhalation">
<xsl:call-template name="Phrase">
<xsl:with-param name="Phrase" select="."/>
</xsl:call-template>
</xsl:for-each>
</xsl:if>

<xsl:if test="DescriptionOfFirstAidMeasures/FirstAidSkin">
<h4>
<xsl:value-of select="$Section4.1-FirstAidSkin"/>
Expand Down Expand Up @@ -717,6 +752,17 @@
</xsl:call-template>
</xsl:for-each>
</xsl:if>

<xsl:if test="ExtinguishingMedia/MediaNotBeUsed">
<h4>
<xsl:value-of select="$Section5.1-MediaNotBeUsed"/>
</h4>
<xsl:for-each select="ExtinguishingMedia/MediaNotBeUsed">
<xsl:call-template name="Phrase">
<xsl:with-param name="Phrase" select="."/>
</xsl:call-template>
</xsl:for-each>
</xsl:if>
</xsl:if>
</li>

Expand Down Expand Up @@ -813,7 +859,7 @@
<!-- Reference to other sections -->
<li>
<h3>
<xsl:value-of select="$Section6.3"/>
<xsl:value-of select="$Section6.4"/>
</h3>
<xsl:for-each select="ReferenceToOtherSections">
<xsl:call-template name="Phrase">
Expand Down Expand Up @@ -1157,7 +1203,7 @@
</xsl:if>
</li>

<!-- Mobility in soilMobility in soil -->
<!-- Mobility in soil -->
<li>
<h3>
<xsl:value-of select="$Section12.4"/>
Expand Down Expand Up @@ -1358,10 +1404,14 @@
<!-- Chemical Safety Assessment -->
<li>
<h3>
<xsl:value-of select="$Section15.1"/>
<xsl:value-of select="$Section15.2"/>
</h3>
<xsl:if test="ChemicalSafetyAssessmentInfo">
<strong class="text-danger">Error: Section 15.1 not implemented.</strong>
<xsl:for-each select="ChemicalSafetyAssessmentInfo/ChemicalSafetyAssessment">
<xsl:call-template name="Phrase">
<xsl:with-param name="Phrase" select="."/>
</xsl:call-template>
</xsl:for-each>
</xsl:if>
</li>
</ol>
Expand All @@ -1376,67 +1426,18 @@
</h2>
<ol>
<!-- Indication of changes -->
<li>
<h3>
<xsl:value-of select="$Section16.1"/>
</h3>
<xsl:if test="RevisionInformation/RevisionComments">
<xsl:call-template name="Phrase">
<xsl:with-param name="Phrase" select="RevisionInformation/RevisionComments"/>
</xsl:call-template>
</xsl:if>
</li>

<!-- Abbreviations and acronyms -->
<li>
<h3>
<xsl:value-of select="$Section16.2"/>
</h3>
</li>

<!-- Key literature references and sources for data -->
<li>
<h3>
<xsl:value-of select="$Section16.3"/>
</h3>
</li>

<!-- Classification for mixtures and used evaluation method according to regulation (EC) 1207/2008 [CLP] -->
<li>
<h3>
<xsl:value-of select="$Section16.4"/>
</h3>
</li>

<!-- Relevant H- and EUH-phrases (number and full text) -->
<li>
<h3>
<xsl:value-of select="$Section16.5"/>
</h3>
<xsl:if test="RelevantHazardStatements">
<strong class="text-danger">Error: Section 16.5 not implemented.</strong>
</xsl:if>
</li>

<!-- Training advice -->
<li>
<h3>
<xsl:value-of select="$Section16.5"/>
</h3>
<xsl:if test="EducationalRecommendations">
<strong class="text-danger">Error: Section 16.5 not implemented.</strong>
</xsl:if>
</li>

<!-- Further information -->
<li>
<h3>
<xsl:value-of select="$Section16.6"/>
</h3>
<xsl:if test="FurtherInformation">
<strong class="text-danger">Error: Section 16.6 not implemented.</strong>
</xsl:if>
</li>
<xsl:if test="RevisionInformation/RevisionComments">
<li>
<h3>
<xsl:value-of select="$Section16-RevisionInformation"/>
</h3>
<xsl:if test="RevisionInformation/RevisionComments">
<xsl:call-template name="Phrase">
<xsl:with-param name="Phrase" select="RevisionInformation/RevisionComments"/>
</xsl:call-template>
</xsl:if>
</li>
</xsl:if>
</ol>
</div>
</xsl:template>
Expand Down
7 changes: 6 additions & 1 deletion SDSComXSLCT.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@
</xsl:if>
<xsl:call-template name="HazardClassCategoryEnum">
<xsl:with-param name="HazardClassCategoryEnum" select="ClpHazardClassCategory"/>
</xsl:call-template>, <xsl:for-each select="ClpHazardStatement">
</xsl:call-template>
<xsl:if test="ClpHazardClassCategory and ClpHazardStatement">, </xsl:if>
<xsl:for-each select="ClpHazardStatement">
<xsl:call-template name="HazardStatement">
<xsl:with-param name="HazardStatement" select="."/>
</xsl:call-template>
Expand Down Expand Up @@ -147,6 +149,9 @@
<xsl:when test="$SubstanceName/IupacName">
<xsl:value-of select="$SubstanceName/IupacName"/>
</xsl:when>
<xsl:when test="$SubstanceName/Synonyme">
<xsl:value-of select="$SubstanceName/Synonyme"/>
</xsl:when>
<xsl:otherwise>
<strong class="text-danger">Error: Substance name not implemented.</strong>
</xsl:otherwise>
Expand Down
Loading