Help us shape the future of Go! Take the 2026 Go Developer Survey

esdscom

package module
v0.0.0-...-89edd71 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

README

esdscom

CI Go Reference OpenSSF Scorecard License

Read, write and validate safety data sheets in the eSDScom exchange format (XML schema eSDSxml, formerly SDScomXML) with Go.

  • Go types for the whole schema, generated from the official XSD, including the national extensions EU and DE
  • Decode keeps content it does not know, Encode writes it back
  • Validate reports every schema violation with its path, not only the first
  • pure Go, standard library only, no cgo, no network access

Status

Version 0.x. The API may change until the first production use; see CHANGELOG.md.

Schema release National extensions with Go types Package version
eSDScom v5.5 EU, DE v0.x

Content of the other national extensions (AR, AT, BR, CA, CH, DK, GB, JP, MX, NO, RU, TR, US) is kept unchanged and reported as a hint by Validate. The generator can produce their types as well.

Installation

go get github.com/velcure/esdscom

Usage

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/velcure/esdscom"
)

func main() {
	f, err := os.Open("sds.xml")
	if err != nil {
		log.Fatal(err)
	}
	feed, err := esdscom.Decode(f) // esdscom.WithMaxSize, esdscom.DecodeStrict
	f.Close()
	if err != nil {
		log.Fatal(err)
	}

	for _, e := range feed.Validate() {
		// e.g. "error: Datasheet[0]/Composition/RegionEU/Component[0]/Substance/CasNo:
		//       "67-63-X" does not match the pattern ... (pattern)"
		fmt.Println(e)
	}

	for _, c := range feed.Datasheet[0].Composition.RegionEU.Choice.Component {
		fmt.Println(*c.Substance.CasNo)
	}

	if err := esdscom.Encode(os.Stdout, feed); err != nil {
		log.Fatal(err)
	}
}
How the schema maps to Go
XSD Go
complex type struct, fields in schema order, plus Extra for unknown content
element, at most once pointer (*T); nil means absent
element, repeated slice ([]T)
choice struct with one field per alternative; exactly one is set
optional or repeated sequence pointer to or slice of a struct
named group struct of the group's name
extension the base type's fields followed by the extension's
simple type string type with constants for enumerations and Valid()
xs:boolean, xs:float, xs:date … Boolean, Float, Date …, with Bool(), Float64(), Time()
element without type (xs:anyType) AnyType, kept verbatim

Simple values keep their lexical form, so a malformed value never stops Decode; Validate reports it. esdscom.Ptr builds pointers to values.

Decode
  • tolerant by default: unknown elements, attributes and text go to the Extra field of the enclosing struct, and Encode writes them back at the same position; DecodeStrict() makes them an error
  • elements out of schema order are placed into their fields; Encode writes them in schema order
  • input is limited to 64 MiB by default (WithMaxSize)
  • documents with a document type declaration are rejected; no external entities or DTDs are ever loaded
Encode

Encode writes UTF-8 with the eSDScom namespace on the root element and all elements in schema order. When InformationFromExportingSystem has no SdscomVersionNo, it writes SchemaVersion there.

Validate

Validate checks required elements, occurrence limits, choices and all facets of simple types (enumerations, patterns, lengths, ranges, digits) and returns every finding with a path like Datasheet[0]/Identification/TradeName[1] and a rule name (required, enum, pattern, maxLength, choice, …). Unknown content kept in Extra is a hint (SeverityHint), not an error. The tests compare Validate with xmllint --schema on valid and deliberately broken documents.

Phrase codes are passed through; the phrase catalogue (eSDSphrac) is not part of this package.

Code generation

The types are generated from the vendored schema by cmd/esdscom-gen and committed:

go generate ./...

The generator supports exactly the XSD constructs the schema uses and stops at any other construct. See docs/schema-update.md for moving to a new schema release.

License

The code of this repository is licensed under the Apache License 2.0.

The eSDScom XML schema in schema/ is © the eSDScom project and licensed under CC BY-ND 4.0. It is included unchanged; see NOTICE and schema/v5.5/NOTICE.

Documentation

Overview

Package esdscom reads, writes and validates safety data sheets in the eSDScom exchange format (XML schema eSDSxml, formerly SDScomXML), schema version 5.5, including the national extensions EU and DE.

The types of this package are generated from the official XML schema by cmd/esdscom-gen. Each complex type becomes a struct whose fields follow the schema order:

  • an element that occurs at most once is a pointer, so that an absent element differs from an empty one;
  • an element that may repeat is a slice;
  • a choice is a struct with one field per alternative, of which exactly one is set;
  • simple values are string types holding the lexical form, with constants for enumerations and a Valid method.

Decode is tolerant: content the generated types do not describe, such as elements of a newer schema version or of a national extension other than EU and DE, is kept in the Extra field of the enclosing struct and written back by Encode. Validate checks a feed against the rules of the schema and returns every violation with its path.

The package has no dependencies outside the standard library, makes no network requests and does not resolve phrase codes.

Example
package main

import (
	"fmt"
	"log"
	"os"

	"github.com/velcure/esdscom"
)

func main() {
	f, err := os.Open("testdata/valid/mixture-eu-de.xml")
	if err != nil {
		log.Fatal(err)
	}
	feed, err := esdscom.Decode(f)
	f.Close()
	if err != nil {
		log.Fatal(err)
	}
	if findings := feed.Validate(); !findings.Valid() {
		log.Fatal(findings.Errors())
	}

	ds := feed.Datasheet[0]
	for _, c := range ds.Composition.RegionEU.Choice.Component {
		fmt.Println(*c.Substance.IupacName, *c.Substance.CasNo)
	}
	de := ds.RegulatoryInformation.RegionEU.NationalLegislation.NationalLegislationGermany
	fmt.Println("WGK", *de.WaterHazardClass.Class)
}
Output:
propan-2-ol 67-63-0
water 7732-18-5
WGK 1

Index

Examples

Constants

View Source
const DefaultMaxSize = 64 << 20

DefaultMaxSize is the default limit of the input size of Decode.

View Source
const Namespace = "http://www.esdscom.eu/eSDScom"

Namespace is the target namespace of the eSDScom schema.

View Source
const SchemaVersion = "5.5"

SchemaVersion is the version of the eSDScom schema the types are generated from.

Variables

View Source
var (
	// ErrTooLarge is returned by Decode when the input exceeds the size
	// limit.
	ErrTooLarge = errors.New("esdscom: input exceeds the size limit")
	// ErrDTD is returned by Decode for a document with a document type
	// declaration. eSDScom documents have none, and refusing them rules out
	// entity expansion attacks.
	ErrDTD = errors.New("esdscom: document type declarations are not allowed")
	// ErrRoot is returned by Decode when the root element is not
	// DatasheetFeed in the eSDScom namespace.
	ErrRoot = errors.New("esdscom: unexpected root element")
)

Functions

func Encode

func Encode(w io.Writer, f *DatasheetFeed, opts ...EncodeOption) error

Encode writes f as a UTF-8 eSDScom document. The root element carries the eSDScom namespace, elements are written in schema order, and Extra content is written back where it was read. When InformationFromExportingSystem has no SdscomVersionNo, Encode writes SchemaVersion there; f itself is not changed.

Example
package main

import (
	"fmt"
	"log"
	"strings"

	"github.com/velcure/esdscom"
)

func main() {
	feed := &esdscom.DatasheetFeed{
		InformationFromExportingSystem: &esdscom.DatasheetFeedInformationFromExportingSystem{
			Language: &esdscom.DatasheetFeedInformationFromExportingSystemLanguage{
				FreetextLanguageCode: esdscom.Ptr(esdscom.LanguageCodeEnum_de),
			},
			RegulationsRelatedToCountryOrRegion: []esdscom.DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegion{
				{RegulationsRelatedToCountryOrRegionCode: esdscom.Ptr(esdscom.CountryCodeEnum_DE)},
			},
			SystemUsedInPreparation: esdscom.Ptr(esdscom.String64("example")),
			DateGeneratedExport:     esdscom.Ptr(esdscom.Date("2026-10-14")),
		},
	}
	for _, e := range feed.Validate() {
		fmt.Println(e.Rule, e.Path)
	}
	var b strings.Builder
	if err := esdscom.Encode(&b, feed); err != nil {
		log.Fatal(err)
	}
	fmt.Println(strings.Contains(b.String(), "<SdscomVersionNo>5.5</SdscomVersionNo>"))
}
Output:
required InformationFromExportingSystem/SdscomVersionNo
required Datasheet
true

func Ptr

func Ptr[T any](v T) *T

Ptr returns a pointer to v. The generated types use pointers for elements that occur at most once, so that an absent element can be told apart from an empty one.

Types

type AccidentalReleaseMeasures

type AccidentalReleaseMeasures struct {
	ForNonEmergencyPersonnel *AccidentalReleaseMeasuresForNonEmergencyPersonnel
	// For emergency responders: Information on personal protection, suitable
	// fabric for personal protective clothing, etc.
	ForEmergencyResponders []Phrase
	// Environmental precautions: Information on preventive measures to be taken to
	// protect environment.
	EnvironmentalPrecautions []Phrase
	ContainmentAndCleaningUp *AccidentalReleaseMeasuresContainmentAndCleaningUp
	// If appropriate, reference should be made to information in for instance
	// section 8 and 13.
	ReferenceToOtherSections []Phrase
	// Additional information on any accidental release measures.
	AdditionalInformation []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 6

AccidentalReleaseMeasures corresponds to the XSD complex type AccidentalReleaseMeasures.

type AccidentalReleaseMeasuresContainmentAndCleaningUp

type AccidentalReleaseMeasuresContainmentAndCleaningUp struct {
	// Containment: Advice on how to contain a spill.
	Containment []Phrase
	// Cleaning up: Ways of cleaning-up spills, for instance by application of
	// absorbing material, and the application of water to dilute effluent or
	// restrict emission of gas or fume. Description of cleaning-up methods may be
	// divided into small and large spills (specifications must be made by the
	// individual SDS preparer).
	CleaningUp []Phrase
	// Other information: Any other information relating to spills and releases,
	// including advice on inappropriate containment or clean up techniques.
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

AccidentalReleaseMeasuresContainmentAndCleaningUp corresponds to the anonymous complex type of element AccidentalReleaseMeasures/ContainmentAndCleaningUp.

type AccidentalReleaseMeasuresForNonEmergencyPersonnel

type AccidentalReleaseMeasuresForNonEmergencyPersonnel struct {
	// Personal precautions for non-emergency personnel: Advice on protective
	// equipment etc.
	PersonalPrecautions []Phrase
	ProtectiveEquipment []Phrase
	EmergencyProcedures []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

AccidentalReleaseMeasuresForNonEmergencyPersonnel corresponds to the anonymous complex type of element AccidentalReleaseMeasures/ForNonEmergencyPersonnel.

type AdditionalConditionsMeasuresHH

type AdditionalConditionsMeasuresHH struct {
	// Additional conditions related to human health that do not fall under any
	// other attribute, but which are relevant for the overall characterization of
	// the use of the substance (or product) and therefore have to be communicated
	// in the supply chain. Expected value: Phrase or numeric value or both
	ConditionMeasure []UseCondMeasureHH
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes environmental factors affecting environmental release within an exposure scenario.

AdditionalConditionsMeasuresHH corresponds to the XSD complex type AdditionalConditionsMeasuresHH.

type AdditionalGoodPracticeAdvice

type AdditionalGoodPracticeAdvice struct {
	// Describes good practice information that the supplier chooses to include in
	// addition to the obligatory measures, as advice to the downstream user.
	// Expected value: Phrase or numeric value or both
	AdditionalGoodPracticeAdvice []EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes further operational conditions and risk management measures for the exposure of a substance to environment, worker or consumer.

AdditionalGoodPracticeAdvice corresponds to the XSD complex type AdditionalGoodPracticeAdvice.

type AgpaPictogramEnum

type AgpaPictogramEnum string

P0xx: Prohibition signs related to Additional Good Practice Advice according to EN ISO 7010, and/or AISExx: A.I.S.E. CleanRight Safe Use Icons Version 4, numbered according to the sentences on pp. 16-18 of https://www.aise.eu/documents/document/20140129161815-final_draft_aise_safe_use_guidelines_revjan2014.pdf

AgpaPictogramEnum corresponds to the XSD simple type AgpaPictogramEnum.

func (AgpaPictogramEnum) Valid

func (v AgpaPictogramEnum) Valid() bool

Valid reports whether v satisfies every constraint of AgpaPictogramEnum.

type AnnexesEU

type AnnexesEU struct {
	// Safe Use Information for Mixture (SUMI)
	SafeUseInfoForMixtures []SUMI
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

AnnexesEU corresponds to the XSD complex type AnnexesEU.

type AnyPhraseId

type AnyPhraseId string

A phrase identifier which is unique within a given phrase catalogue, represented by a string of maximum 128 characters.

AnyPhraseId corresponds to the XSD simple type AnyPhraseId.

func (AnyPhraseId) Valid

func (v AnyPhraseId) Valid() bool

Valid reports whether v satisfies every constraint of AnyPhraseId.

type AnyType

type AnyType struct {
	Attrs []xml.Attr
	Nodes []RawNode
}

AnyType is the content of an element declared without a type, which XML Schema defines as xs:anyType: any attributes and any mixed content. In eSDScom such elements are markers like NewLine or placeholders for national legislation.

type AnyURI

type AnyURI string

AnyURI is a value of xs:anyURI.

func (AnyURI) Valid

func (u AnyURI) Valid() bool

Valid reports whether u is a valid xs:anyURI.

type ArticleCategory

type ArticleCategory struct {
	AcCode     *ArticleCategoryCodeEnum
	AcFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ArticleCategory, source: Chapter 1, used by: CT "IdentifiedUse"

ArticleCategory corresponds to the XSD complex type ArticleCategory.

type ArticleCategoryCodeEnum

type ArticleCategoryCodeEnum string

The legal values for the ArticleCategoryCodeEnum. Source: Chapter 1.

ArticleCategoryCodeEnum corresponds to the XSD simple type ArticleCategoryCodeEnum.

const (
	ArticleCategoryCodeEnum_AC1  ArticleCategoryCodeEnum = "AC1"
	ArticleCategoryCodeEnum_AC2  ArticleCategoryCodeEnum = "AC2"
	ArticleCategoryCodeEnum_AC3  ArticleCategoryCodeEnum = "AC3"
	ArticleCategoryCodeEnum_AC4  ArticleCategoryCodeEnum = "AC4"
	ArticleCategoryCodeEnum_AC5  ArticleCategoryCodeEnum = "AC5"
	ArticleCategoryCodeEnum_AC6  ArticleCategoryCodeEnum = "AC6"
	ArticleCategoryCodeEnum_AC7  ArticleCategoryCodeEnum = "AC7"
	ArticleCategoryCodeEnum_AC8  ArticleCategoryCodeEnum = "AC8"
	ArticleCategoryCodeEnum_AC10 ArticleCategoryCodeEnum = "AC10"
	ArticleCategoryCodeEnum_AC11 ArticleCategoryCodeEnum = "AC11"
	ArticleCategoryCodeEnum_AC13 ArticleCategoryCodeEnum = "AC13"
	ArticleCategoryCodeEnum_AC30 ArticleCategoryCodeEnum = "AC30"
	ArticleCategoryCodeEnum_AC31 ArticleCategoryCodeEnum = "AC31"
	ArticleCategoryCodeEnum_AC32 ArticleCategoryCodeEnum = "AC32"
	ArticleCategoryCodeEnum_AC33 ArticleCategoryCodeEnum = "AC33"
	ArticleCategoryCodeEnum_AC34 ArticleCategoryCodeEnum = "AC34"
	ArticleCategoryCodeEnum_AC35 ArticleCategoryCodeEnum = "AC35"
	ArticleCategoryCodeEnum_AC36 ArticleCategoryCodeEnum = "AC36"
	ArticleCategoryCodeEnum_AC38 ArticleCategoryCodeEnum = "AC38"
	ArticleCategoryCodeEnum_AC0  ArticleCategoryCodeEnum = "AC0"
)

func (ArticleCategoryCodeEnum) Valid

func (v ArticleCategoryCodeEnum) Valid() bool

Valid reports whether v satisfies every constraint of ArticleCategoryCodeEnum.

type Assessment

type Assessment struct {
	Assessment         *AssessmentEnum
	AssessmentFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Assessment corresponds to the XSD complex type Assessment.

type AssessmentEnum

type AssessmentEnum string

Legal values for the AssessmentEnum

AssessmentEnum corresponds to the XSD simple type AssessmentEnum.

const (
	AssessmentEnum_Yes          AssessmentEnum = "Yes"
	AssessmentEnum_No           AssessmentEnum = "No"
	AssessmentEnum_Not_assessed AssessmentEnum = "Not assessed"
)

func (AssessmentEnum) Valid

func (v AssessmentEnum) Valid() bool

Valid reports whether v satisfies every constraint of AssessmentEnum.

type AteValue

type AteValue struct {
	Value        *Float
	Unit         *UnitEnum
	UnitFulltext []Phrase
	// e.g. "dust or mist"
	Restriction []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Acute Toxicity Estimates for mixture-in-mixture classification.

AteValue corresponds to the XSD complex type AteValue.

type Atp12SupplementalHazardInformationEnum

type Atp12SupplementalHazardInformationEnum string

Supplemental Hazard Information Code with a predefined set of legal values. CLP

Atp12SupplementalHazardInformationEnum corresponds to the XSD simple type Atp12SupplementalHazardInformationEnum.

const (
	Atp12SupplementalHazardInformationEnum_006 Atp12SupplementalHazardInformationEnum = "006"
	Atp12SupplementalHazardInformationEnum_014 Atp12SupplementalHazardInformationEnum = "014"
	Atp12SupplementalHazardInformationEnum_018 Atp12SupplementalHazardInformationEnum = "018"
	Atp12SupplementalHazardInformationEnum_019 Atp12SupplementalHazardInformationEnum = "019"
	Atp12SupplementalHazardInformationEnum_044 Atp12SupplementalHazardInformationEnum = "044"
	Atp12SupplementalHazardInformationEnum_029 Atp12SupplementalHazardInformationEnum = "029"
	Atp12SupplementalHazardInformationEnum_031 Atp12SupplementalHazardInformationEnum = "031"
	Atp12SupplementalHazardInformationEnum_032 Atp12SupplementalHazardInformationEnum = "032"
	Atp12SupplementalHazardInformationEnum_066 Atp12SupplementalHazardInformationEnum = "066"
	Atp12SupplementalHazardInformationEnum_070 Atp12SupplementalHazardInformationEnum = "070"
	Atp12SupplementalHazardInformationEnum_071 Atp12SupplementalHazardInformationEnum = "071"
	Atp12SupplementalHazardInformationEnum_059 Atp12SupplementalHazardInformationEnum = "059"
)

func (Atp12SupplementalHazardInformationEnum) Valid

Valid reports whether v satisfies every constraint of Atp12SupplementalHazardInformationEnum.

type Atp14SpecialSupplementalLabelInfo

type Atp14SpecialSupplementalLabelInfo struct {
	// PhraseIdAttr is the attribute PhraseId.
	PhraseIdAttr *AnyPhraseId
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *Integer
	// eSDScom (= EuPhraC, ESCom) phrase ID. Optional because user phrases and
	// other phrase catalogues are allowed.
	PhraseId    *EsdscomPhraseId
	PhraseCode  *Atp14SpecialSupplementalLabelInfoEnum
	FullText    *String1024
	MergePhrase []MergePhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Special Supplemental Label Info for Mixtures CLP

Atp14SpecialSupplementalLabelInfo corresponds to the XSD complex type Atp14SpecialSupplementalLabelInfo.

type Atp14SpecialSupplementalLabelInfoEnum

type Atp14SpecialSupplementalLabelInfoEnum string

Special Supplemental Label Info Code with a predefined set of legal values. CLP

Atp14SpecialSupplementalLabelInfoEnum corresponds to the XSD simple type Atp14SpecialSupplementalLabelInfoEnum.

const (
	Atp14SpecialSupplementalLabelInfoEnum_201  Atp14SpecialSupplementalLabelInfoEnum = "201"
	Atp14SpecialSupplementalLabelInfoEnum_201A Atp14SpecialSupplementalLabelInfoEnum = "201A"
	Atp14SpecialSupplementalLabelInfoEnum_202  Atp14SpecialSupplementalLabelInfoEnum = "202"
	Atp14SpecialSupplementalLabelInfoEnum_203  Atp14SpecialSupplementalLabelInfoEnum = "203"
	Atp14SpecialSupplementalLabelInfoEnum_204  Atp14SpecialSupplementalLabelInfoEnum = "204"
	Atp14SpecialSupplementalLabelInfoEnum_205  Atp14SpecialSupplementalLabelInfoEnum = "205"
	Atp14SpecialSupplementalLabelInfoEnum_206  Atp14SpecialSupplementalLabelInfoEnum = "206"
	Atp14SpecialSupplementalLabelInfoEnum_207  Atp14SpecialSupplementalLabelInfoEnum = "207"
	Atp14SpecialSupplementalLabelInfoEnum_208  Atp14SpecialSupplementalLabelInfoEnum = "208"
	Atp14SpecialSupplementalLabelInfoEnum_209  Atp14SpecialSupplementalLabelInfoEnum = "209"
	Atp14SpecialSupplementalLabelInfoEnum_209A Atp14SpecialSupplementalLabelInfoEnum = "209A"
	Atp14SpecialSupplementalLabelInfoEnum_210  Atp14SpecialSupplementalLabelInfoEnum = "210"
	Atp14SpecialSupplementalLabelInfoEnum_211  Atp14SpecialSupplementalLabelInfoEnum = "211"
	Atp14SpecialSupplementalLabelInfoEnum_212  Atp14SpecialSupplementalLabelInfoEnum = "212"
	Atp14SpecialSupplementalLabelInfoEnum_401  Atp14SpecialSupplementalLabelInfoEnum = "401"
)

func (Atp14SpecialSupplementalLabelInfoEnum) Valid

Valid reports whether v satisfies every constraint of Atp14SpecialSupplementalLabelInfoEnum.

type AtpEnum

type AtpEnum string

AtpEnum corresponds to the XSD simple type AtpEnum.

const (
	AtpEnum_CLP00_1272_2008  AtpEnum = "CLP00-1272/2008"
	AtpEnum_CLP01_790_2009   AtpEnum = "CLP01-790/2009"
	AtpEnum_CLP02_286_2011   AtpEnum = "CLP02-286/2011"
	AtpEnum_CLP03_618_2012   AtpEnum = "CLP03-618/2012"
	AtpEnum_CLP04_487_2013   AtpEnum = "CLP04-487/2013"
	AtpEnum_CLP05_944_2013   AtpEnum = "CLP05-944/2013"
	AtpEnum_CLP06_605_2014   AtpEnum = "CLP06-605/2014"
	AtpEnum_CLP06a_1297_2014 AtpEnum = "CLP06a-1297/2014"
	AtpEnum_CLP07_2015_1221  AtpEnum = "CLP07-2015/1221"
	AtpEnum_CLP08_2016_918   AtpEnum = "CLP08-2016/918"
	AtpEnum_CLP09_2016_1179  AtpEnum = "CLP09-2016/1179"
	AtpEnum_CLP09a_2017_542  AtpEnum = "CLP09a-2017/542"
	AtpEnum_CLP10_2017_776   AtpEnum = "CLP10-2017/776"
	AtpEnum_CLP11_2018_669   AtpEnum = "CLP11-2018/669"
	AtpEnum_CLP13_2018_1480  AtpEnum = "CLP13-2018/1480"
	AtpEnum_CLP12_2019_521   AtpEnum = "CLP12-2019/521"
	AtpEnum_CLP14_2020_217   AtpEnum = "CLP14-2020/217"
	AtpEnum_CLP15_2020_1182  AtpEnum = "CLP15-2020/1182"
	AtpEnum_CLP16_2021_643   AtpEnum = "CLP16-2021/643"
	AtpEnum_CLP17_2021_849   AtpEnum = "CLP17-2021/849"
	AtpEnum_CLP18_2022_692   AtpEnum = "CLP18_2022/692"
	AtpEnum_CLP19_2023_1434  AtpEnum = "CLP19_2023/1434"
	AtpEnum_CLP20_2023_1435  AtpEnum = "CLP20_2023/1435"
	AtpEnum_CLP18a_2023_707  AtpEnum = "CLP18a_2023/707"
)

func (AtpEnum) Valid

func (v AtpEnum) Valid() bool

Valid reports whether v satisfies every constraint of AtpEnum.

type BaseEcologicalInformation

type BaseEcologicalInformation struct {
	EcotoxicologicalInformation *EcologicalInformationEcotoxicologicalInformation
	PersistenceDegradability    *EcologicalInformationPersistenceDegradability
	Bioaccumulation             *EcologicalInformationBioaccumulation
	Mobility                    []EcologicalInformationMobility
	OtherAdverseEffects         *EcologicalInformationOtherAdverseEffects
	AdditionalEcotoxInformation *EcologicalInformationAdditionalEcotoxInformation
	RegionEU                    *EcologicalInformationRegionEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Used in SDS section 12. Also used in "Component"

BaseEcologicalInformation corresponds to the XSD complex type BaseEcologicalInformation.

type BaseExposureControlPersonalProtection

type BaseExposureControlPersonalProtection struct {
	PreventiveIndustrialMedicalExaminationRequired   []Phrase
	ControlParameters                                *ControlParameters
	SummaryRMMeasures                                *ExposureControlPersonalProtectionSummaryRMMeasures
	ExposureControlAppropriateMeasures               *ExposureControlPersonalProtectionExposureControlAppropriateMeasures
	PersonalProtectionEquipment                      *ExposureControlPersonalProtectionPersonalProtectionEquipment
	EnvironmentalExposureControls                    *ExposureControlPersonalProtectionEnvironmentalExposureControls
	ConsumerExposureControl                          *ExposureControlPersonalProtectionConsumerExposureControl
	ExposureControlsPersonalProtectionAdditionalInfo []Phrase
	AdditionalInfo                                   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Used in SDS section 8. Also used in "Component"

BaseExposureControlPersonalProtection corresponds to the XSD complex type BaseExposureControlPersonalProtection.

type BasePhysicalChemicalProperties

type BasePhysicalChemicalProperties struct {
	// Product appearance: Description of the shape and other basic conditions of
	// the product.
	Appearance                    *PhysicalChemicalPropertiesAppearance
	SafetyRelevantInformation     *PhysicalChemicalPropertiesSafetyRelevantInformation
	PhysicalHazards               *PhysicalChemicalPropertiesPhysicalHazards
	OtherSafetyInformation        *PhysicalChemicalPropertiesOtherSafetyInformation
	OtherPhysicalChemicalProperty []Phrase
	AdditionalInfo                []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Used in SDS section 9. Also used in "Component"

BasePhysicalChemicalProperties corresponds to the XSD complex type BasePhysicalChemicalProperties.

type BaseToxicologicalInformation

type BaseToxicologicalInformation struct {
	ToxicokineticInfo              *ToxicologicalInformationToxicokineticInfo
	AcuteToxicity                  *ToxicologicalInformationAcuteToxicity
	SkinCorrosionIrritation        *ToxicologicalInformationSkinCorrosionIrritation
	EyeDamageOrIrritation          *ToxicologicalInformationEyeDamageOrIrritation
	RespiratoryOrSkinSensitisation *ToxicologicalInformationRespiratoryOrSkinSensitisation
	GermCellMutagenicity           *ToxicologicalInformationGermCellMutagenicity
	Carcinogenicity                *ToxicologicalInformationCarcinogenicity
	// Can have one instance for each ReproductiveToxicityType
	ReproductiveToxicity             []ToxicologicalInformationReproductiveToxicity
	OverallAssessmentOnCMRProperties []Phrase
	SpecificTargetOrganSE            *ToxicologicalInformationSpecificTargetOrganSE
	// separate from SpecificTargetOrganSE3 because classified independently STOT
	// SE data in section 11 does not cover the data on narcotic effects (H336) and
	// irritation to the respriratory tract (H335) which is correctly represented
	// in the classification structure. STOT-SE Category 3 includes only
	// respiratory tract irritation (sore throat, cough) and narcotic effects
	// (dizziness, drowsiness).
	SpecificTargetOrganSE3 *ToxicologicalInformationSpecificTargetOrganSE3
	SpecificTargetOrganRE  *ToxicologicalInformationSpecificTargetOrganRE
	AspirationHazard       *ToxicologicalInformationAspirationHazard
	SymptomsOfExposure     *ToxicologicalInformationSymptomsOfExposure
	Phototoxicity          *ToxicologicalInformationPhototoxicity
	EndocrineDisruption    []Phrase
	AdditionalInfo         []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Used in SDS section 11. Also used in "Component"

BaseToxicologicalInformation corresponds to the XSD complex type BaseToxicologicalInformation.

type BiologicalDegradation

type BiologicalDegradation struct {
	Inoculum []Phrase
	// always in %. Parameter should go into DegradationRate/TestReference.
	DegradationRate *PhysChemUnitValue
	TestDuration    *NumericRangeWithUnitAndQualifier
	Source          *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

BiologicalDegradation, source: Chapter 12

BiologicalDegradation corresponds to the XSD complex type BiologicalDegradation.

type BiologicalLimitValue

type BiologicalLimitValue struct {
	LimitValueTypeWithCountryOrOrganisation *ExposureLimitValueTypeEnum
	InvestigationParameter                  *Phrase
	Value                                   *NumericRangeWithUnitAndQualifier
	TestMaterial                            *Phrase
	TestDate                                *Date
	Reference                               *Phrase
	AdditionalInfo                          []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

BiologicalLimitValue, source: Chapter 8

BiologicalLimitValue corresponds to the XSD complex type BiologicalLimitValue.

type Boolean

type Boolean string

Boolean is a value of xs:boolean in its lexical form.

func BooleanOf

func BooleanOf(b bool) Boolean

BooleanOf returns the lexical form of b.

func (Boolean) Bool

func (b Boolean) Bool() (bool, error)

Bool returns the value of b.

func (Boolean) Valid

func (b Boolean) Valid() bool

Valid reports whether b is a valid xs:boolean.

type CMRData

type CMRData struct {
	Method           *Phrase
	Dose             *NumericRangeWithUnitAndQualifier
	ExposureRoute    *ExposureRoute
	ExposureTime     *NumericRangeWithUnitAndQualifier
	EffectValue      *NumericRangeWithUnitAndQualifier
	TestDuration     *NumericRangeWithUnitAndQualifier
	Species          *Species
	Result           *NumericRangeWithUnitAndQualifier
	ResultEvaluation []Phrase
	TestReference    *Phrase
	AdditionalInfo   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CMRData, source: Chapter 11

CMRData corresponds to the XSD complex type CMRData.

type CasNo

type CasNo string

The CAS identification string for a substance.

CasNo corresponds to the XSD simple type CasNo.

func (CasNo) Valid

func (v CasNo) Valid() bool

Valid reports whether v satisfies every constraint of CasNo.

type ClassificationEU

type ClassificationEU struct {
	// The chemical’s individual hazard classifications according to EU
	// regulation 1272/2008, revised until and including EU regulation 2020/217,
	// based on GHS revision 7 (also known as ATP 13). This ATP did not change
	// classification, but only introduced EUH211 and EUH212 for labelling.
	// Mentioning this as a separate classification marks that this aspect was
	// considered.
	ClpAtp14HazardClassification *ClassificationEUClpAtp14HazardClassification
	// The chemical’s individual hazard classifications according to EU
	// regulation 1272/2008, revised until and including delegated EU regulation
	// 2023/707, based on GHS revision 7. This has no widely used ATP number. This
	// ATP introduced ED, PBT and PMT classifications.
	ClpHazardClassification_2023_707 *ClassificationEUClpHazardClassification_2023_707
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ClassificationEU corresponds to the XSD complex type ClassificationEU.

type ClassificationEUClpAtp14HazardClassification

type ClassificationEUClpAtp14HazardClassification struct {
	Classification []ClassificationEUClpAtp14HazardClassificationClassification
	// Multiplying factor for substances highly toxic to the environment. Part of
	// the classification of pure substances. The M factors are used in application
	// of summation method for classification of mixtures containing substances
	// that are classified as very toxic. The concept of M factors has been
	// established to give an increased weight to very toxic substances when
	// classifying mixtures.
	MultiplyingFactor *ClassificationEUClpAtp14HazardClassificationMultiplyingFactor
	// As provided by a harmonized classification or the supplier for dilutions of
	// the substance/product. There is not just one SCL per hazard class, so this
	// cannot be bound to such classes.
	SpecificConcLimit []ClassificationEUClpAtp14HazardClassificationSpecificConcLimit
	// In CLP, ATE values may also be specified in harmonized classifications (CLP
	// Annex VI)
	ClassificationInfo *ClassificationInfo
	// Supplemental Hazards are treated in CLP as labelling elements, but in fact
	// are assessed like other classifications. For mixtures, supplemental hazards
	// of ingredients need to be known to determine supplemental hazards of the
	// mixture. Thus, systems can duplicate the information available as labelling
	// here. See also https://github.com/esdscom/sdscom-xml/issues/229
	ClpSupplementalHazardInformation []SupplementalHazardInformation
	// Classification notes: To identify classification notes (letters and/or
	// figures) in the case that the trade product is a substance. This information
	// shall be stated in the SDS together with the classifications of the
	// substance.
	ClassificationNotes []Phrase
	// Describes which amendment of CLP the ClpHazardClassification (and the
	// labelling) is compliant with. Especially useful if the SDS revision date
	// allows to classify according to different ATPs. This is not rudundant with
	// the classification or labelling nodes, which are only referring to the ATPs
	// that adapt CLP to new GHS revisions, while other ATPs may still change
	// harmonized classifications.
	ClpAtp *AtpEnum
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

The chemical’s individual hazard classifications according to EU regulation 1272/2008, revised until and including EU regulation 2020/217, based on GHS revision 7 (also known as ATP 13). This ATP did not change classification, but only introduced EUH211 and EUH212 for labelling. Mentioning this as a separate classification marks that this aspect was considered.

ClassificationEUClpAtp14HazardClassification corresponds to the anonymous complex type of element ClassificationEU/ClpAtp14HazardClassification.

type ClassificationEUClpAtp14HazardClassificationClassification

type ClassificationEUClpAtp14HazardClassificationClassification struct {
	// ClpAtp14Classification holds a sequence.
	ClpAtp14Classification *ClassificationEUClpAtp14HazardClassificationClassificationClpAtp14Classification
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ClassificationEUClpAtp14HazardClassificationClassification corresponds to the anonymous complex type of element ClassificationEU/ClpAtp14HazardClassification/Classification.

type ClassificationEUClpAtp14HazardClassificationClassificationClpAtp14Classification

type ClassificationEUClpAtp14HazardClassificationClassificationClpAtp14Classification struct {
	// CLP hazard category: The hazard class and a corresponding category /
	// differentiation according to CLP.
	HazardClassCategory *EuClpAtp14ClassCategoryEnum
	// Printable, phrase based representation of HazardClassCategory. While this
	// may be identical to HazardClassCatgory in its string representation, it
	// provides a translated version linked to a phrase library for applications
	// where this is useful.
	HazardClassCategoryPrintable *Phrase
	// CLP classification procedure: To state how the individual classification is
	// prepared. (This information should be shown in section 16). Only relevant
	// for instances of type Classification in section 2. For components in section
	// 3, this info should not be part of the SDS.
	ClassificationProcedure *Phrase
}

ClassificationEUClpAtp14HazardClassificationClassificationClpAtp14Classification corresponds to the content model ClassificationEU/ClpAtp14HazardClassification/Classification/ClpAtp14Classification.

type ClassificationEUClpAtp14HazardClassificationMultiplyingFactor

type ClassificationEUClpAtp14HazardClassificationMultiplyingFactor struct {
	Acute   *MultiplyingFactorInt
	Chronic *MultiplyingFactorInt
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Multiplying factor for substances highly toxic to the environment. Part of the classification of pure substances. The M factors are used in application of summation method for classification of mixtures containing substances that are classified as very toxic. The concept of M factors has been established to give an increased weight to very toxic substances when classifying mixtures.

ClassificationEUClpAtp14HazardClassificationMultiplyingFactor corresponds to the anonymous complex type of element ClassificationEU/ClpAtp14HazardClassification/MultiplyingFactor.

type ClassificationEUClpAtp14HazardClassificationSpecificConcLimit

type ClassificationEUClpAtp14HazardClassificationSpecificConcLimit struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice ClassificationEUClpAtp14HazardClassificationSpecificConcLimitChoice
	// always interpreted as greater than or equal to the value
	MinPercentage *Float
	// always interpreted as less than (not equal) to the value. If omitted, max
	// percentage is 100.
	MaxPercentage *Float
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

As provided by a harmonized classification or the supplier for dilutions of the substance/product. There is not just one SCL per hazard class, so this cannot be bound to such classes.

ClassificationEUClpAtp14HazardClassificationSpecificConcLimit corresponds to the anonymous complex type of element ClassificationEU/ClpAtp14HazardClassification/SpecificConcLimit.

type ClassificationEUClpAtp14HazardClassificationSpecificConcLimitChoice

type ClassificationEUClpAtp14HazardClassificationSpecificConcLimitChoice struct {
	ClpAtp14Classification *ClpAtp14Classification
	SupplementalHazard     *Atp12SupplementalHazardInformationEnum
}

ClassificationEUClpAtp14HazardClassificationSpecificConcLimitChoice corresponds to the content model ClassificationEU/ClpAtp14HazardClassification/SpecificConcLimit/Choice.

type ClassificationEUClpHazardClassification_2023_707

type ClassificationEUClpHazardClassification_2023_707 struct {
	Classification []ClassificationEUClpHazardClassification_2023_707Classification
	// Multiplying factor for substances highly toxic to the environment. Part of
	// the classification of pure substances. The M factors are used in application
	// of summation method for classification of mixtures containing substances
	// that are classified as very toxic. The concept of M factors has been
	// established to give an increased weight to very toxic substances when
	// classifying mixtures.
	MultiplyingFactor *ClassificationEUClpHazardClassification_2023_707MultiplyingFactor
	// As provided by a harmonized classification or the supplier for dilutions of
	// the substance/product. There is not just one SCL per hazard class, so this
	// cannot be bound to such classes.
	SpecificConcLimit []ClassificationEUClpHazardClassification_2023_707SpecificConcLimit
	// In CLP, ATE values may also be specified in harmonized classifications (CLP
	// Annex VI)
	ClassificationInfo *ClassificationInfo
	// Supplemental Hazards are treated in CLP as labelling elements, but in fact
	// are assessed like other classifications. For mixtures, supplemental hazards
	// of ingredients need to be known to determine supplemental hazards of the
	// mixture. Thus, systems can duplicate the information available as labelling
	// here. See also https://github.com/esdscom/sdscom-xml/issues/229
	ClpSupplementalHazardInformation []SupplementalHazardInformation
	// Classification notes: To identify classification notes (letters and/or
	// figures) in the case that the trade product is a substance. This information
	// shall be stated in the SDS together with the classifications of the
	// substance.
	ClassificationNotes []Phrase
	// Describes which amendment of CLP the ClpHazardClassification (and the
	// labelling) is compliant with. Especially useful if the SDS revision date
	// allows to classify according to different ATPs. This is not rudundant with
	// the classification or labelling nodes, which are only referring to the ATPs
	// that adapt CLP to new GHS revisions, while other ATPs may still change
	// harmonized classifications.
	ClpAtp *AtpEnum
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

The chemical’s individual hazard classifications according to EU regulation 1272/2008, revised until and including delegated EU regulation 2023/707, based on GHS revision 7. This has no widely used ATP number. This ATP introduced ED, PBT and PMT classifications.

ClassificationEUClpHazardClassification_2023_707 corresponds to the anonymous complex type of element ClassificationEU/ClpHazardClassification_2023_707.

type ClassificationEUClpHazardClassification_2023_707Classification

type ClassificationEUClpHazardClassification_2023_707Classification struct {
	// ClpClassification_2023_707 holds a sequence.
	ClpClassification_2023_707 *ClassificationEUClpHazardClassification_2023_707ClassificationClpClassification_2023_707
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ClassificationEUClpHazardClassification_2023_707Classification corresponds to the anonymous complex type of element ClassificationEU/ClpHazardClassification_2023_707/Classification.

type ClassificationEUClpHazardClassification_2023_707ClassificationClpClassification_2023_707

type ClassificationEUClpHazardClassification_2023_707ClassificationClpClassification_2023_707 struct {
	// CLP hazard category: The hazard class and a corresponding category /
	// differentiation according to CLP.
	HazardClassCategory *EuClpClassCategoryEnum_2023_707
	// Printable, phrase based representation of HazardClassCategory. While this
	// may be identical to HazardClassCatgory in its string representation, it
	// provides a translated version linked to a phrase library for applications
	// where this is useful.
	HazardClassCategoryPrintable *Phrase
	// CLP classification procedure: To state how the individual classification is
	// prepared. (This information should be shown in section 16). Only relevant
	// for instances of type Classification in section 2. For components in section
	// 3, this info should not be part of the SDS.
	ClassificationProcedure *Phrase
}

ClassificationEUClpHazardClassification_2023_707ClassificationClpClassification_2023_707 corresponds to the content model ClassificationEU/ClpHazardClassification_2023_707/Classification/ClpClassification_2023_707.

type ClassificationEUClpHazardClassification_2023_707MultiplyingFactor

type ClassificationEUClpHazardClassification_2023_707MultiplyingFactor struct {
	Acute   *MultiplyingFactorInt
	Chronic *MultiplyingFactorInt
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Multiplying factor for substances highly toxic to the environment. Part of the classification of pure substances. The M factors are used in application of summation method for classification of mixtures containing substances that are classified as very toxic. The concept of M factors has been established to give an increased weight to very toxic substances when classifying mixtures.

ClassificationEUClpHazardClassification_2023_707MultiplyingFactor corresponds to the anonymous complex type of element ClassificationEU/ClpHazardClassification_2023_707/MultiplyingFactor.

type ClassificationEUClpHazardClassification_2023_707SpecificConcLimit

type ClassificationEUClpHazardClassification_2023_707SpecificConcLimit struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice ClassificationEUClpHazardClassification_2023_707SpecificConcLimitChoice
	// always interpreted as greater than or equal to the value
	MinPercentage *Float
	// always interpreted as less than (not equal) to the value. If omitted, max
	// percentage is 100.
	MaxPercentage *Float
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

As provided by a harmonized classification or the supplier for dilutions of the substance/product. There is not just one SCL per hazard class, so this cannot be bound to such classes.

ClassificationEUClpHazardClassification_2023_707SpecificConcLimit corresponds to the anonymous complex type of element ClassificationEU/ClpHazardClassification_2023_707/SpecificConcLimit.

type ClassificationEUClpHazardClassification_2023_707SpecificConcLimitChoice

type ClassificationEUClpHazardClassification_2023_707SpecificConcLimitChoice struct {
	ClpClassification_2023_707 *ClpClassification_2023_707
	SupplementalHazard         *Atp12SupplementalHazardInformationEnum
}

ClassificationEUClpHazardClassification_2023_707SpecificConcLimitChoice corresponds to the content model ClassificationEU/ClpHazardClassification_2023_707/SpecificConcLimit/Choice.

type ClassificationInfo

type ClassificationInfo struct {
	UnknownToxicity *ClassificationInfoUnknownToxicity
	// Acute Toxicity Estimate as provided by the supplier. Necessary according to
	// UN GHS if the mixture is ingredient of another mixture, to derive this
	// product's toxicity classification. In CLP, ATE values may also be specified
	// in harmonized classifications (CLP Annex VI)
	Ate *ClassificationInfoAte
	// Additional information on classification: If the chemical do not meet the
	// classification criteria etc.
	AdditionalInformation []Phrase
}

ClassificationInfo corresponds to the content model group ClassificationInfo.

type ClassificationInfoAte

type ClassificationInfoAte struct {
	Inhalation *AteValue
	Dermal     *AteValue
	Oral       *AteValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Acute Toxicity Estimate as provided by the supplier. Necessary according to UN GHS if the mixture is ingredient of another mixture, to derive this product's toxicity classification. In CLP, ATE values may also be specified in harmonized classifications (CLP Annex VI)

ClassificationInfoAte corresponds to the anonymous complex type of element group ClassificationInfo/Ate.

type ClassificationInfoUnknownToxicity

type ClassificationInfoUnknownToxicity struct {
	Inhalation *Percentage
	Dermal     *Percentage
	Oral       *Percentage
	Aquatic    *Percentage
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ClassificationInfoUnknownToxicity corresponds to the anonymous complex type of element group ClassificationInfo/UnknownToxicity.

type ClpAtp14Classification

type ClpAtp14Classification struct {
	// CLP hazard category: The hazard class and a corresponding category /
	// differentiation according to CLP.
	HazardClassCategory *EuClpAtp14ClassCategoryEnum
	// Printable, phrase based representation of HazardClassCategory. While this
	// may be identical to HazardClassCatgory in its string representation, it
	// provides a translated version linked to a phrase library for applications
	// where this is useful.
	HazardClassCategoryPrintable *Phrase
}

ClpAtp14Classification corresponds to the content model group ClpAtp14Classification.

type ClpClassEdEnv_2023_707

type ClpClassEdEnv_2023_707 string

Endocrine disrupting effects on the environment according to CLP 2023.

ClpClassEdEnv_2023_707 corresponds to the XSD simple type ClpClassEdEnv_2023_707.

const (
	ClpClassEdEnv_2023_707_ED_ENV_1 ClpClassEdEnv_2023_707 = "ED ENV 1"
	ClpClassEdEnv_2023_707_ED_ENV_2 ClpClassEdEnv_2023_707 = "ED ENV 2"
)

func (ClpClassEdEnv_2023_707) Valid

func (v ClpClassEdEnv_2023_707) Valid() bool

Valid reports whether v satisfies every constraint of ClpClassEdEnv_2023_707.

type ClpClassEdHh_2023_707

type ClpClassEdHh_2023_707 string

Endocrine disrupting effects on human health according to CLP 2023.

ClpClassEdHh_2023_707 corresponds to the XSD simple type ClpClassEdHh_2023_707.

const (
	ClpClassEdHh_2023_707_ED_HH_1 ClpClassEdHh_2023_707 = "ED HH 1"
	ClpClassEdHh_2023_707_ED_HH_2 ClpClassEdHh_2023_707 = "ED HH 2"
)

func (ClpClassEdHh_2023_707) Valid

func (v ClpClassEdHh_2023_707) Valid() bool

Valid reports whether v satisfies every constraint of ClpClassEdHh_2023_707.

type ClpClassPbt_2023_707

type ClpClassPbt_2023_707 string

PBT properties according to CLP 2023. Since a product may be classified as PBT as well as vPvB, these are treated as separate classes here.

ClpClassPbt_2023_707 corresponds to the XSD simple type ClpClassPbt_2023_707.

const (
	ClpClassPbt_2023_707_PBT ClpClassPbt_2023_707 = "PBT"
)

func (ClpClassPbt_2023_707) Valid

func (v ClpClassPbt_2023_707) Valid() bool

Valid reports whether v satisfies every constraint of ClpClassPbt_2023_707.

type ClpClassPmt_2023_707

type ClpClassPmt_2023_707 string

PMT properties according to CLP 2023. Since a product may be classified as PMT as well as vPvM, these are treated as separate classes here.

ClpClassPmt_2023_707 corresponds to the XSD simple type ClpClassPmt_2023_707.

const (
	ClpClassPmt_2023_707_PMT ClpClassPmt_2023_707 = "PMT"
)

func (ClpClassPmt_2023_707) Valid

func (v ClpClassPmt_2023_707) Valid() bool

Valid reports whether v satisfies every constraint of ClpClassPmt_2023_707.

type ClpClassVpvb_2023_707

type ClpClassVpvb_2023_707 string

vPvB properties according to CLP 2023. Since a product may be classified as PBT as well as vPvB, these are treated as separate classes here.

ClpClassVpvb_2023_707 corresponds to the XSD simple type ClpClassVpvb_2023_707.

const (
	ClpClassVpvb_2023_707_vPvB ClpClassVpvb_2023_707 = "vPvB"
)

func (ClpClassVpvb_2023_707) Valid

func (v ClpClassVpvb_2023_707) Valid() bool

Valid reports whether v satisfies every constraint of ClpClassVpvb_2023_707.

type ClpClassVpvm_2023_707

type ClpClassVpvm_2023_707 string

vPvM properties according to CLP 2023. Since a product may be classified as PMT as well as vPvM, these are treated as separate classes here.

ClpClassVpvm_2023_707 corresponds to the XSD simple type ClpClassVpvm_2023_707.

const (
	ClpClassVpvm_2023_707_vPvM ClpClassVpvm_2023_707 = "vPvM"
)

func (ClpClassVpvm_2023_707) Valid

func (v ClpClassVpvm_2023_707) Valid() bool

Valid reports whether v satisfies every constraint of ClpClassVpvm_2023_707.

type ClpClassification_2023_707

type ClpClassification_2023_707 struct {
	// CLP hazard category: The hazard class and a corresponding category /
	// differentiation according to CLP.
	HazardClassCategory *EuClpClassCategoryEnum_2023_707
	// Printable, phrase based representation of HazardClassCategory. While this
	// may be identical to HazardClassCatgory in its string representation, it
	// provides a translated version linked to a phrase library for applications
	// where this is useful.
	HazardClassCategoryPrintable *Phrase
}

ClpClassification_2023_707 corresponds to the content model group ClpClassification_2023_707.

type ClpHazardEnum_2023_707

type ClpHazardEnum_2023_707 string

List of Hazard Statement codes according to GHS revision 7 as adopted in the EU, extended with the new EU hazard class info

ClpHazardEnum_2023_707 corresponds to the XSD simple type ClpHazardEnum_2023_707.

func (ClpHazardEnum_2023_707) Valid

func (v ClpHazardEnum_2023_707) Valid() bool

Valid reports whether v satisfies every constraint of ClpHazardEnum_2023_707.

type ClpHazardStatement_2023_707

type ClpHazardStatement_2023_707 struct {
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *Integer
	PhraseCode        *ClpHazardEnum_2023_707
	FullText          *String1024
	MergePhrase       []MergePhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

GHS Hazard Statement. Note that Systems may export PhraseCode only, without FullText or PhraseId, if used for applications like workplace safety lists.

ClpHazardStatement_2023_707 corresponds to the XSD complex type ClpHazardStatement_2023_707.

type ClpPrecautionEnum_2023_707

type ClpPrecautionEnum_2023_707 string

ClpPrecautionEnum_2023_707 corresponds to the XSD simple type ClpPrecautionEnum_2023_707.

func (ClpPrecautionEnum_2023_707) Valid

func (v ClpPrecautionEnum_2023_707) Valid() bool

Valid reports whether v satisfies every constraint of ClpPrecautionEnum_2023_707.

type ClpPrecautionaryStatement_2023_707

type ClpPrecautionaryStatement_2023_707 struct {
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *Integer
	PhraseCode        []ClpPrecautionEnum_2023_707
	FullText          *String1024
	MergePhrase       []MergePhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

GHS Precautionary Statement

ClpPrecautionaryStatement_2023_707 corresponds to the XSD complex type ClpPrecautionaryStatement_2023_707.

type ColourEnum

type ColourEnum string

Colour as described in Iuclid6 picklist PG6-60569 v1.0 – Mixture colour 64912 colourless 64913 black 64914 blue 64915 brown 64916 gold 64917 green 64918 grey 64919 orange 64920 pink 64921 purple 64922 red 64923 silver 64924 violet 64925 white 64926 yellow 64927 multicolour (select all relevant colours) 64928 mixture containing generic product identifier ‘colouring agent’ (select all relevant colours)

ColourEnum corresponds to the XSD simple type ColourEnum.

const (
	ColourEnum_colourless      ColourEnum = "colourless"
	ColourEnum_black           ColourEnum = "black"
	ColourEnum_blue            ColourEnum = "blue"
	ColourEnum_brown           ColourEnum = "brown"
	ColourEnum_gold            ColourEnum = "gold"
	ColourEnum_green           ColourEnum = "green"
	ColourEnum_grey            ColourEnum = "grey"
	ColourEnum_orange          ColourEnum = "orange"
	ColourEnum_pink            ColourEnum = "pink"
	ColourEnum_purple          ColourEnum = "purple"
	ColourEnum_red             ColourEnum = "red"
	ColourEnum_silver          ColourEnum = "silver"
	ColourEnum_violet          ColourEnum = "violet"
	ColourEnum_white           ColourEnum = "white"
	ColourEnum_yellow          ColourEnum = "yellow"
	ColourEnum_multicolour     ColourEnum = "multicolour"
	ColourEnum_colouring_agent ColourEnum = "colouring agent"
)

func (ColourEnum) Valid

func (v ColourEnum) Valid() bool

Valid reports whether v satisfies every constraint of ColourEnum.

type ColourIntensityEnum

type ColourIntensityEnum string

Colour intensity as specified in Iuclid6 picklist PG6-60568 v1.0 – Mixture colour intensity: 64908 transparent [should be translucent, as transparent means colourless) 64909 light 64910 dark 64911 fluorescent

ColourIntensityEnum corresponds to the XSD simple type ColourIntensityEnum.

const (
	ColourIntensityEnum_translucent ColourIntensityEnum = "translucent"
	ColourIntensityEnum_light       ColourIntensityEnum = "light"
	ColourIntensityEnum_dark        ColourIntensityEnum = "dark"
	ColourIntensityEnum_fluorescent ColourIntensityEnum = "fluorescent"
)

func (ColourIntensityEnum) Valid

func (v ColourIntensityEnum) Valid() bool

Valid reports whether v satisfies every constraint of ColourIntensityEnum.

type ComponentEU

type ComponentEU struct {
	// ComponentId is the attribute ComponentId. Its schema default is "0".
	ComponentId *Integer
	// ComponentInternalSdsId is the attribute ComponentInternalSdsId. Its schema
	// default is "".
	ComponentInternalSdsId *String64
	Substance              *Substance
	// Concentration: The concentration of the component in a mixture.
	Concentration *NumericRangeWithUnitAndQualifier
	// Relevant information on the component that is not presented elsewhere.
	AdditionalInfo []Phrase
	// Exposure control and personal protection, information on the component: This
	// section shall describe the applicable occupational exposure limits and
	// necessary risk management measures. Where a chemical safety report is
	// required, the information in this section shall be consistent with the
	// chemical safety report and the exposure scenarios showing control of risk
	// from the chemical safety report set out in the annex to the safety data
	// sheet.
	ExposureControlPersonalProtection *BaseExposureControlPersonalProtection
	// Physical and chemical properties of the component: This section of the
	// safety data sheet shall describe the empirical data relating to the
	// substance or mixture, if relevant. In the case of a mixture, the entries
	// shall clearly indicate to which substance in the mixture the data apply,
	// unless it is valid for the whole mixture.
	PhysicalChemicalProperties *BasePhysicalChemicalProperties
	// Toxicological information on the component:
	ToxicologicalInformation *BaseToxicologicalInformation
	EcologicalInformation    *BaseEcologicalInformation
	// Information on component: Information on the component that shall be
	// included in the SDS for the mixture. Information may include exposure limits
	// and other information from section 8, physical-chemical properties (section
	// 9), toxicological information (section 11) and ecological information
	// (section 12).
	ComponentInformation *ComponentEUComponentInformation
	TransportInformation *ComponentEUTransportInformation
	Classification       *ClassificationEU
	// Name of the component to be displayed on the hazard label: The value "True"
	// for this means that the name of the actual component shall be printed on the
	// hazard label as well as in section 2 of the SDS under the sub-heading
	// 'Dangerous substances'�. The default value of this element will be
	// 'false'�.
	OnLabel *Boolean
	// Restrictions related to the component: Specific regulations or restrictions
	// that apply to the component.
	EuRestrictions         *ComponentEUEuRestrictions
	EuTransportInformation *ComponentEUEuTransportInformation
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ComponentEU corresponds to the XSD complex type ComponentEU.

type ComponentEUComponentInformation

type ComponentEUComponentInformation struct {
	// There is a need for an element to state if a component shall be displayed in
	// section 3, but users have different policies on this; some want to display
	// hazardous as well as non-hazardous components. The default value of this
	// element should be 'true'�.
	IsHazardousComponent *Boolean
	// The component has an occupational exposure limit: 'True' means that the
	// actual component or designation represents an exposure limit that shall be
	// displayed in section 8 of the SDS. This element should have the default
	// value 'true'; the exposure limit of a component will be displayed
	// automatically. However, if this is not a component of the chemical it shall
	// not be displayed in section 3 – only in section 8. In such cases, the
	// value of IsHazardousComponent should be “false”. Examples on this are
	// Annoying dust, Oil mist, etc.
	IncludeOccupationalExposureLimits *Boolean
	// The component has a biological limit value: 'True' means that the actual
	// component or designation has a biological limit value and shall be displayed
	// under section 8 of the SDS. Just a few substances have such a biological
	// limit value; the default value for this element should be 'false'�.
	// However, if this is not a component of the mixture it shall not be displayed
	// in section 3; only in section 8. In such cases, the value of
	// IncludeBiologicalLimitValues should be 'false'�. Examples on this are
	// maximum level of lead in blood and maximum concentration of mercury in
	// urine. The components can be lead compounds, but the limit is related to
	// level of lead.
	IncludeBiologicalLimitValues *Boolean
	// Information on the component to be displayed in section 9:
	IncludePhysicalValues *Boolean
	// Information on the component to be displayed in section 11: Information on
	// the substance’s toxicological properties to be displayed in the SDS for
	// the mixture. Such information on components may be relevant for some
	// components in a mixture. The default value for this element should be set to
	// “false”. The information should be displayed in the SDS in section 11.
	IncludeToxicologicalValues *Boolean
	// Information on the component to be displayed in section 12: Information on
	// the substance’s ecological properties to be displayed in the SDS for the
	// mixture. Such information may be relevant for some components in a mixture
	// – it cannot be provided for the mixture. The default value for this
	// element should be set to “false”. The information should be displayed in
	// the SDS in section 12.
	IncludeEcoToxicologicalValues *Boolean
	// Reason for stating the component in the SDS: To describe components that do
	// not have a classification etc.
	CompReasonForListed []Phrase
	Function            *ComponentFunctionEnum
	// Indicate the form (solid, liquid, gas or other descriptive terms) of the
	// substance or mixture as supplied. May be omitted if specified in field Form.
	// If Form is "other", put more details in this field.
	FunctionDescription []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Information on component: Information on the component that shall be included in the SDS for the mixture. Information may include exposure limits and other information from section 8, physical-chemical properties (section 9), toxicological information (section 11) and ecological information (section 12).

ComponentEUComponentInformation corresponds to the anonymous complex type of element ComponentEU/ComponentInformation.

type ComponentEUEuRestrictions

type ComponentEUEuRestrictions struct {
	EuRestrictions       *ComponentEUEuRestrictionsEuRestrictions
	NationalRestrictions *ComponentEUEuRestrictionsNationalRestrictions
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Restrictions related to the component: Specific regulations or restrictions that apply to the component.

ComponentEUEuRestrictions corresponds to the anonymous complex type of element ComponentEU/EuRestrictions.

type ComponentEUEuRestrictionsEuRestrictions

type ComponentEUEuRestrictionsEuRestrictions struct {
	AssessedEuRestrictions    *Assessment
	RestrictionAccordingReach []Phrase
	OtherEuRestrictions       []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ComponentEUEuRestrictionsEuRestrictions corresponds to the anonymous complex type of element ComponentEU/EuRestrictions/EuRestrictions.

type ComponentEUEuRestrictionsNationalRestrictions

type ComponentEUEuRestrictionsNationalRestrictions struct {
	AssessedNationalRestrictions *Assessment
	NationalRestrictions         []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ComponentEUEuRestrictionsNationalRestrictions corresponds to the anonymous complex type of element ComponentEU/EuRestrictions/NationalRestrictions.

type ComponentEUEuTransportInformation

type ComponentEUEuTransportInformation struct {
	IsDangerReleasingSubstanceAdrRid *Boolean
	IsDangerReleasingSubstanceAdn    *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ComponentEUEuTransportInformation corresponds to the anonymous complex type of element ComponentEU/EuTransportInformation.

type ComponentEUTransportInformation

type ComponentEUTransportInformation struct {
	IsDangerReleasingSubstanceImdg *Boolean
	IsDangerReleasingSubstanceIata *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ComponentEUTransportInformation corresponds to the anonymous complex type of element ComponentEU/TransportInformation.

type ComponentFunctionEnum

type ComponentFunctionEnum string

Function of a component according to Iuclid6 picklists N28 and N28A (map "stabilizer" to "stabilizer: other"): 2675 absorbent 1699 active substance 2680 adsorbent 2693 anticaking agent 2694 anticoagulant 2721 booster 2728 buffer 2752 coagulant 2753 coating agent 2756 colourant 2761 complexing agent 2763 conditioner 2768 controlled release agent 2772 crystal growth regulator 2781 dehydrating agent 2783 denaturant 2794 drying agent 2795 dye 2802 emulsifier 2819 filler 2823 flow aid agent 2824 fragrance 2847 hardener 2895 lubricant 2918 moisturiser 2937 neutraliser 2976 odour masking agent 3442 pH adjuster 2999 pigment 3026 propellant 3342 solvent 61432 stabiliser: antioxidant 61433 stabiliser: inhibitor 61434 stabiliser: UV absorber 61435 stabiliser: other 3350 stiffener 3400 UV absorber 3424 viscosity modifier 3426 water repellent 3429 wetting agent 1342 other:

ComponentFunctionEnum corresponds to the XSD simple type ComponentFunctionEnum.

const (
	ComponentFunctionEnum_absorbent                ComponentFunctionEnum = "absorbent"
	ComponentFunctionEnum_active_substance         ComponentFunctionEnum = "active substance"
	ComponentFunctionEnum_adsorbent                ComponentFunctionEnum = "adsorbent"
	ComponentFunctionEnum_anticaking_agent         ComponentFunctionEnum = "anticaking agent"
	ComponentFunctionEnum_anticoagulant            ComponentFunctionEnum = "anticoagulant"
	ComponentFunctionEnum_booster                  ComponentFunctionEnum = "booster"
	ComponentFunctionEnum_buffer                   ComponentFunctionEnum = "buffer"
	ComponentFunctionEnum_coagulant                ComponentFunctionEnum = "coagulant"
	ComponentFunctionEnum_coating_agent            ComponentFunctionEnum = "coating agent"
	ComponentFunctionEnum_colourant                ComponentFunctionEnum = "colourant"
	ComponentFunctionEnum_complexing_agent         ComponentFunctionEnum = "complexing agent"
	ComponentFunctionEnum_conditioner              ComponentFunctionEnum = "conditioner"
	ComponentFunctionEnum_controlled_release_agent ComponentFunctionEnum = "controlled release agent"
	ComponentFunctionEnum_crystal_growth_regulator ComponentFunctionEnum = "crystal growth regulator"
	ComponentFunctionEnum_dehydrating_agent        ComponentFunctionEnum = "dehydrating agent"
	ComponentFunctionEnum_denaturant               ComponentFunctionEnum = "denaturant"
	ComponentFunctionEnum_drying_agent             ComponentFunctionEnum = "drying agent"
	ComponentFunctionEnum_dye                      ComponentFunctionEnum = "dye"
	ComponentFunctionEnum_emulsifier               ComponentFunctionEnum = "emulsifier"
	ComponentFunctionEnum_filler                   ComponentFunctionEnum = "filler"
	ComponentFunctionEnum_flow_aid_agent           ComponentFunctionEnum = "flow aid agent"
	ComponentFunctionEnum_fragrance                ComponentFunctionEnum = "fragrance"
	ComponentFunctionEnum_hardener                 ComponentFunctionEnum = "hardener"
	ComponentFunctionEnum_lubricant                ComponentFunctionEnum = "lubricant"
	ComponentFunctionEnum_moisturiser              ComponentFunctionEnum = "moisturiser"
	ComponentFunctionEnum_neutraliser              ComponentFunctionEnum = "neutraliser"
	ComponentFunctionEnum_odour_masking_agent      ComponentFunctionEnum = "odour masking agent"
	ComponentFunctionEnum_pH_adjuster              ComponentFunctionEnum = "pH adjuster"
	ComponentFunctionEnum_pigment                  ComponentFunctionEnum = "pigment"
	ComponentFunctionEnum_propellant               ComponentFunctionEnum = "propellant"
	ComponentFunctionEnum_solvent                  ComponentFunctionEnum = "solvent"
	ComponentFunctionEnum_stabiliser_antioxidant   ComponentFunctionEnum = "stabiliser: antioxidant"
	ComponentFunctionEnum_stabiliser_inhibitor     ComponentFunctionEnum = "stabiliser: inhibitor"
	ComponentFunctionEnum_stabiliser_UV_absorber   ComponentFunctionEnum = "stabiliser: UV absorber"
	ComponentFunctionEnum_stabiliser_other         ComponentFunctionEnum = "stabiliser: other"
	ComponentFunctionEnum_stiffener                ComponentFunctionEnum = "stiffener"
	ComponentFunctionEnum_UV_absorber              ComponentFunctionEnum = "UV absorber"
	ComponentFunctionEnum_viscosity_modifier       ComponentFunctionEnum = "viscosity modifier"
	ComponentFunctionEnum_water_repellent          ComponentFunctionEnum = "water repellent"
	ComponentFunctionEnum_wetting_agent            ComponentFunctionEnum = "wetting agent"
	ComponentFunctionEnum_other                    ComponentFunctionEnum = "other"
)

func (ComponentFunctionEnum) Valid

func (v ComponentFunctionEnum) Valid() bool

Valid reports whether v satisfies every constraint of ComponentFunctionEnum.

type Composition

type Composition struct {
	// was "DescriptionOfTheMixture" up to v4.2.3; see issue #95
	ChemicalCharacterization []Phrase
	RegionAR                 *CompositionRegionAR
	RegionBR                 *CompositionRegionBR
	RegionCA                 *CompositionRegionCA
	RegionEU                 *CompositionRegionEU
	RegionGB                 *CompositionRegionGB
	RegionMX                 *CompositionRegionMX
	RegionTR                 *CompositionRegionTR
	RegionUS                 *CompositionRegionUS
	AdditionalInfo           []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 3

Composition corresponds to the XSD complex type Composition.

type CompositionRegionAR

type CompositionRegionAR struct {
	// CompositionType: Enum of SingleConstituent, MultiConstituent, UVCB, Mixture.
	CompositionType *CompositionTypeEnum
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice CompositionRegionARChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CompositionRegionAR corresponds to the anonymous complex type of element Composition/RegionAR.

type CompositionRegionARChoice

type CompositionRegionARChoice struct {
	// describes a single constituent substance
	Substance *Substance
}

CompositionRegionARChoice corresponds to the content model Composition/RegionAR/Choice.

type CompositionRegionBR

type CompositionRegionBR struct {
	// CompositionType: Enum of SingleConstituent, MultiConstituent, UVCB, Mixture.
	CompositionType *CompositionTypeEnum
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice CompositionRegionBRChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CompositionRegionBR corresponds to the anonymous complex type of element Composition/RegionBR.

type CompositionRegionBRChoice

type CompositionRegionBRChoice struct {
	// describes a single constituent substance
	Substance *Substance
}

CompositionRegionBRChoice corresponds to the content model Composition/RegionBR/Choice.

type CompositionRegionCA

type CompositionRegionCA struct {
	// CompositionType: Enum of SingleConstituent, MultiConstituent, UVCB, Mixture.
	CompositionType *CompositionTypeEnum
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice CompositionRegionCAChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CompositionRegionCA corresponds to the anonymous complex type of element Composition/RegionCA.

type CompositionRegionCAChoice

type CompositionRegionCAChoice struct {
	// describes a single constituent substance
	Substance *Substance
}

CompositionRegionCAChoice corresponds to the content model Composition/RegionCA/Choice.

type CompositionRegionEU

type CompositionRegionEU struct {
	// CompositionType: Enum of SingleConstituent, MultiConstituent, UVCB, Mixture.
	CompositionType *CompositionTypeEnum
	// Just for transmission of Poison Center Notification data! This type has some
	// overlap with form, product categories, and other types. Take care of
	// consistency!
	FormulationType        *FormulationTypeEnum
	FormulationDescription []Phrase
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice CompositionRegionEUChoice
	// describes components which are unpurposely part of the substance or mixture
	Impurity []ComponentEU
	// describes additives which e.g. support the application stability
	Additive             []ComponentEU
	DecompositionProduct []ComponentEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CompositionRegionEU corresponds to the anonymous complex type of element Composition/RegionEU.

type CompositionRegionEUChoice

type CompositionRegionEUChoice struct {
	// describes a single constituent substance
	Substance *SubstanceEU
	// describes functional components of a multi-constituent, UVCB or mixture. The
	// optional attribute ComponentId can be used for referal from the national
	// extensions. The other optional attribute ComponentInternalSdsId can be used
	// to store references to safety datasheets for pure substances or identify
	// identical substances in other mixtures. The value in field ItemNo
	// InternalSdsId for a pure substance should then match the value of this
	// attribute. A randomly generated global unique string (GUID) can be used for
	// identification.
	Component []ComponentEU
}

CompositionRegionEUChoice corresponds to the content model Composition/RegionEU/Choice.

type CompositionRegionGB

type CompositionRegionGB struct {
	// CompositionType: Enum of SingleConstituent, MultiConstituent, UVCB, Mixture.
	CompositionType *CompositionTypeEnum
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice CompositionRegionGBChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CompositionRegionGB corresponds to the anonymous complex type of element Composition/RegionGB.

type CompositionRegionGBChoice

type CompositionRegionGBChoice struct {
	// describes a single constituent substance
	Substance *Substance
}

CompositionRegionGBChoice corresponds to the content model Composition/RegionGB/Choice.

type CompositionRegionMX

type CompositionRegionMX struct {
	// CompositionType: Enum of SingleConstituent, MultiConstituent, UVCB, Mixture.
	CompositionType *CompositionTypeEnum
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice CompositionRegionMXChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CompositionRegionMX corresponds to the anonymous complex type of element Composition/RegionMX.

type CompositionRegionMXChoice

type CompositionRegionMXChoice struct {
	// describes a single constituent substance
	Substance *Substance
}

CompositionRegionMXChoice corresponds to the content model Composition/RegionMX/Choice.

type CompositionRegionTR

type CompositionRegionTR struct {
	// CompositionType: Enum of SingleConstituent, MultiConstituent, UVCB, Mixture.
	CompositionType *CompositionTypeEnum
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice CompositionRegionTRChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CompositionRegionTR corresponds to the anonymous complex type of element Composition/RegionTR.

type CompositionRegionTRChoice

type CompositionRegionTRChoice struct {
	// describes a single constituent substance
	Substance *Substance
}

CompositionRegionTRChoice corresponds to the content model Composition/RegionTR/Choice.

type CompositionRegionUS

type CompositionRegionUS struct {
	// CompositionType: Enum of SingleConstituent, MultiConstituent, UVCB, Mixture.
	CompositionType *CompositionTypeEnum
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice CompositionRegionUSChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CompositionRegionUS corresponds to the anonymous complex type of element Composition/RegionUS.

type CompositionRegionUSChoice

type CompositionRegionUSChoice struct {
	// describes a single constituent substance
	Substance *Substance
}

CompositionRegionUSChoice corresponds to the content model Composition/RegionUS/Choice.

type CompositionTypeEnum

type CompositionTypeEnum string

Legal view on the composition, to determine whether the product is a substance, mixture, or else. Polymer is included for compatibility with Iuclid6 picklist N08.

CompositionTypeEnum corresponds to the XSD simple type CompositionTypeEnum.

const (
	CompositionTypeEnum_SingleConstituent CompositionTypeEnum = "SingleConstituent"
	CompositionTypeEnum_MultiConstituent  CompositionTypeEnum = "MultiConstituent"
	CompositionTypeEnum_UVCB              CompositionTypeEnum = "UVCB"
	CompositionTypeEnum_Mixture           CompositionTypeEnum = "Mixture"
	CompositionTypeEnum_Mixture_Polymer   CompositionTypeEnum = "Mixture: Polymer"
)

func (CompositionTypeEnum) Valid

func (v CompositionTypeEnum) Valid() bool

Valid reports whether v satisfies every constraint of CompositionTypeEnum.

type ConsumerProtection

type ConsumerProtection struct {
	// Indicates safety advice to be conveyed to consumers in order to reduce
	// exposure. This may include instructions for use.
	ConsumerProtection []EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes the risk management measures for consumer consideration.

ConsumerProtection corresponds to the XSD complex type ConsumerProtection.

type ContributingScenarioConsumer

type ContributingScenarioConsumer struct {
	// Describes the global unique identifier that is generated by the system and
	// that identifies the contributing scenario for the worker. Expected value:
	// UUID
	IdentificationString *UUID
	// Name that describes the contributing scenario for workers. Expected value:
	// Phrase
	ContributingScenarioName []EsdscomPhrase
	// Specifies the order of a contributing scenario within the annex of the
	// extended safety data sheet. Expected value: Order number
	ContributingScenarioOrder           *Int20
	ProductArticleCharacteristics       *ProductArticleCharacteristics
	AmountsOfUse                        *ContributingScenarioEnvironmentForWorkerUseAmountsOfUse
	ExposureEstimationAdditionalDetails *ContributingScenarioEnvironmentForWorkerUseExposureEstimationAdditionalDetails
	FrequencyDurationHH                 []FrequencyDurationHH
	ExposureEstimationHH                []ExposureEstimationHH
	HumanFactors                        *ContributingScenarioWorkerHumanFactors
	AdditionalConditionsMeasuresHH      *AdditionalConditionsMeasuresHH
	// SCED = Specific Consumer Exposure Description. The phrase text is expected
	// to hold the wording, the phrase OriginalCode is expected to hold the SCED
	// code.
	Sced *EsdscomPhrase
	// Describes the article categories (AC) that are covered by the assessment
	// described in the specific contributing scenario. The list of ACs is
	// available in the Use Descriptor System defined in chapter R.12 of the ECHA
	// Guidance on Information Requirements and Chemical Safety Assessment.
	ArticleCategory []EsdscomPhrase
	// Describes the article sub-categories that are covered by the assessment
	// described in the specific contributing scenario, where additional details
	// with respect to what is included in the field for ACs are needed.
	ArticleSubCategory []EsdscomPhrase
	// Describes the product categories (PC) that are covered by the assessment
	// described in the specific contributing scenario. The list of PCs is
	// available in the Use Descriptor System defined in chapter R.12 of the ECHA
	// Guidance on Information Requirements and Chemical Safety Assessment.
	ProductCategory []EsdscomPhrase
	// Describes the product sub-categories that are covered by the assessment
	// described in the specific contributing scenario, where additional details
	// with respect to what is included in the field for PCs are needed.
	ProductSubCategory      []EsdscomPhrase
	ConsumerProtection      *ConsumerProtection
	OtherConditionsConsumer *OtherConditionsConsumer
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioConsumer corresponds to the XSD complex type ContributingScenarioConsumer.

type ContributingScenarioEnvironmentForConsumerUse

type ContributingScenarioEnvironmentForConsumerUse struct {
	// Describes the global unique identifier that is generated by the system and
	// that identifies the contributing scenario for the worker. Expected value:
	// UUID
	IdentificationString *UUID
	// Name that describes the contributing scenario for workers. Expected value:
	// Phrase
	ContributingScenarioName []EsdscomPhrase
	// Specifies the order of a contributing scenario within the annex of the
	// extended safety data sheet. Expected value: Order number
	ContributingScenarioOrder           *Int20
	ProductArticleCharacteristics       *ProductArticleCharacteristics
	AmountsOfUse                        *ContributingScenarioEnvironmentForWorkerUseAmountsOfUse
	ExposureEstimationAdditionalDetails *ContributingScenarioEnvironmentForWorkerUseExposureEstimationAdditionalDetails
	// SpERC = Specific Environmental Release Category. The phrase text is expected
	// to hold the wording, the phrase OriginalCode is expected to hold the SpERC
	// code.
	Sperc *EsdscomPhrase
	// Describes the environmental release categories that are covered by the
	// assessment described in the specific contributing scenario. This description
	// is made via the Use Descriptor System defined in chapter R.12 of the ECHA
	// guidance on information requirements.
	EnvironmentalReleaseCategory            []EsdscomPhrase
	AdditionalGoodPracticeAdvice            *AdditionalGoodPracticeAdvice
	WasteRelatedMeasures                    *ContributingScenarioEnvironmentForWorkerUseWasteRelatedMeasures
	MsafeEnvironment                        *MsafeEnvironment
	FrequencyDurationEnvironment            *FrequencyDurationEnvironment
	OtherConditionsEnvironment              *OtherConditionsEnvironment
	AdditionalConditionsMeasuresEnvironment *ContributingScenarioEnvironmentForWorkerUseAdditionalConditionsMeasuresEnvironment
	ReleaseEstimationEnvironment            []ReleaseEstimationEnvironment
	ExposureEstimationEnvironment           []ExposureEstimationEnvironment
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioEnvironmentForConsumerUse corresponds to the XSD complex type ContributingScenarioEnvironmentForConsumerUse.

type ContributingScenarioEnvironmentForWorkerUse

type ContributingScenarioEnvironmentForWorkerUse struct {
	// Describes the global unique identifier that is generated by the system and
	// that identifies the contributing scenario for the worker. Expected value:
	// UUID
	IdentificationString *UUID
	// Name that describes the contributing scenario for workers. Expected value:
	// Phrase
	ContributingScenarioName []EsdscomPhrase
	// Specifies the order of a contributing scenario within the annex of the
	// extended safety data sheet. Expected value: Order number
	ContributingScenarioOrder           *Int20
	ProductArticleCharacteristics       *ProductArticleCharacteristics
	AmountsOfUse                        *ContributingScenarioEnvironmentForWorkerUseAmountsOfUse
	ExposureEstimationAdditionalDetails *ContributingScenarioEnvironmentForWorkerUseExposureEstimationAdditionalDetails
	// SpERC = Specific Environmental Release Category. The phrase text is expected
	// to hold the wording, the phrase OriginalCode is expected to hold the SpERC
	// code.
	Sperc *EsdscomPhrase
	// Describes the environmental release categories that are covered by the
	// assessment described in the specific contributing scenario. This description
	// is made via the Use Descriptor System defined in chapter R.12 of the ECHA
	// guidance on information requirements.
	EnvironmentalReleaseCategory            []EsdscomPhrase
	AdditionalGoodPracticeAdvice            *AdditionalGoodPracticeAdvice
	WasteRelatedMeasures                    *ContributingScenarioEnvironmentForWorkerUseWasteRelatedMeasures
	MsafeEnvironment                        *MsafeEnvironment
	FrequencyDurationEnvironment            *FrequencyDurationEnvironment
	OtherConditionsEnvironment              *OtherConditionsEnvironment
	AdditionalConditionsMeasuresEnvironment *ContributingScenarioEnvironmentForWorkerUseAdditionalConditionsMeasuresEnvironment
	ReleaseEstimationEnvironment            []ReleaseEstimationEnvironment
	ExposureEstimationEnvironment           []ExposureEstimationEnvironment
	ReleaseDischargePrevention              *ContributingScenarioEnvironmentForWorkerUseReleaseDischargePrevention
	STPConditions                           []STPConditions
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioEnvironmentForWorkerUse corresponds to the XSD complex type ContributingScenarioEnvironmentForWorkerUse.

type ContributingScenarioEnvironmentForWorkerUseAdditionalConditionsMeasuresEnvironment

type ContributingScenarioEnvironmentForWorkerUseAdditionalConditionsMeasuresEnvironment struct {
	// Specifies additional waste related measures for a use relevant to
	// environment.
	ConditionMeasure []UseCondMeasureEnv
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioEnvironmentForWorkerUseAdditionalConditionsMeasuresEnvironment corresponds to the anonymous complex type of element ContributingScenarioEnvironmentForWorkerUse/AdditionalConditionsMeasuresEnvironment.

type ContributingScenarioEnvironmentForWorkerUseAmountsOfUse

type ContributingScenarioEnvironmentForWorkerUseAmountsOfUse struct {
	// Describes the amount(s) of a substance used during a process or task.
	// Specifies the period for the input amount used during a process or an
	// activity. Expected value: Phrase or numeric value or both
	UseAmount []UseCondQuantitativeWithUnitAndQual
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioEnvironmentForWorkerUseAmountsOfUse corresponds to the anonymous complex type of element ContributingScenarioEnvironmentForWorkerUse/AmountsOfUse.

type ContributingScenarioEnvironmentForWorkerUseExposureEstimationAdditionalDetails

type ContributingScenarioEnvironmentForWorkerUseExposureEstimationAdditionalDetails struct {
	// Includes additional information for the downstream users beyond the
	// numerical estimates and releases, e.g. related to the scope and details of
	// the exposure assessment.
	AdditionalDetails []EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioEnvironmentForWorkerUseExposureEstimationAdditionalDetails corresponds to the anonymous complex type of element ContributingScenarioEnvironmentForWorkerUse/ExposureEstimationAdditionalDetails.

type ContributingScenarioEnvironmentForWorkerUseReleaseDischargePrevention

type ContributingScenarioEnvironmentForWorkerUseReleaseDischargePrevention struct {
	// Specifies different measures that aim to prevent losses from processes
	// and/or clean up the streams (water or air) leaving the processes on site.
	// The measures could be compartment-specific and could be associated with the
	// specific effectiveness for air, soil or water. The effectiveness describes
	// the degree in % to which the measure to reduce the release is effective.
	// Expected value: Phrase (+ effectiveness)
	Measure []RiskManagementMeasureEnv
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioEnvironmentForWorkerUseReleaseDischargePrevention corresponds to the anonymous complex type of element ContributingScenarioEnvironmentForWorkerUse/ReleaseDischargePrevention.

type ContributingScenarioEnvironmentForWorkerUseWasteRelatedMeasures

type ContributingScenarioEnvironmentForWorkerUseWasteRelatedMeasures struct {
	// Indicates how waste produced during a process or an activity should be
	// treated, including, for instance, prescribed disposal methods or advised
	// against treatment methods. Value expected: Phrase (+ effectiveness)
	WasteTreatment []RiskManagementMeasureWaste
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioEnvironmentForWorkerUseWasteRelatedMeasures corresponds to the anonymous complex type of element ContributingScenarioEnvironmentForWorkerUse/WasteRelatedMeasures.

type ContributingScenarioWorker

type ContributingScenarioWorker struct {
	// Describes the global unique identifier that is generated by the system and
	// that identifies the contributing scenario for the worker. Expected value:
	// UUID
	IdentificationString *UUID
	// Name that describes the contributing scenario for workers. Expected value:
	// Phrase
	ContributingScenarioName []EsdscomPhrase
	// Specifies the order of a contributing scenario within the annex of the
	// extended safety data sheet. Expected value: Order number
	ContributingScenarioOrder           *Int20
	ProductArticleCharacteristics       *ProductArticleCharacteristics
	AmountsOfUse                        *ContributingScenarioEnvironmentForWorkerUseAmountsOfUse
	ExposureEstimationAdditionalDetails *ContributingScenarioEnvironmentForWorkerUseExposureEstimationAdditionalDetails
	FrequencyDurationHH                 []FrequencyDurationHH
	ExposureEstimationHH                []ExposureEstimationHH
	HumanFactors                        *ContributingScenarioWorkerHumanFactors
	AdditionalConditionsMeasuresHH      *AdditionalConditionsMeasuresHH
	// SWED = Specific Worker Exposure Description. The phrase text is expected to
	// hold the wording, the phrase OriginalCode is expected to hold the SWED code.
	Swed *EsdscomPhrase
	// Describes the process categories that are covered by the assessment
	// described in the specific contributing scenario. This description is made
	// via the Use Descriptor System defined in chapter R.12 of the ECHA guidance
	// on information requirements. Expected value: Phrase
	ProcessCategory                               []EsdscomPhrase
	AdditionalGoodPracticeAdvice                  *AdditionalGoodPracticeAdvice
	TechnicalOrganizationalMeasuresWorkers        *ContributingScenarioWorkerTechnicalOrganizationalMeasuresWorkers
	OtherConditionsWorker                         *OtherConditionsWorker
	PersonalProtectionEquipmentAndMeasuresWorkers *ContributingScenarioWorkerPersonalProtectionEquipmentAndMeasuresWorkers
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioWorker corresponds to the XSD complex type ContributingScenarioWorker.

type ContributingScenarioWorkerHumanFactors

type ContributingScenarioWorkerHumanFactors struct {
	// Body parts that have been considered in the assessment. Expected value:
	// Phrase
	BodyPartsExposed []EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioWorkerHumanFactors corresponds to the anonymous complex type of element ContributingScenarioWorker/HumanFactors.

type ContributingScenarioWorkerPersonalProtectionEquipmentAndMeasuresWorkers

type ContributingScenarioWorkerPersonalProtectionEquipmentAndMeasuresWorkers struct {
	// Indicates elements related to personal protective equipment (PPE) for
	// workers. The measures could be route-specific and could be associated with
	// the specific effectiveness for dermal or inhalation. The effectiveness
	// describes the degree in % to which the measure to reduce the exposure is
	// effective. Expected value: Phrase (+ effectiveness)
	Measure []RiskManagementMeasureHH
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioWorkerPersonalProtectionEquipmentAndMeasuresWorkers corresponds to the anonymous complex type of element ContributingScenarioWorker/PersonalProtectionEquipmentAndMeasuresWorkers.

type ContributingScenarioWorkerTechnicalOrganizationalMeasuresWorkers

type ContributingScenarioWorkerTechnicalOrganizationalMeasuresWorkers struct {
	// The equipment-related implemented to prevent the exposure of workers are
	// indicated here. Organizational measures are also included in this field. The
	// measures could be route-specific and could be associated with the specific
	// effectiveness for dermal or inhalation. The effectiveness describes the
	// degree in % to which the measure to reduce the exposure is effective.
	// Expected value: Phrase (+ effectiveness)
	Measure []RiskManagementMeasureHH
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ContributingScenarioWorkerTechnicalOrganizationalMeasuresWorkers corresponds to the anonymous complex type of element ContributingScenarioWorker/TechnicalOrganizationalMeasuresWorkers.

type ControlParameters

type ControlParameters struct {
	// Occupational exposure limit: Values shall be given for the country where the
	// substance or preparation is placed on the market. Give information on
	// currently recommended monitoring procedures. For mixtures, it is useful to
	// provide values for those constituent substances which are required to be
	// listed in the Safety Data Sheet.
	OccupationalExposureLimits *ControlParametersOccupationalExposureLimits
	// Biological limit value: aims at the product in delivery state. Information
	// regarding biological limit values - e.g. concentration of lead in blood.
	// Biological limits will refer to individual components, not preparations.
	BiologicalLimitValues *ControlParametersBiologicalLimitValues
	AdditionalInfo        []Phrase
	RegionEU              *ControlParametersEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ControlParameters corresponds to the XSD complex type ControlParameters.

type ControlParametersBiologicalLimitValues

type ControlParametersBiologicalLimitValues struct {
	// aims at the product in delivery state
	BiologicalLimitValue []BiologicalLimitValue
	// aims at degradation product limit values during use
	IntendedUseBiologicalLimitValue []BiologicalLimitValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Biological limit value: aims at the product in delivery state. Information regarding biological limit values - e.g. concentration of lead in blood. Biological limits will refer to individual components, not preparations.

ControlParametersBiologicalLimitValues corresponds to the anonymous complex type of element ControlParameters/BiologicalLimitValues.

type ControlParametersEU

type ControlParametersEU struct {
	// Derived no effect level (DNEL): Where a Chemical Safety Report is required,
	// the relevant DNELs for the substance shall be given. For preparations, it is
	// useful to provide values for those constituent substances which are required
	// to be listed in the safety data sheet.
	DerivedNoEffectLevel      []DNEL
	DerivedMinimalEffectLevel []DMEL
	// Predicted no effect concentration (PNEC): Where a Chemical Safety Report is
	// required, the relevant PNECs for the substance shall be given. For
	// preparations, it is useful to provide values for those constituent
	// substances which are required to be listed.
	PredictedNoEffectConcentration []PNEC
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ControlParametersEU corresponds to the XSD complex type ControlParametersEU.

type ControlParametersOccupationalExposureLimits

type ControlParametersOccupationalExposureLimits struct {
	// aims at the product in delivery state
	OccupationalExposureLimit []OccupationalExposureLimit
	// aims at degradation product limit values during use
	IntendedUseOccupationalExposureLimit []OccupationalExposureLimit
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Occupational exposure limit: Values shall be given for the country where the substance or preparation is placed on the market. Give information on currently recommended monitoring procedures. For mixtures, it is useful to provide values for those constituent substances which are required to be listed in the Safety Data Sheet.

ControlParametersOccupationalExposureLimits corresponds to the anonymous complex type of element ControlParameters/OccupationalExposureLimits.

type CorrosionIrritationData

type CorrosionIrritationData struct {
	InvestigationMethod   *InvestigationMethod
	Method                *Phrase
	ExposureTime          *NumericRangeWithUnitAndQualifier
	Species               *Species
	Value                 *NumericRangeWithUnitAndQualifier
	ResultEvaluation      []Phrase
	ResultEvaluationScore *NumericRangeWithUnitAndQualifier
	TestReference         *Phrase
	AdditionalInfo        []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

CorrosionIrritationData, source: Chapter 11

CorrosionIrritationData corresponds to the XSD complex type CorrosionIrritationData.

type CountryCodeEnum

type CountryCodeEnum string

Country according to ISO standard ISO 3166 (2 letters).

CountryCodeEnum corresponds to the XSD simple type CountryCodeEnum.

const (
	CountryCodeEnum_AD CountryCodeEnum = "AD"
	CountryCodeEnum_AE CountryCodeEnum = "AE"
	CountryCodeEnum_AF CountryCodeEnum = "AF"
	CountryCodeEnum_AG CountryCodeEnum = "AG"
	CountryCodeEnum_AI CountryCodeEnum = "AI"
	CountryCodeEnum_AL CountryCodeEnum = "AL"
	CountryCodeEnum_AM CountryCodeEnum = "AM"
	CountryCodeEnum_AO CountryCodeEnum = "AO"
	CountryCodeEnum_AQ CountryCodeEnum = "AQ"
	CountryCodeEnum_AR CountryCodeEnum = "AR"
	CountryCodeEnum_AS CountryCodeEnum = "AS"
	CountryCodeEnum_AT CountryCodeEnum = "AT"
	CountryCodeEnum_AU CountryCodeEnum = "AU"
	CountryCodeEnum_AW CountryCodeEnum = "AW"
	CountryCodeEnum_AX CountryCodeEnum = "AX"
	CountryCodeEnum_AZ CountryCodeEnum = "AZ"
	CountryCodeEnum_BA CountryCodeEnum = "BA"
	CountryCodeEnum_BB CountryCodeEnum = "BB"
	CountryCodeEnum_BD CountryCodeEnum = "BD"
	CountryCodeEnum_BE CountryCodeEnum = "BE"
	CountryCodeEnum_BF CountryCodeEnum = "BF"
	CountryCodeEnum_BG CountryCodeEnum = "BG"
	CountryCodeEnum_BH CountryCodeEnum = "BH"
	CountryCodeEnum_BI CountryCodeEnum = "BI"
	CountryCodeEnum_BJ CountryCodeEnum = "BJ"
	CountryCodeEnum_BL CountryCodeEnum = "BL"
	CountryCodeEnum_BM CountryCodeEnum = "BM"
	CountryCodeEnum_BN CountryCodeEnum = "BN"
	CountryCodeEnum_BO CountryCodeEnum = "BO"
	CountryCodeEnum_BQ CountryCodeEnum = "BQ"
	CountryCodeEnum_BR CountryCodeEnum = "BR"
	CountryCodeEnum_BS CountryCodeEnum = "BS"
	CountryCodeEnum_BT CountryCodeEnum = "BT"
	CountryCodeEnum_BV CountryCodeEnum = "BV"
	CountryCodeEnum_BW CountryCodeEnum = "BW"
	CountryCodeEnum_BY CountryCodeEnum = "BY"
	CountryCodeEnum_BZ CountryCodeEnum = "BZ"
	CountryCodeEnum_CA CountryCodeEnum = "CA"
	CountryCodeEnum_CC CountryCodeEnum = "CC"
	CountryCodeEnum_CD CountryCodeEnum = "CD"
	CountryCodeEnum_CF CountryCodeEnum = "CF"
	CountryCodeEnum_CG CountryCodeEnum = "CG"
	CountryCodeEnum_CH CountryCodeEnum = "CH"
	CountryCodeEnum_CI CountryCodeEnum = "CI"
	CountryCodeEnum_CK CountryCodeEnum = "CK"
	CountryCodeEnum_CL CountryCodeEnum = "CL"
	CountryCodeEnum_CM CountryCodeEnum = "CM"
	CountryCodeEnum_CN CountryCodeEnum = "CN"
	CountryCodeEnum_CO CountryCodeEnum = "CO"
	CountryCodeEnum_CR CountryCodeEnum = "CR"
	CountryCodeEnum_CU CountryCodeEnum = "CU"
	CountryCodeEnum_CV CountryCodeEnum = "CV"
	CountryCodeEnum_CW CountryCodeEnum = "CW"
	CountryCodeEnum_CX CountryCodeEnum = "CX"
	CountryCodeEnum_CY CountryCodeEnum = "CY"
	CountryCodeEnum_CZ CountryCodeEnum = "CZ"
	CountryCodeEnum_DE CountryCodeEnum = "DE"
	CountryCodeEnum_DJ CountryCodeEnum = "DJ"
	CountryCodeEnum_DK CountryCodeEnum = "DK"
	CountryCodeEnum_DM CountryCodeEnum = "DM"
	CountryCodeEnum_DO CountryCodeEnum = "DO"
	CountryCodeEnum_DZ CountryCodeEnum = "DZ"
	CountryCodeEnum_EC CountryCodeEnum = "EC"
	CountryCodeEnum_EE CountryCodeEnum = "EE"
	CountryCodeEnum_EG CountryCodeEnum = "EG"
	CountryCodeEnum_EH CountryCodeEnum = "EH"
	CountryCodeEnum_ER CountryCodeEnum = "ER"
	CountryCodeEnum_ES CountryCodeEnum = "ES"
	CountryCodeEnum_ET CountryCodeEnum = "ET"
	CountryCodeEnum_FI CountryCodeEnum = "FI"
	CountryCodeEnum_FJ CountryCodeEnum = "FJ"
	CountryCodeEnum_FK CountryCodeEnum = "FK"
	CountryCodeEnum_FM CountryCodeEnum = "FM"
	CountryCodeEnum_FO CountryCodeEnum = "FO"
	CountryCodeEnum_FR CountryCodeEnum = "FR"
	CountryCodeEnum_GA CountryCodeEnum = "GA"
	CountryCodeEnum_GB CountryCodeEnum = "GB"
	CountryCodeEnum_GD CountryCodeEnum = "GD"
	CountryCodeEnum_GE CountryCodeEnum = "GE"
	CountryCodeEnum_GF CountryCodeEnum = "GF"
	CountryCodeEnum_GG CountryCodeEnum = "GG"
	CountryCodeEnum_GH CountryCodeEnum = "GH"
	CountryCodeEnum_GI CountryCodeEnum = "GI"
	CountryCodeEnum_GL CountryCodeEnum = "GL"
	CountryCodeEnum_GM CountryCodeEnum = "GM"
	CountryCodeEnum_GN CountryCodeEnum = "GN"
	CountryCodeEnum_GP CountryCodeEnum = "GP"
	CountryCodeEnum_GQ CountryCodeEnum = "GQ"
	CountryCodeEnum_GR CountryCodeEnum = "GR"
	CountryCodeEnum_GS CountryCodeEnum = "GS"
	CountryCodeEnum_GT CountryCodeEnum = "GT"
	CountryCodeEnum_GU CountryCodeEnum = "GU"
	CountryCodeEnum_GW CountryCodeEnum = "GW"
	CountryCodeEnum_GY CountryCodeEnum = "GY"
	CountryCodeEnum_HK CountryCodeEnum = "HK"
	CountryCodeEnum_HM CountryCodeEnum = "HM"
	CountryCodeEnum_HN CountryCodeEnum = "HN"
	CountryCodeEnum_HR CountryCodeEnum = "HR"
	CountryCodeEnum_HT CountryCodeEnum = "HT"
	CountryCodeEnum_HU CountryCodeEnum = "HU"
	CountryCodeEnum_ID CountryCodeEnum = "ID"
	CountryCodeEnum_IE CountryCodeEnum = "IE"
	CountryCodeEnum_IL CountryCodeEnum = "IL"
	CountryCodeEnum_IM CountryCodeEnum = "IM"
	CountryCodeEnum_IN CountryCodeEnum = "IN"
	CountryCodeEnum_IO CountryCodeEnum = "IO"
	CountryCodeEnum_IQ CountryCodeEnum = "IQ"
	CountryCodeEnum_IR CountryCodeEnum = "IR"
	CountryCodeEnum_IS CountryCodeEnum = "IS"
	CountryCodeEnum_IT CountryCodeEnum = "IT"
	CountryCodeEnum_JE CountryCodeEnum = "JE"
	CountryCodeEnum_JM CountryCodeEnum = "JM"
	CountryCodeEnum_JO CountryCodeEnum = "JO"
	CountryCodeEnum_JP CountryCodeEnum = "JP"
	CountryCodeEnum_KE CountryCodeEnum = "KE"
	CountryCodeEnum_KG CountryCodeEnum = "KG"
	CountryCodeEnum_KH CountryCodeEnum = "KH"
	CountryCodeEnum_KI CountryCodeEnum = "KI"
	CountryCodeEnum_KM CountryCodeEnum = "KM"
	CountryCodeEnum_KN CountryCodeEnum = "KN"
	CountryCodeEnum_KP CountryCodeEnum = "KP"
	CountryCodeEnum_KR CountryCodeEnum = "KR"
	CountryCodeEnum_KW CountryCodeEnum = "KW"
	CountryCodeEnum_KY CountryCodeEnum = "KY"
	CountryCodeEnum_KZ CountryCodeEnum = "KZ"
	CountryCodeEnum_LA CountryCodeEnum = "LA"
	CountryCodeEnum_LB CountryCodeEnum = "LB"
	CountryCodeEnum_LC CountryCodeEnum = "LC"
	CountryCodeEnum_LI CountryCodeEnum = "LI"
	CountryCodeEnum_LK CountryCodeEnum = "LK"
	CountryCodeEnum_LR CountryCodeEnum = "LR"
	CountryCodeEnum_LS CountryCodeEnum = "LS"
	CountryCodeEnum_LT CountryCodeEnum = "LT"
	CountryCodeEnum_LU CountryCodeEnum = "LU"
	CountryCodeEnum_LV CountryCodeEnum = "LV"
	CountryCodeEnum_LY CountryCodeEnum = "LY"
	CountryCodeEnum_MA CountryCodeEnum = "MA"
	CountryCodeEnum_MC CountryCodeEnum = "MC"
	CountryCodeEnum_MD CountryCodeEnum = "MD"
	CountryCodeEnum_ME CountryCodeEnum = "ME"
	CountryCodeEnum_MF CountryCodeEnum = "MF"
	CountryCodeEnum_MG CountryCodeEnum = "MG"
	CountryCodeEnum_MH CountryCodeEnum = "MH"
	CountryCodeEnum_MK CountryCodeEnum = "MK"
	CountryCodeEnum_ML CountryCodeEnum = "ML"
	CountryCodeEnum_MM CountryCodeEnum = "MM"
	CountryCodeEnum_MN CountryCodeEnum = "MN"
	CountryCodeEnum_MO CountryCodeEnum = "MO"
	CountryCodeEnum_MP CountryCodeEnum = "MP"
	CountryCodeEnum_MQ CountryCodeEnum = "MQ"
	CountryCodeEnum_MR CountryCodeEnum = "MR"
	CountryCodeEnum_MS CountryCodeEnum = "MS"
	CountryCodeEnum_MT CountryCodeEnum = "MT"
	CountryCodeEnum_MU CountryCodeEnum = "MU"
	CountryCodeEnum_MV CountryCodeEnum = "MV"
	CountryCodeEnum_MW CountryCodeEnum = "MW"
	CountryCodeEnum_MX CountryCodeEnum = "MX"
	CountryCodeEnum_MY CountryCodeEnum = "MY"
	CountryCodeEnum_MZ CountryCodeEnum = "MZ"
	CountryCodeEnum_NA CountryCodeEnum = "NA"
	CountryCodeEnum_NC CountryCodeEnum = "NC"
	CountryCodeEnum_NE CountryCodeEnum = "NE"
	CountryCodeEnum_NF CountryCodeEnum = "NF"
	CountryCodeEnum_NG CountryCodeEnum = "NG"
	CountryCodeEnum_NI CountryCodeEnum = "NI"
	CountryCodeEnum_NL CountryCodeEnum = "NL"
	CountryCodeEnum_NO CountryCodeEnum = "NO"
	CountryCodeEnum_NP CountryCodeEnum = "NP"
	CountryCodeEnum_NR CountryCodeEnum = "NR"
	CountryCodeEnum_NU CountryCodeEnum = "NU"
	CountryCodeEnum_NZ CountryCodeEnum = "NZ"
	CountryCodeEnum_OM CountryCodeEnum = "OM"
	CountryCodeEnum_PA CountryCodeEnum = "PA"
	CountryCodeEnum_PE CountryCodeEnum = "PE"
	CountryCodeEnum_PF CountryCodeEnum = "PF"
	CountryCodeEnum_PG CountryCodeEnum = "PG"
	CountryCodeEnum_PH CountryCodeEnum = "PH"
	CountryCodeEnum_PK CountryCodeEnum = "PK"
	CountryCodeEnum_PL CountryCodeEnum = "PL"
	CountryCodeEnum_PM CountryCodeEnum = "PM"
	CountryCodeEnum_PN CountryCodeEnum = "PN"
	CountryCodeEnum_PR CountryCodeEnum = "PR"
	CountryCodeEnum_PS CountryCodeEnum = "PS"
	CountryCodeEnum_PT CountryCodeEnum = "PT"
	CountryCodeEnum_PW CountryCodeEnum = "PW"
	CountryCodeEnum_PY CountryCodeEnum = "PY"
	CountryCodeEnum_QA CountryCodeEnum = "QA"
	CountryCodeEnum_RE CountryCodeEnum = "RE"
	CountryCodeEnum_RO CountryCodeEnum = "RO"
	CountryCodeEnum_RS CountryCodeEnum = "RS"
	CountryCodeEnum_RU CountryCodeEnum = "RU"
	CountryCodeEnum_RW CountryCodeEnum = "RW"
	CountryCodeEnum_SA CountryCodeEnum = "SA"
	CountryCodeEnum_SB CountryCodeEnum = "SB"
	CountryCodeEnum_SC CountryCodeEnum = "SC"
	CountryCodeEnum_SD CountryCodeEnum = "SD"
	CountryCodeEnum_SE CountryCodeEnum = "SE"
	CountryCodeEnum_SG CountryCodeEnum = "SG"
	CountryCodeEnum_SH CountryCodeEnum = "SH"
	CountryCodeEnum_SI CountryCodeEnum = "SI"
	CountryCodeEnum_SJ CountryCodeEnum = "SJ"
	CountryCodeEnum_SK CountryCodeEnum = "SK"
	CountryCodeEnum_SL CountryCodeEnum = "SL"
	CountryCodeEnum_SM CountryCodeEnum = "SM"
	CountryCodeEnum_SN CountryCodeEnum = "SN"
	CountryCodeEnum_SO CountryCodeEnum = "SO"
	CountryCodeEnum_SR CountryCodeEnum = "SR"
	CountryCodeEnum_SS CountryCodeEnum = "SS"
	CountryCodeEnum_ST CountryCodeEnum = "ST"
	CountryCodeEnum_SV CountryCodeEnum = "SV"
	CountryCodeEnum_SX CountryCodeEnum = "SX"
	CountryCodeEnum_SY CountryCodeEnum = "SY"
	CountryCodeEnum_SZ CountryCodeEnum = "SZ"
	CountryCodeEnum_TC CountryCodeEnum = "TC"
	CountryCodeEnum_TD CountryCodeEnum = "TD"
	CountryCodeEnum_TF CountryCodeEnum = "TF"
	CountryCodeEnum_TG CountryCodeEnum = "TG"
	CountryCodeEnum_TH CountryCodeEnum = "TH"
	CountryCodeEnum_TJ CountryCodeEnum = "TJ"
	CountryCodeEnum_TK CountryCodeEnum = "TK"
	CountryCodeEnum_TL CountryCodeEnum = "TL"
	CountryCodeEnum_TM CountryCodeEnum = "TM"
	CountryCodeEnum_TN CountryCodeEnum = "TN"
	CountryCodeEnum_TO CountryCodeEnum = "TO"
	CountryCodeEnum_TR CountryCodeEnum = "TR"
	CountryCodeEnum_TT CountryCodeEnum = "TT"
	CountryCodeEnum_TV CountryCodeEnum = "TV"
	CountryCodeEnum_TW CountryCodeEnum = "TW"
	CountryCodeEnum_TZ CountryCodeEnum = "TZ"
	CountryCodeEnum_UA CountryCodeEnum = "UA"
	CountryCodeEnum_UG CountryCodeEnum = "UG"
	CountryCodeEnum_UM CountryCodeEnum = "UM"
	CountryCodeEnum_US CountryCodeEnum = "US"
	CountryCodeEnum_UY CountryCodeEnum = "UY"
	CountryCodeEnum_UZ CountryCodeEnum = "UZ"
	CountryCodeEnum_VA CountryCodeEnum = "VA"
	CountryCodeEnum_VC CountryCodeEnum = "VC"
	CountryCodeEnum_VE CountryCodeEnum = "VE"
	CountryCodeEnum_VG CountryCodeEnum = "VG"
	CountryCodeEnum_VI CountryCodeEnum = "VI"
	CountryCodeEnum_VN CountryCodeEnum = "VN"
	CountryCodeEnum_VU CountryCodeEnum = "VU"
	CountryCodeEnum_WF CountryCodeEnum = "WF"
	CountryCodeEnum_WS CountryCodeEnum = "WS"
	CountryCodeEnum_YE CountryCodeEnum = "YE"
	CountryCodeEnum_YT CountryCodeEnum = "YT"
	CountryCodeEnum_ZA CountryCodeEnum = "ZA"
	CountryCodeEnum_ZM CountryCodeEnum = "ZM"
	CountryCodeEnum_ZW CountryCodeEnum = "ZW"
)

func (CountryCodeEnum) Valid

func (v CountryCodeEnum) Valid() bool

Valid reports whether v satisfies every constraint of CountryCodeEnum.

type DMEL

type DMEL struct {
	ExposureRouteFrequencyAndEffect *EffectLevelTypeEnum
	DmelValue                       *NumericValueWithUnit
	// May be important in those cases where the DMEL is very low and where more
	// than 1 DMEL existing to show how high the influence on the deviation was.
	AssessmentFactor *NumericValue
	Reference        *Phrase
	AdditionalInfo   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

DNEL source: Chapter 8

DMEL corresponds to the XSD complex type DMEL.

type DNEL

type DNEL struct {
	ExposureGroup *DNELExposureGroup
	// Exposure route, frequency and type of effect:
	ExposureRouteFrequencyAndEffect *DNELExposureRouteFrequencyAndEffect
	DnelValue                       *NumericValueWithUnit
	// May be important in those cases where the DNEL is very low and where more
	// than 1 DNEL existing to show how high the influence on the deviation was.
	AssessmentFactor *NumericValue
	Reference        *Phrase
	AdditionalInfo   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

DNEL, source: Chapter 8

DNEL corresponds to the XSD complex type DNEL.

type DNELExposureGroup

type DNELExposureGroup struct {
	Group         *EffectLevelGroupEnum
	GroupFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

DNELExposureGroup corresponds to the anonymous complex type of element DNEL/ExposureGroup.

type DNELExposureRouteFrequencyAndEffect

type DNELExposureRouteFrequencyAndEffect struct {
	Type         *EffectLevelTypeEnum
	TypeFulltext []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Exposure route, frequency and type of effect:

DNELExposureRouteFrequencyAndEffect corresponds to the anonymous complex type of element DNEL/ExposureRouteFrequencyAndEffect.

type Datasheet

type Datasheet struct {
	IdentificationSubstPrep *IdentificationSubstPrep
	HazardIdentification    *HazardIdentification
	Composition             *Composition
	FirstAidMeasures        *FirstAidMeasures
	FireFightingMeasures    *FireFightingMeasures
	// Accidental release measures: Information on response to spills - in cases
	// where the spill volume has an impact on the hazard, distinguish between
	// responses to large and small spills. If different practices for containment
	// and recovery are required, this should be indicated.
	AccidentalReleaseMeasures *AccidentalReleaseMeasures
	// Handling and storage: Advice on safe handling practices with emphasise on
	// precautions that are appropriate to the identified uses referred to under
	// subsection 1.2 and to the unique properties of the chemical. Information
	// shall relate to the protection of human health, safety and the environment.
	// It shall assist the employer in devising suitable working procedures and
	// organisational measures according to Article 5 of Directive 98/24/EC and
	// Article 5 of Directive 2004/37/EC. Where a chemical safety report is
	// required, the information shall be consistent with the information given for
	// the identified uses in the chemical safety report and the exposure scenarios
	// showing control of risk.
	HandlingAndStorage *HandlingAndStorage
	// Exposure control and personal protection: This section shall describe the
	// applicable occupational exposure limits and necessary risk management
	// measures. Where a chemical safety report is required, the information in
	// this section shall be consistent with the chemical safety report and the
	// exposure scenarios showing control of risk from the chemical safety report
	// set out in the annex to the safety data sheet.
	ExposureControlPersonalProtection *ExposureControlPersonalProtection
	// Physical and chemical properties: This section of the safety data sheet
	// shall describe the empirical data relating to the substance or mixture, if
	// relevant. In the case of a mixture, the entries shall clearly indicate to
	// which substance in the mixture the data apply, unless it is valid for the
	// whole mixture. The following properties shall be clearly identified
	// including, where appropriate, a reference to the test methods used and
	// specification of appropriate units of measurement and/or reference
	// conditions. If relevant for the interpretation of the numerical value, the
	// method of determination shall also be provided.
	PhysicalChemicalProperties *PhysicalChemicalProperties
	// Stability and reactivity: The section shall describe the stability of the
	// chemical and the possibility of hazardous reactions occurring under certain
	// conditions of use, also if released into the environment. Where appropriate,
	// include a reference to the test methods used. If a particular property does
	// not apply or if information is not available, the reasons shall be given.
	StabilityReactivity      *StabilityReactivity
	ToxicologicalInformation *ToxicologicalInformation
	EcologicalInformation    *EcologicalInformation
	// Disposal considerations: The section shall describe information for proper
	// waste management of the chemical and/or its container to assist in the
	// determination of safe and environmentally preferred waste management
	// options, consistent with the requirements in accordance with EU and national
	// legislation. Information relevant for the safety of persons conducting waste
	// management activities shall complement the information given in Section 8.
	// The information on the waste management measures shall be consistent with
	// the identified uses. If the disposal of the chemical presents a danger, a
	// description of the residues and their safe handling shall be given.
	DisposalConsiderations *DisposalConsiderations
	// Transport information: This section shall provide basic classification
	// information for transporting/shipment of chemicals mentioned under Section 1
	// by road, rail, sea, inland waterways or air. Where information is not
	// available or relevant this shall be stated.
	TransportInformation *TransportInformation
	// Regulatory information: This section shall describe regulatory information
	// on the chemical that is not already provided in the safety data sheet (such
	// as whether the substance or mixture is subject to Regulation (EC) No
	// 2037/2000 of the European Parliament and of the Council of 29 June 2000 on
	// substances that deplete the ozone layer, Regulation (EC) No 850/2004 of the
	// European Parliament and of the Council of 29 April 2004 on persistent
	// organic pollutants and amending Directive 79/117/EEC or Regulation (EC) No
	// 689/2008 of the European Parliament and of the Council of 17 June 2008
	// concerning the export and import of dangerous chemicals).
	RegulatoryInformation *RegulatoryInformation
	// Other information: The section shall describe the information relevant to
	// the compilation of the safety data sheet. It shall incorporate other
	// information that is not included in Sections 1 to 15, including information
	// on revision of the safety data sheet.
	OtherInformation *OtherInformation
	RegionEU         *AnnexesEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Datasheet corresponds to the XSD complex type Datasheet.

type DatasheetFeed

type DatasheetFeed struct {
	InformationFromExportingSystem *DatasheetFeedInformationFromExportingSystem
	// In fact, this is a product data set, i.e. data for a collection of safety
	// data sheets for the same product.
	Datasheet []Datasheet
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

The SDScom root element

DatasheetFeed corresponds to the anonymous complex type of element DatasheetFeed.

func Decode

func Decode(r io.Reader, opts ...DecodeOption) (*DatasheetFeed, error)

Decode reads a DatasheetFeed, the root element of an eSDScom document in the namespace http://www.esdscom.eu/eSDScom.

Decode does not check the content against the schema beyond what it needs to place it in the generated types; use Validate for that. Elements are matched to the schema by name and order. An element that is known but out of order is placed into its field, so Encode writes it in schema order. Surplus and unknown content goes to Extra.

func (*DatasheetFeed) Validate

func (f *DatasheetFeed) Validate() ValidationErrors

Validate checks f against the rules of the schema and returns all findings, not only the first: missing required elements, occurrence limits, choices with no or several alternatives, and the facets of simple values. Content kept in Extra is reported as a hint when it is unknown and as an error when it is a known element in a place where the schema does not allow it. Validate returns nil when there is nothing to report.

Example
package main

import (
	"fmt"
	"log"
	"strings"

	"github.com/velcure/esdscom"
)

func main() {
	doc := `<eSDScom:DatasheetFeed xmlns:eSDScom="http://www.esdscom.eu/eSDScom">
  <InformationFromExportingSystem>
    <SdscomVersionNo>5.5</SdscomVersionNo>
    <Language><FreetextLanguageCode>xx</FreetextLanguageCode></Language>
  </InformationFromExportingSystem>
</eSDScom:DatasheetFeed>`
	feed, err := esdscom.Decode(strings.NewReader(doc))
	if err != nil {
		log.Fatal(err)
	}
	for _, e := range feed.Validate() {
		fmt.Printf("%s %s\n", e.Rule, e.Path)
	}
}
Output:
enum InformationFromExportingSystem/Language/FreetextLanguageCode
required InformationFromExportingSystem/RegulationsRelatedToCountryOrRegion
required InformationFromExportingSystem/SystemUsedInPreparation
required InformationFromExportingSystem/DateGeneratedExport
required Datasheet

type DatasheetFeedInformationFromExportingSystem

type DatasheetFeedInformationFromExportingSystem struct {
	// The version of the eSDScom standard which is applied in the transmission of
	// information. This version number also denotes the minimum version number for
	// eSDScom phrase IDs referenced in the XML file. For backward compatibility,
	// the tag name is still SDScom, although the standard now includes ESCom
	// exposure scenarios and is thus named eSDScom.
	SdscomVersionNo *SdscomVersionEnum
	// Reference to the SDScomXML subsets SDScomBau and SDScomChem containing
	// SDSComXML fields. More informaion to SDScomBau and SDScomChem are available
	// at www.sdbtransfer.de
	SdscomSubset *SdscomSubsetEnum
	// Phrase catalogue: The phrase library(ies) applied in the preparation of the
	// information. The optional attribute PhraseCatalogueId allows multiple
	// catalogues to be used. Phrase must then have an attribute specifying the
	// PhraseCatalogueId.
	PhraseCatalogue []PhraseCatalogue
	// The default language of the information, stated in a format according to ISO
	// 639-1 (2 letters) followed by textual name
	Language *DatasheetFeedInformationFromExportingSystemLanguage
	// Regulatory information related to country or region: What country the
	// information applies to, stated as a code in accordance to ISO 3166 (two
	// letters). This defines which SDSs can be derived from this file. (A SDS may
	// be written in English, and the information given may be in accordance to
	// Norwegian regulations).
	RegulationsRelatedToCountryOrRegion []DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegion
	// Software applied in preparation of information: State which system the
	// information has been exported from. The actual version number of the system
	// applied or any other identifier that helps to understand the export scope or
	// method should also be stated.
	SystemUsedInPreparation *String64
	// Date of generation of this export file
	DateGeneratedExport *Date
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

DatasheetFeedInformationFromExportingSystem corresponds to the anonymous complex type of element DatasheetFeed/InformationFromExportingSystem.

type DatasheetFeedInformationFromExportingSystemLanguage

type DatasheetFeedInformationFromExportingSystemLanguage struct {
	// Enumeration with defined code set. Language independent. ISO 639-1 (2
	// letters)
	FreetextLanguageCode *LanguageCodeEnum
	// If languages are used in more than one country, there might be national
	// flavours that are significantly different (like pt-BR, en-US). In this case,
	// indicate the country here. If empty, this field defaults to the originating
	// country (pt-PT, en-GB).
	FreetextLanguageCountryCode *CountryCodeEnum
	// String with actual language name. Possible to print. Automatic translation
	// possible if a PhraseId is also given.
	FreetextLanguageName *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

The default language of the information, stated in a format according to ISO 639-1 (2 letters) followed by textual name

DatasheetFeedInformationFromExportingSystemLanguage corresponds to the anonymous complex type of element DatasheetFeed/InformationFromExportingSystem/Language.

type DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegion

type DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegion struct {
	// Enumeration with defined code set.
	RegulationsRelatedToCountryOrRegionCode *CountryCodeEnum
	// String with actual country name. Possible to print. Automatic translation
	// possible if a PhraseId is also given.
	RegulationsRelatedToCountryOrRegionName *Phrase
	// Legal documents:
	LegalDocument *DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegionLegalDocument
	// Reference to further documents related to the SDS e.g. technical bulletin or
	// manual.
	RelatedDocuments []DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegionRelatedDocuments
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Regulatory information related to country or region: What country the information applies to, stated as a code in accordance to ISO 3166 (two letters). This defines which SDSs can be derived from this file. (A SDS may be written in English, and the information given may be in accordance to Norwegian regulations).

DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegion corresponds to the anonymous complex type of element DatasheetFeed/InformationFromExportingSystem/RegulationsRelatedToCountryOrRegion.

type DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegionLegalDocument

type DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegionLegalDocument struct {
	// File name: For example, a locked PDF document. A fixed URL is possible.
	LegalDocumentFileName *FileName
	// Print date
	LegalDocumentPrintDate *Date
	// Digital signature: Digital signature to verify the document.
	LegalDocumentSignature *String128
	// Internal SDS identitifier: The identity of the SDS in the system that
	// generates the XML file. This field will usually not be shown in the SDS, but
	// will be useful in future updates with new versions of previously received
	// data sheets. This field is sufficiently large to accept GUID (Global Unique
	// ID) on each SDS. System generated identity – not to be displayed. Use the
	// same id independetly of the version of the SDS.
	InternalSdsId *String64
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Legal documents:

DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegionLegalDocument corresponds to the anonymous complex type of element DatasheetFeed/InformationFromExportingSystem/RegulationsRelatedToCountryOrRegion/LegalDocument.

type DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegionRelatedDocuments

type DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegionRelatedDocuments struct {
	// File name: For example, a locked PDF document. A fixed URL is possible.
	FileName *FileName
	// Description of the file type etc.
	Description *String256
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Reference to further documents related to the SDS e.g. technical bulletin or manual.

DatasheetFeedInformationFromExportingSystemRegulationsRelatedToCountryOrRegionRelatedDocuments corresponds to the anonymous complex type of element DatasheetFeed/InformationFromExportingSystem/RegulationsRelatedToCountryOrRegion/RelatedDocuments.

type Date

type Date string

Date is a value of xs:date in its lexical form.

func DateOf

func DateOf(t time.Time) Date

DateOf returns the date of t without a time zone.

func (Date) Time

func (d Date) Time() (time.Time, error)

Time returns the date as midnight of that day, in the time zone given in the value or UTC if it has none.

func (Date) Valid

func (d Date) Valid() bool

Valid reports whether d is a valid xs:date.

type DateTime

type DateTime string

DateTime is a value of xs:dateTime in its lexical form.

func DateTimeOf

func DateTimeOf(t time.Time) DateTime

DateTimeOf returns the lexical form of t with its time zone.

func (DateTime) Time

func (d DateTime) Time() (time.Time, error)

Time returns the value of d, in UTC if it has no time zone.

func (DateTime) Valid

func (d DateTime) Valid() bool

Valid reports whether d is a valid xs:dateTime.

type Decimal

type Decimal string

Decimal is a value of xs:decimal in its lexical form.

func (Decimal) Float64

func (d Decimal) Float64() (float64, error)

Float64 returns the value of d, rounded to the nearest float64.

func (Decimal) Valid

func (d Decimal) Valid() bool

Valid reports whether d is a valid xs:decimal.

type DecodeOption

type DecodeOption func(*decodeOptions)

DecodeOption configures Decode.

func DecodeStrict

func DecodeStrict() DecodeOption

DecodeStrict makes content that the generated types do not describe an error instead of keeping it in Extra.

func WithMaxSize

func WithMaxSize(n int64) DecodeOption

WithMaxSize sets the maximum number of bytes Decode reads. Larger input fails with ErrTooLarge. The default is DefaultMaxSize.

type DegradationElimination

type DegradationElimination struct {
	// Time unit, e.g. d or h. Test type should go into HalfLifeTime/TestReference
	HalfLifeTime *PhysChemUnitValueWithTemperature
	PH           *NumericRangeWithQualifier
	Source       *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

DegradationElimination, source: Chapter 12

DegradationElimination corresponds to the XSD complex type DegradationElimination.

type DisposalConsiderations

type DisposalConsiderations struct {
	// Waste treatment: Specify the appropriate methods of disposal of both the
	// chemical and any contaminated packaging. The actual use of the chemical will
	// often influence the classification of the waste. Waste treatment containers
	// and methods shall be specified including the appropriate methods of waste
	// treatment of both the chemical and any contaminated packaging (e.g.
	// incineration, recycling, landfilling). Physical or chemical properties that
	// may affect waste treatment options shall be specified. Sewage disposal shall
	// be discouraged. Where appropriate, any special precautions for any
	// recommended waste treatment option shall be identified.
	WasteTreatment *DisposalConsiderationsWasteTreatment
	AdditionalInfo []Phrase
	RegionEU       *DisposalConsiderationsEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 13

DisposalConsiderations corresponds to the XSD complex type DisposalConsiderations.

type DisposalConsiderationsEU

type DisposalConsiderationsEU struct {
	// European waste list: EU classification of waste.
	EuropeanWasteList *DisposalConsiderationsEUEuropeanWasteList
	// EU legislation: EU legislation related to waste that applies to the product
	// or its packaging.
	EuWasteRegulations []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

DisposalConsiderationsEU corresponds to the XSD complex type DisposalConsiderationsEU.

type DisposalConsiderationsEUEuropeanWasteList

type DisposalConsiderationsEUEuropeanWasteList struct {
	// European waste list for the product: Identification number (EWL No.) and
	// description of the waste under the actual EWL No.
	EWLProduct []WasteListEntry
	// European waste list for the packaging: Identification number (EWL No.) and
	// description of the waste under the actual EWL No.
	EWLPacking []WasteListEntry
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

European waste list: EU classification of waste.

DisposalConsiderationsEUEuropeanWasteList corresponds to the anonymous complex type of element DisposalConsiderationsEU/EuropeanWasteList.

type DisposalConsiderationsWasteTreatment

type DisposalConsiderationsWasteTreatment struct {
	ProductWaste   []Phrase
	PackagingWaste []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Waste treatment: Specify the appropriate methods of disposal of both the chemical and any contaminated packaging. The actual use of the chemical will often influence the classification of the waste. Waste treatment containers and methods shall be specified including the appropriate methods of waste treatment of both the chemical and any contaminated packaging (e.g. incineration, recycling, landfilling). Physical or chemical properties that may affect waste treatment options shall be specified. Sewage disposal shall be discouraged. Where appropriate, any special precautions for any recommended waste treatment option shall be identified.

DisposalConsiderationsWasteTreatment corresponds to the anonymous complex type of element DisposalConsiderations/WasteTreatment.

type DissociationConstant

type DissociationConstant struct {
	Value         *PhysChemValueWithTemperature
	Concentration *NumericRangeWithUnitAndQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

DissociationConstant source: Chapter 9

DissociationConstant corresponds to the XSD complex type DissociationConstant.

type Dose

type Dose struct {
	Type         *DoseEnum
	TypeFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Dose corresponds to the XSD complex type Dose.

type DoseEnum

type DoseEnum string

The legal values for the DoseEnum.

DoseEnum corresponds to the XSD simple type DoseEnum.

const (
	DoseEnum_NOEC          DoseEnum = "NOEC"
	DoseEnum_LOEC          DoseEnum = "LOEC"
	DoseEnum_NOEL          DoseEnum = "NOEL"
	DoseEnum_LOEL          DoseEnum = "LOEL"
	DoseEnum_NOAEL         DoseEnum = "NOAEL"
	DoseEnum_LOAEL         DoseEnum = "LOAEL"
	DoseEnum_LC0           DoseEnum = "LC0"
	DoseEnum_LCLo          DoseEnum = "LCLo"
	DoseEnum_LC50          DoseEnum = "LC50"
	DoseEnum_LC100         DoseEnum = "LC100"
	DoseEnum_LD0           DoseEnum = "LD0"
	DoseEnum_LDLo          DoseEnum = "LDLo"
	DoseEnum_LD50          DoseEnum = "LD50"
	DoseEnum_LD100         DoseEnum = "LD100"
	DoseEnum_EC0           DoseEnum = "EC0"
	DoseEnum_EC3           DoseEnum = "EC3"
	DoseEnum_EC10          DoseEnum = "EC10"
	DoseEnum_EC20          DoseEnum = "EC20"
	DoseEnum_EC25          DoseEnum = "EC25"
	DoseEnum_EC50          DoseEnum = "EC50"
	DoseEnum_EC50_plus_UVA DoseEnum = "EC50 (+ UVA)"
	DoseEnum_EC50_UVA      DoseEnum = "EC50 (- UVA)"
	DoseEnum_EC80          DoseEnum = "EC80"
	DoseEnum_ATEmix        DoseEnum = "ATEmix"
	DoseEnum_cATpE         DoseEnum = "cATpE"
	DoseEnum_ERC50         DoseEnum = "ERC50"
	DoseEnum_ERCLo         DoseEnum = "ERCLo"
	DoseEnum_IC50          DoseEnum = "IC50"
	DoseEnum_other         DoseEnum = "other"
)

func (DoseEnum) Valid

func (v DoseEnum) Valid() bool

Valid reports whether v satisfies every constraint of DoseEnum.

type DunsNo

type DunsNo string

The D-U-N-S® Number of a legal entity. See https://www.upik.de/

DunsNo corresponds to the XSD simple type DunsNo.

func (DunsNo) Valid

func (v DunsNo) Valid() bool

Valid reports whether v satisfies every constraint of DunsNo.

type ESSectionSubHeader

type ESSectionSubHeader string

Defines the abbreviations of headings of section 2 for the exposure scenario for communication.

ESSectionSubHeader corresponds to the XSD simple type ESSectionSubHeader.

const (
	ESSectionSubHeader_AFD   ESSectionSubHeader = "AFD"
	ESSectionSubHeader_AGPA  ESSectionSubHeader = "AGPA"
	ESSectionSubHeader_OOC   ESSectionSubHeader = "OOC"
	ESSectionSubHeader_PC    ESSectionSubHeader = "PC"
	ESSectionSubHeader_PPE   ESSectionSubHeader = "PPE"
	ESSectionSubHeader_STP   ESSectionSubHeader = "STP"
	ESSectionSubHeader_TOM   ESSectionSubHeader = "TOM"
	ESSectionSubHeader_WASTE ESSectionSubHeader = "WASTE"
)

func (ESSectionSubHeader) Valid

func (v ESSectionSubHeader) Valid() bool

Valid reports whether v satisfies every constraint of ESSectionSubHeader.

type EcNo

type EcNo string

The EC number (EINECS/ELINCS/NLP) string for a substance.

EcNo corresponds to the XSD simple type EcNo.

func (EcNo) Valid

func (v EcNo) Valid() bool

Valid reports whether v satisfies every constraint of EcNo.

type EcologicalInformation

type EcologicalInformation struct {
	EcotoxicologicalInformation *EcologicalInformationEcotoxicologicalInformation
	PersistenceDegradability    *EcologicalInformationPersistenceDegradability
	Bioaccumulation             *EcologicalInformationBioaccumulation
	Mobility                    []EcologicalInformationMobility
	OtherAdverseEffects         *EcologicalInformationOtherAdverseEffects
	AdditionalEcotoxInformation *EcologicalInformationAdditionalEcotoxInformation
	RegionEU                    *EcologicalInformationRegionEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 12.

EcologicalInformation corresponds to the XSD complex type EcologicalInformation.

type EcologicalInformationAdditionalEcotoxInformation

type EcologicalInformationAdditionalEcotoxInformation struct {
	// a.k.a. DOC
	DissolvedOrganicCarbon []FurtherEcologicalData
	// a.k.a. ThOD
	TheoreticalOxygenDemand []FurtherEcologicalData
	// a.k.a. ThCO2
	TheoreticalCarbonDioxideAmount []FurtherEcologicalData
	// a.k.a. COD
	ChemicalOxygenDemand []FurtherEcologicalData
	// a.k.a. BOD
	BiochemicalOxygenDemand []FurtherEcologicalData
	Bod5CodRatio            []PhysChemValue
	// a.k.a. TOC
	TotalOrganicCarbon []FurtherEcologicalData
	// a.k.a. IC
	InorganicCarbon              []FurtherEcologicalData
	AOXAdsorbableOrganohalogens  []PhysChemUnitValue
	POXPurgeableOrganohalogens   []PhysChemUnitValue
	EOXExtractableOrganohalogens []PhysChemUnitValue
	AdditionalInformation        []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationAdditionalEcotoxInformation corresponds to the anonymous complex type of element EcologicalInformation/AdditionalEcotoxInformation.

type EcologicalInformationBioaccumulation

type EcologicalInformationBioaccumulation struct {
	BioconcentrationFactor    []EcologicalInformationBioaccumulationBioconcentrationFactor
	BioaccumulationEvaluation []Phrase
	AdditionalInfo            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationBioaccumulation corresponds to the anonymous complex type of element EcologicalInformation/Bioaccumulation.

type EcologicalInformationBioaccumulationBioconcentrationFactor

type EcologicalInformationBioaccumulationBioconcentrationFactor struct {
	Value          *NumericRangeWithUnitAndQualifier
	Species        *Species
	Method         *Phrase
	TestReference  *Phrase
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationBioaccumulationBioconcentrationFactor corresponds to the anonymous complex type of element EcologicalInformation/Bioaccumulation/BioconcentrationFactor.

type EcologicalInformationEcotoxicologicalInformation

type EcologicalInformationEcotoxicologicalInformation struct {
	AquaticToxicity                *EcologicalInformationEcotoxicologicalInformationAquaticToxicity
	SedimentToxicity               []Ecotoxicity
	TerrestrialToxicity            *EcologicalInformationEcotoxicologicalInformationTerrestrialToxicity
	EcotoxicologyOverallEvaluation []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationEcotoxicologicalInformation corresponds to the anonymous complex type of element EcologicalInformation/EcotoxicologicalInformation.

type EcologicalInformationEcotoxicologicalInformationAquaticToxicity

type EcologicalInformationEcotoxicologicalInformationAquaticToxicity struct {
	AcuteFishToxicity           []EcotoxicityAquatic
	ChronicFishToxicity         []EcotoxicityAquatic
	AcuteInvertebrateToxicity   []EcotoxicityAquatic
	ChronicInvertebrateToxicity []EcotoxicityAquatic
	AcuteAlgaeToxicity          []EcotoxicityAquatic
	ChronicAlgaeToxicity        []EcotoxicityAquatic
	PlantToxicity               []EcotoxicityAquatic
	MicroorganismToxicity       []EcotoxicityAquatic
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationEcotoxicologicalInformationAquaticToxicity corresponds to the anonymous complex type of element EcologicalInformation/EcotoxicologicalInformation/AquaticToxicity.

type EcologicalInformationEcotoxicologicalInformationTerrestrialToxicity

type EcologicalInformationEcotoxicologicalInformationTerrestrialToxicity struct {
	SoilMicroorganismsToxicity  []Ecotoxicity
	AcuteEarthwormToxicity      []Ecotoxicity
	ChronicEarthwormToxicity    []Ecotoxicity
	InsectToxicity              []Ecotoxicity
	AcutePlantToxicity          []Ecotoxicity
	ChronicPlantToxicity        []Ecotoxicity
	AcuteSubchronicBirdToxicity []Ecotoxicity
	BirdReproductionToxicity    []Ecotoxicity
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationEcotoxicologicalInformationTerrestrialToxicity corresponds to the anonymous complex type of element EcologicalInformation/EcotoxicologicalInformation/TerrestrialToxicity.

type EcologicalInformationMobility

type EcologicalInformationMobility struct {
	Distribution       *Phrase
	TransportType      *Phrase
	Result             []PhysChemValue
	Source             []Phrase
	MobilityEvaluation []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationMobility corresponds to the anonymous complex type of element EcologicalInformation/Mobility.

type EcologicalInformationOtherAdverseEffects

type EcologicalInformationOtherAdverseEffects struct {
	// a.k.a. ODP
	OzoneDepletionPotential []PhysChemUnitValue
	// a.k.a. POCP
	PhotochemicalOzoneCreationPotential []PhysChemUnitValue
	// a.k.a. GWP
	GlobalWarmingPotential       []PhysChemUnitValue
	AtmosphericLifetime          []PhysChemUnitValue
	EndocrineDisruptingPotential []PhysChemUnitValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationOtherAdverseEffects corresponds to the anonymous complex type of element EcologicalInformation/OtherAdverseEffects.

type EcologicalInformationPersistenceDegradability

type EcologicalInformationPersistenceDegradability struct {
	BiologicalDegradability            []BiologicalDegradation
	AbioticDegradation                 []DegradationElimination
	PersistenceDegradabilityEvaluation []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationPersistenceDegradability corresponds to the anonymous complex type of element EcologicalInformation/PersistenceDegradability.

type EcologicalInformationRegionEU

type EcologicalInformationRegionEU struct {
	// There is no such info for mixtures as a whole. So this should be used only
	// in instances for Components, or for substance SDSs.
	ResultsOfPbtAndVpvbAssessment *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EcologicalInformationRegionEU corresponds to the anonymous complex type of element EcologicalInformation/RegionEU.

type Ecotoxicity

type Ecotoxicity struct {
	Value                   *NumericRangeWithUnitAndQualifier
	EffectDoseConcentration *Dose
	ExposureTime            *NumericRangeWithUnitAndQualifier
	Species                 *Species
	Method                  *Phrase
	TestReference           *Phrase
	Evaluation              []Phrase
	AdditionalInfo          []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Ecotoxicity for plants and mammals. Source: Chapter 12.

Ecotoxicity corresponds to the XSD complex type Ecotoxicity.

type EcotoxicityAquatic

type EcotoxicityAquatic struct {
	Value                   *NumericRangeWithUnitAndQualifier
	EffectDoseConcentration *Dose
	TestDuration            *NumericRangeWithUnitAndQualifier
	Species                 *Phrase
	Method                  *Phrase
	TestReference           *Phrase
	Evaluation              []Phrase
	AdditionalInfo          []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Ecotoxicity for aquatic environment. Source: Chapter 12.

EcotoxicityAquatic corresponds to the XSD complex type EcotoxicityAquatic.

type EffectLevelGroupEnum

type EffectLevelGroupEnum string

The legal values for DNEL target groups

EffectLevelGroupEnum corresponds to the XSD simple type EffectLevelGroupEnum.

const (
	EffectLevelGroupEnum_Worker   EffectLevelGroupEnum = "Worker"
	EffectLevelGroupEnum_Consumer EffectLevelGroupEnum = "Consumer"
)

func (EffectLevelGroupEnum) Valid

func (v EffectLevelGroupEnum) Valid() bool

Valid reports whether v satisfies every constraint of EffectLevelGroupEnum.

type EffectLevelTypeEnum

type EffectLevelTypeEnum string

The legal codes for the DNEL and DMEL types. Source: Chapter 8.

EffectLevelTypeEnum corresponds to the XSD simple type EffectLevelTypeEnum.

const (
	EffectLevelTypeEnum_Acute_oral_systemic           EffectLevelTypeEnum = "Acute oral (systemic)"
	EffectLevelTypeEnum_Long_term_oral_systemic       EffectLevelTypeEnum = "Long-term oral (systemic)"
	EffectLevelTypeEnum_Acute_dermal_local            EffectLevelTypeEnum = "Acute dermal (local)"
	EffectLevelTypeEnum_Acute_dermal_systemic         EffectLevelTypeEnum = "Acute dermal (systemic)"
	EffectLevelTypeEnum_Long_term_dermal_local        EffectLevelTypeEnum = "Long-term dermal (local)"
	EffectLevelTypeEnum_Long_term_dermal_systemic     EffectLevelTypeEnum = "Long-term dermal (systemic)"
	EffectLevelTypeEnum_Acute_inhalation_local        EffectLevelTypeEnum = "Acute inhalation (local)"
	EffectLevelTypeEnum_Acute_inhalation_systemic     EffectLevelTypeEnum = "Acute inhalation (systemic)"
	EffectLevelTypeEnum_Long_term_inhalation_local    EffectLevelTypeEnum = "Long-term inhalation (local)"
	EffectLevelTypeEnum_Long_term_inhalation_systemic EffectLevelTypeEnum = "Long-term inhalation (systemic)"
)

func (EffectLevelTypeEnum) Valid

func (v EffectLevelTypeEnum) Valid() bool

Valid reports whether v satisfies every constraint of EffectLevelTypeEnum.

type EffectivenessValue

type EffectivenessValue string

Specifies a decimal-based effectiveness value with a given range between 0.001 and 100.

EffectivenessValue corresponds to the XSD simple type EffectivenessValue.

func (EffectivenessValue) Float64

func (v EffectivenessValue) Float64() (float64, error)

Float64 returns the value of v in its Go representation.

func (EffectivenessValue) Valid

func (v EffectivenessValue) Valid() bool

Valid reports whether v satisfies every constraint of EffectivenessValue.

type EffectivenessValueWithQualifier

type EffectivenessValueWithQualifier struct {
	// Describes the effectiveness value.
	Value *EffectivenessValue
	// Describes the qualifier of the value.
	Qualifier *QualifierEnum
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Specifies a numeric value with qualifier. The numeric value is patterned according to the IEEE single-precision 64-bit floating point type.

EffectivenessValueWithQualifier corresponds to the XSD complex type EffectivenessValueWithQualifier.

type EmailAddress

type EmailAddress string

Specifies a valid e-mail address.

EmailAddress corresponds to the XSD simple type EmailAddress.

func (EmailAddress) Valid

func (v EmailAddress) Valid() bool

Valid reports whether v satisfies every constraint of EmailAddress.

type EncodeOption

type EncodeOption func(*encodeOptions)

EncodeOption configures Encode.

func WithIndent

func WithIndent(indent string) EncodeOption

WithIndent sets the string used to indent nested elements. The default is two spaces; the empty string writes everything on one line.

type EnvironmentalReleaseCategory

type EnvironmentalReleaseCategory struct {
	ErcCode     *EnvironmentalReleaseCategoryCodeEnum
	ErcFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Environmental Release Category, source: Chapter 1, used by: CT "IdentifiedUse"

EnvironmentalReleaseCategory corresponds to the XSD complex type EnvironmentalReleaseCategory.

type EnvironmentalReleaseCategoryCodeEnum

type EnvironmentalReleaseCategoryCodeEnum string

The legal codes for the EnvironmentalReleaseCategoryCodeEnum. Source: Chapter 1.

EnvironmentalReleaseCategoryCodeEnum corresponds to the XSD simple type EnvironmentalReleaseCategoryCodeEnum.

const (
	EnvironmentalReleaseCategoryCodeEnum_ERC1   EnvironmentalReleaseCategoryCodeEnum = "ERC1"
	EnvironmentalReleaseCategoryCodeEnum_ERC2   EnvironmentalReleaseCategoryCodeEnum = "ERC2"
	EnvironmentalReleaseCategoryCodeEnum_ERC3   EnvironmentalReleaseCategoryCodeEnum = "ERC3"
	EnvironmentalReleaseCategoryCodeEnum_ERC4   EnvironmentalReleaseCategoryCodeEnum = "ERC4"
	EnvironmentalReleaseCategoryCodeEnum_ERC5   EnvironmentalReleaseCategoryCodeEnum = "ERC5"
	EnvironmentalReleaseCategoryCodeEnum_ERC6a  EnvironmentalReleaseCategoryCodeEnum = "ERC6a"
	EnvironmentalReleaseCategoryCodeEnum_ERC6b  EnvironmentalReleaseCategoryCodeEnum = "ERC6b"
	EnvironmentalReleaseCategoryCodeEnum_ERC6c  EnvironmentalReleaseCategoryCodeEnum = "ERC6c"
	EnvironmentalReleaseCategoryCodeEnum_ERC6d  EnvironmentalReleaseCategoryCodeEnum = "ERC6d"
	EnvironmentalReleaseCategoryCodeEnum_ERC7   EnvironmentalReleaseCategoryCodeEnum = "ERC7"
	EnvironmentalReleaseCategoryCodeEnum_ERC8a  EnvironmentalReleaseCategoryCodeEnum = "ERC8a"
	EnvironmentalReleaseCategoryCodeEnum_ERC8b  EnvironmentalReleaseCategoryCodeEnum = "ERC8b"
	EnvironmentalReleaseCategoryCodeEnum_ERC8c  EnvironmentalReleaseCategoryCodeEnum = "ERC8c"
	EnvironmentalReleaseCategoryCodeEnum_ERC8d  EnvironmentalReleaseCategoryCodeEnum = "ERC8d"
	EnvironmentalReleaseCategoryCodeEnum_ERC8e  EnvironmentalReleaseCategoryCodeEnum = "ERC8e"
	EnvironmentalReleaseCategoryCodeEnum_ERC8f  EnvironmentalReleaseCategoryCodeEnum = "ERC8f"
	EnvironmentalReleaseCategoryCodeEnum_ERC9a  EnvironmentalReleaseCategoryCodeEnum = "ERC9a"
	EnvironmentalReleaseCategoryCodeEnum_ERC9b  EnvironmentalReleaseCategoryCodeEnum = "ERC9b"
	EnvironmentalReleaseCategoryCodeEnum_ERC10a EnvironmentalReleaseCategoryCodeEnum = "ERC10a"
	EnvironmentalReleaseCategoryCodeEnum_ERC10b EnvironmentalReleaseCategoryCodeEnum = "ERC10b"
	EnvironmentalReleaseCategoryCodeEnum_ERC11a EnvironmentalReleaseCategoryCodeEnum = "ERC11a"
	EnvironmentalReleaseCategoryCodeEnum_ERC11b EnvironmentalReleaseCategoryCodeEnum = "ERC11b"
	EnvironmentalReleaseCategoryCodeEnum_ERC12a EnvironmentalReleaseCategoryCodeEnum = "ERC12a"
	EnvironmentalReleaseCategoryCodeEnum_ERC12b EnvironmentalReleaseCategoryCodeEnum = "ERC12b"
)

func (EnvironmentalReleaseCategoryCodeEnum) Valid

Valid reports whether v satisfies every constraint of EnvironmentalReleaseCategoryCodeEnum.

type EquipmentPictogramEnum

type EquipmentPictogramEnum string

Equipment signs related to Technical Measures, according to EN ISO 7010

EquipmentPictogramEnum corresponds to the XSD simple type EquipmentPictogramEnum.

func (EquipmentPictogramEnum) Valid

func (v EquipmentPictogramEnum) Valid() bool

Valid reports whether v satisfies every constraint of EquipmentPictogramEnum.

type EsdscomPhrase

type EsdscomPhrase struct {
	// Phrase ID in the catalogue referenced by PhraseCatalogueId - which is not
	// eSDScom, because eSDScom phrase IDs are represented as a field in the phrase
	// types.
	//
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// ID of the phrase catalogue that is listed in the XML file.
	//
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *EsdscomPhraseCatalogueId
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice EsdscomPhraseChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

A Phrase that must be part of the eSDScom phrase catalogue and cannot have parameter inserts. This is used for European Exposure Scenarios as the industry standard defines that there cannot be custom phrases. Caveat: It is the duty of the author (or the authoring system, respectively) to check that phrases are exposure scenario phrases, and not main body or user phrases from the eSDScom catalogue.

EsdscomPhrase corresponds to the XSD complex type EsdscomPhrase.

type EsdscomPhraseCatalogueId

type EsdscomPhraseCatalogueId string

EsdscomPhraseCatalogueId corresponds to the XSD simple type EsdscomPhraseCatalogueId.

func (EsdscomPhraseCatalogueId) Int64

func (v EsdscomPhraseCatalogueId) Int64() (int64, error)

Int64 returns the value of v in its Go representation.

func (EsdscomPhraseCatalogueId) Valid

func (v EsdscomPhraseCatalogueId) Valid() bool

Valid reports whether v satisfies every constraint of EsdscomPhraseCatalogueId.

type EsdscomPhraseChoice

type EsdscomPhraseChoice struct {
	// PhraseIdGroup holds a sequence.
	PhraseIdGroup *EsdscomPhraseChoicePhraseIdGroup
	// specify this empty tag to indicate a line break
	NewLine *AnyType
}

EsdscomPhraseChoice corresponds to the content model EsdscomPhrase/Choice.

type EsdscomPhraseChoicePhraseIdGroup

type EsdscomPhraseChoicePhraseIdGroup struct {
	// eSDScom (= EuPhraC, ESCom) phrase ID. Mandatory since there are no user
	// phrases allowed.
	PhraseId   *EsdscomPhraseId
	PhraseText *PhraseText
}

EsdscomPhraseChoicePhraseIdGroup corresponds to the content model EsdscomPhrase/Choice/PhraseIdGroup.

type EsdscomPhraseId

type EsdscomPhraseId string

eSDScom (= EuPhraC + ESCom, until 2021) phrase IDs are persistent and unique numbers generated by the eSDScom phrase environment at https://phrases.esdscom.eu . The first two digits represent the two-digit year of phrase creation, starting with 09. This type represents the future up to 2029.

EsdscomPhraseId corresponds to the XSD simple type EsdscomPhraseId.

func (EsdscomPhraseId) Int64

func (v EsdscomPhraseId) Int64() (int64, error)

Int64 returns the value of v in its Go representation.

func (EsdscomPhraseId) Valid

func (v EsdscomPhraseId) Valid() bool

Valid reports whether v satisfies every constraint of EsdscomPhraseId.

type EuClpAtp14ClassCategoryEnum

type EuClpAtp14ClassCategoryEnum string

ATP 14 = Regulation (EU) 2020/217 is based on GHS revision 7. Mandatory from 09 September 2021, optionally applicable before.

EuClpAtp14ClassCategoryEnum corresponds to the XSD simple type EuClpAtp14ClassCategoryEnum.

func (EuClpAtp14ClassCategoryEnum) Valid

Valid reports whether v satisfies every constraint of EuClpAtp14ClassCategoryEnum.

type EuClpClassCategoryEnum_2023_707

type EuClpClassCategoryEnum_2023_707 string

ATP "18a" = Delegated Regulation (EU) 2023/707 is based on GHS revision 7. Mandatory from 01 May 2025, optionally applicable from 19 April 2023.

EuClpClassCategoryEnum_2023_707 corresponds to the XSD simple type EuClpClassCategoryEnum_2023_707.

func (EuClpClassCategoryEnum_2023_707) Valid

Valid reports whether v satisfies every constraint of EuClpClassCategoryEnum_2023_707.

type EuClpHazardEdEnv

type EuClpHazardEdEnv string

These are EUH phrases, not H phrases! Dropping the letters here still works since the numbers are chosen so that they do not conflict.

EuClpHazardEdEnv corresponds to the XSD simple type EuClpHazardEdEnv.

const (
	EuClpHazardEdEnv_430 EuClpHazardEdEnv = "430"
	EuClpHazardEdEnv_431 EuClpHazardEdEnv = "431"
)

func (EuClpHazardEdEnv) Valid

func (v EuClpHazardEdEnv) Valid() bool

Valid reports whether v satisfies every constraint of EuClpHazardEdEnv.

type EuClpHazardEdHh

type EuClpHazardEdHh string

These are EUH phrases, not H phrases! Dropping the letters here still works since the numbers are chosen so that they do not conflict.

EuClpHazardEdHh corresponds to the XSD simple type EuClpHazardEdHh.

const (
	EuClpHazardEdHh_380 EuClpHazardEdHh = "380"
	EuClpHazardEdHh_381 EuClpHazardEdHh = "381"
)

func (EuClpHazardEdHh) Valid

func (v EuClpHazardEdHh) Valid() bool

Valid reports whether v satisfies every constraint of EuClpHazardEdHh.

type EuClpHazardPbt

type EuClpHazardPbt string

These are EUH phrases, not H phrases! Dropping the letters here still works since the numbers are chosen so that they do not conflict.

EuClpHazardPbt corresponds to the XSD simple type EuClpHazardPbt.

const (
	EuClpHazardPbt_440 EuClpHazardPbt = "440"
	EuClpHazardPbt_441 EuClpHazardPbt = "441"
)

func (EuClpHazardPbt) Valid

func (v EuClpHazardPbt) Valid() bool

Valid reports whether v satisfies every constraint of EuClpHazardPbt.

type EuClpHazardPmt

type EuClpHazardPmt string

These are EUH phrases, not H phrases! Dropping the letters here still works since the numbers are chosen so that they do not conflict.

EuClpHazardPmt corresponds to the XSD simple type EuClpHazardPmt.

const (
	EuClpHazardPmt_450 EuClpHazardPmt = "450"
	EuClpHazardPmt_451 EuClpHazardPmt = "451"
)

func (EuClpHazardPmt) Valid

func (v EuClpHazardPmt) Valid() bool

Valid reports whether v satisfies every constraint of EuClpHazardPmt.

type EuClpPrecautionEdEnv

type EuClpPrecautionEdEnv string

EuClpPrecautionEdEnv corresponds to the XSD simple type EuClpPrecautionEdEnv.

const (
	EuClpPrecautionEdEnv_201 EuClpPrecautionEdEnv = "201"
	EuClpPrecautionEdEnv_202 EuClpPrecautionEdEnv = "202"
	EuClpPrecautionEdEnv_273 EuClpPrecautionEdEnv = "273"
	EuClpPrecautionEdEnv_391 EuClpPrecautionEdEnv = "391"
	EuClpPrecautionEdEnv_405 EuClpPrecautionEdEnv = "405"
	EuClpPrecautionEdEnv_501 EuClpPrecautionEdEnv = "501"
)

func (EuClpPrecautionEdEnv) Valid

func (v EuClpPrecautionEdEnv) Valid() bool

Valid reports whether v satisfies every constraint of EuClpPrecautionEdEnv.

type EuClpPrecautionEdHh

type EuClpPrecautionEdHh string

EuClpPrecautionEdHh corresponds to the XSD simple type EuClpPrecautionEdHh.

const (
	EuClpPrecautionEdHh_201 EuClpPrecautionEdHh = "201"
	EuClpPrecautionEdHh_202 EuClpPrecautionEdHh = "202"
	EuClpPrecautionEdHh_263 EuClpPrecautionEdHh = "263"
	EuClpPrecautionEdHh_280 EuClpPrecautionEdHh = "280"
	EuClpPrecautionEdHh_308 EuClpPrecautionEdHh = "308"
	EuClpPrecautionEdHh_313 EuClpPrecautionEdHh = "313"
	EuClpPrecautionEdHh_405 EuClpPrecautionEdHh = "405"
	EuClpPrecautionEdHh_501 EuClpPrecautionEdHh = "501"
)

func (EuClpPrecautionEdHh) Valid

func (v EuClpPrecautionEdHh) Valid() bool

Valid reports whether v satisfies every constraint of EuClpPrecautionEdHh.

type EuClpPrecautionPbt

type EuClpPrecautionPbt string

EuClpPrecautionPbt corresponds to the XSD simple type EuClpPrecautionPbt.

const (
	EuClpPrecautionPbt_201 EuClpPrecautionPbt = "201"
	EuClpPrecautionPbt_202 EuClpPrecautionPbt = "202"
	EuClpPrecautionPbt_273 EuClpPrecautionPbt = "273"
	EuClpPrecautionPbt_391 EuClpPrecautionPbt = "391"
	EuClpPrecautionPbt_501 EuClpPrecautionPbt = "501"
)

func (EuClpPrecautionPbt) Valid

func (v EuClpPrecautionPbt) Valid() bool

Valid reports whether v satisfies every constraint of EuClpPrecautionPbt.

type EuClpPrecautionPmt

type EuClpPrecautionPmt string

EuClpPrecautionPmt corresponds to the XSD simple type EuClpPrecautionPmt.

const (
	EuClpPrecautionPmt_201 EuClpPrecautionPmt = "201"
	EuClpPrecautionPmt_202 EuClpPrecautionPmt = "202"
	EuClpPrecautionPmt_273 EuClpPrecautionPmt = "273"
	EuClpPrecautionPmt_391 EuClpPrecautionPmt = "391"
	EuClpPrecautionPmt_501 EuClpPrecautionPmt = "501"
)

func (EuClpPrecautionPmt) Valid

func (v EuClpPrecautionPmt) Valid() bool

Valid reports whether v satisfies every constraint of EuClpPrecautionPmt.

type EupcsCategory

type EupcsCategory struct {
	EupcsCode     *EupcsCategoryCodeEnum
	EupcsFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EuPCS Category, source: Chapter 1, used by: CT "IdentifiedUse"

EupcsCategory corresponds to the XSD complex type EupcsCategory.

type EupcsCategoryCodeEnum

type EupcsCategoryCodeEnum string

Use codes according to the European Product Categorisation System EuPCS, as covered by Iuclid6 picklist PG6-60567 V1.1: 64945 F Mixtures for further formulation 64877 PC-ADH-1 Adhesives and sealants - household, office or school use 64878 PC-ADH-2 Adhesives and sealants - building and construction works (except cement based adhesives) 64879 PC-ADH-3 Adhesives and sealants - footwear and leather goods 64880 PC-ADH-4 Adhesives and sealants - paper and board related processes 64881 PC-ADH-5 Adhesives and sealants - transportation industry 64882 PC-ADH-6 Adhesives and sealants - woodworking and joinery (includes putty) 64883 PC-ADH-7 Adhesives and sealants - assembly line processes 64884 PC-ADH-8 Multi-component adhesives and sealants 64886 PC-ADH-OTH Other adhesives and sealants 64946 PC-AIR-1 Air care products for indoor rooms (continuous action) 64947 PC-AIR-2 Air care products for indoor rooms (instant action) 64948 PC-AIR-3 Air care products for shoes 64949 PC-AIR-4 Air care products for vehicles 64950 PC-AIR-5 Ambient deodorisers (excludes room deodorisers) 64951 PC-AIR-6 Incense 64952 PC-AIR-7 Candles - scented and unscented 64953 PC-AIR-8 Matches 64954 PC-AIR-OTH Other air care products 64955 PC-ANI-1 Additives and premixtures for animal feed 64956 PC-ANI-2 Animal shampoos and conditioners 64957 PC-ANI-OTH Other products for animals (excluding biocidal products) 64958 PC-ART-1 Artists’, craft and hobby paints 64959 PC-ART-2 Finger paints 64960 PC-ART-3 Crayons, chalks and pastels 64961 PC-ART-4 Auxiliary materials for artists 64962 PC-ART-5 Modelling compounds 64963 PC-ART-6 Chemical products used for decorative purposes 64964 PC-ART-OTH Other art materials (including chemical products used for decorative purposes) 64965 PC-CLN-1 Abrasive cleaning products 64966 PC-CLN-2 All-purpose (or multi-purpose) non-abrasive cleaners 64967 PC-CLN-3 Bleaching products for cleaning or laundry use (excludes biocidal products) 64968 PC-CLN-4 Descaling products 64969 PC-CLN-5 Drain cleaning products 64970 PC-CLN-6 Fireplace and smoke resin cleaners 64971 PC-CLN-7 Glass/window/mirror cleaning products (excludes windscreens) 64972 PC-CLN-8 Indoor furniture cleaning/care products (excludes leather and upholstery) 64973 PC-CLN-9 Outdoor cleaners (excludes stone, concrete and similar surfaces) 64974 PC-CLN-10.1 Cleaners for kitchen areas 64975 PC-CLN-10.2 Cleaners for kitchen machinery and equipment 64976 PC-CLN-10.3 Cooking hob cleaning/care products 64977 PC-CLN-10.4 Oven, grill or barbecue cleaners 64978 PC-CLN-10.OTH Other kitchen and related cleaning products 64979 PC-CLN-11.1 Bathroom cleaners 64980 PC-CLN-11.2 Toilet cleaners 64981 PC-CLN-11.3 Multi-flush products for toilets 64982 PC-CLN-11.OTH Other bathroom and toilet cleaning/care products (excludes biocidal products) 64983 PC-CLN-12.1 Cleaning/care products for stone and tiles - regular use 64984 PC-CLN-12.2 Heavy duty cleaning products for stone and similar surfaces 64985 PC-CLN-12.3 Grout cleaners 64986 PC-CLN-12.OTH Other stone, tile and grout cleaning/care products 64987 PC-CLN-13.2 Floor cleaning products 64988 PC-CLN-13.3 Floor care products e.g. waxes, emulsions 64989 PC-CLN-13.4 Floor strippers 64990 PC-CLN-13.OTH Other floor cleaning, care and maintenance products (excludes stone and tile) 64991 PC-CLN-14.1 Cleaning products for carpet/upholstery 64992 PC-CLN-14.2 Deodorisers or fresheners for carpet/upholstery 64993 PC-CLN-14.OTH Other carpet and upholstery products 64994 PC-CLN-15.1 Cleaners for eyewear 64995 PC-CLN-15.2 Cleaners for home electronic screens 64996 PC-CLN-15.3 Cleaners for musical instruments 64997 PC-CLN-15.4 Metal polish/tarnish remover 64998 PC-CLN-15.OTH Other cleaners for specific personal items 64999 PC-CLN-16.1 Leather - cleaning and care productsPoison Centres Notification Format 65000 PC-CLN-16.2 Textile footwear - cleaning products 65001 PC-CLN-16.3 Textile fresheners/deodorisers 65002 PC-CLN-16.4 Dry cleaning and associated products 65003 PC-CLN-16.5 Impregnation products for finished textiles and leather goods 65004 PC-CLN-16.6 Outdoor textiles - cleaning products 65005 PC-CLN-16.OTH Other textile and leather cleaning and care products (including footwear) 65006 PC-CLN-17.1 Exterior cleaning products - all vehicle types 65007 PC-CLN-17.2 Exterior care products - all vehicle types 65008 PC-CLN-17.3 Interior cleaning and care products (excludes air care products, and products for upholstery or leather) 65009 PC-CLN-17.4 Engine cleaners 65010 PC-CLN-17.5 Brake cleaners 65011 PC-CLN-17.6 Chromium, rim and other metal cleaners - all vehicle types 65012 PC-CLN-17.7 Windscreen/windshield cleaners 65013 PC-CLN-17.8 Windscreen/windshield wash fluid 65014 PC-CLN-17.OTH Other vehicle (all types) cleaning and care products 65015 PC-CLN-OTH Other cleaning, care and maintenance products (excludes biocidal products) 65016 PC-COL-1 Dyes 65017 PC-COL-2 Pigments 65018 PC-CON-1 Cement 65019 PC-CON-2 Concrete 65020 PC-CON-3 Gypsum 65021 PC-CON-4 Mortars 65022 PC-CON-5 Construction chemicals 65023 PC-CON-OTH Other construction products 65024 PC-DET-1.1 Laundry detergent for hand washing 65025 PC-DET-1.2 Laundry detergents - household usePoison Centres Notification Format 65026 PC-DET-1.3 Laundry detergents - professional or industrial use 65027 PC-DET-1.OTH Other laundry detergents 65028 PC-DET-2.1 Detergency boosters and in-wash stain removers 65029 PC-DET-2.2 Fabric softeners 65030 PC-DET-2.3 Ironing aid products 65031 PC-DET-2.4 Laundry starch 65032 PC-DET-2.5 Pre-treatment stain removers 65033 PC-DET-2.6 Rinse agents for laundry (excludes biocidal products) 65034 PC-DET-2.7 Washing machine care agents 65035 PC-DET-2.8 Whitening agents or optical brighteners 65036 PC-DET-2.OTH Other auxiliary laundry and care products (excludes biocidal products) 65037 PC-DET-3.1 Automatic dishwashing detergents - household use 65038 PC-DET-3.2 Automatic dishwashing detergents - professional or industrial use 65039 PC-DET-3.3 Hand dishwashing detergents 65040 PC-DET-3.OTH Other dishwashing detergents 65041 PC-DET-4.1 Dishwasher salt 65042 PC-DET-4.2 Dishwashing machine care agents 65043 PC-DET-4.3 Glass protection products 65044 PC-DET-4.4 Rinse agents for dishes 65045 PC-DET-4.OTH Other auxiliary dishwashing and care products 65046 PC-ELQ E-liquids and mixtures for electronic cigarettes 65047 PC-FER-1 Fertilisers 65048 PC-FER-2 Liming material 65049 PC-FER-3 Soil improvers 65050 PC-FER-4 Growing media 65051 PC-FER-5 Agronomic additivesPoison Centres Notification Format 65052 PC-FER-6 Plant biostimulants 65053 PC-FER-7 Combination of fertilisers and fertilising products 65054 PC-FUE-1 Fuels for vehicles and machinery 65055 PC-FUE-2 Lamp oils 65056 PC-FUE-3 Grill lighter fluids 65057 PC-FUE-4 Camp fuels 65058 PC-FUE-5 Fuel additives and fuel components 65059 PC-FUE-OTH Other fuels 65060 PC-INK-1 Writing and drawing inks 65061 PC-INK-2 Inks and toners for home and office printers 65062 PC-INK-3 Commercial printing inks, toners and related finishing products 65063 PC-INK-4 Pressroom chemicals 65064 PC-INK-5 Correction fluids 65065 PC-INK-OTH Other inks, toners and related printing materials 65066 PC-PNT-1 Aerosol paints and coatings 65067 PC-PNT-2 Paints/coatings - Decorative 65068 PC-PNT-3 Paints/coatings - Protective and functional 65069 PC-PNT-4 Marine vessel coatings (excludes anti-fouling products) 65070 PC-PNT-5 Automotive and aerospace coatings 65071 PC-PNT-6 Factory-applied coatings (excludes categories already covered) 65072 PC-PNT-7 Paint removers, thinners and related auxiliaries 65073 PC-PNT-OTH Other paints and coating materials 65074 PC-PYR-1 Fire works for indoor use 65075 PC-PYR-2 Fire works for outdoor use 65076 PC-PYR-3 Theatrical pyrotechnic products 65077 PC-PYR-4 Signalling productsPoison Centres Notification Format 65078 PC-PYR-OTH Other pyrotechnic products 65079 PC-TAT Tattoo inks 65080 PC-TEC-1 Adsorbents 65081 PC-TEC-2 Antifreeze and de-icing products 65082 PC-TEC-3 Desiccants 65083 PC-TEC-4 Electrolytes for batteries 65084 PC-TEC-5 Fire extinguishers 65085 PC-TEC-6 Fragrances 65086 PC-TEC-7 Heat transfer fluids 65087 PC-TEC-8 Hydraulic fluids, including brake and transmission fluids 65088 PC-TEC-9 Intermediates 65089 PC-TEC-10 Leather treatment products (excludes dyes and pigments) 65090 PC-TEC-11 Lubricants, greases, release agents 65091 PC-TEC-12 Metal surface treatment products 65092 PC-TEC-13 Metal working fluids 65093 PC-TEC-14 Paper and board treatment products (excluding dyes) 65094 PC-TEC-15 Photochemicals 65095 PC-TEC-16 Polymer preparations and compounds 65096 PC-TEC-17 Processing aids 65097 PC-TEC-18 Products used in mining, oil or gas exploration processes 65098 PC-TEC-19 Reagents and laboratory chemicals 65099 PC-TEC-20 Soil remediation products 65100 PC-TEC-21 Solvents and extraction agents 65101 PC-TEC-22 Surfactants mixtures for industrial applications 65102 PC-TEC-23 Textile treatment products (excludes dyes and pigments) 65103 PC-TEC-24 Welding, soldering, and flux productsPoison Centres Notification Format 65104 PC-TEC-OTH Other products for chemical or technical processes 65105 PC-UNC Chemical products - uncategorised 65106 PP-BIO-1 Biocidal products for human hygiene 65107 PP-BIO-2 Disinfectants and algaecides not intended for direct application to humans or animals 65108 PP-BIO-3 Biocidal products for veterinary hygiene 65109 PP-BIO-4 Biocidal products for food and feed area 65110 PP-BIO-5 Biocidal products for drinking water 65111 PP-BIO-6 Biocidal products used as preservatives for products during storage 65112 PP-BIO-7 Film preservatives 65113 PP-BIO-8 Wood preservatives 65114 PP-BIO-9 Fibre, leather, rubber and polymerised materials preservatives 65115 PP-BIO-10 Construction material preservatives 65116 PP-BIO-11 Preservatives for liquid-cooling and processing systems 65117 PP-BIO-12 Slimicides 65118 PP-BIO-13 Working or cutting fluid preservatives 65119 PP-BIO-14 Rodenticides (excluding for plant protection) 65120 PP-BIO-15 Avicides 65121 PP-BIO-16 Molluscicides, vermicides and products to control other invertebrates (excluding plant protection products) 65122 PP-BIO-17 Piscicides 65123 PP-BIO-18 Insecticides, acaricides and products to control other arthropods (excluding equivalent products when used as pesticides) 65124 PP-BIO-19 Repellents and attractants 65125 PP-BIO-20 Control of other vertebrates 65126 PP-BIO-21 Antifouling products 65127 PP-BIO-22 Embalming and taxidermist fluids 65128 PP-PRD-1 Acaricides for plant protectionPoison Centres Notification Format 65129 PP-PRD-2 Attractants (excluding semio-chemicals) 65130 PP-PRD-3 Bactericides for plant protection 65131 PP-PRD-4 Biopesticides for plant protection 65132 PP-PRD-5 Fungicides for plant protection 65133 PP-PRD-6 Herbicides for plant protection, including haulm destructors and moss killers 65134 PP-PRD-7 Insecticides for plant protection 65135 PP-PRD-8 Molluscicides for plant protection 65136 PP-PRD-9 Nematicides for plant protection 65137 PP-PRD-10 Plant growth regulators 65138 PP-PRD-11 Repellents for plant protection 65139 PP-PRD-12 Rodenticides for plant protection 65140 PP-PRD-13 Semio-chemicals 65141 PP-PRD-14 Soil sterilants 65142 PP-PRD-15 Talpicides for plant protection 65143 PP-PRD-16 Viricides for plant protection 65144 PP-PRD-OTH Other plant protection products

EupcsCategoryCodeEnum corresponds to the XSD simple type EupcsCategoryCodeEnum.

const (
	EupcsCategoryCodeEnum_F             EupcsCategoryCodeEnum = "F"
	EupcsCategoryCodeEnum_PC_ADH_1      EupcsCategoryCodeEnum = "PC-ADH-1"
	EupcsCategoryCodeEnum_PC_ADH_2      EupcsCategoryCodeEnum = "PC-ADH-2"
	EupcsCategoryCodeEnum_PC_ADH_3      EupcsCategoryCodeEnum = "PC-ADH-3"
	EupcsCategoryCodeEnum_PC_ADH_4      EupcsCategoryCodeEnum = "PC-ADH-4"
	EupcsCategoryCodeEnum_PC_ADH_5      EupcsCategoryCodeEnum = "PC-ADH-5"
	EupcsCategoryCodeEnum_PC_ADH_6      EupcsCategoryCodeEnum = "PC-ADH-6"
	EupcsCategoryCodeEnum_PC_ADH_7      EupcsCategoryCodeEnum = "PC-ADH-7"
	EupcsCategoryCodeEnum_PC_ADH_8      EupcsCategoryCodeEnum = "PC-ADH-8"
	EupcsCategoryCodeEnum_PC_ADH_OTH    EupcsCategoryCodeEnum = "PC-ADH-OTH"
	EupcsCategoryCodeEnum_PC_AIR_1      EupcsCategoryCodeEnum = "PC-AIR-1"
	EupcsCategoryCodeEnum_PC_AIR_2      EupcsCategoryCodeEnum = "PC-AIR-2"
	EupcsCategoryCodeEnum_PC_AIR_3      EupcsCategoryCodeEnum = "PC-AIR-3"
	EupcsCategoryCodeEnum_PC_AIR_4      EupcsCategoryCodeEnum = "PC-AIR-4"
	EupcsCategoryCodeEnum_PC_AIR_5      EupcsCategoryCodeEnum = "PC-AIR-5"
	EupcsCategoryCodeEnum_PC_AIR_6      EupcsCategoryCodeEnum = "PC-AIR-6"
	EupcsCategoryCodeEnum_PC_AIR_7      EupcsCategoryCodeEnum = "PC-AIR-7"
	EupcsCategoryCodeEnum_PC_AIR_8      EupcsCategoryCodeEnum = "PC-AIR-8"
	EupcsCategoryCodeEnum_PC_AIR_OTH    EupcsCategoryCodeEnum = "PC-AIR-OTH"
	EupcsCategoryCodeEnum_PC_ANI_1      EupcsCategoryCodeEnum = "PC-ANI-1"
	EupcsCategoryCodeEnum_PC_ANI_2      EupcsCategoryCodeEnum = "PC-ANI-2"
	EupcsCategoryCodeEnum_PC_ANI_OTH    EupcsCategoryCodeEnum = "PC-ANI-OTH"
	EupcsCategoryCodeEnum_PC_ART_1      EupcsCategoryCodeEnum = "PC-ART-1"
	EupcsCategoryCodeEnum_PC_ART_2      EupcsCategoryCodeEnum = "PC-ART-2"
	EupcsCategoryCodeEnum_PC_ART_3      EupcsCategoryCodeEnum = "PC-ART-3"
	EupcsCategoryCodeEnum_PC_ART_4      EupcsCategoryCodeEnum = "PC-ART-4"
	EupcsCategoryCodeEnum_PC_ART_5      EupcsCategoryCodeEnum = "PC-ART-5"
	EupcsCategoryCodeEnum_PC_ART_6      EupcsCategoryCodeEnum = "PC-ART-6"
	EupcsCategoryCodeEnum_PC_ART_OTH    EupcsCategoryCodeEnum = "PC-ART-OTH"
	EupcsCategoryCodeEnum_PC_CLN_1      EupcsCategoryCodeEnum = "PC-CLN-1"
	EupcsCategoryCodeEnum_PC_CLN_2      EupcsCategoryCodeEnum = "PC-CLN-2"
	EupcsCategoryCodeEnum_PC_CLN_3      EupcsCategoryCodeEnum = "PC-CLN-3"
	EupcsCategoryCodeEnum_PC_CLN_4      EupcsCategoryCodeEnum = "PC-CLN-4"
	EupcsCategoryCodeEnum_PC_CLN_5      EupcsCategoryCodeEnum = "PC-CLN-5"
	EupcsCategoryCodeEnum_PC_CLN_6      EupcsCategoryCodeEnum = "PC-CLN-6"
	EupcsCategoryCodeEnum_PC_CLN_7      EupcsCategoryCodeEnum = "PC-CLN-7"
	EupcsCategoryCodeEnum_PC_CLN_8      EupcsCategoryCodeEnum = "PC-CLN-8"
	EupcsCategoryCodeEnum_PC_CLN_9      EupcsCategoryCodeEnum = "PC-CLN-9"
	EupcsCategoryCodeEnum_PC_CLN_10_1   EupcsCategoryCodeEnum = "PC-CLN-10.1"
	EupcsCategoryCodeEnum_PC_CLN_10_2   EupcsCategoryCodeEnum = "PC-CLN-10.2"
	EupcsCategoryCodeEnum_PC_CLN_10_3   EupcsCategoryCodeEnum = "PC-CLN-10.3"
	EupcsCategoryCodeEnum_PC_CLN_10_4   EupcsCategoryCodeEnum = "PC-CLN-10.4"
	EupcsCategoryCodeEnum_PC_CLN_10_OTH EupcsCategoryCodeEnum = "PC-CLN-10.OTH"
	EupcsCategoryCodeEnum_PC_CLN_11_1   EupcsCategoryCodeEnum = "PC-CLN-11.1"
	EupcsCategoryCodeEnum_PC_CLN_11_2   EupcsCategoryCodeEnum = "PC-CLN-11.2"
	EupcsCategoryCodeEnum_PC_CLN_11_3   EupcsCategoryCodeEnum = "PC-CLN-11.3"
	EupcsCategoryCodeEnum_PC_CLN_11_OTH EupcsCategoryCodeEnum = "PC-CLN-11.OTH"
	EupcsCategoryCodeEnum_PC_CLN_12_1   EupcsCategoryCodeEnum = "PC-CLN-12.1"
	EupcsCategoryCodeEnum_PC_CLN_12_2   EupcsCategoryCodeEnum = "PC-CLN-12.2"
	EupcsCategoryCodeEnum_PC_CLN_12_3   EupcsCategoryCodeEnum = "PC-CLN-12.3"
	EupcsCategoryCodeEnum_PC_CLN_12_OTH EupcsCategoryCodeEnum = "PC-CLN-12.OTH"
	EupcsCategoryCodeEnum_PC_CLN_13_2   EupcsCategoryCodeEnum = "PC-CLN-13.2"
	EupcsCategoryCodeEnum_PC_CLN_13_3   EupcsCategoryCodeEnum = "PC-CLN-13.3"
	EupcsCategoryCodeEnum_PC_CLN_13_4   EupcsCategoryCodeEnum = "PC-CLN-13.4"
	EupcsCategoryCodeEnum_PC_CLN_13_OTH EupcsCategoryCodeEnum = "PC-CLN-13.OTH"
	EupcsCategoryCodeEnum_PC_CLN_14_1   EupcsCategoryCodeEnum = "PC-CLN-14.1"
	EupcsCategoryCodeEnum_PC_CLN_14_2   EupcsCategoryCodeEnum = "PC-CLN-14.2"
	EupcsCategoryCodeEnum_PC_CLN_14_OTH EupcsCategoryCodeEnum = "PC-CLN-14.OTH"
	EupcsCategoryCodeEnum_PC_CLN_15_1   EupcsCategoryCodeEnum = "PC-CLN-15.1"
	EupcsCategoryCodeEnum_PC_CLN_15_2   EupcsCategoryCodeEnum = "PC-CLN-15.2"
	EupcsCategoryCodeEnum_PC_CLN_15_3   EupcsCategoryCodeEnum = "PC-CLN-15.3"
	EupcsCategoryCodeEnum_PC_CLN_15_4   EupcsCategoryCodeEnum = "PC-CLN-15.4"
	EupcsCategoryCodeEnum_PC_CLN_15_OTH EupcsCategoryCodeEnum = "PC-CLN-15.OTH"
	EupcsCategoryCodeEnum_PC_CLN_16_1   EupcsCategoryCodeEnum = "PC-CLN-16.1"
	EupcsCategoryCodeEnum_PC_CLN_16_2   EupcsCategoryCodeEnum = "PC-CLN-16.2"
	EupcsCategoryCodeEnum_PC_CLN_16_3   EupcsCategoryCodeEnum = "PC-CLN-16.3"
	EupcsCategoryCodeEnum_PC_CLN_16_4   EupcsCategoryCodeEnum = "PC-CLN-16.4"
	EupcsCategoryCodeEnum_PC_CLN_16_5   EupcsCategoryCodeEnum = "PC-CLN-16.5"
	EupcsCategoryCodeEnum_PC_CLN_16_6   EupcsCategoryCodeEnum = "PC-CLN-16.6"
	EupcsCategoryCodeEnum_PC_CLN_16_OTH EupcsCategoryCodeEnum = "PC-CLN-16.OTH"
	EupcsCategoryCodeEnum_PC_CLN_17_1   EupcsCategoryCodeEnum = "PC-CLN-17.1"
	EupcsCategoryCodeEnum_PC_CLN_17_2   EupcsCategoryCodeEnum = "PC-CLN-17.2"
	EupcsCategoryCodeEnum_PC_CLN_17_3   EupcsCategoryCodeEnum = "PC-CLN-17.3"
	EupcsCategoryCodeEnum_PC_CLN_17_4   EupcsCategoryCodeEnum = "PC-CLN-17.4"
	EupcsCategoryCodeEnum_PC_CLN_17_5   EupcsCategoryCodeEnum = "PC-CLN-17.5"
	EupcsCategoryCodeEnum_PC_CLN_17_6   EupcsCategoryCodeEnum = "PC-CLN-17.6"
	EupcsCategoryCodeEnum_PC_CLN_17_7   EupcsCategoryCodeEnum = "PC-CLN-17.7"
	EupcsCategoryCodeEnum_PC_CLN_17_8   EupcsCategoryCodeEnum = "PC-CLN-17.8"
	EupcsCategoryCodeEnum_PC_CLN_17_OTH EupcsCategoryCodeEnum = "PC-CLN-17.OTH"
	EupcsCategoryCodeEnum_PC_CLN_OTH    EupcsCategoryCodeEnum = "PC-CLN-OTH"
	EupcsCategoryCodeEnum_PC_COL_1      EupcsCategoryCodeEnum = "PC-COL-1"
	EupcsCategoryCodeEnum_PC_COL_2      EupcsCategoryCodeEnum = "PC-COL-2"
	EupcsCategoryCodeEnum_PC_CON_1      EupcsCategoryCodeEnum = "PC-CON-1"
	EupcsCategoryCodeEnum_PC_CON_2      EupcsCategoryCodeEnum = "PC-CON-2"
	EupcsCategoryCodeEnum_PC_CON_3      EupcsCategoryCodeEnum = "PC-CON-3"
	EupcsCategoryCodeEnum_PC_CON_4      EupcsCategoryCodeEnum = "PC-CON-4"
	EupcsCategoryCodeEnum_PC_CON_5      EupcsCategoryCodeEnum = "PC-CON-5"
	EupcsCategoryCodeEnum_PC_CON_OTH    EupcsCategoryCodeEnum = "PC-CON-OTH"
	EupcsCategoryCodeEnum_PC_DET_1_1    EupcsCategoryCodeEnum = "PC-DET-1.1"
	EupcsCategoryCodeEnum_PC_DET_1_2    EupcsCategoryCodeEnum = "PC-DET-1.2"
	EupcsCategoryCodeEnum_PC_DET_1_3    EupcsCategoryCodeEnum = "PC-DET-1.3"
	EupcsCategoryCodeEnum_PC_DET_1_OTH  EupcsCategoryCodeEnum = "PC-DET-1.OTH"
	EupcsCategoryCodeEnum_PC_DET_2_1    EupcsCategoryCodeEnum = "PC-DET-2.1"
	EupcsCategoryCodeEnum_PC_DET_2_2    EupcsCategoryCodeEnum = "PC-DET-2.2"
	EupcsCategoryCodeEnum_PC_DET_2_3    EupcsCategoryCodeEnum = "PC-DET-2.3"
	EupcsCategoryCodeEnum_PC_DET_2_4    EupcsCategoryCodeEnum = "PC-DET-2.4"
	EupcsCategoryCodeEnum_PC_DET_2_5    EupcsCategoryCodeEnum = "PC-DET-2.5"
	EupcsCategoryCodeEnum_PC_DET_2_6    EupcsCategoryCodeEnum = "PC-DET-2.6"
	EupcsCategoryCodeEnum_PC_DET_2_7    EupcsCategoryCodeEnum = "PC-DET-2.7"
	EupcsCategoryCodeEnum_PC_DET_2_8    EupcsCategoryCodeEnum = "PC-DET-2.8"
	EupcsCategoryCodeEnum_PC_DET_2_OTH  EupcsCategoryCodeEnum = "PC-DET-2.OTH"
	EupcsCategoryCodeEnum_PC_DET_3_1    EupcsCategoryCodeEnum = "PC-DET-3.1"
	EupcsCategoryCodeEnum_PC_DET_3_2    EupcsCategoryCodeEnum = "PC-DET-3.2"
	EupcsCategoryCodeEnum_PC_DET_3_3    EupcsCategoryCodeEnum = "PC-DET-3.3"
	EupcsCategoryCodeEnum_PC_DET_3_OTH  EupcsCategoryCodeEnum = "PC-DET-3.OTH"
	EupcsCategoryCodeEnum_PC_DET_4_1    EupcsCategoryCodeEnum = "PC-DET-4.1"
	EupcsCategoryCodeEnum_PC_DET_4_2    EupcsCategoryCodeEnum = "PC-DET-4.2"
	EupcsCategoryCodeEnum_PC_DET_4_3    EupcsCategoryCodeEnum = "PC-DET-4.3"
	EupcsCategoryCodeEnum_PC_DET_4_4    EupcsCategoryCodeEnum = "PC-DET-4.4"
	EupcsCategoryCodeEnum_PC_DET_4_OTH  EupcsCategoryCodeEnum = "PC-DET-4.OTH"
	EupcsCategoryCodeEnum_PC_ELQ        EupcsCategoryCodeEnum = "PC-ELQ"
	EupcsCategoryCodeEnum_PC_FER_1      EupcsCategoryCodeEnum = "PC-FER-1"
	EupcsCategoryCodeEnum_PC_FER_2      EupcsCategoryCodeEnum = "PC-FER-2"
	EupcsCategoryCodeEnum_PC_FER_3      EupcsCategoryCodeEnum = "PC-FER-3"
	EupcsCategoryCodeEnum_PC_FER_4      EupcsCategoryCodeEnum = "PC-FER-4"
	EupcsCategoryCodeEnum_PC_FER_5      EupcsCategoryCodeEnum = "PC-FER-5"
	EupcsCategoryCodeEnum_PC_FER_6      EupcsCategoryCodeEnum = "PC-FER-6"
	EupcsCategoryCodeEnum_PC_FER_7      EupcsCategoryCodeEnum = "PC-FER-7"
	EupcsCategoryCodeEnum_PC_FUE_1      EupcsCategoryCodeEnum = "PC-FUE-1"
	EupcsCategoryCodeEnum_PC_FUE_2      EupcsCategoryCodeEnum = "PC-FUE-2"
	EupcsCategoryCodeEnum_PC_FUE_3      EupcsCategoryCodeEnum = "PC-FUE-3"
	EupcsCategoryCodeEnum_PC_FUE_4      EupcsCategoryCodeEnum = "PC-FUE-4"
	EupcsCategoryCodeEnum_PC_FUE_5      EupcsCategoryCodeEnum = "PC-FUE-5"
	EupcsCategoryCodeEnum_PC_FUE_OTH    EupcsCategoryCodeEnum = "PC-FUE-OTH"
	EupcsCategoryCodeEnum_PC_INK_1      EupcsCategoryCodeEnum = "PC-INK-1"
	EupcsCategoryCodeEnum_PC_INK_2      EupcsCategoryCodeEnum = "PC-INK-2"
	EupcsCategoryCodeEnum_PC_INK_3      EupcsCategoryCodeEnum = "PC-INK-3"
	EupcsCategoryCodeEnum_PC_INK_4      EupcsCategoryCodeEnum = "PC-INK-4"
	EupcsCategoryCodeEnum_PC_INK_5      EupcsCategoryCodeEnum = "PC-INK-5"
	EupcsCategoryCodeEnum_PC_INK_OTH    EupcsCategoryCodeEnum = "PC-INK-OTH"
	EupcsCategoryCodeEnum_PC_PNT_1      EupcsCategoryCodeEnum = "PC-PNT-1"
	EupcsCategoryCodeEnum_PC_PNT_2      EupcsCategoryCodeEnum = "PC-PNT-2"
	EupcsCategoryCodeEnum_PC_PNT_3      EupcsCategoryCodeEnum = "PC-PNT-3"
	EupcsCategoryCodeEnum_PC_PNT_4      EupcsCategoryCodeEnum = "PC-PNT-4"
	EupcsCategoryCodeEnum_PC_PNT_5      EupcsCategoryCodeEnum = "PC-PNT-5"
	EupcsCategoryCodeEnum_PC_PNT_6      EupcsCategoryCodeEnum = "PC-PNT-6"
	EupcsCategoryCodeEnum_PC_PNT_7      EupcsCategoryCodeEnum = "PC-PNT-7"
	EupcsCategoryCodeEnum_PC_PNT_OTH    EupcsCategoryCodeEnum = "PC-PNT-OTH"
	EupcsCategoryCodeEnum_PC_PYR_1      EupcsCategoryCodeEnum = "PC-PYR-1"
	EupcsCategoryCodeEnum_PC_PYR_2      EupcsCategoryCodeEnum = "PC-PYR-2"
	EupcsCategoryCodeEnum_PC_PYR_3      EupcsCategoryCodeEnum = "PC-PYR-3"
	EupcsCategoryCodeEnum_PC_PYR_4      EupcsCategoryCodeEnum = "PC-PYR-4"
	EupcsCategoryCodeEnum_PC_PYR_OTH    EupcsCategoryCodeEnum = "PC-PYR-OTH"
	EupcsCategoryCodeEnum_PC_TAT        EupcsCategoryCodeEnum = "PC-TAT"
	EupcsCategoryCodeEnum_PC_TEC_1      EupcsCategoryCodeEnum = "PC-TEC-1"
	EupcsCategoryCodeEnum_PC_TEC_2      EupcsCategoryCodeEnum = "PC-TEC-2"
	EupcsCategoryCodeEnum_PC_TEC_3      EupcsCategoryCodeEnum = "PC-TEC-3"
	EupcsCategoryCodeEnum_PC_TEC_4      EupcsCategoryCodeEnum = "PC-TEC-4"
	EupcsCategoryCodeEnum_PC_TEC_5      EupcsCategoryCodeEnum = "PC-TEC-5"
	EupcsCategoryCodeEnum_PC_TEC_6      EupcsCategoryCodeEnum = "PC-TEC-6"
	EupcsCategoryCodeEnum_PC_TEC_7      EupcsCategoryCodeEnum = "PC-TEC-7"
	EupcsCategoryCodeEnum_PC_TEC_8      EupcsCategoryCodeEnum = "PC-TEC-8"
	EupcsCategoryCodeEnum_PC_TEC_9      EupcsCategoryCodeEnum = "PC-TEC-9"
	EupcsCategoryCodeEnum_PC_TEC_10     EupcsCategoryCodeEnum = "PC-TEC-10"
	EupcsCategoryCodeEnum_PC_TEC_11     EupcsCategoryCodeEnum = "PC-TEC-11"
	EupcsCategoryCodeEnum_PC_TEC_12     EupcsCategoryCodeEnum = "PC-TEC-12"
	EupcsCategoryCodeEnum_PC_TEC_13     EupcsCategoryCodeEnum = "PC-TEC-13"
	EupcsCategoryCodeEnum_PC_TEC_14     EupcsCategoryCodeEnum = "PC-TEC-14"
	EupcsCategoryCodeEnum_PC_TEC_15     EupcsCategoryCodeEnum = "PC-TEC-15"
	EupcsCategoryCodeEnum_PC_TEC_16     EupcsCategoryCodeEnum = "PC-TEC-16"
	EupcsCategoryCodeEnum_PC_TEC_17     EupcsCategoryCodeEnum = "PC-TEC-17"
	EupcsCategoryCodeEnum_PC_TEC_18     EupcsCategoryCodeEnum = "PC-TEC-18"
	EupcsCategoryCodeEnum_PC_TEC_19     EupcsCategoryCodeEnum = "PC-TEC-19"
	EupcsCategoryCodeEnum_PC_TEC_20     EupcsCategoryCodeEnum = "PC-TEC-20"
	EupcsCategoryCodeEnum_PC_TEC_21     EupcsCategoryCodeEnum = "PC-TEC-21"
	EupcsCategoryCodeEnum_PC_TEC_22     EupcsCategoryCodeEnum = "PC-TEC-22"
	EupcsCategoryCodeEnum_PC_TEC_23     EupcsCategoryCodeEnum = "PC-TEC-23"
	EupcsCategoryCodeEnum_PC_TEC_24     EupcsCategoryCodeEnum = "PC-TEC-24"
	EupcsCategoryCodeEnum_PC_TEC_OTH    EupcsCategoryCodeEnum = "PC-TEC-OTH"
	EupcsCategoryCodeEnum_PC_UNC        EupcsCategoryCodeEnum = "PC-UNC"
	EupcsCategoryCodeEnum_PP_BIO_1      EupcsCategoryCodeEnum = "PP-BIO-1"
	EupcsCategoryCodeEnum_PP_BIO_2      EupcsCategoryCodeEnum = "PP-BIO-2"
	EupcsCategoryCodeEnum_PP_BIO_3      EupcsCategoryCodeEnum = "PP-BIO-3"
	EupcsCategoryCodeEnum_PP_BIO_4      EupcsCategoryCodeEnum = "PP-BIO-4"
	EupcsCategoryCodeEnum_PP_BIO_5      EupcsCategoryCodeEnum = "PP-BIO-5"
	EupcsCategoryCodeEnum_PP_BIO_6      EupcsCategoryCodeEnum = "PP-BIO-6"
	EupcsCategoryCodeEnum_PP_BIO_7      EupcsCategoryCodeEnum = "PP-BIO-7"
	EupcsCategoryCodeEnum_PP_BIO_8      EupcsCategoryCodeEnum = "PP-BIO-8"
	EupcsCategoryCodeEnum_PP_BIO_9      EupcsCategoryCodeEnum = "PP-BIO-9"
	EupcsCategoryCodeEnum_PP_BIO_10     EupcsCategoryCodeEnum = "PP-BIO-10"
	EupcsCategoryCodeEnum_PP_BIO_11     EupcsCategoryCodeEnum = "PP-BIO-11"
	EupcsCategoryCodeEnum_PP_BIO_12     EupcsCategoryCodeEnum = "PP-BIO-12"
	EupcsCategoryCodeEnum_PP_BIO_13     EupcsCategoryCodeEnum = "PP-BIO-13"
	EupcsCategoryCodeEnum_PP_BIO_14     EupcsCategoryCodeEnum = "PP-BIO-14"
	EupcsCategoryCodeEnum_PP_BIO_15     EupcsCategoryCodeEnum = "PP-BIO-15"
	EupcsCategoryCodeEnum_PP_BIO_16     EupcsCategoryCodeEnum = "PP-BIO-16"
	EupcsCategoryCodeEnum_PP_BIO_17     EupcsCategoryCodeEnum = "PP-BIO-17"
	EupcsCategoryCodeEnum_PP_BIO_18     EupcsCategoryCodeEnum = "PP-BIO-18"
	EupcsCategoryCodeEnum_PP_BIO_19     EupcsCategoryCodeEnum = "PP-BIO-19"
	EupcsCategoryCodeEnum_PP_BIO_20     EupcsCategoryCodeEnum = "PP-BIO-20"
	EupcsCategoryCodeEnum_PP_BIO_21     EupcsCategoryCodeEnum = "PP-BIO-21"
	EupcsCategoryCodeEnum_PP_BIO_22     EupcsCategoryCodeEnum = "PP-BIO-22"
	EupcsCategoryCodeEnum_PP_PRD_1      EupcsCategoryCodeEnum = "PP-PRD-1"
	EupcsCategoryCodeEnum_PP_PRD_2      EupcsCategoryCodeEnum = "PP-PRD-2"
	EupcsCategoryCodeEnum_PP_PRD_3      EupcsCategoryCodeEnum = "PP-PRD-3"
	EupcsCategoryCodeEnum_PP_PRD_4      EupcsCategoryCodeEnum = "PP-PRD-4"
	EupcsCategoryCodeEnum_PP_PRD_5      EupcsCategoryCodeEnum = "PP-PRD-5"
	EupcsCategoryCodeEnum_PP_PRD_6      EupcsCategoryCodeEnum = "PP-PRD-6"
	EupcsCategoryCodeEnum_PP_PRD_7      EupcsCategoryCodeEnum = "PP-PRD-7"
	EupcsCategoryCodeEnum_PP_PRD_8      EupcsCategoryCodeEnum = "PP-PRD-8"
	EupcsCategoryCodeEnum_PP_PRD_9      EupcsCategoryCodeEnum = "PP-PRD-9"
	EupcsCategoryCodeEnum_PP_PRD_10     EupcsCategoryCodeEnum = "PP-PRD-10"
	EupcsCategoryCodeEnum_PP_PRD_11     EupcsCategoryCodeEnum = "PP-PRD-11"
	EupcsCategoryCodeEnum_PP_PRD_12     EupcsCategoryCodeEnum = "PP-PRD-12"
	EupcsCategoryCodeEnum_PP_PRD_13     EupcsCategoryCodeEnum = "PP-PRD-13"
	EupcsCategoryCodeEnum_PP_PRD_14     EupcsCategoryCodeEnum = "PP-PRD-14"
	EupcsCategoryCodeEnum_PP_PRD_15     EupcsCategoryCodeEnum = "PP-PRD-15"
	EupcsCategoryCodeEnum_PP_PRD_16     EupcsCategoryCodeEnum = "PP-PRD-16"
	EupcsCategoryCodeEnum_PP_PRD_OTH    EupcsCategoryCodeEnum = "PP-PRD-OTH"
)

func (EupcsCategoryCodeEnum) Valid

func (v EupcsCategoryCodeEnum) Valid() bool

Valid reports whether v satisfies every constraint of EupcsCategoryCodeEnum.

type ExactQualifierEnum

type ExactQualifierEnum string

ExactQualifierEnum corresponds to the XSD simple type ExactQualifierEnum.

const (
	ExactQualifierEnum_eq ExactQualifierEnum = "eq"
	ExactQualifierEnum_ca ExactQualifierEnum = "ca"
)

func (ExactQualifierEnum) Valid

func (v ExactQualifierEnum) Valid() bool

Valid reports whether v satisfies every constraint of ExactQualifierEnum.

type ExposureControlPersonalProtection

type ExposureControlPersonalProtection struct {
	PreventiveIndustrialMedicalExaminationRequired   []Phrase
	ControlParameters                                *ControlParameters
	SummaryRMMeasures                                *ExposureControlPersonalProtectionSummaryRMMeasures
	ExposureControlAppropriateMeasures               *ExposureControlPersonalProtectionExposureControlAppropriateMeasures
	PersonalProtectionEquipment                      *ExposureControlPersonalProtectionPersonalProtectionEquipment
	EnvironmentalExposureControls                    *ExposureControlPersonalProtectionEnvironmentalExposureControls
	ConsumerExposureControl                          *ExposureControlPersonalProtectionConsumerExposureControl
	ExposureControlsPersonalProtectionAdditionalInfo []Phrase
	AdditionalInfo                                   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 8.

ExposureControlPersonalProtection corresponds to the XSD complex type ExposureControlPersonalProtection.

type ExposureControlPersonalProtectionConsumerExposureControl

type ExposureControlPersonalProtectionConsumerExposureControl struct {
	MeasuresOnConsumerUseOfTheChemical []Phrase
	MeasuresOnServiceLifeInArticles    []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionConsumerExposureControl corresponds to the anonymous complex type of element ExposureControlPersonalProtection/ConsumerExposureControl.

type ExposureControlPersonalProtectionEnvironmentalExposureControls

type ExposureControlPersonalProtectionEnvironmentalExposureControls struct {
	EnvironmentalExposureControls          []Phrase
	AppropriateEnvionmentalExposureControl *ExposureControlPersonalProtectionEnvironmentalExposureControlsAppropriateEnvionmentalExposureControl
	AdditionalInfo                         []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionEnvironmentalExposureControls corresponds to the anonymous complex type of element ExposureControlPersonalProtection/EnvironmentalExposureControls.

type ExposureControlPersonalProtectionEnvironmentalExposureControlsAppropriateEnvionmentalExposureControl

type ExposureControlPersonalProtectionEnvironmentalExposureControlsAppropriateEnvionmentalExposureControl struct {
	ProductRelatedMeasures []Phrase
	InstructionalMeasures  []Phrase
	OrganisationalMeasures []Phrase
	TechnicalMeasures      []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionEnvironmentalExposureControlsAppropriateEnvionmentalExposureControl corresponds to the anonymous complex type of element ExposureControlPersonalProtection/EnvironmentalExposureControls/AppropriateEnvionmentalExposureControl.

type ExposureControlPersonalProtectionExposureControlAppropriateMeasures

type ExposureControlPersonalProtectionExposureControlAppropriateMeasures struct {
	AppropriateEngineeringControls []Phrase
	ProductRelatedMeasures         []Phrase
	InstructionalMeasures          []Phrase
	OrganisationalMeasures         []Phrase
	OrganisationalSigns            []AgpaPictogramEnum
	TechnicalMeasures              []Phrase
	TechnicalSigns                 []EquipmentPictogramEnum
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionExposureControlAppropriateMeasures corresponds to the anonymous complex type of element ExposureControlPersonalProtection/ExposureControlAppropriateMeasures.

type ExposureControlPersonalProtectionPersonalProtectionEquipment

type ExposureControlPersonalProtectionPersonalProtectionEquipment struct {
	RespiratoryProtection    *ExposureControlPersonalProtectionPersonalProtectionEquipmentRespiratoryProtection
	EyeProtection            *ExposureControlPersonalProtectionPersonalProtectionEquipmentEyeProtection
	HandProtection           *ExposureControlPersonalProtectionPersonalProtectionEquipmentHandProtection
	SkinProtection           *ExposureControlPersonalProtectionPersonalProtectionEquipmentSkinProtection
	ThermalHazardsProtection []Phrase
	AdditionalInfo           []Phrase
	SpecificHygieneMeasures  []Phrase
	// Normally to be displayed or printed at the top of section 8. In case of
	// using information from components, duplicates should be removed.
	SafetySigns []RmmPictogramEnum
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionPersonalProtectionEquipment corresponds to the anonymous complex type of element ExposureControlPersonalProtection/PersonalProtectionEquipment.

type ExposureControlPersonalProtectionPersonalProtectionEquipmentEyeProtection

type ExposureControlPersonalProtectionPersonalProtectionEquipmentEyeProtection struct {
	RequiredProperties              []Phrase
	SuitableEyeProtection           []Phrase
	UnsuitableEyeProtection         []Phrase
	EyeProtectionEquipment          []ProtectionArticle
	AdditionalEyeProtectionMeasures []Phrase
	ReferenceRelevantStandard       []Phrase
	AdditionalInfo                  []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionPersonalProtectionEquipmentEyeProtection corresponds to the anonymous complex type of element ExposureControlPersonalProtection/PersonalProtectionEquipment/EyeProtection.

type ExposureControlPersonalProtectionPersonalProtectionEquipmentHandProtection

type ExposureControlPersonalProtectionPersonalProtectionEquipmentHandProtection struct {
	SkinHandProtectionShortTermContact []Phrase
	SkinHandProtectionLongTermContact  []Phrase
	UnsuitableMaterials                []Phrase
	HandProtectionNecessaryProperties  []Phrase
	Equipment                          []ExposureControlPersonalProtectionPersonalProtectionEquipmentHandProtectionEquipment
	AdditionalHandProtectionMeasures   []Phrase
	// Reference relevant standard: Only to be used for referencing old standards
	// for compatibility
	ReferenceRelevantStandard []Phrase
	AdditionalInfo            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionPersonalProtectionEquipmentHandProtection corresponds to the anonymous complex type of element ExposureControlPersonalProtection/PersonalProtectionEquipment/HandProtection.

type ExposureControlPersonalProtectionPersonalProtectionEquipmentHandProtectionEquipment

type ExposureControlPersonalProtectionPersonalProtectionEquipmentHandProtectionEquipment struct {
	SuitableGlovesType               *Phrase
	SuitableMaterial                 *Phrase
	GloveBreakthroughTime            *NumericRangeWithUnitAndQualifier
	ThicknessOfGloveMaterial         *NumericRangeWithUnitAndQualifier
	MaxWearDurationOccasionalContact *NumericRangeWithUnitAndQualifier
	MaxWearDurationPermanentContact  *NumericRangeWithUnitAndQualifier
	Article                          []ProtectionArticle
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionPersonalProtectionEquipmentHandProtectionEquipment corresponds to the anonymous complex type of element ExposureControlPersonalProtection/PersonalProtectionEquipment/HandProtection/Equipment.

type ExposureControlPersonalProtectionPersonalProtectionEquipmentRespiratoryProtection

type ExposureControlPersonalProtectionPersonalProtectionEquipmentRespiratoryProtection struct {
	RespiratoryProtectionGeneral             []Phrase
	RespiratoryProtectionNecessaryAt         []Phrase
	TasksNeedingRespiratoryProtection        []Phrase
	SuitableRespiratoryProtectionEquipment   []Phrase
	RecommendedRespiratoryProtectionArticles []RespiratoryProtectionArticle
	AdditionalRespiratoryProtectionMeasures  []Phrase
	// Reference relevant standard: Only to be used for referencing old standards
	// for compatibility
	ReferenceRelevantStandard []Phrase
	AdditionalInfo            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionPersonalProtectionEquipmentRespiratoryProtection corresponds to the anonymous complex type of element ExposureControlPersonalProtection/PersonalProtectionEquipment/RespiratoryProtection.

type ExposureControlPersonalProtectionPersonalProtectionEquipmentSkinProtection

type ExposureControlPersonalProtectionPersonalProtectionEquipmentSkinProtection struct {
	SuitableProtectiveClothing            []Phrase
	UnsuitableProtectiveClothing          []Phrase
	ProtectiveClothingNecessaryProperties []Phrase
	ProtectiveClothingRecommendedMaterial []Phrase
	RecommendedProtectiveClothingArticles []ProtectionArticle
	AdditionalSkinProtectionMeasures      []Phrase
	SkinBodyOtherProtection               []Phrase
	// Reference relevant standard: Only to be used for referencing old standards
	// for compatibility
	ReferenceRelevantStandard []Phrase
	AdditionalInfo            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionPersonalProtectionEquipmentSkinProtection corresponds to the anonymous complex type of element ExposureControlPersonalProtection/PersonalProtectionEquipment/SkinProtection.

type ExposureControlPersonalProtectionSummaryRMMeasures

type ExposureControlPersonalProtectionSummaryRMMeasures struct {
	SummaryRMMeasuresMan      []Phrase
	SummaryRMMeasuresEnvironm []Phrase
	RMMControlBandingApproach []ExposureControlPersonalProtectionSummaryRMMeasuresRMMControlBandingApproach
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionSummaryRMMeasures corresponds to the anonymous complex type of element ExposureControlPersonalProtection/SummaryRMMeasures.

type ExposureControlPersonalProtectionSummaryRMMeasuresRMMControlBandingApproach

type ExposureControlPersonalProtectionSummaryRMMeasuresRMMControlBandingApproach struct {
	Task                    *Phrase
	HazardBand              *Phrase
	ScaleOfUse              *Phrase
	AbilityToBecomeAirborne *Phrase
	ControlApproach         *Phrase
	AdditionalInfo          []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureControlPersonalProtectionSummaryRMMeasuresRMMControlBandingApproach corresponds to the anonymous complex type of element ExposureControlPersonalProtection/SummaryRMMeasures/RMMControlBandingApproach.

type ExposureEstimationEnvironment

type ExposureEstimationEnvironment struct {
	// Specifies the compartment, for example air, freshwater, freshwater sediment,
	// or soil to which the exposure level reported refers to.
	Compartment *EsdscomPhrase
	// Specifies the exposure level value measured or calculated for the
	// environmental compartment associated to it.
	ExposureLevel *NumericValueWithUnitAndQualifier
	// Describes the method used to determine the exposure level value.
	CalculationMethod *EsdscomPhrase
	// Specifies the risk characterization ratio (RCR) for the value of the
	// exposure level. It is obtained for every compartment by comparing the
	// exposure level to the predicted no-effect concentration (PNEC).
	RCR *NumericValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes an estimated exposure level for a given environmental compartment.

ExposureEstimationEnvironment corresponds to the XSD complex type ExposureEstimationEnvironment.

type ExposureEstimationHH

type ExposureEstimationHH struct {
	// Specifies the exposure route for which the exposure level has been measured
	// or calculated. Expected value: Phrase
	ExposureRoute *EsdscomPhrase
	// Specifies the effect on the considered route caused by the exposure to the
	// substance (or product). Expected value: Phrase
	HealthEffect *EsdscomPhrase
	// Specifies the kind of exposure, for example short term or long term
	// exposure. Expected value: Phrase
	ShortLongTermIndicator *EsdscomPhrase
	// Specifies the exposure level value measured or calculated for the human
	// route associated to it. Expected value: Numeric value
	ExposureLevel *NumericValueWithUnitAndQualifier
	// Specifies how the exposure level is calculated for the human exposure route
	// associated to it. Expected value: Phrase
	CalculationMethod *EsdscomPhrase
	// Specifies the risk characterization ratio (RCR) of the value of the exposure
	// level. It is obtained for every route by comparing the exposure level to the
	// derived no-effect level (DNEL). Expected value: Numeric value
	RCR *NumericValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes the target route for a given human health exposure.

ExposureEstimationHH corresponds to the XSD complex type ExposureEstimationHH.

type ExposureLimitFractionEnum

type ExposureLimitFractionEnum string

ExposureLimitFractionEnum corresponds to the XSD simple type ExposureLimitFractionEnum.

const (
	ExposureLimitFractionEnum_inhalable  ExposureLimitFractionEnum = "inhalable"
	ExposureLimitFractionEnum_respirable ExposureLimitFractionEnum = "respirable"
)

func (ExposureLimitFractionEnum) Valid

func (v ExposureLimitFractionEnum) Valid() bool

Valid reports whether v satisfies every constraint of ExposureLimitFractionEnum.

type ExposureLimitValueTypeEnum

type ExposureLimitValueTypeEnum string

The legal codes for the ExposureLimitValueTypeEnum. Source: Chapter 8. DE: AGW / ES: VLA / NL: MAC / UK: WEL / EC: OEL, TWA, STEL / FR: VLE / HU: AK, PK, MK / US: PEL / CH: MAK / PL: NDS, NDSCH, NDSP / DK: GV / SE: NGV, TGV, KTV / NO: AN, ADN / FI: HTP

ExposureLimitValueTypeEnum corresponds to the XSD simple type ExposureLimitValueTypeEnum.

const (
	ExposureLimitValueTypeEnum_AGW   ExposureLimitValueTypeEnum = "AGW"
	ExposureLimitValueTypeEnum_VLA   ExposureLimitValueTypeEnum = "VLA"
	ExposureLimitValueTypeEnum_MAC   ExposureLimitValueTypeEnum = "MAC"
	ExposureLimitValueTypeEnum_WEL   ExposureLimitValueTypeEnum = "WEL"
	ExposureLimitValueTypeEnum_OEL   ExposureLimitValueTypeEnum = "OEL"
	ExposureLimitValueTypeEnum_TWA   ExposureLimitValueTypeEnum = "TWA"
	ExposureLimitValueTypeEnum_STEL  ExposureLimitValueTypeEnum = "STEL"
	ExposureLimitValueTypeEnum_VLE   ExposureLimitValueTypeEnum = "VLE"
	ExposureLimitValueTypeEnum_AK    ExposureLimitValueTypeEnum = "AK"
	ExposureLimitValueTypeEnum_PK    ExposureLimitValueTypeEnum = "PK"
	ExposureLimitValueTypeEnum_MK    ExposureLimitValueTypeEnum = "MK"
	ExposureLimitValueTypeEnum_PEL   ExposureLimitValueTypeEnum = "PEL"
	ExposureLimitValueTypeEnum_MAK   ExposureLimitValueTypeEnum = "MAK"
	ExposureLimitValueTypeEnum_NDS   ExposureLimitValueTypeEnum = "NDS"
	ExposureLimitValueTypeEnum_NDSCH ExposureLimitValueTypeEnum = "NDSCH"
	ExposureLimitValueTypeEnum_NDSP  ExposureLimitValueTypeEnum = "NDSP"
	ExposureLimitValueTypeEnum_GV    ExposureLimitValueTypeEnum = "GV"
	ExposureLimitValueTypeEnum_NGV   ExposureLimitValueTypeEnum = "NGV"
	ExposureLimitValueTypeEnum_TGV   ExposureLimitValueTypeEnum = "TGV"
	ExposureLimitValueTypeEnum_KTV   ExposureLimitValueTypeEnum = "KTV"
	ExposureLimitValueTypeEnum_AN    ExposureLimitValueTypeEnum = "AN"
	ExposureLimitValueTypeEnum_ADN   ExposureLimitValueTypeEnum = "ADN"
	ExposureLimitValueTypeEnum_HTP   ExposureLimitValueTypeEnum = "HTP"
)

func (ExposureLimitValueTypeEnum) Valid

func (v ExposureLimitValueTypeEnum) Valid() bool

Valid reports whether v satisfies every constraint of ExposureLimitValueTypeEnum.

type ExposureRoute

type ExposureRoute struct {
	Route         *ExposureRouteEnum
	RouteFulltext []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureRoute corresponds to the XSD complex type ExposureRoute.

type ExposureRouteEnum

type ExposureRouteEnum string

The legal values for the ExposureRouteEnum.

ExposureRouteEnum corresponds to the XSD simple type ExposureRouteEnum.

const (
	ExposureRouteEnum_Inhalation           ExposureRouteEnum = "Inhalation"
	ExposureRouteEnum_Oral                 ExposureRouteEnum = "Oral"
	ExposureRouteEnum_Dermal               ExposureRouteEnum = "Dermal"
	ExposureRouteEnum_Inhalation_Gas       ExposureRouteEnum = "Inhalation(Gas)"
	ExposureRouteEnum_Inhalation_Vapour    ExposureRouteEnum = "Inhalation(Vapour)"
	ExposureRouteEnum_Inhalation_Dust_Mist ExposureRouteEnum = "Inhalation(Dust/Mist)"
	ExposureRouteEnum_Subcutane            ExposureRouteEnum = "Subcutane"
	ExposureRouteEnum_Intraperitonial      ExposureRouteEnum = "Intraperitonial"
	ExposureRouteEnum_Intravenal           ExposureRouteEnum = "Intravenal"
	ExposureRouteEnum_Intraarterial        ExposureRouteEnum = "Intraarterial"
	ExposureRouteEnum_Unreported           ExposureRouteEnum = "Unreported"
)

func (ExposureRouteEnum) Valid

func (v ExposureRouteEnum) Valid() bool

Valid reports whether v satisfies every constraint of ExposureRouteEnum.

type ExposureScenario

type ExposureScenario struct {
	// Specifies the global unique identifier that is generated by the system when
	// generating an exposure scenario.
	IdentificationString *UUID
	// Describes the version date of an exposure scenario in XML date format; the
	// version date and the IdentificationString indicate changes or updates to an
	// exposure scenario.
	VersionDate *DateTime
	// Title of the exposure scenario.
	ExposureScenarioName []EsdscomPhrase
	Scope                []EsdscomPhrase
	// Stage of the life cycle of the substance (or product) to which information
	// communicated in the ES refer.
	LifeCycleStage *EsdscomPhrase
	// Specifies the main user groups in the life cycle of a substance (or product)
	// as key descriptor (SU 3, 21, 22).
	MainUserGroup *EsdscomPhrase
	// Specifies the order of an exposure scenario within the annex of the extended
	// safety data sheet.
	ExposureScenarioOrder *Int20
	// Describes the sectors of use (SU) that apply to an exposure scenario with
	// the aim to give information on the scope, e.g. in which markets the product
	// is used or in which the activity takes place. The list of SUs is available
	// in the Use Descriptor System defined in chapter R.12 of the ECHA Guidance on
	// Information Requirements and Chemical Safety Assessment.
	SectorOfUse []EsdscomPhrase
	// Describes the product categories (PC) that apply to an exposure scenario to
	// give information on the scope, e.g. in which product(s) the substance is
	// used. The list of PCs is available in the Use Descriptor System defined in
	// chapter R.12 of the ECHA Guidance on Information Requirements and Chemical
	// Safety Assessment.
	MarketInformationProductCategory []EsdscomPhrase
	// Describes the article categories (AC) that apply to an exposure scenario to
	// give information on the scope, e.g. in which articles(s) the substance is
	// used or ends up in. The list of ACs is available in the Use Descriptor
	// System defined in chapter R.12 of the ECHA Guidance on Information
	// Requirements and Chemical Safety Assessment.
	MarketInformationArticleCategory []EsdscomPhrase
	// see
	// https://echa.europa.eu/documents/10162/15669641/use_maps_guidance_en.pdf/dade8654-e7e7-4e50-9721-1ddfe003179e
	// , page 7. The code required here is to specify the unique identifier for
	// each use in the use map, not a code for the whole use map. For example, a
	// use in AISE’s use map has the identifier AISE_IS_001_v1, which follows the
	// rules contained in the guidance mentioned.
	UseMapUseCode                        *String256
	GuidanceToDU                         *ExposureScenarioGuidanceToDU
	WorkerUse                            *ExposureScenarioWorkerUse
	ConsumerUse                          *ExposureScenarioConsumerUse
	ScalingToolDetails                   []ScalingToolDetails
	ExposureScenarioStructuredShortTitle *ExposureScenarioStructuredShortTitle
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes the conditions and sectors for the safe use of a substance together with risk and waste management measures within contributing scenarios for the worker or consumer and environment. Product characteristics describe the use of a substance by the type of end-use in which the substance is known to be used. Guidance to downstream users helps to evaluate whether conditions set within a contributing scenario are met.

ExposureScenario corresponds to the XSD complex type ExposureScenario.

type ExposureScenarioConsumerUse

type ExposureScenarioConsumerUse struct {
	ContributingScenarioEnvironmentForConsumerUse []ContributingScenarioEnvironmentForConsumerUse
	ContributingScenarioConsumer                  []ContributingScenarioConsumer
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureScenarioConsumerUse corresponds to the anonymous complex type of element ExposureScenario/ConsumerUse.

type ExposureScenarioGuidanceToDU

type ExposureScenarioGuidanceToDU struct {
	// Provides information that helps downstream users to evaluate whether they
	// are working within the boundaries set by the exposure scenario.
	GuidanceText []EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureScenarioGuidanceToDU corresponds to the anonymous complex type of element ExposureScenario/GuidanceToDU.

type ExposureScenarioStructuredShortTitle

type ExposureScenarioStructuredShortTitle struct {
	// Defines the Life Cycle Stage (formulation, industrial use, professional use,
	// consumer use, service life consumer, service life worker) as defined in rule
	// 1.
	LifeCycleStage *EsdscomPhrase
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice ExposureScenarioStructuredShortTitleChoice
	// Describes the sector of use (SU) considered by the calculation of the
	// structured short title for an exposure scenario as defined in rule 2.
	SSTMarketInformationSectorOfUse *EsdscomPhrase
	// Values for printing SU codes, as intended by the author of the Structured
	// Short Title.
	SSTMarketInformationSectorOfUseCodes []SectorOfUseCodeEnum
	// The field conveys the phrases that consitute the third identifier for the
	// SST as defined in rules 3.1 and 3.2
	SSTAdditionalInformation []EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that provides the structured short title (SST) of an exposure scenario for communication, as defined in http://www.ducc.eu/documents/StructuredShortTitles%20for%20publication%20041114%20final.pdf . Please consult this document for further details on proper field values, especially regarding application of AC/PC/SU codes. An exposure scenario structured short title is a sequence of identifiers which are taken from the data contained in the exposure scenario itself. Its main purpose is provide a comprehensible description of the ES content that makes it possible to distinguish between the different ESs within one safety data sheet, so the SST result for one ES may vary if the algorithm is applied to different sets of exposure scenarios. It helps downstream users identify ESs relevant to their sector or activity in the SDS annex. The SST makes use of PCs, ACs and SUs from EChA's Use Descriptor System, defined in chapter R.12 of the ECHA Guidance on Information Requirements and Chemical Safety Assessment.

ExposureScenarioStructuredShortTitle corresponds to the XSD complex type ExposureScenarioStructuredShortTitle.

type ExposureScenarioStructuredShortTitleChoice

type ExposureScenarioStructuredShortTitleChoice struct {
	// SSTMarketInformationProductCategoryGroup holds a sequence.
	SSTMarketInformationProductCategoryGroup *ExposureScenarioStructuredShortTitleChoiceSSTMarketInformationProductCategoryGroup
	// SSTMarketInformationArticleCategoryGroup holds a sequence.
	SSTMarketInformationArticleCategoryGroup *ExposureScenarioStructuredShortTitleChoiceSSTMarketInformationArticleCategoryGroup
}

ExposureScenarioStructuredShortTitleChoice corresponds to the content model ExposureScenarioStructuredShortTitle/Choice.

type ExposureScenarioStructuredShortTitleChoiceSSTMarketInformationArticleCategoryGroup

type ExposureScenarioStructuredShortTitleChoiceSSTMarketInformationArticleCategoryGroup struct {
	// Phrase that constitutes the first part of the second identifier of the short
	// title, in case Article Categories (ACs) are relevant, as defined in rule 1.
	SSTMarketInformationArticleCategory *EsdscomPhrase
	// Values for printing AC codes, as intended by the author of the Structured
	// Short Title.
	SSTMarketInformationArticleCategoryCodes []ArticleCategoryCodeEnum
}

ExposureScenarioStructuredShortTitleChoiceSSTMarketInformationArticleCategoryGroup corresponds to the content model ExposureScenarioStructuredShortTitle/Choice/SSTMarketInformationArticleCategoryGroup.

type ExposureScenarioStructuredShortTitleChoiceSSTMarketInformationProductCategoryGroup

type ExposureScenarioStructuredShortTitleChoiceSSTMarketInformationProductCategoryGroup struct {
	// Phrase that constitutes the first part of the second identifier of the short
	// title, in case Product Categories (PCs) are relevant, as defined in rule 1.
	SSTMarketInformationProductCategory *EsdscomPhrase
	// Values for printing PC codes, as intended by the author of the Structured
	// Short Title.
	SSTMarketInformationProductCategoryCodes []ProductCategoryCodeEnum
}

ExposureScenarioStructuredShortTitleChoiceSSTMarketInformationProductCategoryGroup corresponds to the content model ExposureScenarioStructuredShortTitle/Choice/SSTMarketInformationProductCategoryGroup.

type ExposureScenarioWorkerUse

type ExposureScenarioWorkerUse struct {
	ContributingScenarioEnvironmentForWorkerUse []ContributingScenarioEnvironmentForWorkerUse
	ContributingScenarioWorker                  []ContributingScenarioWorker
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ExposureScenarioWorkerUse corresponds to the anonymous complex type of element ExposureScenario/WorkerUse.

type Extra

type Extra struct {
	Attrs []xml.Attr
	Nodes []RawNode
}

Extra holds content of an element that the generated types do not describe: attributes and child elements of a newer schema version or of a national extension this package does not generate, misplaced or surplus elements, and stray text. Decode fills it, Encode writes it back at the position it was read from, and Validate reports it.

func (*Extra) Empty

func (e *Extra) Empty() bool

Empty reports whether e holds nothing.

type FileName

type FileName string

Name of a separate physical file. For a proper data exchange, the file name should contain no path information or a relative path which applies during information exchange, e.g. within a ZIP file containing SDScom XML and related documents.

FileName corresponds to the XSD simple type FileName.

func (FileName) Valid

func (v FileName) Valid() bool

Valid reports whether v satisfies every constraint of FileName.

type FireFightingMeasures

type FireFightingMeasures struct {
	ExtinguishingMedia *FireFightingMeasuresExtinguishingMedia
	// Fire and explosion hazards: Elements of risk in case of a fire or explosion,
	// for instance a particular risk of exposure to the chemical or its
	// decomposition products.
	FireAndExplosionHazards []Phrase
	// Hazardous combustion products: Information on hazardous components that may
	// be formed during combustion of the chemical.
	HazardCombustionProd []Phrase
	// Precautionary measures in case of fire fighting: Measures and special
	// protective equipment for fire-fighters.
	FireFightingPrecautions []Phrase
	// Fire fighting procedures: Information on how to handle a fire in the
	// chemical.
	FireFightingProcedures                    []Phrase
	SpecialProtectiveEquipmentForFirefighters []Phrase
	AdditionalInfo                            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 5

FireFightingMeasures corresponds to the XSD complex type FireFightingMeasures.

type FireFightingMeasuresExtinguishingMedia

type FireFightingMeasuresExtinguishingMedia struct {
	// Suitable extinguishing media: Extinguishing media that can be used.
	MediaToBeUsed []Phrase
	// Unsuitable media: Media that must not be applied in case of a fire.
	MediaNotBeUsed []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

FireFightingMeasuresExtinguishingMedia corresponds to the anonymous complex type of element FireFightingMeasures/ExtinguishingMedia.

type FirstAidMeasures

type FirstAidMeasures struct {
	DescriptionOfFirstAidMeasures *FirstAidMeasuresDescriptionOfFirstAidMeasures
	// Information to physician:
	InformationToHealthProfessionals *FirstAidMeasuresInformationToHealthProfessionals
	// Medical attention and special treatment needed: Information if immediate
	// medical attention or special medical treatment is needed after exposure to
	// the chemical.
	MedicalAttentionAndSpecialTreatmentNeeded *FirstAidMeasuresMedicalAttentionAndSpecialTreatmentNeeded
	// Specific first aid equipment: Information about specific equipment that must
	// be available at the work place for instantaneous specific treatment in case
	// of an accident.
	SpecificFirstAidEquipment []Phrase
	// For instance information to first aid staff or medical information. Indicate
	// whether professional assistance by a doctor is needed or advisable.
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 4

FirstAidMeasures corresponds to the XSD complex type FirstAidMeasures.

type FirstAidMeasuresDescriptionOfFirstAidMeasures

type FirstAidMeasuresDescriptionOfFirstAidMeasures struct {
	// General first aid measures: Brief and easy to understand informationfor the
	// victim, bystanders and first-aiders. Information if immediate medical
	// attention is required, on what can be done on the spot in the case of an
	// accident, and whether delayed effects can be expected after exposure.
	GeneralInformation []Phrase
	// First aid inhalation: First aid measures to be taken after inhalation of the
	// chemical.
	FirstAidInhalation []Phrase
	// First aid skin: First aid measures to be taken after skin contact with the
	// chemical.
	FirstAidSkin []Phrase
	// First aid eyes: First aid measures to be taken if the chemical gets in
	// contact with the eyes.
	FirstAidEye []Phrase
	// First aid ingestion: First aid measures to be taken after ingestion of the
	// chemical.
	FirstAidIngestion []Phrase
	// Personal protection for first aider: Information on personal protective
	// equipment to be used by rescuers.
	PersonalProtectionFirstAider []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

FirstAidMeasuresDescriptionOfFirstAidMeasures corresponds to the anonymous complex type of element FirstAidMeasures/DescriptionOfFirstAidMeasures.

type FirstAidMeasuresInformationToHealthProfessionals

type FirstAidMeasuresInformationToHealthProfessionals struct {
	SymptomsAndEffectsGeneral []Phrase
	// Acute symptoms and effects: Information on
	AcuteSymptomsAndEffects []Phrase
	// Delayed symptoms and effects: Information on delayed symptoms
	DelayedSymptomsAndEffects []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Information to physician:

FirstAidMeasuresInformationToHealthProfessionals corresponds to the anonymous complex type of element FirstAidMeasures/InformationToHealthProfessionals.

type FirstAidMeasuresMedicalAttentionAndSpecialTreatmentNeeded

type FirstAidMeasuresMedicalAttentionAndSpecialTreatmentNeeded struct {
	// Medical treatment: Information on
	MedicalTreatment []Phrase
	// Required clinical testing: Information on the need of clinical testing.
	RequiredClinicalTesting []Phrase
	// Required medical monitoring: Information on
	RequiredMedicalMonitoring []Phrase
	// Specific antidotes: Information on
	SpecificAntidotes []Phrase
	// Contraindications: Information on
	Contraindications []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Medical attention and special treatment needed: Information if immediate medical attention or special medical treatment is needed after exposure to the chemical.

FirstAidMeasuresMedicalAttentionAndSpecialTreatmentNeeded corresponds to the anonymous complex type of element FirstAidMeasures/MedicalAttentionAndSpecialTreatmentNeeded.

type FlashPoint

type FlashPoint struct {
	Value          *PhysChemUnitValue
	Evaluation     []Phrase
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

FlashPoint source: Chapter 9

FlashPoint corresponds to the XSD complex type FlashPoint.

type Float

type Float string

Float is a value of xs:float in its lexical form.

func FloatOf

func FloatOf(f float64) Float

FloatOf returns the lexical form of f.

func (Float) Float64

func (f Float) Float64() (float64, error)

Float64 returns the value of f.

func (Float) Valid

func (f Float) Valid() bool

Valid reports whether f is a valid xs:float.

type FormEnum

type FormEnum string

Form as specified in Iuclid6 Picklist A101 v3.0: A101 - v3.0 – Mixture form 60037 aerosol dispenser: not specified 60038 aerosol dispenser: foam aerosol 60039 aerosol dispenser: spray aerosol 2830 gas 60040 gas: vapour 60041 gas under pressure: compressed gas 60042 gas under pressure: dissolved gas 60043 gas under pressure: liquefied gas 60044 gas under pressure: refrigerated liquefied gas 64931 cream / paste 5994 foam 6003 gel 2038 liquid 60048 liquid: viscous 60049 liquid: volatile 60045 liquid - liquid: emulsion 60047 liquid - solid: mixture of 60050 semi-solid (amorphous): gel 2381 solid 61424 solid: bulk 60051 solid: compact 60052 solid: crystalline 60053 solid: fibres 60054 solid: filaments 60055 solid: flakes 60056 solid: granular 60058 solid: particulate/powder 60057 solid: pellets 64932 solid: pressed powder 61861 solid: nanomaterial, surface-treated 61862 solid: nanomaterial, no surface treatment 60059 solid: nanomaterial 64933 solid: tabs / tablets 60062 solid - liquid: aqueous solution 60063 solid - liquid: suspension 60064 solid - solid: alloy 1342 other

FormEnum corresponds to the XSD simple type FormEnum.

const (
	FormEnum_aerosol_dispenser_not_specified               FormEnum = "aerosol dispenser: not specified"
	FormEnum_aerosol_dispenser_foam_aerosol                FormEnum = "aerosol dispenser: foam aerosol"
	FormEnum_aerosol_dispenser_spray_aerosol               FormEnum = "aerosol dispenser: spray aerosol"
	FormEnum_gas                                           FormEnum = "gas"
	FormEnum_gas_vapour                                    FormEnum = "gas: vapour"
	FormEnum_gas_under_pressure_compressed_gas             FormEnum = "gas under pressure: compressed gas"
	FormEnum_gas_under_pressure_dissolved_gas              FormEnum = "gas under pressure: dissolved gas"
	FormEnum_gas_under_pressure_liquefied_gas              FormEnum = "gas under pressure: liquefied gas"
	FormEnum_gas_under_pressure_refrigerated_liquefied_gas FormEnum = "gas under pressure: refrigerated liquefied gas"
	FormEnum_cream_paste                                   FormEnum = "cream / paste"
	FormEnum_foam                                          FormEnum = "foam"
	FormEnum_gel                                           FormEnum = "gel"
	FormEnum_liquid                                        FormEnum = "liquid"
	FormEnum_liquid_viscous                                FormEnum = "liquid: viscous"
	FormEnum_liquid_volatile                               FormEnum = "liquid: volatile"
	FormEnum_liquid_liquid_emulsion                        FormEnum = "liquid - liquid: emulsion"
	FormEnum_liquid_solid_mixture_of                       FormEnum = "liquid - solid: mixture of"
	FormEnum_semi_solid_amorphous_gel                      FormEnum = "semi-solid (amorphous): gel"
	FormEnum_solid                                         FormEnum = "solid"
	FormEnum_solid_bulk                                    FormEnum = "solid: bulk"
	FormEnum_solid_compact                                 FormEnum = "solid: compact"
	FormEnum_solid_crystalline                             FormEnum = "solid: crystalline"
	FormEnum_solid_fibres                                  FormEnum = "solid: fibres"
	FormEnum_solid_filaments                               FormEnum = "solid: filaments"
	FormEnum_solid_flakes                                  FormEnum = "solid: flakes"
	FormEnum_solid_granular                                FormEnum = "solid: granular"
	FormEnum_solid_particulate_powder                      FormEnum = "solid: particulate/powder"
	FormEnum_solid_pellets                                 FormEnum = "solid: pellets"
	FormEnum_solid_pressed_powder                          FormEnum = "solid: pressed powder"
	FormEnum_solid_nanomaterial_surface_treated            FormEnum = "solid: nanomaterial, surface-treated"
	FormEnum_solid_nanomaterial_no_surface_treatment       FormEnum = "solid: nanomaterial, no surface treatment"
	FormEnum_solid_nanomaterial                            FormEnum = "solid: nanomaterial"
	FormEnum_solid_tabs_tablets                            FormEnum = "solid: tabs / tablets"
	FormEnum_solid_liquid_aqueous_solution                 FormEnum = "solid - liquid: aqueous solution"
	FormEnum_solid_liquid_suspension                       FormEnum = "solid - liquid: suspension"
	FormEnum_solid_solid_alloy                             FormEnum = "solid - solid: alloy"
	FormEnum_other                                         FormEnum = "other"
)

func (FormEnum) Valid

func (v FormEnum) Valid() bool

Valid reports whether v satisfies every constraint of FormEnum.

type FormulationTypeEnum

type FormulationTypeEnum string

Formulation Type as represented in Iuclid6 picklist B04 v1.0: 58439 AE Aerosol dispenser 58440 AL Any other liquid 58441 AP Any other powder 58442 BR Briquette 58443 CB Bait concentrate 58444 CL Contact liquid or gel 58445 CP Contact powder 58446 CS Capsule suspension 58447 DC Dispersible concentrate 58448 DP Dustable powder 58449 DT Tablet for direct application 58450 EC Emulsifiable concentrate 58451 EG Emulsifiable granule 58452 EO Emulsion, water in oil 58453 EP Emulsifiable powder 58454 EW Emulsion, oil in water 58455 FU Smoke generator 58456 GA Gas 58457 GE Gas generating product 58458 GL Emulsifiable gel 58459 GR Granule 58460 GS Grease 58461 GW Water soluble gel 58462 HN Hot fogging concentrate 58463 KK Combi-pack solid/liquid 58464 KL Combi-pack liquid/liquid 58465 KN Cold fogging concentrate 58466 LN Long-lasting insecticidal net 58467 LV Liquid vaporizer 58468 MC Mosquito coil 58469 ME Micro-emulsion 58470 MV Vaporizing mats 58471 OD Oil dispersion 58472 OF Oil miscible flowable concentrate (oil miscible suspension) 58473 OL Oil miscible liquid 58474 OP Oil dispersible powder 58475 PA Paste 58476 PC Gel or paste concentrate 58477 PO Pour-on 58478 RB Bait (ready for use) 58479 SA Spot-on 58480 SC Suspension concentrate (= flowable concentrate) 58481 SD Suspension concentrate for direct application 58482 SE Suspo-emulsion 58483 SG Water soluble granule 58484 SL Soluble concentrate 58485 SO Spreading oil 58486 SP Water soluble powder 58487 ST Water soluble tablet 58488 SU Ultra-low volume (ULV) suspension 58489 TB Tablet 58490 TC Technical material 58491 TK Technical concentrate 58492 UL Ultra-low volume (ULV) liquid 58493 VP Vapour releasing product 58494 WG Water dispersible granules 58495 WP Wettable powder 58496 WT Water dispersible tablet 58497 ZC A mixed formulation of CS and SC 58498 ZE A mixed formulation of CS and SE 58499 ZW A mixed formulation of CS and EW 58500 XX Others:

FormulationTypeEnum corresponds to the XSD simple type FormulationTypeEnum.

const (
	FormulationTypeEnum_AE_Aerosol_dispenser                                         FormulationTypeEnum = "AE Aerosol dispenser"
	FormulationTypeEnum_AL_Any_other_liquid                                          FormulationTypeEnum = "AL Any other liquid"
	FormulationTypeEnum_AP_Any_other_powder                                          FormulationTypeEnum = "AP Any other powder"
	FormulationTypeEnum_BR_Briquette                                                 FormulationTypeEnum = "BR Briquette"
	FormulationTypeEnum_CB_Bait_concentrate                                          FormulationTypeEnum = "CB Bait concentrate"
	FormulationTypeEnum_CL_Contact_liquid_or_gel                                     FormulationTypeEnum = "CL Contact liquid or gel"
	FormulationTypeEnum_CP_Contact_powder                                            FormulationTypeEnum = "CP Contact powder"
	FormulationTypeEnum_CS_Capsule_suspension                                        FormulationTypeEnum = "CS Capsule suspension"
	FormulationTypeEnum_DC_Dispersible_concentrate                                   FormulationTypeEnum = "DC Dispersible concentrate"
	FormulationTypeEnum_DP_Dustable_powder                                           FormulationTypeEnum = "DP Dustable powder"
	FormulationTypeEnum_DT_Tablet_for_direct_application                             FormulationTypeEnum = "DT Tablet for direct application"
	FormulationTypeEnum_EC_Emulsifiable_concentrate                                  FormulationTypeEnum = "EC Emulsifiable concentrate"
	FormulationTypeEnum_EG_Emulsifiable_granule                                      FormulationTypeEnum = "EG Emulsifiable granule"
	FormulationTypeEnum_EO_Emulsion_water_in_oil                                     FormulationTypeEnum = "EO Emulsion, water in oil"
	FormulationTypeEnum_EP_Emulsifiable_powder                                       FormulationTypeEnum = "EP Emulsifiable powder"
	FormulationTypeEnum_EW_Emulsion_oil_in_water                                     FormulationTypeEnum = "EW Emulsion, oil in water"
	FormulationTypeEnum_FU_Smoke_generator                                           FormulationTypeEnum = "FU Smoke generator"
	FormulationTypeEnum_GA_Gas                                                       FormulationTypeEnum = "GA Gas"
	FormulationTypeEnum_GE_Gas_generating_product                                    FormulationTypeEnum = "GE Gas generating product"
	FormulationTypeEnum_GL_Emulsifiable_gel                                          FormulationTypeEnum = "GL Emulsifiable gel"
	FormulationTypeEnum_GR_Granule                                                   FormulationTypeEnum = "GR Granule"
	FormulationTypeEnum_GS_Grease                                                    FormulationTypeEnum = "GS Grease"
	FormulationTypeEnum_GW_Water_soluble_gel                                         FormulationTypeEnum = "GW Water soluble gel"
	FormulationTypeEnum_HN_Hot_fogging_concentrate                                   FormulationTypeEnum = "HN Hot fogging concentrate"
	FormulationTypeEnum_KK_Combi_pack_solid_liquid                                   FormulationTypeEnum = "KK Combi-pack solid/liquid"
	FormulationTypeEnum_KL_Combi_pack_liquid_liquid                                  FormulationTypeEnum = "KL Combi-pack liquid/liquid"
	FormulationTypeEnum_KN_Cold_fogging_concentrate                                  FormulationTypeEnum = "KN Cold fogging concentrate"
	FormulationTypeEnum_LN_Long_lasting_insecticidal_net                             FormulationTypeEnum = "LN Long-lasting insecticidal net"
	FormulationTypeEnum_LV_Liquid_vaporizer                                          FormulationTypeEnum = "LV Liquid vaporizer"
	FormulationTypeEnum_MC_Mosquito_coil                                             FormulationTypeEnum = "MC Mosquito coil"
	FormulationTypeEnum_ME_Micro_emulsion                                            FormulationTypeEnum = "ME Micro-emulsion"
	FormulationTypeEnum_MV_Vaporizing_mats                                           FormulationTypeEnum = "MV Vaporizing mats"
	FormulationTypeEnum_OD_Oil_dispersion                                            FormulationTypeEnum = "OD Oil dispersion"
	FormulationTypeEnum_OF_Oil_miscible_flowable_concentrate_oil_miscible_suspension FormulationTypeEnum = "OF Oil miscible flowable concentrate (oil miscible suspension)"
	FormulationTypeEnum_OL_Oil_miscible_liquid                                       FormulationTypeEnum = "OL Oil miscible liquid"
	FormulationTypeEnum_OP_Oil_dispersible_powder                                    FormulationTypeEnum = "OP Oil dispersible powder"
	FormulationTypeEnum_PA_Paste                                                     FormulationTypeEnum = "PA Paste"
	FormulationTypeEnum_PC_Gel_or_paste_concentrate                                  FormulationTypeEnum = "PC Gel or paste concentrate"
	FormulationTypeEnum_PO_Pour_on                                                   FormulationTypeEnum = "PO Pour-on"
	FormulationTypeEnum_RB_Bait_ready_for_use                                        FormulationTypeEnum = "RB Bait (ready for use)"
	FormulationTypeEnum_SA_Spot_on                                                   FormulationTypeEnum = "SA Spot-on"
	FormulationTypeEnum_SC_Suspension_concentrate_eq_flowable_concentrate            FormulationTypeEnum = "SC Suspension concentrate (= flowable concentrate)"
	FormulationTypeEnum_SD_Suspension_concentrate_for_direct_application             FormulationTypeEnum = "SD Suspension concentrate for direct application"
	FormulationTypeEnum_SE_Suspo_emulsion                                            FormulationTypeEnum = "SE Suspo-emulsion"
	FormulationTypeEnum_SG_Water_soluble_granule                                     FormulationTypeEnum = "SG Water soluble granule"
	FormulationTypeEnum_SL_Soluble_concentrate                                       FormulationTypeEnum = "SL Soluble concentrate"
	FormulationTypeEnum_SO_Spreading_oil                                             FormulationTypeEnum = "SO Spreading oil"
	FormulationTypeEnum_SP_Water_soluble_powder                                      FormulationTypeEnum = "SP Water soluble powder"
	FormulationTypeEnum_ST_Water_soluble_tablet                                      FormulationTypeEnum = "ST Water soluble tablet"
	FormulationTypeEnum_SU_Ultra_low_volume_ULV_suspension                           FormulationTypeEnum = "SU Ultra-low volume (ULV) suspension"
	FormulationTypeEnum_TB_Tablet                                                    FormulationTypeEnum = "TB Tablet"
	FormulationTypeEnum_TC_Technical_material                                        FormulationTypeEnum = "TC Technical material"
	FormulationTypeEnum_TK_Technical_concentrate                                     FormulationTypeEnum = "TK Technical concentrate"
	FormulationTypeEnum_UL_Ultra_low_volume_ULV_liquid                               FormulationTypeEnum = "UL Ultra-low volume (ULV) liquid"
	FormulationTypeEnum_VP_Vapour_releasing_product                                  FormulationTypeEnum = "VP Vapour releasing product"
	FormulationTypeEnum_WG_Water_dispersible_granules                                FormulationTypeEnum = "WG Water dispersible granules"
	FormulationTypeEnum_WP_Wettable_powder                                           FormulationTypeEnum = "WP Wettable powder"
	FormulationTypeEnum_WT_Water_dispersible_tablet                                  FormulationTypeEnum = "WT Water dispersible tablet"
	FormulationTypeEnum_ZC_A_mixed_formulation_of_CS_and_SC                          FormulationTypeEnum = "ZC A mixed formulation of CS and SC"
	FormulationTypeEnum_ZE_A_mixed_formulation_of_CS_and_SE                          FormulationTypeEnum = "ZE A mixed formulation of CS and SE"
	FormulationTypeEnum_ZW_A_mixed_formulation_of_CS_and_EW                          FormulationTypeEnum = "ZW A mixed formulation of CS and EW"
	FormulationTypeEnum_XX_Other                                                     FormulationTypeEnum = "XX Other"
)

func (FormulationTypeEnum) Valid

func (v FormulationTypeEnum) Valid() bool

Valid reports whether v satisfies every constraint of FormulationTypeEnum.

type FrequencyDurationEnvironment

type FrequencyDurationEnvironment struct {
	// Specifies the exposure of the type of release to the environmental
	// compartment, i.e. whether the releases are "continuous" or "intermittent".
	ExposureType *EsdscomPhrase
	// Specifies the number of days in a year during which the emission occurs.
	EmissionDaysPerYear *NumericValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes the duration and the frequency of a process or an activity during which a substance is released to the environment.

FrequencyDurationEnvironment corresponds to the XSD complex type FrequencyDurationEnvironment.

type FrequencyDurationHH

type FrequencyDurationHH struct {
	// Describes the duration of the activity/exposure. Expected value: Phrase or
	// numeric value or both
	Duration *UseCondQuantitativeWithUnitAndQual
	// Describes the frequency of the activity/exposure. Expected value: Phrase or
	// numeric value or both
	Frequency *UseCondQuantitativeWithUnitAndQual
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes the duration and the frequency of a process, or an activity during which a substance is released to the worker or consumer.

FrequencyDurationHH corresponds to the XSD complex type FrequencyDurationHH.

type FurtherEcologicalData

type FurtherEcologicalData struct {
	Value         *PhysChemUnitValueWithTemperature
	Concentration *NumericRangeWithUnitAndQualifier
	TestDuration  *NumericRangeWithUnitAndQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

FurtherEcologicalData, source: Chapter 12

FurtherEcologicalData corresponds to the XSD complex type FurtherEcologicalData.

type GasGroup

type GasGroup struct {
	Method         *Phrase
	Source         *Phrase
	TestResults    []Phrase
	Evaluation     *GasGroupEnum
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

GasGroup. Source: Chapter 9.

GasGroup corresponds to the XSD complex type GasGroup.

type GasGroupEnum

type GasGroupEnum string

Legal values for the GasGroupEnum. Source: Chapter 9.

GasGroupEnum corresponds to the XSD simple type GasGroupEnum.

const (
	GasGroupEnum_IIA GasGroupEnum = "IIA"
	GasGroupEnum_IIB GasGroupEnum = "IIB"
	GasGroupEnum_IIC GasGroupEnum = "IIC"
)

func (GasGroupEnum) Valid

func (v GasGroupEnum) Valid() bool

Valid reports whether v satisfies every constraint of GasGroupEnum.

type Ghs00ClassAcuteToxDermal

type Ghs00ClassAcuteToxDermal string

Acute Toxicity by dermal contact categories according to the original UN GHS (2003).

Ghs00ClassAcuteToxDermal corresponds to the XSD simple type Ghs00ClassAcuteToxDermal.

const (
	Ghs00ClassAcuteToxDermal_Acute_Tox_1_dermal Ghs00ClassAcuteToxDermal = "Acute Tox. 1 (dermal)"
	Ghs00ClassAcuteToxDermal_Acute_Tox_2_dermal Ghs00ClassAcuteToxDermal = "Acute Tox. 2 (dermal)"
	Ghs00ClassAcuteToxDermal_Acute_Tox_3_dermal Ghs00ClassAcuteToxDermal = "Acute Tox. 3 (dermal)"
	Ghs00ClassAcuteToxDermal_Acute_Tox_4_dermal Ghs00ClassAcuteToxDermal = "Acute Tox. 4 (dermal)"
	Ghs00ClassAcuteToxDermal_Acute_Tox_5_dermal Ghs00ClassAcuteToxDermal = "Acute Tox. 5 (dermal)"
)

func (Ghs00ClassAcuteToxDermal) Valid

func (v Ghs00ClassAcuteToxDermal) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassAcuteToxDermal.

type Ghs00ClassAcuteToxDermal_no5

type Ghs00ClassAcuteToxDermal_no5 string

Acute Toxicity by dermal contact categories according to the original UN GHS (2003), without category 5.

Ghs00ClassAcuteToxDermal_no5 corresponds to the XSD simple type Ghs00ClassAcuteToxDermal_no5.

const (
	Ghs00ClassAcuteToxDermal_no5_Acute_Tox_1_dermal Ghs00ClassAcuteToxDermal_no5 = "Acute Tox. 1 (dermal)"
	Ghs00ClassAcuteToxDermal_no5_Acute_Tox_2_dermal Ghs00ClassAcuteToxDermal_no5 = "Acute Tox. 2 (dermal)"
	Ghs00ClassAcuteToxDermal_no5_Acute_Tox_3_dermal Ghs00ClassAcuteToxDermal_no5 = "Acute Tox. 3 (dermal)"
	Ghs00ClassAcuteToxDermal_no5_Acute_Tox_4_dermal Ghs00ClassAcuteToxDermal_no5 = "Acute Tox. 4 (dermal)"
)

func (Ghs00ClassAcuteToxDermal_no5) Valid

Valid reports whether v satisfies every constraint of Ghs00ClassAcuteToxDermal_no5.

type Ghs00ClassAcuteToxInhal

type Ghs00ClassAcuteToxInhal string

Acute Toxicity by inhalation categories according to the original UN GHS (2003).

Ghs00ClassAcuteToxInhal corresponds to the XSD simple type Ghs00ClassAcuteToxInhal.

const (
	Ghs00ClassAcuteToxInhal_Acute_Tox_1_inhalation Ghs00ClassAcuteToxInhal = "Acute Tox. 1 (inhalation)"
	Ghs00ClassAcuteToxInhal_Acute_Tox_2_inhalation Ghs00ClassAcuteToxInhal = "Acute Tox. 2 (inhalation)"
	Ghs00ClassAcuteToxInhal_Acute_Tox_3_inhalation Ghs00ClassAcuteToxInhal = "Acute Tox. 3 (inhalation)"
	Ghs00ClassAcuteToxInhal_Acute_Tox_4_inhalation Ghs00ClassAcuteToxInhal = "Acute Tox. 4 (inhalation)"
	Ghs00ClassAcuteToxInhal_Acute_Tox_5_inhalation Ghs00ClassAcuteToxInhal = "Acute Tox. 5 (inhalation)"
)

func (Ghs00ClassAcuteToxInhal) Valid

func (v Ghs00ClassAcuteToxInhal) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassAcuteToxInhal.

type Ghs00ClassAcuteToxInhal_no5

type Ghs00ClassAcuteToxInhal_no5 string

Acute Toxicity by inhalation categories according to the original UN GHS (2003), without category 5.

Ghs00ClassAcuteToxInhal_no5 corresponds to the XSD simple type Ghs00ClassAcuteToxInhal_no5.

const (
	Ghs00ClassAcuteToxInhal_no5_Acute_Tox_1_inhalation Ghs00ClassAcuteToxInhal_no5 = "Acute Tox. 1 (inhalation)"
	Ghs00ClassAcuteToxInhal_no5_Acute_Tox_2_inhalation Ghs00ClassAcuteToxInhal_no5 = "Acute Tox. 2 (inhalation)"
	Ghs00ClassAcuteToxInhal_no5_Acute_Tox_3_inhalation Ghs00ClassAcuteToxInhal_no5 = "Acute Tox. 3 (inhalation)"
	Ghs00ClassAcuteToxInhal_no5_Acute_Tox_4_inhalation Ghs00ClassAcuteToxInhal_no5 = "Acute Tox. 4 (inhalation)"
)

func (Ghs00ClassAcuteToxInhal_no5) Valid

Valid reports whether v satisfies every constraint of Ghs00ClassAcuteToxInhal_no5.

type Ghs00ClassAcuteToxOral

type Ghs00ClassAcuteToxOral string

Acute Toxicity by oral intake categories according to the original UN GHS (2003).

Ghs00ClassAcuteToxOral corresponds to the XSD simple type Ghs00ClassAcuteToxOral.

const (
	Ghs00ClassAcuteToxOral_Acute_Tox_1_oral Ghs00ClassAcuteToxOral = "Acute Tox. 1 (oral)"
	Ghs00ClassAcuteToxOral_Acute_Tox_2_oral Ghs00ClassAcuteToxOral = "Acute Tox. 2 (oral)"
	Ghs00ClassAcuteToxOral_Acute_Tox_3_oral Ghs00ClassAcuteToxOral = "Acute Tox. 3 (oral)"
	Ghs00ClassAcuteToxOral_Acute_Tox_4_oral Ghs00ClassAcuteToxOral = "Acute Tox. 4 (oral)"
	Ghs00ClassAcuteToxOral_Acute_Tox_5_oral Ghs00ClassAcuteToxOral = "Acute Tox. 5 (oral)"
)

func (Ghs00ClassAcuteToxOral) Valid

func (v Ghs00ClassAcuteToxOral) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassAcuteToxOral.

type Ghs00ClassAcuteToxOral_no5

type Ghs00ClassAcuteToxOral_no5 string

Acute Toxicity by oral intake categories according to the original UN GHS (2003), without category 5.

Ghs00ClassAcuteToxOral_no5 corresponds to the XSD simple type Ghs00ClassAcuteToxOral_no5.

const (
	Ghs00ClassAcuteToxOral_no5_Acute_Tox_1_oral Ghs00ClassAcuteToxOral_no5 = "Acute Tox. 1 (oral)"
	Ghs00ClassAcuteToxOral_no5_Acute_Tox_2_oral Ghs00ClassAcuteToxOral_no5 = "Acute Tox. 2 (oral)"
	Ghs00ClassAcuteToxOral_no5_Acute_Tox_3_oral Ghs00ClassAcuteToxOral_no5 = "Acute Tox. 3 (oral)"
	Ghs00ClassAcuteToxOral_no5_Acute_Tox_4_oral Ghs00ClassAcuteToxOral_no5 = "Acute Tox. 4 (oral)"
)

func (Ghs00ClassAcuteToxOral_no5) Valid

func (v Ghs00ClassAcuteToxOral_no5) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassAcuteToxOral_no5.

type Ghs00ClassCarc

type Ghs00ClassCarc string

Carcinogenicity categories according to the original UN GHS (2003).

Ghs00ClassCarc corresponds to the XSD simple type Ghs00ClassCarc.

const (
	Ghs00ClassCarc_Carc_1  Ghs00ClassCarc = "Carc. 1"
	Ghs00ClassCarc_Carc_1A Ghs00ClassCarc = "Carc. 1A"
	Ghs00ClassCarc_Carc_1B Ghs00ClassCarc = "Carc. 1B"
	Ghs00ClassCarc_Carc_2  Ghs00ClassCarc = "Carc. 2"
)

func (Ghs00ClassCarc) Valid

func (v Ghs00ClassCarc) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassCarc.

type Ghs00ClassEyeDam

type Ghs00ClassEyeDam string

Eye Damage/Irritation categories according to the original UN GHS (2003).

Ghs00ClassEyeDam corresponds to the XSD simple type Ghs00ClassEyeDam.

const (
	Ghs00ClassEyeDam_Eye_Dam_1    Ghs00ClassEyeDam = "Eye Dam. 1"
	Ghs00ClassEyeDam_Eye_Irrit_2  Ghs00ClassEyeDam = "Eye Irrit. 2"
	Ghs00ClassEyeDam_Eye_Irrit_2A Ghs00ClassEyeDam = "Eye Irrit. 2A"
	Ghs00ClassEyeDam_Eye_Irrit_2B Ghs00ClassEyeDam = "Eye Irrit. 2B"
)

func (Ghs00ClassEyeDam) Valid

func (v Ghs00ClassEyeDam) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassEyeDam.

type Ghs00ClassFlamLiq

type Ghs00ClassFlamLiq string

Flammable Liquids categories according to the original UN GHS (2003).

Ghs00ClassFlamLiq corresponds to the XSD simple type Ghs00ClassFlamLiq.

const (
	Ghs00ClassFlamLiq_Flam_Liq_1 Ghs00ClassFlamLiq = "Flam. Liq. 1"
	Ghs00ClassFlamLiq_Flam_Liq_2 Ghs00ClassFlamLiq = "Flam. Liq. 2"
	Ghs00ClassFlamLiq_Flam_Liq_3 Ghs00ClassFlamLiq = "Flam. Liq. 3"
	Ghs00ClassFlamLiq_Flam_Liq_4 Ghs00ClassFlamLiq = "Flam. Liq. 4"
)

func (Ghs00ClassFlamLiq) Valid

func (v Ghs00ClassFlamLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassFlamLiq.

type Ghs00ClassFlamLiq_no4

type Ghs00ClassFlamLiq_no4 string

Flammable Liquids categories according to the original UN GHS (2003), without category 4.

Ghs00ClassFlamLiq_no4 corresponds to the XSD simple type Ghs00ClassFlamLiq_no4.

const (
	Ghs00ClassFlamLiq_no4_Flam_Liq_1 Ghs00ClassFlamLiq_no4 = "Flam. Liq. 1"
	Ghs00ClassFlamLiq_no4_Flam_Liq_2 Ghs00ClassFlamLiq_no4 = "Flam. Liq. 2"
	Ghs00ClassFlamLiq_no4_Flam_Liq_3 Ghs00ClassFlamLiq_no4 = "Flam. Liq. 3"
)

func (Ghs00ClassFlamLiq_no4) Valid

func (v Ghs00ClassFlamLiq_no4) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassFlamLiq_no4.

type Ghs00ClassFlamSol

type Ghs00ClassFlamSol string

Flammable Solids categories according to the original UN GHS (2003).

Ghs00ClassFlamSol corresponds to the XSD simple type Ghs00ClassFlamSol.

const (
	Ghs00ClassFlamSol_Flam_Sol_1 Ghs00ClassFlamSol = "Flam. Sol. 1"
	Ghs00ClassFlamSol_Flam_Sol_2 Ghs00ClassFlamSol = "Flam. Sol. 2"
)

func (Ghs00ClassFlamSol) Valid

func (v Ghs00ClassFlamSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassFlamSol.

type Ghs00ClassLact

type Ghs00ClassLact string

Lactatioon effects category (offically a subcategory of Repr) according to the original UN GHS (2003).

Ghs00ClassLact corresponds to the XSD simple type Ghs00ClassLact.

const (
	Ghs00ClassLact_Lact Ghs00ClassLact = "Lact."
)

func (Ghs00ClassLact) Valid

func (v Ghs00ClassLact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassLact.

type Ghs00ClassMetCorr

type Ghs00ClassMetCorr string

Metal Corrosion categories according to the original UN GHS (2003).

Ghs00ClassMetCorr corresponds to the XSD simple type Ghs00ClassMetCorr.

const (
	Ghs00ClassMetCorr_Met_Corr_1 Ghs00ClassMetCorr = "Met. Corr. 1"
)

func (Ghs00ClassMetCorr) Valid

func (v Ghs00ClassMetCorr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassMetCorr.

type Ghs00ClassMuta

type Ghs00ClassMuta string

Mutagenicity categories according to the original UN GHS (2003).

Ghs00ClassMuta corresponds to the XSD simple type Ghs00ClassMuta.

const (
	Ghs00ClassMuta_Muta_1  Ghs00ClassMuta = "Muta. 1"
	Ghs00ClassMuta_Muta_1A Ghs00ClassMuta = "Muta. 1A"
	Ghs00ClassMuta_Muta_1B Ghs00ClassMuta = "Muta. 1B"
	Ghs00ClassMuta_Muta_2  Ghs00ClassMuta = "Muta. 2"
)

func (Ghs00ClassMuta) Valid

func (v Ghs00ClassMuta) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassMuta.

type Ghs00ClassOrgPerox

type Ghs00ClassOrgPerox string

Organic Peroxides categories according to the original UN GHS (2003).

Ghs00ClassOrgPerox corresponds to the XSD simple type Ghs00ClassOrgPerox.

const (
	Ghs00ClassOrgPerox_Org_Perox_A  Ghs00ClassOrgPerox = "Org. Perox. A"
	Ghs00ClassOrgPerox_Org_Perox_B  Ghs00ClassOrgPerox = "Org. Perox. B"
	Ghs00ClassOrgPerox_Org_Perox_C  Ghs00ClassOrgPerox = "Org. Perox. C"
	Ghs00ClassOrgPerox_Org_Perox_CD Ghs00ClassOrgPerox = "Org. Perox. CD"
	Ghs00ClassOrgPerox_Org_Perox_D  Ghs00ClassOrgPerox = "Org. Perox. D"
	Ghs00ClassOrgPerox_Org_Perox_E  Ghs00ClassOrgPerox = "Org. Perox. E"
	Ghs00ClassOrgPerox_Org_Perox_EF Ghs00ClassOrgPerox = "Org. Perox. EF"
	Ghs00ClassOrgPerox_Org_Perox_F  Ghs00ClassOrgPerox = "Org. Perox. F"
	Ghs00ClassOrgPerox_Org_Perox_G  Ghs00ClassOrgPerox = "Org. Perox. G"
)

func (Ghs00ClassOrgPerox) Valid

func (v Ghs00ClassOrgPerox) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassOrgPerox.

type Ghs00ClassOxGas

type Ghs00ClassOxGas string

Oxidizing Gas categories according to the original UN GHS (2003).

Ghs00ClassOxGas corresponds to the XSD simple type Ghs00ClassOxGas.

const (
	Ghs00ClassOxGas_Ox_Gas_1 Ghs00ClassOxGas = "Ox. Gas 1"
)

func (Ghs00ClassOxGas) Valid

func (v Ghs00ClassOxGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassOxGas.

type Ghs00ClassOxLiq

type Ghs00ClassOxLiq string

Oxidizing Liquids categories according to the original UN GHS (2003).

Ghs00ClassOxLiq corresponds to the XSD simple type Ghs00ClassOxLiq.

const (
	Ghs00ClassOxLiq_Ox_Liq_1 Ghs00ClassOxLiq = "Ox. Liq. 1"
	Ghs00ClassOxLiq_Ox_Liq_2 Ghs00ClassOxLiq = "Ox. Liq. 2"
	Ghs00ClassOxLiq_Ox_Liq_3 Ghs00ClassOxLiq = "Ox. Liq. 3"
)

func (Ghs00ClassOxLiq) Valid

func (v Ghs00ClassOxLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassOxLiq.

type Ghs00ClassOxSol

type Ghs00ClassOxSol string

Oxidizing Solids categories according to the original UN GHS (2003).

Ghs00ClassOxSol corresponds to the XSD simple type Ghs00ClassOxSol.

const (
	Ghs00ClassOxSol_Ox_Sol_1 Ghs00ClassOxSol = "Ox. Sol. 1"
	Ghs00ClassOxSol_Ox_Sol_2 Ghs00ClassOxSol = "Ox. Sol. 2"
	Ghs00ClassOxSol_Ox_Sol_3 Ghs00ClassOxSol = "Ox. Sol. 3"
)

func (Ghs00ClassOxSol) Valid

func (v Ghs00ClassOxSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassOxSol.

type Ghs00ClassPressGas

type Ghs00ClassPressGas string

Gases Under Pressure categories according to the original UN GHS (2003).

Ghs00ClassPressGas corresponds to the XSD simple type Ghs00ClassPressGas.

const (
	Ghs00ClassPressGas_Press_Gas         Ghs00ClassPressGas = "Press. Gas"
	Ghs00ClassPressGas_Press_Gas_Comp    Ghs00ClassPressGas = "Press. Gas (Comp.)"
	Ghs00ClassPressGas_Press_Gas_Liq     Ghs00ClassPressGas = "Press. Gas (Liq.)"
	Ghs00ClassPressGas_Press_Gas_Ref_Liq Ghs00ClassPressGas = "Press. Gas (Ref. Liq.)"
	Ghs00ClassPressGas_Press_Gas_Diss    Ghs00ClassPressGas = "Press. Gas (Diss.)"
)

func (Ghs00ClassPressGas) Valid

func (v Ghs00ClassPressGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassPressGas.

type Ghs00ClassPyrLiq

type Ghs00ClassPyrLiq string

Pyrophoric Liquids categories according to the original UN GHS (2003).

Ghs00ClassPyrLiq corresponds to the XSD simple type Ghs00ClassPyrLiq.

const (
	Ghs00ClassPyrLiq_Pyr_Liq_1 Ghs00ClassPyrLiq = "Pyr. Liq. 1"
)

func (Ghs00ClassPyrLiq) Valid

func (v Ghs00ClassPyrLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassPyrLiq.

type Ghs00ClassPyrSol

type Ghs00ClassPyrSol string

Pyrophoric Solids categories according to the original UN GHS (2003).

Ghs00ClassPyrSol corresponds to the XSD simple type Ghs00ClassPyrSol.

const (
	Ghs00ClassPyrSol_Pyr_Sol_1 Ghs00ClassPyrSol = "Pyr. Sol. 1"
)

func (Ghs00ClassPyrSol) Valid

func (v Ghs00ClassPyrSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassPyrSol.

type Ghs00ClassRepr

type Ghs00ClassRepr string

Flammable Solids categories according to the original UN GHS (2003).

Ghs00ClassRepr corresponds to the XSD simple type Ghs00ClassRepr.

const (
	Ghs00ClassRepr_Repr_1  Ghs00ClassRepr = "Repr. 1"
	Ghs00ClassRepr_Repr_1A Ghs00ClassRepr = "Repr. 1A"
	Ghs00ClassRepr_Repr_1B Ghs00ClassRepr = "Repr. 1B"
	Ghs00ClassRepr_Repr_2  Ghs00ClassRepr = "Repr. 2"
)

func (Ghs00ClassRepr) Valid

func (v Ghs00ClassRepr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassRepr.

type Ghs00ClassSelfHeat

type Ghs00ClassSelfHeat string

Self-heating categories according to the original UN GHS (2003).

Ghs00ClassSelfHeat corresponds to the XSD simple type Ghs00ClassSelfHeat.

const (
	Ghs00ClassSelfHeat_Self_heat_1 Ghs00ClassSelfHeat = "Self-heat. 1"
	Ghs00ClassSelfHeat_Self_heat_2 Ghs00ClassSelfHeat = "Self-heat. 2"
)

func (Ghs00ClassSelfHeat) Valid

func (v Ghs00ClassSelfHeat) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassSelfHeat.

type Ghs00ClassSelfReact

type Ghs00ClassSelfReact string

Self-reactive categories according to the original UN GHS (2003).

Ghs00ClassSelfReact corresponds to the XSD simple type Ghs00ClassSelfReact.

const (
	Ghs00ClassSelfReact_Self_react_A  Ghs00ClassSelfReact = "Self-react. A"
	Ghs00ClassSelfReact_Self_react_B  Ghs00ClassSelfReact = "Self-react. B"
	Ghs00ClassSelfReact_Self_react_C  Ghs00ClassSelfReact = "Self-react. C"
	Ghs00ClassSelfReact_Self_react_CD Ghs00ClassSelfReact = "Self-react. CD"
	Ghs00ClassSelfReact_Self_react_D  Ghs00ClassSelfReact = "Self-react. D"
	Ghs00ClassSelfReact_Self_react_E  Ghs00ClassSelfReact = "Self-react. E"
	Ghs00ClassSelfReact_Self_react_EF Ghs00ClassSelfReact = "Self-react. EF"
	Ghs00ClassSelfReact_Self_react_F  Ghs00ClassSelfReact = "Self-react. F"
	Ghs00ClassSelfReact_Self_react_G  Ghs00ClassSelfReact = "Self-react. G"
)

func (Ghs00ClassSelfReact) Valid

func (v Ghs00ClassSelfReact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassSelfReact.

type Ghs00ClassSkinCorr

type Ghs00ClassSkinCorr string

Skin Corrosion/Irritiation categories according to the original UN GHS (2003).

Ghs00ClassSkinCorr corresponds to the XSD simple type Ghs00ClassSkinCorr.

const (
	Ghs00ClassSkinCorr_Skin_Corr_1  Ghs00ClassSkinCorr = "Skin Corr. 1"
	Ghs00ClassSkinCorr_Skin_Corr_1A Ghs00ClassSkinCorr = "Skin Corr. 1A"
	Ghs00ClassSkinCorr_Skin_Corr_1B Ghs00ClassSkinCorr = "Skin Corr. 1B"
	Ghs00ClassSkinCorr_Skin_Corr_1C Ghs00ClassSkinCorr = "Skin Corr. 1C"
	Ghs00ClassSkinCorr_Skin_Irrit_2 Ghs00ClassSkinCorr = "Skin Irrit. 2"
	Ghs00ClassSkinCorr_Skin_Irrit_3 Ghs00ClassSkinCorr = "Skin Irrit. 3"
)

func (Ghs00ClassSkinCorr) Valid

func (v Ghs00ClassSkinCorr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassSkinCorr.

type Ghs00ClassSkinCorr_no3

type Ghs00ClassSkinCorr_no3 string

Skin Corrosion/Irritiation categories according to the original UN GHS (2003), without category 3.

Ghs00ClassSkinCorr_no3 corresponds to the XSD simple type Ghs00ClassSkinCorr_no3.

const (
	Ghs00ClassSkinCorr_no3_Skin_Corr_1  Ghs00ClassSkinCorr_no3 = "Skin Corr. 1"
	Ghs00ClassSkinCorr_no3_Skin_Corr_1A Ghs00ClassSkinCorr_no3 = "Skin Corr. 1A"
	Ghs00ClassSkinCorr_no3_Skin_Corr_1B Ghs00ClassSkinCorr_no3 = "Skin Corr. 1B"
	Ghs00ClassSkinCorr_no3_Skin_Corr_1C Ghs00ClassSkinCorr_no3 = "Skin Corr. 1C"
	Ghs00ClassSkinCorr_no3_Skin_Irrit_2 Ghs00ClassSkinCorr_no3 = "Skin Irrit. 2"
)

func (Ghs00ClassSkinCorr_no3) Valid

func (v Ghs00ClassSkinCorr_no3) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassSkinCorr_no3.

type Ghs00ClassStotRe

type Ghs00ClassStotRe string

STOT repreated exposure categories according to the original UN GHS (2003).

Ghs00ClassStotRe corresponds to the XSD simple type Ghs00ClassStotRe.

const (
	Ghs00ClassStotRe_STOT_RE_1 Ghs00ClassStotRe = "STOT RE 1"
	Ghs00ClassStotRe_STOT_RE_2 Ghs00ClassStotRe = "STOT RE 2"
)

func (Ghs00ClassStotRe) Valid

func (v Ghs00ClassStotRe) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassStotRe.

type Ghs00ClassStotSe

type Ghs00ClassStotSe string

STOT single exposure categories according to the original UN GHS (2003).

Ghs00ClassStotSe corresponds to the XSD simple type Ghs00ClassStotSe.

const (
	Ghs00ClassStotSe_STOT_SE_1 Ghs00ClassStotSe = "STOT SE 1"
	Ghs00ClassStotSe_STOT_SE_2 Ghs00ClassStotSe = "STOT SE 2"
)

func (Ghs00ClassStotSe) Valid

func (v Ghs00ClassStotSe) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassStotSe.

type Ghs00ClassWaterReact

type Ghs00ClassWaterReact string

Water-reactive categories according to the original UN GHS (2003).

Ghs00ClassWaterReact corresponds to the XSD simple type Ghs00ClassWaterReact.

const (
	Ghs00ClassWaterReact_Water_react_1 Ghs00ClassWaterReact = "Water-react. 1"
	Ghs00ClassWaterReact_Water_react_2 Ghs00ClassWaterReact = "Water-react. 2"
	Ghs00ClassWaterReact_Water_react_3 Ghs00ClassWaterReact = "Water-react. 3"
)

func (Ghs00ClassWaterReact) Valid

func (v Ghs00ClassWaterReact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00ClassWaterReact.

type Ghs00HazardAcuteToxDermal

type Ghs00HazardAcuteToxDermal string

Ghs00HazardAcuteToxDermal corresponds to the XSD simple type Ghs00HazardAcuteToxDermal.

const (
	Ghs00HazardAcuteToxDermal_310 Ghs00HazardAcuteToxDermal = "310"
	Ghs00HazardAcuteToxDermal_311 Ghs00HazardAcuteToxDermal = "311"
	Ghs00HazardAcuteToxDermal_312 Ghs00HazardAcuteToxDermal = "312"
)

func (Ghs00HazardAcuteToxDermal) Valid

func (v Ghs00HazardAcuteToxDermal) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardAcuteToxDermal.

type Ghs00HazardAcuteToxInhal

type Ghs00HazardAcuteToxInhal string

Ghs00HazardAcuteToxInhal corresponds to the XSD simple type Ghs00HazardAcuteToxInhal.

const (
	Ghs00HazardAcuteToxInhal_330 Ghs00HazardAcuteToxInhal = "330"
	Ghs00HazardAcuteToxInhal_331 Ghs00HazardAcuteToxInhal = "331"
	Ghs00HazardAcuteToxInhal_332 Ghs00HazardAcuteToxInhal = "332"
)

func (Ghs00HazardAcuteToxInhal) Valid

func (v Ghs00HazardAcuteToxInhal) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardAcuteToxInhal.

type Ghs00HazardAcuteToxOral

type Ghs00HazardAcuteToxOral string

Ghs00HazardAcuteToxOral corresponds to the XSD simple type Ghs00HazardAcuteToxOral.

const (
	Ghs00HazardAcuteToxOral_300 Ghs00HazardAcuteToxOral = "300"
	Ghs00HazardAcuteToxOral_301 Ghs00HazardAcuteToxOral = "301"
	Ghs00HazardAcuteToxOral_302 Ghs00HazardAcuteToxOral = "302"
)

func (Ghs00HazardAcuteToxOral) Valid

func (v Ghs00HazardAcuteToxOral) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardAcuteToxOral.

type Ghs00HazardAquaticAcute

type Ghs00HazardAquaticAcute string

Ghs00HazardAquaticAcute corresponds to the XSD simple type Ghs00HazardAquaticAcute.

const (
	Ghs00HazardAquaticAcute_400 Ghs00HazardAquaticAcute = "400"
	Ghs00HazardAquaticAcute_401 Ghs00HazardAquaticAcute = "401"
	Ghs00HazardAquaticAcute_402 Ghs00HazardAquaticAcute = "402"
)

func (Ghs00HazardAquaticAcute) Valid

func (v Ghs00HazardAquaticAcute) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardAquaticAcute.

type Ghs00HazardAquaticChronic

type Ghs00HazardAquaticChronic string

Ghs00HazardAquaticChronic corresponds to the XSD simple type Ghs00HazardAquaticChronic.

const (
	Ghs00HazardAquaticChronic_410 Ghs00HazardAquaticChronic = "410"
	Ghs00HazardAquaticChronic_411 Ghs00HazardAquaticChronic = "411"
	Ghs00HazardAquaticChronic_412 Ghs00HazardAquaticChronic = "412"
	Ghs00HazardAquaticChronic_413 Ghs00HazardAquaticChronic = "413"
)

func (Ghs00HazardAquaticChronic) Valid

func (v Ghs00HazardAquaticChronic) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardAquaticChronic.

type Ghs00HazardCarc

type Ghs00HazardCarc string

Ghs00HazardCarc corresponds to the XSD simple type Ghs00HazardCarc.

const (
	Ghs00HazardCarc_350 Ghs00HazardCarc = "350"
	Ghs00HazardCarc_351 Ghs00HazardCarc = "351"
)

func (Ghs00HazardCarc) Valid

func (v Ghs00HazardCarc) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardCarc.

type Ghs00HazardEnum

type Ghs00HazardEnum string

Hazard statement code with a predefined set of legal values. Also called H-phrases.

Ghs00HazardEnum corresponds to the XSD simple type Ghs00HazardEnum.

func (Ghs00HazardEnum) Valid

func (v Ghs00HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardEnum.

type Ghs00HazardExpl

type Ghs00HazardExpl string

Ghs00HazardExpl corresponds to the XSD simple type Ghs00HazardExpl.

const (
	Ghs00HazardExpl_200 Ghs00HazardExpl = "200"
	Ghs00HazardExpl_201 Ghs00HazardExpl = "201"
	Ghs00HazardExpl_202 Ghs00HazardExpl = "202"
	Ghs00HazardExpl_203 Ghs00HazardExpl = "203"
	Ghs00HazardExpl_204 Ghs00HazardExpl = "204"
	Ghs00HazardExpl_205 Ghs00HazardExpl = "205"
)

func (Ghs00HazardExpl) Valid

func (v Ghs00HazardExpl) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardExpl.

type Ghs00HazardEyeDam

type Ghs00HazardEyeDam string

Ghs00HazardEyeDam corresponds to the XSD simple type Ghs00HazardEyeDam.

const (
	Ghs00HazardEyeDam_318 Ghs00HazardEyeDam = "318"
	Ghs00HazardEyeDam_319 Ghs00HazardEyeDam = "319"
)

func (Ghs00HazardEyeDam) Valid

func (v Ghs00HazardEyeDam) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardEyeDam.

type Ghs00HazardFlamAer

type Ghs00HazardFlamAer string

Ghs00HazardFlamAer corresponds to the XSD simple type Ghs00HazardFlamAer.

const (
	Ghs00HazardFlamAer_222 Ghs00HazardFlamAer = "222"
	Ghs00HazardFlamAer_223 Ghs00HazardFlamAer = "223"
)

func (Ghs00HazardFlamAer) Valid

func (v Ghs00HazardFlamAer) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardFlamAer.

type Ghs00HazardFlamGas

type Ghs00HazardFlamGas string

Ghs00HazardFlamGas corresponds to the XSD simple type Ghs00HazardFlamGas.

const (
	Ghs00HazardFlamGas_220 Ghs00HazardFlamGas = "220"
	Ghs00HazardFlamGas_221 Ghs00HazardFlamGas = "221"
)

func (Ghs00HazardFlamGas) Valid

func (v Ghs00HazardFlamGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardFlamGas.

type Ghs00HazardFlamLiq

type Ghs00HazardFlamLiq string

Ghs00HazardFlamLiq corresponds to the XSD simple type Ghs00HazardFlamLiq.

const (
	Ghs00HazardFlamLiq_224 Ghs00HazardFlamLiq = "224"
	Ghs00HazardFlamLiq_225 Ghs00HazardFlamLiq = "225"
	Ghs00HazardFlamLiq_226 Ghs00HazardFlamLiq = "226"
)

func (Ghs00HazardFlamLiq) Valid

func (v Ghs00HazardFlamLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardFlamLiq.

type Ghs00HazardFlamSol

type Ghs00HazardFlamSol string

Ghs00HazardFlamSol corresponds to the XSD simple type Ghs00HazardFlamSol.

const (
	Ghs00HazardFlamSol_228 Ghs00HazardFlamSol = "228"
)

func (Ghs00HazardFlamSol) Valid

func (v Ghs00HazardFlamSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardFlamSol.

type Ghs00HazardLact

type Ghs00HazardLact string

Ghs00HazardLact corresponds to the XSD simple type Ghs00HazardLact.

const (
	Ghs00HazardLact_362 Ghs00HazardLact = "362"
)

func (Ghs00HazardLact) Valid

func (v Ghs00HazardLact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardLact.

type Ghs00HazardMetCorr

type Ghs00HazardMetCorr string

Ghs00HazardMetCorr corresponds to the XSD simple type Ghs00HazardMetCorr.

const (
	Ghs00HazardMetCorr_290 Ghs00HazardMetCorr = "290"
)

func (Ghs00HazardMetCorr) Valid

func (v Ghs00HazardMetCorr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardMetCorr.

type Ghs00HazardMuta

type Ghs00HazardMuta string

Ghs00HazardMuta corresponds to the XSD simple type Ghs00HazardMuta.

const (
	Ghs00HazardMuta_340 Ghs00HazardMuta = "340"
	Ghs00HazardMuta_341 Ghs00HazardMuta = "341"
)

func (Ghs00HazardMuta) Valid

func (v Ghs00HazardMuta) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardMuta.

type Ghs00HazardOrgPerox

type Ghs00HazardOrgPerox string

Ghs00HazardOrgPerox corresponds to the XSD simple type Ghs00HazardOrgPerox.

const (
	Ghs00HazardOrgPerox_240 Ghs00HazardOrgPerox = "240"
	Ghs00HazardOrgPerox_241 Ghs00HazardOrgPerox = "241"
	Ghs00HazardOrgPerox_242 Ghs00HazardOrgPerox = "242"
)

func (Ghs00HazardOrgPerox) Valid

func (v Ghs00HazardOrgPerox) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardOrgPerox.

type Ghs00HazardOxGas

type Ghs00HazardOxGas string

Ghs00HazardOxGas corresponds to the XSD simple type Ghs00HazardOxGas.

const (
	Ghs00HazardOxGas_270 Ghs00HazardOxGas = "270"
)

func (Ghs00HazardOxGas) Valid

func (v Ghs00HazardOxGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardOxGas.

type Ghs00HazardOxLiq

type Ghs00HazardOxLiq string

Ghs00HazardOxLiq corresponds to the XSD simple type Ghs00HazardOxLiq.

const (
	Ghs00HazardOxLiq_271 Ghs00HazardOxLiq = "271"
	Ghs00HazardOxLiq_272 Ghs00HazardOxLiq = "272"
)

func (Ghs00HazardOxLiq) Valid

func (v Ghs00HazardOxLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardOxLiq.

type Ghs00HazardOxSol

type Ghs00HazardOxSol string

Ghs00HazardOxSol corresponds to the XSD simple type Ghs00HazardOxSol.

const (
	Ghs00HazardOxSol_271 Ghs00HazardOxSol = "271"
	Ghs00HazardOxSol_272 Ghs00HazardOxSol = "272"
)

func (Ghs00HazardOxSol) Valid

func (v Ghs00HazardOxSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardOxSol.

type Ghs00HazardPressGas

type Ghs00HazardPressGas string

Ghs00HazardPressGas corresponds to the XSD simple type Ghs00HazardPressGas.

const (
	Ghs00HazardPressGas_280 Ghs00HazardPressGas = "280"
	Ghs00HazardPressGas_281 Ghs00HazardPressGas = "281"
)

func (Ghs00HazardPressGas) Valid

func (v Ghs00HazardPressGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardPressGas.

type Ghs00HazardPyrLiq

type Ghs00HazardPyrLiq string

Ghs00HazardPyrLiq corresponds to the XSD simple type Ghs00HazardPyrLiq.

const (
	Ghs00HazardPyrLiq_250 Ghs00HazardPyrLiq = "250"
)

func (Ghs00HazardPyrLiq) Valid

func (v Ghs00HazardPyrLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardPyrLiq.

type Ghs00HazardPyrSol

type Ghs00HazardPyrSol string

Ghs00HazardPyrSol corresponds to the XSD simple type Ghs00HazardPyrSol.

const (
	Ghs00HazardPyrSol_250 Ghs00HazardPyrSol = "250"
)

func (Ghs00HazardPyrSol) Valid

func (v Ghs00HazardPyrSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardPyrSol.

type Ghs00HazardRepr

type Ghs00HazardRepr string

Ghs00HazardRepr corresponds to the XSD simple type Ghs00HazardRepr.

const (
	Ghs00HazardRepr_360 Ghs00HazardRepr = "360"
	Ghs00HazardRepr_361 Ghs00HazardRepr = "361"
)

func (Ghs00HazardRepr) Valid

func (v Ghs00HazardRepr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardRepr.

type Ghs00HazardRespSens

type Ghs00HazardRespSens string

Ghs00HazardRespSens corresponds to the XSD simple type Ghs00HazardRespSens.

const (
	Ghs00HazardRespSens_334 Ghs00HazardRespSens = "334"
)

func (Ghs00HazardRespSens) Valid

func (v Ghs00HazardRespSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardRespSens.

type Ghs00HazardSelfHeat

type Ghs00HazardSelfHeat string

Ghs00HazardSelfHeat corresponds to the XSD simple type Ghs00HazardSelfHeat.

const (
	Ghs00HazardSelfHeat_251 Ghs00HazardSelfHeat = "251"
	Ghs00HazardSelfHeat_252 Ghs00HazardSelfHeat = "252"
)

func (Ghs00HazardSelfHeat) Valid

func (v Ghs00HazardSelfHeat) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardSelfHeat.

type Ghs00HazardSelfReact

type Ghs00HazardSelfReact string

Ghs00HazardSelfReact corresponds to the XSD simple type Ghs00HazardSelfReact.

const (
	Ghs00HazardSelfReact_240 Ghs00HazardSelfReact = "240"
	Ghs00HazardSelfReact_241 Ghs00HazardSelfReact = "241"
	Ghs00HazardSelfReact_242 Ghs00HazardSelfReact = "242"
)

func (Ghs00HazardSelfReact) Valid

func (v Ghs00HazardSelfReact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardSelfReact.

type Ghs00HazardSkinCorr

type Ghs00HazardSkinCorr string

Ghs00HazardSkinCorr corresponds to the XSD simple type Ghs00HazardSkinCorr.

const (
	Ghs00HazardSkinCorr_314 Ghs00HazardSkinCorr = "314"
	Ghs00HazardSkinCorr_315 Ghs00HazardSkinCorr = "315"
)

func (Ghs00HazardSkinCorr) Valid

func (v Ghs00HazardSkinCorr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardSkinCorr.

type Ghs00HazardSkinSens

type Ghs00HazardSkinSens string

Ghs00HazardSkinSens corresponds to the XSD simple type Ghs00HazardSkinSens.

const (
	Ghs00HazardSkinSens_317 Ghs00HazardSkinSens = "317"
)

func (Ghs00HazardSkinSens) Valid

func (v Ghs00HazardSkinSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardSkinSens.

type Ghs00HazardStotRe

type Ghs00HazardStotRe string

Ghs00HazardStotRe corresponds to the XSD simple type Ghs00HazardStotRe.

const (
	Ghs00HazardStotRe_372 Ghs00HazardStotRe = "372"
	Ghs00HazardStotRe_373 Ghs00HazardStotRe = "373"
)

func (Ghs00HazardStotRe) Valid

func (v Ghs00HazardStotRe) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardStotRe.

type Ghs00HazardStotSe

type Ghs00HazardStotSe string

Ghs00HazardStotSe corresponds to the XSD simple type Ghs00HazardStotSe.

const (
	Ghs00HazardStotSe_370 Ghs00HazardStotSe = "370"
	Ghs00HazardStotSe_371 Ghs00HazardStotSe = "371"
)

func (Ghs00HazardStotSe) Valid

func (v Ghs00HazardStotSe) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardStotSe.

type Ghs00HazardWaterReact

type Ghs00HazardWaterReact string

Ghs00HazardWaterReact corresponds to the XSD simple type Ghs00HazardWaterReact.

const (
	Ghs00HazardWaterReact_260 Ghs00HazardWaterReact = "260"
	Ghs00HazardWaterReact_261 Ghs00HazardWaterReact = "261"
)

func (Ghs00HazardWaterReact) Valid

func (v Ghs00HazardWaterReact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs00HazardWaterReact.

type Ghs01ClassAquaticAcute

type Ghs01ClassAquaticAcute string

Acute Aquatic environmental hazard categories according to UN GHS revision 1 (2005).

Ghs01ClassAquaticAcute corresponds to the XSD simple type Ghs01ClassAquaticAcute.

const (
	Ghs01ClassAquaticAcute_Aquatic_Acute_1 Ghs01ClassAquaticAcute = "Aquatic Acute 1"
	Ghs01ClassAquaticAcute_Aquatic_Acute_2 Ghs01ClassAquaticAcute = "Aquatic Acute 2"
	Ghs01ClassAquaticAcute_Aquatic_Acute_3 Ghs01ClassAquaticAcute = "Aquatic Acute 3"
)

func (Ghs01ClassAquaticAcute) Valid

func (v Ghs01ClassAquaticAcute) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01ClassAquaticAcute.

type Ghs01ClassAquaticAcute_no23

type Ghs01ClassAquaticAcute_no23 string

Acute Aquatic environmental hazard categories according to UN GHS revision 1 (2005).

Ghs01ClassAquaticAcute_no23 corresponds to the XSD simple type Ghs01ClassAquaticAcute_no23.

const (
	Ghs01ClassAquaticAcute_no23_Aquatic_Acute_1 Ghs01ClassAquaticAcute_no23 = "Aquatic Acute 1"
)

func (Ghs01ClassAquaticAcute_no23) Valid

Valid reports whether v satisfies every constraint of Ghs01ClassAquaticAcute_no23.

type Ghs01ClassAquaticChronic

type Ghs01ClassAquaticChronic string

Chronic Aquatic environmental hazard categories according to UN GHS revision 1 (2005).

Ghs01ClassAquaticChronic corresponds to the XSD simple type Ghs01ClassAquaticChronic.

const (
	Ghs01ClassAquaticChronic_Aquatic_Chronic_1 Ghs01ClassAquaticChronic = "Aquatic Chronic 1"
	Ghs01ClassAquaticChronic_Aquatic_Chronic_2 Ghs01ClassAquaticChronic = "Aquatic Chronic 2"
	Ghs01ClassAquaticChronic_Aquatic_Chronic_3 Ghs01ClassAquaticChronic = "Aquatic Chronic 3"
	Ghs01ClassAquaticChronic_Aquatic_Chronic_4 Ghs01ClassAquaticChronic = "Aquatic Chronic 4"
)

func (Ghs01ClassAquaticChronic) Valid

func (v Ghs01ClassAquaticChronic) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01ClassAquaticChronic.

type Ghs01ClassAspTox

type Ghs01ClassAspTox string

Aspiration hazard categories according to UN GHS revision 1 (2005).

Ghs01ClassAspTox corresponds to the XSD simple type Ghs01ClassAspTox.

const (
	Ghs01ClassAspTox_Asp_Tox_1 Ghs01ClassAspTox = "Asp. Tox. 1"
	Ghs01ClassAspTox_Asp_Tox_2 Ghs01ClassAspTox = "Asp. Tox. 2"
)

func (Ghs01ClassAspTox) Valid

func (v Ghs01ClassAspTox) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01ClassAspTox.

type Ghs01ClassAspTox_no2

type Ghs01ClassAspTox_no2 string

Aspiration hazard categories according to UN GHS revision 1 (2005), without category 2.

Ghs01ClassAspTox_no2 corresponds to the XSD simple type Ghs01ClassAspTox_no2.

const (
	Ghs01ClassAspTox_no2_Asp_Tox_1 Ghs01ClassAspTox_no2 = "Asp. Tox. 1"
)

func (Ghs01ClassAspTox_no2) Valid

func (v Ghs01ClassAspTox_no2) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01ClassAspTox_no2.

type Ghs01ClassExpl

type Ghs01ClassExpl string

Explosives according to UN GHS Revision 1 (2005).

Ghs01ClassExpl corresponds to the XSD simple type Ghs01ClassExpl.

const (
	Ghs01ClassExpl_Unst_Expl Ghs01ClassExpl = "Unst. Expl."
	Ghs01ClassExpl_Expl_1_1  Ghs01ClassExpl = "Expl. 1.1"
	Ghs01ClassExpl_Expl_1_2  Ghs01ClassExpl = "Expl. 1.2"
	Ghs01ClassExpl_Expl_1_3  Ghs01ClassExpl = "Expl. 1.3"
	Ghs01ClassExpl_Expl_1_4  Ghs01ClassExpl = "Expl. 1.4"
	Ghs01ClassExpl_Expl_1_5  Ghs01ClassExpl = "Expl. 1.5"
	Ghs01ClassExpl_Expl_1_6  Ghs01ClassExpl = "Expl. 1.6"
)

func (Ghs01ClassExpl) Valid

func (v Ghs01ClassExpl) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01ClassExpl.

type Ghs01ClassStotSe3

type Ghs01ClassStotSe3 string

STOT single exposure category 3 according to UN GHS revision 1 (2005). Officially a part of STOT SE, but can be applied independently from STOT SE 1 and 2 as it describes different effects.

Ghs01ClassStotSe3 corresponds to the XSD simple type Ghs01ClassStotSe3.

const (
	Ghs01ClassStotSe3_STOT_SE_3_resp      Ghs01ClassStotSe3 = "STOT SE 3 (resp.)"
	Ghs01ClassStotSe3_STOT_SE_3_narc      Ghs01ClassStotSe3 = "STOT SE 3 (narc.)"
	Ghs01ClassStotSe3_STOT_SE_3_resp_narc Ghs01ClassStotSe3 = "STOT SE 3 (resp., narc.)"
)

func (Ghs01ClassStotSe3) Valid

func (v Ghs01ClassStotSe3) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01ClassStotSe3.

type Ghs01HazardAquaticAcute

type Ghs01HazardAquaticAcute string

Ghs01HazardAquaticAcute corresponds to the XSD simple type Ghs01HazardAquaticAcute.

const (
	Ghs01HazardAquaticAcute_400 Ghs01HazardAquaticAcute = "400"
	Ghs01HazardAquaticAcute_401 Ghs01HazardAquaticAcute = "401"
	Ghs01HazardAquaticAcute_402 Ghs01HazardAquaticAcute = "402"
)

func (Ghs01HazardAquaticAcute) Valid

func (v Ghs01HazardAquaticAcute) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01HazardAquaticAcute.

type Ghs01HazardAquaticChronic

type Ghs01HazardAquaticChronic string

Ghs01HazardAquaticChronic corresponds to the XSD simple type Ghs01HazardAquaticChronic.

const (
	Ghs01HazardAquaticChronic_410 Ghs01HazardAquaticChronic = "410"
	Ghs01HazardAquaticChronic_411 Ghs01HazardAquaticChronic = "411"
	Ghs01HazardAquaticChronic_412 Ghs01HazardAquaticChronic = "412"
	Ghs01HazardAquaticChronic_413 Ghs01HazardAquaticChronic = "413"
)

func (Ghs01HazardAquaticChronic) Valid

func (v Ghs01HazardAquaticChronic) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01HazardAquaticChronic.

type Ghs01HazardAspTox

type Ghs01HazardAspTox string

Ghs01HazardAspTox corresponds to the XSD simple type Ghs01HazardAspTox.

const (
	Ghs01HazardAspTox_304 Ghs01HazardAspTox = "304"
	Ghs01HazardAspTox_305 Ghs01HazardAspTox = "305"
)

func (Ghs01HazardAspTox) Valid

func (v Ghs01HazardAspTox) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01HazardAspTox.

type Ghs01HazardEnum

type Ghs01HazardEnum string

Ghs01HazardEnum corresponds to the XSD simple type Ghs01HazardEnum.

func (Ghs01HazardEnum) Valid

func (v Ghs01HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01HazardEnum.

type Ghs01HazardExpl

type Ghs01HazardExpl string

Ghs01HazardExpl corresponds to the XSD simple type Ghs01HazardExpl.

const (
	Ghs01HazardExpl_200 Ghs01HazardExpl = "200"
	Ghs01HazardExpl_201 Ghs01HazardExpl = "201"
	Ghs01HazardExpl_202 Ghs01HazardExpl = "202"
	Ghs01HazardExpl_203 Ghs01HazardExpl = "203"
	Ghs01HazardExpl_204 Ghs01HazardExpl = "204"
	Ghs01HazardExpl_205 Ghs01HazardExpl = "205"
)

func (Ghs01HazardExpl) Valid

func (v Ghs01HazardExpl) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01HazardExpl.

type Ghs01HazardStotSe3

type Ghs01HazardStotSe3 string

Ghs01HazardStotSe3 corresponds to the XSD simple type Ghs01HazardStotSe3.

const (
	Ghs01HazardStotSe3_335 Ghs01HazardStotSe3 = "335"
	Ghs01HazardStotSe3_336 Ghs01HazardStotSe3 = "336"
)

func (Ghs01HazardStotSe3) Valid

func (v Ghs01HazardStotSe3) Valid() bool

Valid reports whether v satisfies every constraint of Ghs01HazardStotSe3.

type Ghs02HazardEnum

type Ghs02HazardEnum string

Ghs02HazardEnum corresponds to the XSD simple type Ghs02HazardEnum.

func (Ghs02HazardEnum) Valid

func (v Ghs02HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02HazardEnum.

type Ghs02HazardRespSens

type Ghs02HazardRespSens string

Ghs02HazardRespSens corresponds to the XSD simple type Ghs02HazardRespSens.

const (
	Ghs02HazardRespSens_334 Ghs02HazardRespSens = "334"
)

func (Ghs02HazardRespSens) Valid

func (v Ghs02HazardRespSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02HazardRespSens.

type Ghs02HazardSkinSens

type Ghs02HazardSkinSens string

Ghs02HazardSkinSens corresponds to the XSD simple type Ghs02HazardSkinSens.

const (
	Ghs02HazardSkinSens_317 Ghs02HazardSkinSens = "317"
)

func (Ghs02HazardSkinSens) Valid

func (v Ghs02HazardSkinSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02HazardSkinSens.

type Ghs02PrecautionAcuteToxInhal

type Ghs02PrecautionAcuteToxInhal string

Ghs02PrecautionAcuteToxInhal corresponds to the XSD simple type Ghs02PrecautionAcuteToxInhal.

const (
	Ghs02PrecautionAcuteToxInhal_233  Ghs02PrecautionAcuteToxInhal = "233"
	Ghs02PrecautionAcuteToxInhal_260  Ghs02PrecautionAcuteToxInhal = "260"
	Ghs02PrecautionAcuteToxInhal_261  Ghs02PrecautionAcuteToxInhal = "261"
	Ghs02PrecautionAcuteToxInhal_271  Ghs02PrecautionAcuteToxInhal = "271"
	Ghs02PrecautionAcuteToxInhal_284  Ghs02PrecautionAcuteToxInhal = "284"
	Ghs02PrecautionAcuteToxInhal_304  Ghs02PrecautionAcuteToxInhal = "304"
	Ghs02PrecautionAcuteToxInhal_312  Ghs02PrecautionAcuteToxInhal = "312"
	Ghs02PrecautionAcuteToxInhal_310  Ghs02PrecautionAcuteToxInhal = "310"
	Ghs02PrecautionAcuteToxInhal_311  Ghs02PrecautionAcuteToxInhal = "311"
	Ghs02PrecautionAcuteToxInhal_3122 Ghs02PrecautionAcuteToxInhal = "312"
	Ghs02PrecautionAcuteToxInhal_320  Ghs02PrecautionAcuteToxInhal = "320"
	Ghs02PrecautionAcuteToxInhal_321  Ghs02PrecautionAcuteToxInhal = "321"
	Ghs02PrecautionAcuteToxInhal_340  Ghs02PrecautionAcuteToxInhal = "340"
	Ghs02PrecautionAcuteToxInhal_403  Ghs02PrecautionAcuteToxInhal = "403"
	Ghs02PrecautionAcuteToxInhal_405  Ghs02PrecautionAcuteToxInhal = "405"
	Ghs02PrecautionAcuteToxInhal_501  Ghs02PrecautionAcuteToxInhal = "501"
)

func (Ghs02PrecautionAcuteToxInhal) Valid

Valid reports whether v satisfies every constraint of Ghs02PrecautionAcuteToxInhal.

type Ghs02PrecautionAquaticAcute

type Ghs02PrecautionAquaticAcute string

Ghs02PrecautionAquaticAcute corresponds to the XSD simple type Ghs02PrecautionAquaticAcute.

const (
	Ghs02PrecautionAquaticAcute_273 Ghs02PrecautionAquaticAcute = "273"
	Ghs02PrecautionAquaticAcute_391 Ghs02PrecautionAquaticAcute = "391"
	Ghs02PrecautionAquaticAcute_501 Ghs02PrecautionAquaticAcute = "501"
)

func (Ghs02PrecautionAquaticAcute) Valid

Valid reports whether v satisfies every constraint of Ghs02PrecautionAquaticAcute.

type Ghs02PrecautionAquaticChronic

type Ghs02PrecautionAquaticChronic string

Ghs02PrecautionAquaticChronic corresponds to the XSD simple type Ghs02PrecautionAquaticChronic.

const (
	Ghs02PrecautionAquaticChronic_273 Ghs02PrecautionAquaticChronic = "273"
	Ghs02PrecautionAquaticChronic_391 Ghs02PrecautionAquaticChronic = "391"
	Ghs02PrecautionAquaticChronic_501 Ghs02PrecautionAquaticChronic = "501"
)

func (Ghs02PrecautionAquaticChronic) Valid

Valid reports whether v satisfies every constraint of Ghs02PrecautionAquaticChronic.

type Ghs02PrecautionAspTox

type Ghs02PrecautionAspTox string

Ghs02PrecautionAspTox corresponds to the XSD simple type Ghs02PrecautionAspTox.

const (
	Ghs02PrecautionAspTox_301 Ghs02PrecautionAspTox = "301"
	Ghs02PrecautionAspTox_310 Ghs02PrecautionAspTox = "310"
	Ghs02PrecautionAspTox_331 Ghs02PrecautionAspTox = "331"
	Ghs02PrecautionAspTox_405 Ghs02PrecautionAspTox = "405"
	Ghs02PrecautionAspTox_501 Ghs02PrecautionAspTox = "501"
)

func (Ghs02PrecautionAspTox) Valid

func (v Ghs02PrecautionAspTox) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02PrecautionAspTox.

type Ghs02PrecautionEyeDam

type Ghs02PrecautionEyeDam string

Ghs02PrecautionEyeDam corresponds to the XSD simple type Ghs02PrecautionEyeDam.

const (
	Ghs02PrecautionEyeDam_264 Ghs02PrecautionEyeDam = "264"
	Ghs02PrecautionEyeDam_280 Ghs02PrecautionEyeDam = "280"
	Ghs02PrecautionEyeDam_305 Ghs02PrecautionEyeDam = "305"
	Ghs02PrecautionEyeDam_310 Ghs02PrecautionEyeDam = "310"
	Ghs02PrecautionEyeDam_313 Ghs02PrecautionEyeDam = "313"
	Ghs02PrecautionEyeDam_337 Ghs02PrecautionEyeDam = "337"
	Ghs02PrecautionEyeDam_338 Ghs02PrecautionEyeDam = "338"
	Ghs02PrecautionEyeDam_351 Ghs02PrecautionEyeDam = "351"
)

func (Ghs02PrecautionEyeDam) Valid

func (v Ghs02PrecautionEyeDam) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02PrecautionEyeDam.

type Ghs02PrecautionFlamSol

type Ghs02PrecautionFlamSol string

Ghs02PrecautionFlamSol corresponds to the XSD simple type Ghs02PrecautionFlamSol.

const (
	Ghs02PrecautionFlamSol_210 Ghs02PrecautionFlamSol = "210"
	Ghs02PrecautionFlamSol_240 Ghs02PrecautionFlamSol = "240"
	Ghs02PrecautionFlamSol_241 Ghs02PrecautionFlamSol = "241"
	Ghs02PrecautionFlamSol_280 Ghs02PrecautionFlamSol = "280"
	Ghs02PrecautionFlamSol_370 Ghs02PrecautionFlamSol = "370"
	Ghs02PrecautionFlamSol_378 Ghs02PrecautionFlamSol = "378"
)

func (Ghs02PrecautionFlamSol) Valid

func (v Ghs02PrecautionFlamSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02PrecautionFlamSol.

type Ghs02PrecautionMetCorr

type Ghs02PrecautionMetCorr string

Ghs02PrecautionMetCorr corresponds to the XSD simple type Ghs02PrecautionMetCorr.

const (
	Ghs02PrecautionMetCorr_234 Ghs02PrecautionMetCorr = "234"
	Ghs02PrecautionMetCorr_390 Ghs02PrecautionMetCorr = "390"
	Ghs02PrecautionMetCorr_406 Ghs02PrecautionMetCorr = "406"
)

func (Ghs02PrecautionMetCorr) Valid

func (v Ghs02PrecautionMetCorr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02PrecautionMetCorr.

type Ghs02PrecautionOxGas

type Ghs02PrecautionOxGas string

Ghs02PrecautionOxGas corresponds to the XSD simple type Ghs02PrecautionOxGas.

const (
	Ghs02PrecautionOxGas_220 Ghs02PrecautionOxGas = "220"
	Ghs02PrecautionOxGas_244 Ghs02PrecautionOxGas = "244"
	Ghs02PrecautionOxGas_370 Ghs02PrecautionOxGas = "370"
	Ghs02PrecautionOxGas_376 Ghs02PrecautionOxGas = "376"
	Ghs02PrecautionOxGas_403 Ghs02PrecautionOxGas = "403"
)

func (Ghs02PrecautionOxGas) Valid

func (v Ghs02PrecautionOxGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02PrecautionOxGas.

type Ghs02PrecautionStotRe

type Ghs02PrecautionStotRe string

Ghs02PrecautionStotRe corresponds to the XSD simple type Ghs02PrecautionStotRe.

const (
	Ghs02PrecautionStotRe_260 Ghs02PrecautionStotRe = "260"
	Ghs02PrecautionStotRe_264 Ghs02PrecautionStotRe = "264"
	Ghs02PrecautionStotRe_270 Ghs02PrecautionStotRe = "270"
	Ghs02PrecautionStotRe_314 Ghs02PrecautionStotRe = "314"
	Ghs02PrecautionStotRe_501 Ghs02PrecautionStotRe = "501"
)

func (Ghs02PrecautionStotRe) Valid

func (v Ghs02PrecautionStotRe) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02PrecautionStotRe.

type Ghs02PrecautionStotSe3

type Ghs02PrecautionStotSe3 string

Ghs02PrecautionStotSe3 corresponds to the XSD simple type Ghs02PrecautionStotSe3.

const (
	Ghs02PrecautionStotSe3_233 Ghs02PrecautionStotSe3 = "233"
	Ghs02PrecautionStotSe3_261 Ghs02PrecautionStotSe3 = "261"
	Ghs02PrecautionStotSe3_271 Ghs02PrecautionStotSe3 = "271"
	Ghs02PrecautionStotSe3_304 Ghs02PrecautionStotSe3 = "304"
	Ghs02PrecautionStotSe3_340 Ghs02PrecautionStotSe3 = "340"
	Ghs02PrecautionStotSe3_312 Ghs02PrecautionStotSe3 = "312"
	Ghs02PrecautionStotSe3_403 Ghs02PrecautionStotSe3 = "403"
	Ghs02PrecautionStotSe3_405 Ghs02PrecautionStotSe3 = "405"
	Ghs02PrecautionStotSe3_501 Ghs02PrecautionStotSe3 = "501"
)

func (Ghs02PrecautionStotSe3) Valid

func (v Ghs02PrecautionStotSe3) Valid() bool

Valid reports whether v satisfies every constraint of Ghs02PrecautionStotSe3.

type Ghs03ClassOzone

type Ghs03ClassOzone string

Ozone layer hazard categories according to UN GHS revision 3 (2009).

Ghs03ClassOzone corresponds to the XSD simple type Ghs03ClassOzone.

const (
	Ghs03ClassOzone_Ozone_1 Ghs03ClassOzone = "Ozone 1"
)

func (Ghs03ClassOzone) Valid

func (v Ghs03ClassOzone) Valid() bool

Valid reports whether v satisfies every constraint of Ghs03ClassOzone.

type Ghs03ClassRespSens

type Ghs03ClassRespSens string

Respiratory tract sensitizer categories according to UN GHS revision 3 (2009).

Ghs03ClassRespSens corresponds to the XSD simple type Ghs03ClassRespSens.

const (
	Ghs03ClassRespSens_Resp_Sens_1  Ghs03ClassRespSens = "Resp. Sens. 1"
	Ghs03ClassRespSens_Resp_Sens_1A Ghs03ClassRespSens = "Resp. Sens. 1A"
	Ghs03ClassRespSens_Resp_Sens_1B Ghs03ClassRespSens = "Resp. Sens. 1B"
)

func (Ghs03ClassRespSens) Valid

func (v Ghs03ClassRespSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs03ClassRespSens.

type Ghs03ClassSkinSens

type Ghs03ClassSkinSens string

Skin Sensitizer categories according to UN GHS revision 3 (2009).

Ghs03ClassSkinSens corresponds to the XSD simple type Ghs03ClassSkinSens.

const (
	Ghs03ClassSkinSens_Skin_Sens_1  Ghs03ClassSkinSens = "Skin Sens. 1"
	Ghs03ClassSkinSens_Skin_Sens_1A Ghs03ClassSkinSens = "Skin Sens. 1A"
	Ghs03ClassSkinSens_Skin_Sens_1B Ghs03ClassSkinSens = "Skin Sens. 1B"
)

func (Ghs03ClassSkinSens) Valid

func (v Ghs03ClassSkinSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs03ClassSkinSens.

type Ghs03HazardEnum

type Ghs03HazardEnum string

Ghs03HazardEnum corresponds to the XSD simple type Ghs03HazardEnum.

func (Ghs03HazardEnum) Valid

func (v Ghs03HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs03HazardEnum.

type Ghs03HazardOzone

type Ghs03HazardOzone string

Ghs03HazardOzone corresponds to the XSD simple type Ghs03HazardOzone.

const (
	Ghs03HazardOzone_420 Ghs03HazardOzone = "420"
)

func (Ghs03HazardOzone) Valid

func (v Ghs03HazardOzone) Valid() bool

Valid reports whether v satisfies every constraint of Ghs03HazardOzone.

type Ghs03HazardRespSens

type Ghs03HazardRespSens string

Ghs03HazardRespSens corresponds to the XSD simple type Ghs03HazardRespSens.

const (
	Ghs03HazardRespSens_334 Ghs03HazardRespSens = "334"
)

func (Ghs03HazardRespSens) Valid

func (v Ghs03HazardRespSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs03HazardRespSens.

type Ghs03HazardSkinSens

type Ghs03HazardSkinSens string

Ghs03HazardSkinSens corresponds to the XSD simple type Ghs03HazardSkinSens.

const (
	Ghs03HazardSkinSens_317 Ghs03HazardSkinSens = "317"
)

func (Ghs03HazardSkinSens) Valid

func (v Ghs03HazardSkinSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs03HazardSkinSens.

type Ghs03PrecautionOzone

type Ghs03PrecautionOzone string

Ghs03PrecautionOzone corresponds to the XSD simple type Ghs03PrecautionOzone.

const (
	Ghs03PrecautionOzone_502 Ghs03PrecautionOzone = "502"
)

func (Ghs03PrecautionOzone) Valid

func (v Ghs03PrecautionOzone) Valid() bool

Valid reports whether v satisfies every constraint of Ghs03PrecautionOzone.

type Ghs04ClassAerosol

type Ghs04ClassAerosol string

Aerosol categories according to UN GHS revision 4 (2011).

Ghs04ClassAerosol corresponds to the XSD simple type Ghs04ClassAerosol.

const (
	Ghs04ClassAerosol_Aerosol_1 Ghs04ClassAerosol = "Aerosol 1"
	Ghs04ClassAerosol_Aerosol_2 Ghs04ClassAerosol = "Aerosol 2"
	Ghs04ClassAerosol_Aerosol_3 Ghs04ClassAerosol = "Aerosol 3"
)

func (Ghs04ClassAerosol) Valid

func (v Ghs04ClassAerosol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04ClassAerosol.

type Ghs04HazardAerosol

type Ghs04HazardAerosol string

While Precautionary statements are combined with a plus sign, Aerosol categories carry two separate Hazard statements - an exception within GHS.

Ghs04HazardAerosol corresponds to the XSD simple type Ghs04HazardAerosol.

const (
	Ghs04HazardAerosol_222 Ghs04HazardAerosol = "222"
	Ghs04HazardAerosol_223 Ghs04HazardAerosol = "223"
	Ghs04HazardAerosol_229 Ghs04HazardAerosol = "229"
)

func (Ghs04HazardAerosol) Valid

func (v Ghs04HazardAerosol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04HazardAerosol.

type Ghs04HazardChemUnstGas

type Ghs04HazardChemUnstGas string

Ghs04HazardChemUnstGas corresponds to the XSD simple type Ghs04HazardChemUnstGas.

const (
	Ghs04HazardChemUnstGas_230 Ghs04HazardChemUnstGas = "230"
	Ghs04HazardChemUnstGas_231 Ghs04HazardChemUnstGas = "231"
)

func (Ghs04HazardChemUnstGas) Valid

func (v Ghs04HazardChemUnstGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04HazardChemUnstGas.

type Ghs04HazardEnum

type Ghs04HazardEnum string

Ghs04HazardEnum corresponds to the XSD simple type Ghs04HazardEnum.

func (Ghs04HazardEnum) Valid

func (v Ghs04HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04HazardEnum.

type Ghs04PrecautionAerosol

type Ghs04PrecautionAerosol string

Ghs04PrecautionAerosol corresponds to the XSD simple type Ghs04PrecautionAerosol.

const (
	Ghs04PrecautionAerosol_210 Ghs04PrecautionAerosol = "210"
	Ghs04PrecautionAerosol_211 Ghs04PrecautionAerosol = "211"
	Ghs04PrecautionAerosol_251 Ghs04PrecautionAerosol = "251"
	Ghs04PrecautionAerosol_410 Ghs04PrecautionAerosol = "410"
	Ghs04PrecautionAerosol_412 Ghs04PrecautionAerosol = "412"
)

func (Ghs04PrecautionAerosol) Valid

func (v Ghs04PrecautionAerosol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04PrecautionAerosol.

type Ghs04PrecautionCarc

type Ghs04PrecautionCarc string

Ghs04PrecautionCarc corresponds to the XSD simple type Ghs04PrecautionCarc.

const (
	Ghs04PrecautionCarc_201 Ghs04PrecautionCarc = "201"
	Ghs04PrecautionCarc_202 Ghs04PrecautionCarc = "202"
	Ghs04PrecautionCarc_280 Ghs04PrecautionCarc = "280"
	Ghs04PrecautionCarc_308 Ghs04PrecautionCarc = "308"
	Ghs04PrecautionCarc_313 Ghs04PrecautionCarc = "313"
	Ghs04PrecautionCarc_405 Ghs04PrecautionCarc = "405"
	Ghs04PrecautionCarc_501 Ghs04PrecautionCarc = "501"
)

func (Ghs04PrecautionCarc) Valid

func (v Ghs04PrecautionCarc) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04PrecautionCarc.

type Ghs04PrecautionMuta

type Ghs04PrecautionMuta string

Ghs04PrecautionMuta corresponds to the XSD simple type Ghs04PrecautionMuta.

const (
	Ghs04PrecautionMuta_201 Ghs04PrecautionMuta = "201"
	Ghs04PrecautionMuta_202 Ghs04PrecautionMuta = "202"
	Ghs04PrecautionMuta_280 Ghs04PrecautionMuta = "280"
	Ghs04PrecautionMuta_308 Ghs04PrecautionMuta = "308"
	Ghs04PrecautionMuta_313 Ghs04PrecautionMuta = "313"
	Ghs04PrecautionMuta_405 Ghs04PrecautionMuta = "405"
	Ghs04PrecautionMuta_501 Ghs04PrecautionMuta = "501"
)

func (Ghs04PrecautionMuta) Valid

func (v Ghs04PrecautionMuta) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04PrecautionMuta.

type Ghs04PrecautionRepr

type Ghs04PrecautionRepr string

Ghs04PrecautionRepr corresponds to the XSD simple type Ghs04PrecautionRepr.

const (
	Ghs04PrecautionRepr_201 Ghs04PrecautionRepr = "201"
	Ghs04PrecautionRepr_202 Ghs04PrecautionRepr = "202"
	Ghs04PrecautionRepr_280 Ghs04PrecautionRepr = "280"
	Ghs04PrecautionRepr_308 Ghs04PrecautionRepr = "308"
	Ghs04PrecautionRepr_313 Ghs04PrecautionRepr = "313"
	Ghs04PrecautionRepr_405 Ghs04PrecautionRepr = "405"
	Ghs04PrecautionRepr_501 Ghs04PrecautionRepr = "501"
)

func (Ghs04PrecautionRepr) Valid

func (v Ghs04PrecautionRepr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04PrecautionRepr.

type Ghs04PrecautionRespSens

type Ghs04PrecautionRespSens string

Ghs04PrecautionRespSens corresponds to the XSD simple type Ghs04PrecautionRespSens.

const (
	Ghs04PrecautionRespSens_261 Ghs04PrecautionRespSens = "261"
	Ghs04PrecautionRespSens_284 Ghs04PrecautionRespSens = "284"
	Ghs04PrecautionRespSens_304 Ghs04PrecautionRespSens = "304"
	Ghs04PrecautionRespSens_311 Ghs04PrecautionRespSens = "311"
	Ghs04PrecautionRespSens_341 Ghs04PrecautionRespSens = "341"
	Ghs04PrecautionRespSens_342 Ghs04PrecautionRespSens = "342"
	Ghs04PrecautionRespSens_501 Ghs04PrecautionRespSens = "501"
)

func (Ghs04PrecautionRespSens) Valid

func (v Ghs04PrecautionRespSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04PrecautionRespSens.

type Ghs04PrecautionSkinCorr

type Ghs04PrecautionSkinCorr string

Ghs04PrecautionSkinCorr corresponds to the XSD simple type Ghs04PrecautionSkinCorr.

const (
	Ghs04PrecautionSkinCorr_260 Ghs04PrecautionSkinCorr = "260"
	Ghs04PrecautionSkinCorr_264 Ghs04PrecautionSkinCorr = "264"
	Ghs04PrecautionSkinCorr_280 Ghs04PrecautionSkinCorr = "280"
	Ghs04PrecautionSkinCorr_301 Ghs04PrecautionSkinCorr = "301"
	Ghs04PrecautionSkinCorr_302 Ghs04PrecautionSkinCorr = "302"
	Ghs04PrecautionSkinCorr_303 Ghs04PrecautionSkinCorr = "303"
	Ghs04PrecautionSkinCorr_304 Ghs04PrecautionSkinCorr = "304"
	Ghs04PrecautionSkinCorr_305 Ghs04PrecautionSkinCorr = "305"
	Ghs04PrecautionSkinCorr_313 Ghs04PrecautionSkinCorr = "313"
	Ghs04PrecautionSkinCorr_330 Ghs04PrecautionSkinCorr = "330"
	Ghs04PrecautionSkinCorr_331 Ghs04PrecautionSkinCorr = "331"
	Ghs04PrecautionSkinCorr_338 Ghs04PrecautionSkinCorr = "338"
	Ghs04PrecautionSkinCorr_340 Ghs04PrecautionSkinCorr = "340"
	Ghs04PrecautionSkinCorr_351 Ghs04PrecautionSkinCorr = "351"
	Ghs04PrecautionSkinCorr_352 Ghs04PrecautionSkinCorr = "352"
	Ghs04PrecautionSkinCorr_353 Ghs04PrecautionSkinCorr = "353"
	Ghs04PrecautionSkinCorr_361 Ghs04PrecautionSkinCorr = "361"
	Ghs04PrecautionSkinCorr_310 Ghs04PrecautionSkinCorr = "310"
	Ghs04PrecautionSkinCorr_321 Ghs04PrecautionSkinCorr = "321"
	Ghs04PrecautionSkinCorr_332 Ghs04PrecautionSkinCorr = "332"
	Ghs04PrecautionSkinCorr_362 Ghs04PrecautionSkinCorr = "362"
	Ghs04PrecautionSkinCorr_364 Ghs04PrecautionSkinCorr = "364"
	Ghs04PrecautionSkinCorr_363 Ghs04PrecautionSkinCorr = "363"
	Ghs04PrecautionSkinCorr_405 Ghs04PrecautionSkinCorr = "405"
	Ghs04PrecautionSkinCorr_501 Ghs04PrecautionSkinCorr = "501"
)

func (Ghs04PrecautionSkinCorr) Valid

func (v Ghs04PrecautionSkinCorr) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04PrecautionSkinCorr.

type Ghs04PrecautionSkinSens

type Ghs04PrecautionSkinSens string

Ghs04PrecautionSkinSens corresponds to the XSD simple type Ghs04PrecautionSkinSens.

const (
	Ghs04PrecautionSkinSens_261 Ghs04PrecautionSkinSens = "261"
	Ghs04PrecautionSkinSens_272 Ghs04PrecautionSkinSens = "272"
	Ghs04PrecautionSkinSens_280 Ghs04PrecautionSkinSens = "280"
	Ghs04PrecautionSkinSens_302 Ghs04PrecautionSkinSens = "302"
	Ghs04PrecautionSkinSens_313 Ghs04PrecautionSkinSens = "313"
	Ghs04PrecautionSkinSens_352 Ghs04PrecautionSkinSens = "352"
	Ghs04PrecautionSkinSens_321 Ghs04PrecautionSkinSens = "321"
	Ghs04PrecautionSkinSens_333 Ghs04PrecautionSkinSens = "333"
	Ghs04PrecautionSkinSens_362 Ghs04PrecautionSkinSens = "362"
	Ghs04PrecautionSkinSens_364 Ghs04PrecautionSkinSens = "364"
	Ghs04PrecautionSkinSens_501 Ghs04PrecautionSkinSens = "501"
)

func (Ghs04PrecautionSkinSens) Valid

func (v Ghs04PrecautionSkinSens) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04PrecautionSkinSens.

type Ghs04PrecautionStotSe

type Ghs04PrecautionStotSe string

Ghs04PrecautionStotSe corresponds to the XSD simple type Ghs04PrecautionStotSe.

const (
	Ghs04PrecautionStotSe_260 Ghs04PrecautionStotSe = "260"
	Ghs04PrecautionStotSe_264 Ghs04PrecautionStotSe = "264"
	Ghs04PrecautionStotSe_270 Ghs04PrecautionStotSe = "270"
	Ghs04PrecautionStotSe_308 Ghs04PrecautionStotSe = "308"
	Ghs04PrecautionStotSe_311 Ghs04PrecautionStotSe = "311"
	Ghs04PrecautionStotSe_321 Ghs04PrecautionStotSe = "321"
	Ghs04PrecautionStotSe_405 Ghs04PrecautionStotSe = "405"
	Ghs04PrecautionStotSe_501 Ghs04PrecautionStotSe = "501"
)

func (Ghs04PrecautionStotSe) Valid

func (v Ghs04PrecautionStotSe) Valid() bool

Valid reports whether v satisfies every constraint of Ghs04PrecautionStotSe.

type Ghs05HazardEnum

type Ghs05HazardEnum string

Ghs05HazardEnum corresponds to the XSD simple type Ghs05HazardEnum.

func (Ghs05HazardEnum) Valid

func (v Ghs05HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs05HazardEnum.

type Ghs05PrecautionFlamLiq

type Ghs05PrecautionFlamLiq string

Ghs05PrecautionFlamLiq corresponds to the XSD simple type Ghs05PrecautionFlamLiq.

const (
	Ghs05PrecautionFlamLiq_210 Ghs05PrecautionFlamLiq = "210"
	Ghs05PrecautionFlamLiq_233 Ghs05PrecautionFlamLiq = "233"
	Ghs05PrecautionFlamLiq_235 Ghs05PrecautionFlamLiq = "235"
	Ghs05PrecautionFlamLiq_240 Ghs05PrecautionFlamLiq = "240"
	Ghs05PrecautionFlamLiq_241 Ghs05PrecautionFlamLiq = "241"
	Ghs05PrecautionFlamLiq_242 Ghs05PrecautionFlamLiq = "242"
	Ghs05PrecautionFlamLiq_243 Ghs05PrecautionFlamLiq = "243"
	Ghs05PrecautionFlamLiq_280 Ghs05PrecautionFlamLiq = "280"
	Ghs05PrecautionFlamLiq_303 Ghs05PrecautionFlamLiq = "303"
	Ghs05PrecautionFlamLiq_353 Ghs05PrecautionFlamLiq = "353"
	Ghs05PrecautionFlamLiq_361 Ghs05PrecautionFlamLiq = "361"
	Ghs05PrecautionFlamLiq_370 Ghs05PrecautionFlamLiq = "370"
	Ghs05PrecautionFlamLiq_378 Ghs05PrecautionFlamLiq = "378"
	Ghs05PrecautionFlamLiq_403 Ghs05PrecautionFlamLiq = "403"
	Ghs05PrecautionFlamLiq_501 Ghs05PrecautionFlamLiq = "501"
)

func (Ghs05PrecautionFlamLiq) Valid

func (v Ghs05PrecautionFlamLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs05PrecautionFlamLiq.

type Ghs05PrecautionOrgPerox

type Ghs05PrecautionOrgPerox string

Ghs05PrecautionOrgPerox corresponds to the XSD simple type Ghs05PrecautionOrgPerox.

const (
	Ghs05PrecautionOrgPerox_210 Ghs05PrecautionOrgPerox = "210"
	Ghs05PrecautionOrgPerox_220 Ghs05PrecautionOrgPerox = "220"
	Ghs05PrecautionOrgPerox_234 Ghs05PrecautionOrgPerox = "234"
	Ghs05PrecautionOrgPerox_235 Ghs05PrecautionOrgPerox = "235"
	Ghs05PrecautionOrgPerox_240 Ghs05PrecautionOrgPerox = "240"
	Ghs05PrecautionOrgPerox_280 Ghs05PrecautionOrgPerox = "280"
	Ghs05PrecautionOrgPerox_370 Ghs05PrecautionOrgPerox = "370"
	Ghs05PrecautionOrgPerox_372 Ghs05PrecautionOrgPerox = "372"
	Ghs05PrecautionOrgPerox_373 Ghs05PrecautionOrgPerox = "373"
	Ghs05PrecautionOrgPerox_375 Ghs05PrecautionOrgPerox = "375"
	Ghs05PrecautionOrgPerox_378 Ghs05PrecautionOrgPerox = "378"
	Ghs05PrecautionOrgPerox_380 Ghs05PrecautionOrgPerox = "380"
	Ghs05PrecautionOrgPerox_403 Ghs05PrecautionOrgPerox = "403"
	Ghs05PrecautionOrgPerox_410 Ghs05PrecautionOrgPerox = "410"
	Ghs05PrecautionOrgPerox_411 Ghs05PrecautionOrgPerox = "411"
	Ghs05PrecautionOrgPerox_420 Ghs05PrecautionOrgPerox = "420"
	Ghs05PrecautionOrgPerox_501 Ghs05PrecautionOrgPerox = "501"
)

func (Ghs05PrecautionOrgPerox) Valid

func (v Ghs05PrecautionOrgPerox) Valid() bool

Valid reports whether v satisfies every constraint of Ghs05PrecautionOrgPerox.

type Ghs05PrecautionOxLiq

type Ghs05PrecautionOxLiq string

Ghs05PrecautionOxLiq corresponds to the XSD simple type Ghs05PrecautionOxLiq.

const (
	Ghs05PrecautionOxLiq_210 Ghs05PrecautionOxLiq = "210"
	Ghs05PrecautionOxLiq_220 Ghs05PrecautionOxLiq = "220"
	Ghs05PrecautionOxLiq_280 Ghs05PrecautionOxLiq = "280"
	Ghs05PrecautionOxLiq_283 Ghs05PrecautionOxLiq = "283"
	Ghs05PrecautionOxLiq_306 Ghs05PrecautionOxLiq = "306"
	Ghs05PrecautionOxLiq_360 Ghs05PrecautionOxLiq = "360"
	Ghs05PrecautionOxLiq_371 Ghs05PrecautionOxLiq = "371"
	Ghs05PrecautionOxLiq_375 Ghs05PrecautionOxLiq = "375"
	Ghs05PrecautionOxLiq_370 Ghs05PrecautionOxLiq = "370"
	Ghs05PrecautionOxLiq_378 Ghs05PrecautionOxLiq = "378"
	Ghs05PrecautionOxLiq_380 Ghs05PrecautionOxLiq = "380"
	Ghs05PrecautionOxLiq_420 Ghs05PrecautionOxLiq = "420"
	Ghs05PrecautionOxLiq_501 Ghs05PrecautionOxLiq = "501"
)

func (Ghs05PrecautionOxLiq) Valid

func (v Ghs05PrecautionOxLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs05PrecautionOxLiq.

type Ghs05PrecautionOxSol

type Ghs05PrecautionOxSol string

Ghs05PrecautionOxSol corresponds to the XSD simple type Ghs05PrecautionOxSol.

const (
	Ghs05PrecautionOxSol_210 Ghs05PrecautionOxSol = "210"
	Ghs05PrecautionOxSol_220 Ghs05PrecautionOxSol = "220"
	Ghs05PrecautionOxSol_280 Ghs05PrecautionOxSol = "280"
	Ghs05PrecautionOxSol_283 Ghs05PrecautionOxSol = "283"
	Ghs05PrecautionOxSol_306 Ghs05PrecautionOxSol = "306"
	Ghs05PrecautionOxSol_360 Ghs05PrecautionOxSol = "360"
	Ghs05PrecautionOxSol_370 Ghs05PrecautionOxSol = "370"
	Ghs05PrecautionOxSol_371 Ghs05PrecautionOxSol = "371"
	Ghs05PrecautionOxSol_375 Ghs05PrecautionOxSol = "375"
	Ghs05PrecautionOxSol_378 Ghs05PrecautionOxSol = "378"
	Ghs05PrecautionOxSol_380 Ghs05PrecautionOxSol = "380"
	Ghs05PrecautionOxSol_420 Ghs05PrecautionOxSol = "420"
	Ghs05PrecautionOxSol_501 Ghs05PrecautionOxSol = "501"
)

func (Ghs05PrecautionOxSol) Valid

func (v Ghs05PrecautionOxSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs05PrecautionOxSol.

type Ghs05PrecautionPressGas

type Ghs05PrecautionPressGas string

For Gases Under Pressure in transportable cylinders, P410 may be omitted. Thus P403 is added in this list.

Ghs05PrecautionPressGas corresponds to the XSD simple type Ghs05PrecautionPressGas.

const (
	Ghs05PrecautionPressGas_282 Ghs05PrecautionPressGas = "282"
	Ghs05PrecautionPressGas_315 Ghs05PrecautionPressGas = "315"
	Ghs05PrecautionPressGas_336 Ghs05PrecautionPressGas = "336"
	Ghs05PrecautionPressGas_403 Ghs05PrecautionPressGas = "403"
	Ghs05PrecautionPressGas_410 Ghs05PrecautionPressGas = "410"
)

func (Ghs05PrecautionPressGas) Valid

func (v Ghs05PrecautionPressGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs05PrecautionPressGas.

type Ghs05PrecautionSelfReact

type Ghs05PrecautionSelfReact string

Ghs05PrecautionSelfReact corresponds to the XSD simple type Ghs05PrecautionSelfReact.

const (
	Ghs05PrecautionSelfReact_210 Ghs05PrecautionSelfReact = "210"
	Ghs05PrecautionSelfReact_234 Ghs05PrecautionSelfReact = "234"
	Ghs05PrecautionSelfReact_235 Ghs05PrecautionSelfReact = "235"
	Ghs05PrecautionSelfReact_240 Ghs05PrecautionSelfReact = "240"
	Ghs05PrecautionSelfReact_280 Ghs05PrecautionSelfReact = "280"
	Ghs05PrecautionSelfReact_370 Ghs05PrecautionSelfReact = "370"
	Ghs05PrecautionSelfReact_372 Ghs05PrecautionSelfReact = "372"
	Ghs05PrecautionSelfReact_373 Ghs05PrecautionSelfReact = "373"
	Ghs05PrecautionSelfReact_375 Ghs05PrecautionSelfReact = "375"
	Ghs05PrecautionSelfReact_378 Ghs05PrecautionSelfReact = "378"
	Ghs05PrecautionSelfReact_380 Ghs05PrecautionSelfReact = "380"
	Ghs05PrecautionSelfReact_403 Ghs05PrecautionSelfReact = "403"
	Ghs05PrecautionSelfReact_411 Ghs05PrecautionSelfReact = "411"
	Ghs05PrecautionSelfReact_420 Ghs05PrecautionSelfReact = "420"
	Ghs05PrecautionSelfReact_501 Ghs05PrecautionSelfReact = "501"
)

func (Ghs05PrecautionSelfReact) Valid

func (v Ghs05PrecautionSelfReact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs05PrecautionSelfReact.

type Ghs05PrecautionWaterReact

type Ghs05PrecautionWaterReact string

Ghs05PrecautionWaterReact corresponds to the XSD simple type Ghs05PrecautionWaterReact.

const (
	Ghs05PrecautionWaterReact_223 Ghs05PrecautionWaterReact = "223"
	Ghs05PrecautionWaterReact_231 Ghs05PrecautionWaterReact = "231"
	Ghs05PrecautionWaterReact_232 Ghs05PrecautionWaterReact = "232"
	Ghs05PrecautionWaterReact_280 Ghs05PrecautionWaterReact = "280"
	Ghs05PrecautionWaterReact_302 Ghs05PrecautionWaterReact = "302"
	Ghs05PrecautionWaterReact_334 Ghs05PrecautionWaterReact = "334"
	Ghs05PrecautionWaterReact_335 Ghs05PrecautionWaterReact = "335"
	Ghs05PrecautionWaterReact_370 Ghs05PrecautionWaterReact = "370"
	Ghs05PrecautionWaterReact_378 Ghs05PrecautionWaterReact = "378"
	Ghs05PrecautionWaterReact_402 Ghs05PrecautionWaterReact = "402"
	Ghs05PrecautionWaterReact_404 Ghs05PrecautionWaterReact = "404"
	Ghs05PrecautionWaterReact_501 Ghs05PrecautionWaterReact = "501"
)

func (Ghs05PrecautionWaterReact) Valid

func (v Ghs05PrecautionWaterReact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs05PrecautionWaterReact.

type Ghs06ClassDesensExpl

type Ghs06ClassDesensExpl string

Desensitized Explosives categories according to UN GHS revision 6 (2015).

Ghs06ClassDesensExpl corresponds to the XSD simple type Ghs06ClassDesensExpl.

const (
	Ghs06ClassDesensExpl_Desen_Expl_1 Ghs06ClassDesensExpl = "Desen. Expl. 1"
	Ghs06ClassDesensExpl_Desen_Expl_2 Ghs06ClassDesensExpl = "Desen. Expl. 2"
	Ghs06ClassDesensExpl_Desen_Expl_3 Ghs06ClassDesensExpl = "Desen. Expl. 3"
	Ghs06ClassDesensExpl_Desen_Expl_4 Ghs06ClassDesensExpl = "Desen. Expl. 4"
)

func (Ghs06ClassDesensExpl) Valid

func (v Ghs06ClassDesensExpl) Valid() bool

Valid reports whether v satisfies every constraint of Ghs06ClassDesensExpl.

type Ghs06HazardDesensExpl

type Ghs06HazardDesensExpl string

Ghs06HazardDesensExpl corresponds to the XSD simple type Ghs06HazardDesensExpl.

const (
	Ghs06HazardDesensExpl_206 Ghs06HazardDesensExpl = "206"
	Ghs06HazardDesensExpl_207 Ghs06HazardDesensExpl = "207"
	Ghs06HazardDesensExpl_208 Ghs06HazardDesensExpl = "208"
)

func (Ghs06HazardDesensExpl) Valid

func (v Ghs06HazardDesensExpl) Valid() bool

Valid reports whether v satisfies every constraint of Ghs06HazardDesensExpl.

type Ghs06HazardEnum

type Ghs06HazardEnum string

List of Hazard Statement codes according to GHS revision 6, adding Desen. Expl. (H206, H207, H208).

Ghs06HazardEnum corresponds to the XSD simple type Ghs06HazardEnum.

func (Ghs06HazardEnum) Valid

func (v Ghs06HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs06HazardEnum.

type Ghs06HazardPyrGas

type Ghs06HazardPyrGas string

Ghs06HazardPyrGas corresponds to the XSD simple type Ghs06HazardPyrGas.

const (
	Ghs06HazardPyrGas_232 Ghs06HazardPyrGas = "232"
)

func (Ghs06HazardPyrGas) Valid

func (v Ghs06HazardPyrGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs06HazardPyrGas.

type Ghs06PrecautionDesensExpl

type Ghs06PrecautionDesensExpl string

Ghs06PrecautionDesensExpl corresponds to the XSD simple type Ghs06PrecautionDesensExpl.

const (
	Ghs06PrecautionDesensExpl_210  Ghs06PrecautionDesensExpl = "210"
	Ghs06PrecautionDesensExpl_212  Ghs06PrecautionDesensExpl = "212"
	Ghs06PrecautionDesensExpl_230  Ghs06PrecautionDesensExpl = "230"
	Ghs06PrecautionDesensExpl_233  Ghs06PrecautionDesensExpl = "233"
	Ghs06PrecautionDesensExpl_280  Ghs06PrecautionDesensExpl = "280"
	Ghs06PrecautionDesensExpl_380  Ghs06PrecautionDesensExpl = "380"
	Ghs06PrecautionDesensExpl_370  Ghs06PrecautionDesensExpl = "370"
	Ghs06PrecautionDesensExpl_375  Ghs06PrecautionDesensExpl = "375"
	Ghs06PrecautionDesensExpl_371  Ghs06PrecautionDesensExpl = "371"
	Ghs06PrecautionDesensExpl_3752 Ghs06PrecautionDesensExpl = "375"
	Ghs06PrecautionDesensExpl_3802 Ghs06PrecautionDesensExpl = "380"
	Ghs06PrecautionDesensExpl_401  Ghs06PrecautionDesensExpl = "401"
	Ghs06PrecautionDesensExpl_501  Ghs06PrecautionDesensExpl = "501"
)

func (Ghs06PrecautionDesensExpl) Valid

func (v Ghs06PrecautionDesensExpl) Valid() bool

Valid reports whether v satisfies every constraint of Ghs06PrecautionDesensExpl.

type Ghs07ClassFlamGas

type Ghs07ClassFlamGas string

Flammable Gas categories according to UN GHS Revision 7 (2017). Although part of category 1A, the only official abbreviation (in annex VI of the European CLP) chooses a wording which looks like different categories or even classes.

Ghs07ClassFlamGas corresponds to the XSD simple type Ghs07ClassFlamGas.

const (
	Ghs07ClassFlamGas_Flam_Gas_1A       Ghs07ClassFlamGas = "Flam. Gas 1A"
	Ghs07ClassFlamGas_Flam_Gas_1B       Ghs07ClassFlamGas = "Flam. Gas 1B"
	Ghs07ClassFlamGas_Flam_Gas_2        Ghs07ClassFlamGas = "Flam. Gas 2"
	Ghs07ClassFlamGas_Pyr_Gas           Ghs07ClassFlamGas = "Pyr. Gas"
	Ghs07ClassFlamGas_Chem_Unstab_Gas_A Ghs07ClassFlamGas = "Chem. Unstab. Gas A"
	Ghs07ClassFlamGas_Chem_Unstab_Gas_B Ghs07ClassFlamGas = "Chem. Unstab. Gas B"
)

func (Ghs07ClassFlamGas) Valid

func (v Ghs07ClassFlamGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07ClassFlamGas.

type Ghs07HazardEnum

type Ghs07HazardEnum string

List of Hazard Statement codes according to GHS revision 7, adding Pyr. Gas (H232)

Ghs07HazardEnum corresponds to the XSD simple type Ghs07HazardEnum.

func (Ghs07HazardEnum) Valid

func (v Ghs07HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07HazardEnum.

type Ghs07HazardFlamGas

type Ghs07HazardFlamGas string

Ghs07HazardFlamGas corresponds to the XSD simple type Ghs07HazardFlamGas.

const (
	Ghs07HazardFlamGas_220 Ghs07HazardFlamGas = "220"
	Ghs07HazardFlamGas_221 Ghs07HazardFlamGas = "221"
	Ghs07HazardFlamGas_232 Ghs07HazardFlamGas = "232"
	Ghs07HazardFlamGas_230 Ghs07HazardFlamGas = "230"
	Ghs07HazardFlamGas_231 Ghs07HazardFlamGas = "231"
)

func (Ghs07HazardFlamGas) Valid

func (v Ghs07HazardFlamGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07HazardFlamGas.

type Ghs07HazardStatement

type Ghs07HazardStatement struct {
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *Integer
	PhraseCode        *Ghs07HazardEnum
	FullText          *String1024
	MergePhrase       []MergePhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

GHS Hazard Statement. Note that Systems may export PhraseCode only, without FullText or PhraseId, if used for applications like workplace safety lists.

Ghs07HazardStatement corresponds to the XSD complex type Ghs07HazardStatement.

type Ghs07PrecautionAcuteToxDermal

type Ghs07PrecautionAcuteToxDermal string

Ghs07PrecautionAcuteToxDermal corresponds to the XSD simple type Ghs07PrecautionAcuteToxDermal.

const (
	Ghs07PrecautionAcuteToxDermal_262  Ghs07PrecautionAcuteToxDermal = "262"
	Ghs07PrecautionAcuteToxDermal_264  Ghs07PrecautionAcuteToxDermal = "264"
	Ghs07PrecautionAcuteToxDermal_270  Ghs07PrecautionAcuteToxDermal = "270"
	Ghs07PrecautionAcuteToxDermal_280  Ghs07PrecautionAcuteToxDermal = "280"
	Ghs07PrecautionAcuteToxDermal_302  Ghs07PrecautionAcuteToxDermal = "302"
	Ghs07PrecautionAcuteToxDermal_312  Ghs07PrecautionAcuteToxDermal = "312"
	Ghs07PrecautionAcuteToxDermal_352  Ghs07PrecautionAcuteToxDermal = "352"
	Ghs07PrecautionAcuteToxDermal_310  Ghs07PrecautionAcuteToxDermal = "310"
	Ghs07PrecautionAcuteToxDermal_3122 Ghs07PrecautionAcuteToxDermal = "312"
	Ghs07PrecautionAcuteToxDermal_321  Ghs07PrecautionAcuteToxDermal = "321"
	Ghs07PrecautionAcuteToxDermal_361  Ghs07PrecautionAcuteToxDermal = "361"
	Ghs07PrecautionAcuteToxDermal_362  Ghs07PrecautionAcuteToxDermal = "362"
	Ghs07PrecautionAcuteToxDermal_364  Ghs07PrecautionAcuteToxDermal = "364"
	Ghs07PrecautionAcuteToxDermal_405  Ghs07PrecautionAcuteToxDermal = "405"
	Ghs07PrecautionAcuteToxDermal_501  Ghs07PrecautionAcuteToxDermal = "501"
)

func (Ghs07PrecautionAcuteToxDermal) Valid

Valid reports whether v satisfies every constraint of Ghs07PrecautionAcuteToxDermal.

type Ghs07PrecautionAcuteToxOral

type Ghs07PrecautionAcuteToxOral string

Ghs07PrecautionAcuteToxOral corresponds to the XSD simple type Ghs07PrecautionAcuteToxOral.

const (
	Ghs07PrecautionAcuteToxOral_264 Ghs07PrecautionAcuteToxOral = "264"
	Ghs07PrecautionAcuteToxOral_270 Ghs07PrecautionAcuteToxOral = "270"
	Ghs07PrecautionAcuteToxOral_301 Ghs07PrecautionAcuteToxOral = "301"
	Ghs07PrecautionAcuteToxOral_310 Ghs07PrecautionAcuteToxOral = "310"
	Ghs07PrecautionAcuteToxOral_312 Ghs07PrecautionAcuteToxOral = "312"
	Ghs07PrecautionAcuteToxOral_321 Ghs07PrecautionAcuteToxOral = "321"
	Ghs07PrecautionAcuteToxOral_330 Ghs07PrecautionAcuteToxOral = "330"
	Ghs07PrecautionAcuteToxOral_405 Ghs07PrecautionAcuteToxOral = "405"
	Ghs07PrecautionAcuteToxOral_501 Ghs07PrecautionAcuteToxOral = "501"
)

func (Ghs07PrecautionAcuteToxOral) Valid

Valid reports whether v satisfies every constraint of Ghs07PrecautionAcuteToxOral.

type Ghs07PrecautionEnum

type Ghs07PrecautionEnum string

Ghs07PrecautionEnum corresponds to the XSD simple type Ghs07PrecautionEnum.

func (Ghs07PrecautionEnum) Valid

func (v Ghs07PrecautionEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07PrecautionEnum.

type Ghs07PrecautionExpl

type Ghs07PrecautionExpl string

Ghs07PrecautionExpl corresponds to the XSD simple type Ghs07PrecautionExpl.

const (
	Ghs07PrecautionExpl_201 Ghs07PrecautionExpl = "201"
	Ghs07PrecautionExpl_210 Ghs07PrecautionExpl = "210"
	Ghs07PrecautionExpl_230 Ghs07PrecautionExpl = "230"
	Ghs07PrecautionExpl_234 Ghs07PrecautionExpl = "234"
	Ghs07PrecautionExpl_240 Ghs07PrecautionExpl = "240"
	Ghs07PrecautionExpl_250 Ghs07PrecautionExpl = "250"
	Ghs07PrecautionExpl_280 Ghs07PrecautionExpl = "280"
	Ghs07PrecautionExpl_370 Ghs07PrecautionExpl = "370"
	Ghs07PrecautionExpl_372 Ghs07PrecautionExpl = "372"
	Ghs07PrecautionExpl_373 Ghs07PrecautionExpl = "373"
	Ghs07PrecautionExpl_375 Ghs07PrecautionExpl = "375"
	Ghs07PrecautionExpl_380 Ghs07PrecautionExpl = "380"
	Ghs07PrecautionExpl_401 Ghs07PrecautionExpl = "401"
	Ghs07PrecautionExpl_503 Ghs07PrecautionExpl = "503"
)

func (Ghs07PrecautionExpl) Valid

func (v Ghs07PrecautionExpl) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07PrecautionExpl.

type Ghs07PrecautionFlamGas

type Ghs07PrecautionFlamGas string

Ghs07PrecautionFlamGas corresponds to the XSD simple type Ghs07PrecautionFlamGas.

const (
	Ghs07PrecautionFlamGas_202 Ghs07PrecautionFlamGas = "202"
	Ghs07PrecautionFlamGas_210 Ghs07PrecautionFlamGas = "210"
	Ghs07PrecautionFlamGas_222 Ghs07PrecautionFlamGas = "222"
	Ghs07PrecautionFlamGas_280 Ghs07PrecautionFlamGas = "280"
	Ghs07PrecautionFlamGas_377 Ghs07PrecautionFlamGas = "377"
	Ghs07PrecautionFlamGas_381 Ghs07PrecautionFlamGas = "381"
	Ghs07PrecautionFlamGas_403 Ghs07PrecautionFlamGas = "403"
)

func (Ghs07PrecautionFlamGas) Valid

func (v Ghs07PrecautionFlamGas) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07PrecautionFlamGas.

type Ghs07PrecautionLact

type Ghs07PrecautionLact string

Ghs07PrecautionLact corresponds to the XSD simple type Ghs07PrecautionLact.

const (
	Ghs07PrecautionLact_201 Ghs07PrecautionLact = "201"
	Ghs07PrecautionLact_202 Ghs07PrecautionLact = "202"
	Ghs07PrecautionLact_260 Ghs07PrecautionLact = "260"
	Ghs07PrecautionLact_263 Ghs07PrecautionLact = "263"
	Ghs07PrecautionLact_264 Ghs07PrecautionLact = "264"
	Ghs07PrecautionLact_270 Ghs07PrecautionLact = "270"
	Ghs07PrecautionLact_308 Ghs07PrecautionLact = "308"
	Ghs07PrecautionLact_313 Ghs07PrecautionLact = "313"
)

func (Ghs07PrecautionLact) Valid

func (v Ghs07PrecautionLact) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07PrecautionLact.

type Ghs07PrecautionPyrLiq

type Ghs07PrecautionPyrLiq string

Ghs07PrecautionPyrLiq corresponds to the XSD simple type Ghs07PrecautionPyrLiq.

const (
	Ghs07PrecautionPyrLiq_210 Ghs07PrecautionPyrLiq = "210"
	Ghs07PrecautionPyrLiq_222 Ghs07PrecautionPyrLiq = "222"
	Ghs07PrecautionPyrLiq_233 Ghs07PrecautionPyrLiq = "233"
	Ghs07PrecautionPyrLiq_280 Ghs07PrecautionPyrLiq = "280"
	Ghs07PrecautionPyrLiq_302 Ghs07PrecautionPyrLiq = "302"
	Ghs07PrecautionPyrLiq_334 Ghs07PrecautionPyrLiq = "334"
	Ghs07PrecautionPyrLiq_370 Ghs07PrecautionPyrLiq = "370"
	Ghs07PrecautionPyrLiq_378 Ghs07PrecautionPyrLiq = "378"
)

func (Ghs07PrecautionPyrLiq) Valid

func (v Ghs07PrecautionPyrLiq) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07PrecautionPyrLiq.

type Ghs07PrecautionPyrSol

type Ghs07PrecautionPyrSol string

Ghs07PrecautionPyrSol corresponds to the XSD simple type Ghs07PrecautionPyrSol.

const (
	Ghs07PrecautionPyrSol_210 Ghs07PrecautionPyrSol = "210"
	Ghs07PrecautionPyrSol_222 Ghs07PrecautionPyrSol = "222"
	Ghs07PrecautionPyrSol_233 Ghs07PrecautionPyrSol = "233"
	Ghs07PrecautionPyrSol_280 Ghs07PrecautionPyrSol = "280"
	Ghs07PrecautionPyrSol_302 Ghs07PrecautionPyrSol = "302"
	Ghs07PrecautionPyrSol_334 Ghs07PrecautionPyrSol = "334"
	Ghs07PrecautionPyrSol_335 Ghs07PrecautionPyrSol = "335"
	Ghs07PrecautionPyrSol_370 Ghs07PrecautionPyrSol = "370"
	Ghs07PrecautionPyrSol_378 Ghs07PrecautionPyrSol = "378"
)

func (Ghs07PrecautionPyrSol) Valid

func (v Ghs07PrecautionPyrSol) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07PrecautionPyrSol.

type Ghs07PrecautionSelfHeat

type Ghs07PrecautionSelfHeat string

Ghs07PrecautionSelfHeat corresponds to the XSD simple type Ghs07PrecautionSelfHeat.

const (
	Ghs07PrecautionSelfHeat_235 Ghs07PrecautionSelfHeat = "235"
	Ghs07PrecautionSelfHeat_280 Ghs07PrecautionSelfHeat = "280"
	Ghs07PrecautionSelfHeat_407 Ghs07PrecautionSelfHeat = "407"
	Ghs07PrecautionSelfHeat_410 Ghs07PrecautionSelfHeat = "410"
	Ghs07PrecautionSelfHeat_413 Ghs07PrecautionSelfHeat = "413"
	Ghs07PrecautionSelfHeat_420 Ghs07PrecautionSelfHeat = "420"
)

func (Ghs07PrecautionSelfHeat) Valid

func (v Ghs07PrecautionSelfHeat) Valid() bool

Valid reports whether v satisfies every constraint of Ghs07PrecautionSelfHeat.

type Ghs07PrecautionaryStatement

type Ghs07PrecautionaryStatement struct {
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *Integer
	PhraseCode        []Ghs07PrecautionEnum
	FullText          *String1024
	MergePhrase       []MergePhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

GHS Precautionary Statement

Ghs07PrecautionaryStatement corresponds to the XSD complex type Ghs07PrecautionaryStatement.

type Ghs08HazardAerosolPressChem

type Ghs08HazardAerosolPressChem string

While Precautionary statements are combined with a plus sign, Aerosol categories carry two separate Hazard statements - an exception within GHS.

Ghs08HazardAerosolPressChem corresponds to the XSD simple type Ghs08HazardAerosolPressChem.

const (
	Ghs08HazardAerosolPressChem_222 Ghs08HazardAerosolPressChem = "222"
	Ghs08HazardAerosolPressChem_223 Ghs08HazardAerosolPressChem = "223"
	Ghs08HazardAerosolPressChem_229 Ghs08HazardAerosolPressChem = "229"
	Ghs08HazardAerosolPressChem_282 Ghs08HazardAerosolPressChem = "282"
	Ghs08HazardAerosolPressChem_283 Ghs08HazardAerosolPressChem = "283"
)

func (Ghs08HazardAerosolPressChem) Valid

Valid reports whether v satisfies every constraint of Ghs08HazardAerosolPressChem.

type Ghs08HazardEnum

type Ghs08HazardEnum string

List of Hazard Statement codes according to GHS revision 8, adding Press. Chem. (H282, H283)

Ghs08HazardEnum corresponds to the XSD simple type Ghs08HazardEnum.

func (Ghs08HazardEnum) Valid

func (v Ghs08HazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of Ghs08HazardEnum.

type GhsAllHazardEnum

type GhsAllHazardEnum string

List of all Hazard Statement codes across all revisions of GHS. Used in section 16 for the list of H phrases.

GhsAllHazardEnum corresponds to the XSD simple type GhsAllHazardEnum.

func (GhsAllHazardEnum) Valid

func (v GhsAllHazardEnum) Valid() bool

Valid reports whether v satisfies every constraint of GhsAllHazardEnum.

type GhsAllHazardStatement

type GhsAllHazardStatement struct {
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *Integer
	PhraseCode        *GhsAllHazardEnum
	FullText          *String1024
	MergePhrase       []MergePhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

GHS Hazard Statement. Note that Systems may export PhraseCode only, without FullText or PhraseId, if used for applications like workplace safety lists.

GhsAllHazardStatement corresponds to the XSD complex type GhsAllHazardStatement.

type GhsPictogramCodeEnum

type GhsPictogramCodeEnum string

Pictogram code enumeration with a predefined set of legal values.

GhsPictogramCodeEnum corresponds to the XSD simple type GhsPictogramCodeEnum.

const (
	GhsPictogramCodeEnum_GHS01 GhsPictogramCodeEnum = "GHS01"
	GhsPictogramCodeEnum_GHS02 GhsPictogramCodeEnum = "GHS02"
	GhsPictogramCodeEnum_GHS03 GhsPictogramCodeEnum = "GHS03"
	GhsPictogramCodeEnum_GHS04 GhsPictogramCodeEnum = "GHS04"
	GhsPictogramCodeEnum_GHS05 GhsPictogramCodeEnum = "GHS05"
	GhsPictogramCodeEnum_GHS06 GhsPictogramCodeEnum = "GHS06"
	GhsPictogramCodeEnum_GHS07 GhsPictogramCodeEnum = "GHS07"
	GhsPictogramCodeEnum_GHS08 GhsPictogramCodeEnum = "GHS08"
	GhsPictogramCodeEnum_GHS09 GhsPictogramCodeEnum = "GHS09"
)

func (GhsPictogramCodeEnum) Valid

func (v GhsPictogramCodeEnum) Valid() bool

Valid reports whether v satisfies every constraint of GhsPictogramCodeEnum.

type GhsSignalWord

type GhsSignalWord struct {
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *Integer
	PhraseCode        *GhsSignalWordEnum
	FullText          *String1024
	MergePhrase       []MergePhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

GHS Signal Word, ie. danger or warning.

GhsSignalWord corresponds to the XSD complex type GhsSignalWord.

type GhsSignalWordEnum

type GhsSignalWordEnum string

Signal word enumeration with a predefined set of legal values.

GhsSignalWordEnum corresponds to the XSD simple type GhsSignalWordEnum.

const (
	GhsSignalWordEnum_DGR GhsSignalWordEnum = "DGR"
	GhsSignalWordEnum_WNG GhsSignalWordEnum = "WNG"
)

func (GhsSignalWordEnum) Valid

func (v GhsSignalWordEnum) Valid() bool

Valid reports whether v satisfies every constraint of GhsSignalWordEnum.

type HandlingAndStorage

type HandlingAndStorage struct {
	SafeHandling *HandlingAndStorageSafeHandling
	// Storage precautions: Advice on specific storage requirements. How to manage
	// possible risks associated with explosive atmospheres, corrosive conditions,
	// flammability hazards, incompatible chemicals, evaporative conditions, and
	// potential ignition sources. Advices may, if relevant, include ventilation
	// requirements, specific designs for storage rooms or vessels, and quantity
	// limits under storage conditions.
	StoragePrecautions []Phrase
	// Conditions to avoid: Materials that must not get in contact with each other
	// during storage etc.
	ConditionsToAvoid []Phrase
	// Conditions for safe storage: Information on how to control the effects of
	// weather conditions, ambient pressure, temperature, sunlight, humidity,
	// vibration etc.
	ConditionsForSafeStorage *HandlingAndStorageConditionsForSafeStorage
	// For substances and mixtures designed for specific end use(s),
	// recommendations shall relate to the identified use(s) and be detailed and
	// operational. If industry or sector specific guidance is available, detailed
	// reference to it (including source and issuing date) may be made.
	SpecificEndUses *HandlingAndStorageSpecificEndUses
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 7

HandlingAndStorage corresponds to the XSD complex type HandlingAndStorage.

type HandlingAndStorageConditionsForSafeStorage

type HandlingAndStorageConditionsForSafeStorage struct {
	// Technical measures and storage conditions: Conditions required for safe
	// storage of the chemical.
	TechnicalMeasuresAndStorageConditions []Phrase
	// Packaging materials: Material and type of container to be used and packaging
	// compabilities.
	PackagingContainer []Phrase
	// Requirements for storage rooms and vessels: Specific design for storage
	// rooms or vessels (including retention walls and ventilation), incompatible
	// materials, conditions of storage (temperature and humidity limit/range,
	// light, inert gas, etc.) special electrical equipment and prevention of
	// static electricity.
	RequirementsForStorageRoomsAndVessels []Phrase
	HintsOnStorageAssembly                []Phrase
	StorageTemperature                    *PhysChemUnitValue
	StoragePressure                       *PhysChemUnitValue
	StorageAirHumidity                    *PhysChemUnitValue
	// Information on the use of stabilisers or antioxidants that are required to
	// maintain the integrity of the chemical
	StorageStability []StorageStability
	AdditionalInfo   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Conditions for safe storage: Information on how to control the effects of weather conditions, ambient pressure, temperature, sunlight, humidity, vibration etc.

HandlingAndStorageConditionsForSafeStorage corresponds to the anonymous complex type of element HandlingAndStorage/ConditionsForSafeStorage.

type HandlingAndStorageSafeHandling

type HandlingAndStorageSafeHandling struct {
	// Handling precautions: Recommendations to allow safe handling of the
	// chemical, such as containment etc.
	HandlingPrecautions []Phrase
	// Safe handling of gas containers: Recommendations and instructions on
	// handling of gas botles and containers to prevent acidents and damages.
	SafeHandlingOfGasContainers []Phrase
	PrecautionaryMeasures       *HandlingAndStorageSafeHandlingPrecautionaryMeasures
	// Advice on general occupational hygiene, such as not to eat, drink and smoke
	// in work areas, to wash hands after use, and to remove contaminated clothing
	// and protective equipment before entering eating areas.
	GeneralOccupationalHygiene []Phrase
	AdditionalInfo             []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HandlingAndStorageSafeHandling corresponds to the anonymous complex type of element HandlingAndStorage/SafeHandling.

type HandlingAndStorageSafeHandlingPrecautionaryMeasures

type HandlingAndStorageSafeHandlingPrecautionaryMeasures struct {
	ProtectiveMeasures              []Phrase
	MeasuresToPreventFire           []Phrase
	MeasuresToPreventAerosolAndDust []Phrase
	MeasuresToProtectEnvironment    []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HandlingAndStorageSafeHandlingPrecautionaryMeasures corresponds to the anonymous complex type of element HandlingAndStorage/SafeHandling/PrecautionaryMeasures.

type HandlingAndStorageSpecificEndUses

type HandlingAndStorageSpecificEndUses struct {
	Recommendations []Phrase
	// Industrial sector specific solutions: Information on industrial sector
	// specific solutions.
	IndustrialSectorSpecificSolutions []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

For substances and mixtures designed for specific end use(s), recommendations shall relate to the identified use(s) and be detailed and operational. If industry or sector specific guidance is available, detailed reference to it (including source and issuing date) may be made.

HandlingAndStorageSpecificEndUses corresponds to the anonymous complex type of element HandlingAndStorage/SpecificEndUses.

type HazardIdentification

type HazardIdentification struct {
	RegionAR *HazardIdentificationRegionAR
	RegionBR *HazardIdentificationRegionBR
	RegionCA *HazardIdentificationRegionCA
	RegionEU *HazardIdentificationRegionEU
	RegionGB *HazardIdentificationRegionGB
	RegionMX *HazardIdentificationRegionMX
	RegionTR *HazardIdentificationRegionTR
	RegionUS *HazardIdentificationRegionUS
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 2

HazardIdentification corresponds to the XSD complex type HazardIdentification.

type HazardIdentificationRegionAR

type HazardIdentificationRegionAR struct {
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardIdentificationRegionAR corresponds to the anonymous complex type of element HazardIdentification/RegionAR.

type HazardIdentificationRegionBR

type HazardIdentificationRegionBR struct {
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardIdentificationRegionBR corresponds to the anonymous complex type of element HazardIdentification/RegionBR.

type HazardIdentificationRegionCA

type HazardIdentificationRegionCA struct {
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardIdentificationRegionCA corresponds to the anonymous complex type of element HazardIdentification/RegionCA.

type HazardIdentificationRegionEU

type HazardIdentificationRegionEU struct {
	Classification *ClassificationEU
	// Additional information on classification: If the chemical do not meet the
	// classification criteria etc.
	ClassificationAdditionalInformation []Phrase
	// Hazard labelling: To collect all information on the trade product’s hazard
	// labelling in one group.
	HazardLabelling *HazardLabellingEU
	// Other hazards: Hazards which do not result in classification but which may
	// contribute to the overall hazards of the substance or mixture, such as
	// formation of air contaminants during hardening or processing, dustiness,
	// dust explosion hazards, cross-sensitisation, suffocation, freezing, high
	// potency for odour or taste, or environmental effects like hazards to
	// soil-dwelling organisms, or photochemical ozone creation potential.
	OtherHazardsInfo *HazardIdentificationRegionEUOtherHazardsInfo
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardIdentificationRegionEU corresponds to the anonymous complex type of element HazardIdentification/RegionEU.

type HazardIdentificationRegionEUOtherHazardsInfo

type HazardIdentificationRegionEUOtherHazardsInfo struct {
	// Hazard identification: Description of the most important hazardous effects
	// connected to the chemical in normal use and foreseeable misuse. This element
	// should not be used in the compilation of SDSs - only to receive information
	// from existing SDSs in import!
	HazardDescriptionGeneral []Phrase
	// Physicochemical effects: The most important adverse physicochemical effects
	// and symptoms.
	PhysicochemicalEffect []Phrase
	// Health effects: The most important adverse health effects and symptoms.
	HealthEffect []Phrase
	// Environmental effects: The most important adverse environmental effects and
	// symptoms.
	EnvironmentalEffect []Phrase
	// Effects of misuse: Description of the most important adverse effects and
	// symptoms of possible misuses that can be reasonably foreseen.
	EffectsOfMisuse []Phrase
	// Ohter hazards: Other hazards necessary to mention which do not result in
	// classification, but which contribute to overall hazards.
	OtherHazards []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Other hazards: Hazards which do not result in classification but which may contribute to the overall hazards of the substance or mixture, such as formation of air contaminants during hardening or processing, dustiness, dust explosion hazards, cross-sensitisation, suffocation, freezing, high potency for odour or taste, or environmental effects like hazards to soil-dwelling organisms, or photochemical ozone creation potential.

HazardIdentificationRegionEUOtherHazardsInfo corresponds to the anonymous complex type of element HazardIdentification/RegionEU/OtherHazardsInfo.

type HazardIdentificationRegionGB

type HazardIdentificationRegionGB struct {
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardIdentificationRegionGB corresponds to the anonymous complex type of element HazardIdentification/RegionGB.

type HazardIdentificationRegionMX

type HazardIdentificationRegionMX struct {
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardIdentificationRegionMX corresponds to the anonymous complex type of element HazardIdentification/RegionMX.

type HazardIdentificationRegionTR

type HazardIdentificationRegionTR struct {
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardIdentificationRegionTR corresponds to the anonymous complex type of element HazardIdentification/RegionTR.

type HazardIdentificationRegionUS

type HazardIdentificationRegionUS struct {
	// Other hazards: Hazards which do not result in classification but which may
	// contribute to the overall hazards of the substance or mixture, such as
	// formation of air contaminants during hardening or processing, dustiness,
	// dust explosion hazards, cross-sensitisation, suffocation, freezing, high
	// potency for odour or taste, or environmental effects like hazards to
	// soil-dwelling organisms, or photochemical ozone creation potential.
	OtherHazardsInfo *HazardIdentificationRegionUSOtherHazardsInfo
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardIdentificationRegionUS corresponds to the anonymous complex type of element HazardIdentification/RegionUS.

type HazardIdentificationRegionUSOtherHazardsInfo

type HazardIdentificationRegionUSOtherHazardsInfo struct {
	// Hazard identification: Description of the most important hazardous effects
	// connected to the chemical in normal use and foreseeable misuse. This element
	// should not be used in the compilation of SDSs - only to receive information
	// from existing SDSs in import!
	HazardDescriptionGeneral []Phrase
	// Physicochemical effects: The most important adverse physicochemical effects
	// and symptoms.
	PhysicochemicalEffect []Phrase
	// Health effects: The most important adverse health effects and symptoms.
	HealthEffect []Phrase
	// Environmental effects: The most important adverse environmental effects and
	// symptoms.
	EnvironmentalEffect []Phrase
	// Effects of misuse: Description of the most important adverse effects and
	// symptoms of possible misuses that can be reasonably foreseen.
	EffectsOfMisuse []Phrase
	// Ohter hazards: Other hazards necessary to mention which do not result in
	// classification, but which contribute to overall hazards.
	OtherHazards []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Other hazards: Hazards which do not result in classification but which may contribute to the overall hazards of the substance or mixture, such as formation of air contaminants during hardening or processing, dustiness, dust explosion hazards, cross-sensitisation, suffocation, freezing, high potency for odour or taste, or environmental effects like hazards to soil-dwelling organisms, or photochemical ozone creation potential.

HazardIdentificationRegionUSOtherHazardsInfo corresponds to the anonymous complex type of element HazardIdentification/RegionUS/OtherHazardsInfo.

type HazardLabellingEU

type HazardLabellingEU struct {
	// This node only differentiates between ATPs that change the labelling
	// framework. I.e., a product labelled according to ATP11 (or 13 for that
	// matter, which was published earlier than ATP 12), must be covered in
	// ClpAtp08HazardLabelling.
	//
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice HazardLabellingEUChoice
	// Other elements of the hazard label in accordance with EU legislation:
	// Labelling required by other EU legislation
	LabellingAccordingToOtherEuLegislation *HazardLabellingEULabellingAccordingToOtherEuLegislation
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HazardLabellingEU corresponds to the XSD complex type HazardLabellingEU.

type HazardLabellingEUChoice

type HazardLabellingEUChoice struct {
	// Labelling according to EU regulation 1272/2008, revised until and including
	// EU regulation 2020/217, based on GHS revision 7. Transition period: until 9
	// September 2021.
	ClpAtp14HazardLabelling *HazardLabellingEUChoiceClpAtp14HazardLabelling
	// Labelling according to EU regulation 1272/2008, revised until and including
	// EU regulation 2023/707, based on GHS revision 7. Transition period: until 1
	// May 2026.
	ClpHazardLabelling_2023_707 *HazardLabellingEUChoiceClpHazardLabelling_2023_707
}

This node only differentiates between ATPs that change the labelling framework. I.e., a product labelled according to ATP11 (or 13 for that matter, which was published earlier than ATP 12), must be covered in ClpAtp08HazardLabelling.

HazardLabellingEUChoice corresponds to the content model HazardLabellingEU/Choice.

type HazardLabellingEUChoiceClpAtp14HazardLabelling

type HazardLabellingEUChoiceClpAtp14HazardLabelling struct {
	// Pictogram: A graphical presentation that includes a symbol plus other
	// graphic elements, such as a border, background pattern or colour that is
	// intended to convey specific information on the hazard concerned.
	HazardPictogram []GhsPictogramCodeEnum
	// Signal word: A word that indicates the relative level of severity of hazards
	// to alert the reader to a potential hazard.
	SignalWord *GhsSignalWord
	// Hazard statement: A phrase assigned to a hazard class and category that
	// describes the nature of the hazards of a hazardous substance or mixture,
	// including, where appropriate, the degree of hazard.
	HazardStatement []Ghs07HazardStatement
	// Precautionary statement: A phrase that describes recommended measure(s) to
	// minimise or prevent adverse effects resulting from exposure to a hazardous
	// substance or mixture due to its use or disposal.
	PrecautionaryStatement []Ghs07PrecautionaryStatement
	// Supplemental information on the label: Statements shall be included in the
	// section for supplemental information on the label where a substance or
	// mixture classified as hazardous has the physical properties or health
	// properties referred to in sections 1.1 and 1.2 of Annex II of CLP. E.g.
	// EUH001, EUH203, EUH401, etc.
	SupplementalHazardInformation []SupplementalHazardInformation
	// Special supplemental labelling information: Labelling requirements according
	// to REACH Annex XVII.
	SpecialSupplementalLabelInfoMixtures []Atp14SpecialSupplementalLabelInfo
	// Additional information, CLP labelling: Information for instance on labelling
	// of combined user and transport packing (with reference.to Section 14 of the
	// SDS).
	AdditionalLabellingInfo []Phrase
	SpecialRulesOnPackaging []Phrase
	// Tactile Warning: To inform if packaging must be supplied with tactile
	// warning if the chemical is supplied to the gerneral public
	TactileWarning *Boolean
	// Child Resistant Fastening: To inform if the packaging must be supplied with
	// such fastening if the chemical is supplied to the general public.
	ChildResistantOpening *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Labelling according to EU regulation 1272/2008, revised until and including EU regulation 2020/217, based on GHS revision 7. Transition period: until 9 September 2021.

HazardLabellingEUChoiceClpAtp14HazardLabelling corresponds to the anonymous complex type of element HazardLabellingEU/Choice/ClpAtp14HazardLabelling.

type HazardLabellingEUChoiceClpHazardLabelling_2023_707

type HazardLabellingEUChoiceClpHazardLabelling_2023_707 struct {
	// Pictogram: A graphical presentation that includes a symbol plus other
	// graphic elements, such as a border, background pattern or colour that is
	// intended to convey specific information on the hazard concerned.
	HazardPictogram []GhsPictogramCodeEnum
	// Signal word: A word that indicates the relative level of severity of hazards
	// to alert the reader to a potential hazard.
	SignalWord *GhsSignalWord
	// Hazard statement: A phrase assigned to a hazard class and category that
	// describes the nature of the hazards of a hazardous substance or mixture,
	// including, where appropriate, the degree of hazard.
	HazardStatement []ClpHazardStatement_2023_707
	// Precautionary statement: A phrase that describes recommended measure(s) to
	// minimise or prevent adverse effects resulting from exposure to a hazardous
	// substance or mixture due to its use or disposal.
	PrecautionaryStatement []ClpPrecautionaryStatement_2023_707
	// Supplemental information on the label: Statements shall be included in the
	// section for supplemental information on the label where a substance or
	// mixture classified as hazardous has the physical properties or health
	// properties referred to in sections 1.1 and 1.2 of Annex II of CLP. E.g.
	// EUH001, EUH203, EUH401, etc.
	SupplementalHazardInformation []SupplementalHazardInformation
	// Special supplemental labelling information: Labelling requirements according
	// to REACH Annex XVII.
	SpecialSupplementalLabelInfoMixtures []Atp14SpecialSupplementalLabelInfo
	// Additional information, CLP labelling: Information for instance on labelling
	// of combined user and transport packing (with reference.to Section 14 of the
	// SDS).
	AdditionalLabellingInfo []Phrase
	SpecialRulesOnPackaging []Phrase
	// Tactile Warning: To inform if packaging must be supplied with tactile
	// warning if the chemical is supplied to the gerneral public
	TactileWarning *Boolean
	// Child Resistant Fastening: To inform if the packaging must be supplied with
	// such fastening if the chemical is supplied to the general public.
	ChildResistantOpening *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Labelling according to EU regulation 1272/2008, revised until and including EU regulation 2023/707, based on GHS revision 7. Transition period: until 1 May 2026.

HazardLabellingEUChoiceClpHazardLabelling_2023_707 corresponds to the anonymous complex type of element HazardLabellingEU/Choice/ClpHazardLabelling_2023_707.

type HazardLabellingEULabellingAccordingToOtherEuLegislation

type HazardLabellingEULabellingAccordingToOtherEuLegislation struct {
	// VOC Labelling: Labelling requirements according to directive 2004/42/EC
	// (amending 1999/13/EC)
	VocLabelling []HazardLabellingEULabellingAccordingToOtherEuLegislationVocLabelling
	// Detergent labelling: Labelling requirements according to detergents
	// regulation (648/2004/EC with later amanedments). Includes dosing
	// recommendations. Concentration groups: _lt 5 weight%, 5 - _lt 15 vekt%, 15 -
	// _lt 30 weight%, og _ge 30 weight%.
	DetergentLabelling []Phrase
	// Aerosol labelling: Labelling of aerosol dispensers in accordance with EU
	// directive (75/324/EEC with later amendments)
	AerosolLabelling []Phrase
	// Other labelling requirenments in accordance with EU legislation: Labelling
	// requirements imposed to the chemical in accordance with EU legislation not
	// stated above.
	OtherEuLabellingRequirements []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Other elements of the hazard label in accordance with EU legislation: Labelling required by other EU legislation

HazardLabellingEULabellingAccordingToOtherEuLegislation corresponds to the anonymous complex type of element HazardLabellingEU/LabellingAccordingToOtherEuLegislation.

type HazardLabellingEULabellingAccordingToOtherEuLegislationVocLabelling

type HazardLabellingEULabellingAccordingToOtherEuLegislationVocLabelling struct {
	// Product Subcategory: The type of paint or varnish
	ProductSubcategory *Phrase
	// Maximum VOC content limit for the mixture: The maximum concentration of VOC
	// in the actual product. To begiven i gram per litre.
	VocLimitForSubcategory *NumericRangeWithUnitAndQualifier
	// Actual max. concentration in the mixture: The concentration of VOC in the
	// mixture. To begiven i gram per litre.
	MaxVocConcInMixture *NumericRangeWithUnitAndQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

VOC Labelling: Labelling requirements according to directive 2004/42/EC (amending 1999/13/EC)

HazardLabellingEULabellingAccordingToOtherEuLegislationVocLabelling corresponds to the anonymous complex type of element HazardLabellingEU/LabellingAccordingToOtherEuLegislation/VocLabelling.

type HydrolysisRate

type HydrolysisRate struct {
	Value         *PhysChemValueWithTemperature
	Concentration *NumericRangeWithUnitAndQualifier
	PhValue       *NumericRangeWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

HydrolysisRate source: Chapter 9

HydrolysisRate corresponds to the XSD complex type HydrolysisRate.

type IdentificationSubstPrep

type IdentificationSubstPrep struct {
	// Sender-defined identification of a specification the chemical is in
	// accordance with, e.g. a formulation number. This is not meant for compliance
	// statements like international or vendor-internal standards!
	SpecificationNo *String128
	// At least one instance (with empty UserId) for the identification as
	// delivered by the supplier. Use more instances for various package sizes,
	// various products in a group SDS, or (with filled UserId) for reference to
	// relabelled products of the SDS recipient. Also for group safety data sheets,
	// each instance of TradeProductIdentity covers one substance or product. When
	// importing, make sure that SDScom documents are not automatically replaced if
	// the product identity is the same! GTINs are not necessarily unique (they
	// should, but aren't in practice!), and product identities may refer to kits
	// with multiple products and SDSs. Unique IDs that allow automatic overriding
	// of data require a bilateral agreement between customer and supplier and
	// should be placed in ProductNo.
	TradeProductIdentity []IdentificationSubstPrepTradeProductIdentity
	// Describes any combination of industrial/professional/consumer in a way
	// compatible e.g. to CLP article 45 poison center notification format.
	TargetGroup       *IdentificationSubstPrepTargetGroup
	Use               []Phrase
	UseAdvisedAgainst []Phrase
	RegionCA          *SdsSupplierInfo
	RegionEU          *SdsSupplierInfoEU
	RegionUS          *SdsSupplierInfo
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 1

IdentificationSubstPrep corresponds to the XSD complex type IdentificationSubstPrep.

type IdentificationSubstPrepTargetGroup

type IdentificationSubstPrepTargetGroup struct {
	IndustrialUse   *Boolean
	ProfessionalUse *Boolean
	ConsumerUse     *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Describes any combination of industrial/professional/consumer in a way compatible e.g. to CLP article 45 poison center notification format.

IdentificationSubstPrepTargetGroup corresponds to the anonymous complex type of element IdentificationSubstPrep/TargetGroup.

type IdentificationSubstPrepTradeProductIdentity

type IdentificationSubstPrepTradeProductIdentity struct {
	// The user (direct or indirect customer of the supplier, recipient of the SDS)
	// that the information in this instance of TradeIdentity is meant for. Leave
	// empty if this instance of TradeProductIdentity refers to the supplier.
	UserId *String128
	// The user's item number: The item number(s) used internally by the customer
	// (user). Usually just 1 instance per TradeProductIdentity.
	ProductNoUser []String128
	// for single-constituent (chemically pure) Substances.
	SubstanceIdentifiers *SubstanceIdentifiers
	// Substances as well as mixtures can have trade names, thus the
	// ProductIdentifiers should be applied to both.
	ProductIdentifiers *IdentificationSubstPrepTradeProductIdentityProductIdentifiers
	// GTIN No, in Europe also known as EAN. Has max. 1 instance in an ideal world.
	ProductGtin []ProductGtin
	// This is the place to describe kits. If the data describes a product P which
	// is part of kit K, create two instances of ProductIdentity: One for P, and
	// one for K with an entry in ProductDefinition that describes "This Product is
	// a kit. The data describes one part of the kit."
	ProductDefinition *Phrase
	// This node and enclosed information are not required for the SDS, but helpful
	// to identfy the packaged product and required for poison center notification
	// according to CLP article 45.
	Packaging      *IdentificationSubstPrepTradeProductIdentityPackaging
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

At least one instance (with empty UserId) for the identification as delivered by the supplier. Use more instances for various package sizes, various products in a group SDS, or (with filled UserId) for reference to relabelled products of the SDS recipient. Also for group safety data sheets, each instance of TradeProductIdentity covers one substance or product. When importing, make sure that SDScom documents are not automatically replaced if the product identity is the same! GTINs are not necessarily unique (they should, but aren't in practice!), and product identities may refer to kits with multiple products and SDSs. Unique IDs that allow automatic overriding of data require a bilateral agreement between customer and supplier and should be placed in ProductNo.

IdentificationSubstPrepTradeProductIdentity corresponds to the anonymous complex type of element IdentificationSubstPrep/TradeProductIdentity.

type IdentificationSubstPrepTradeProductIdentityPackaging

type IdentificationSubstPrepTradeProductIdentityPackaging struct {
	PackagingType *PackagingTypeEnum
	// Further specifies the material and type of packaging.
	PackagingTypeDescription []Phrase
	PackagingSize            *NumericRangeWithUnitAndQualifier
	PackagingMaterial        *PackagingMaterialEnum
	// Further specifies the material and type of packaging.
	PackagingMaterialDescription []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

This node and enclosed information are not required for the SDS, but helpful to identfy the packaged product and required for poison center notification according to CLP article 45.

IdentificationSubstPrepTradeProductIdentityPackaging corresponds to the anonymous complex type of element IdentificationSubstPrep/TradeProductIdentity/Packaging.

type IdentificationSubstPrepTradeProductIdentityProductIdentifiers

type IdentificationSubstPrepTradeProductIdentityProductIdentifiers struct {
	// for Mixtures
	TradeName []String1024
	RegionEU  *IdentificationSubstPrepTradeProductIdentityProductIdentifiersRegionEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Substances as well as mixtures can have trade names, thus the ProductIdentifiers should be applied to both.

IdentificationSubstPrepTradeProductIdentityProductIdentifiers corresponds to the anonymous complex type of element IdentificationSubstPrep/TradeProductIdentity/ProductIdentifiers.

type IdentificationSubstPrepTradeProductIdentityProductIdentifiersRegionEU

type IdentificationSubstPrepTradeProductIdentityProductIdentifiersRegionEU struct {
	// Companies are allowed to define multiple UFIs for the same composition, even
	// for the same product. As group safety data sheets are allowed, it should be
	// possible to transmit multiple UFIs although the main intention for multiple
	// UFIs might be to hide the identity of differently named products.
	Ufi []Ufi
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

IdentificationSubstPrepTradeProductIdentityProductIdentifiersRegionEU corresponds to the anonymous complex type of element IdentificationSubstPrep/TradeProductIdentity/ProductIdentifiers/RegionEU.

type IndexNo

type IndexNo string

The Index number string for a substance, as listed in part 3 of Annex VI to CLP regulation (EC) No 1272/2008.

IndexNo corresponds to the XSD simple type IndexNo.

func (IndexNo) Valid

func (v IndexNo) Valid() bool

Valid reports whether v satisfies every constraint of IndexNo.

type Int

type Int string

Int is a value of xs:int in its lexical form.

func (Int) Int64

func (i Int) Int64() (int64, error)

Int64 returns the value of i.

func (Int) Valid

func (i Int) Valid() bool

Valid reports whether i is a valid xs:int.

type Int4

type Int4 string

A positive integer number with exactly 4 digits.

Int4 corresponds to the XSD simple type int4.

func (Int4) Valid

func (v Int4) Valid() bool

Valid reports whether v satisfies every constraint of Int4.

type Int20

type Int20 string

A positive integer number with 1 to 20 digits.

Int20 corresponds to the XSD simple type int20.

func (Int20) Valid

func (v Int20) Valid() bool

Valid reports whether v satisfies every constraint of Int20.

type Integer

type Integer string

Integer is a value of xs:integer in its lexical form.

func IntegerOf

func IntegerOf(i int64) Integer

IntegerOf returns the lexical form of i.

func (Integer) Int64

func (i Integer) Int64() (int64, error)

Int64 returns the value of i.

func (Integer) Valid

func (i Integer) Valid() bool

Valid reports whether i is a valid xs:integer.

type Inventories

type Inventories struct {
	RegionAU *InventoriesRegionAU
	RegionCA *InventoriesRegionCA
	RegionCN *InventoriesRegionCN
	RegionEU *InventoriesRegionEU
	RegionJP *InventoriesRegionJP
	RegionKO *InventoriesRegionKO
	RegionMX *InventoriesRegionMX
	RegionNZ *InventoriesRegionNZ
	RegionPH *InventoriesRegionPH
	RegionRU *InventoriesRegionRU
	RegionTR *InventoriesRegionTR
	RegionTW *InventoriesRegionTW
	RegionUS *InventoriesRegionUS
	RegionVN *InventoriesRegionVN
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Inventories corresponds to the XSD complex type Inventories.

type InventoriesRegionAU

type InventoriesRegionAU struct {
	// Chemical inventory
	AicsListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionAU corresponds to the anonymous complex type of element Inventories/RegionAU.

type InventoriesRegionCA

type InventoriesRegionCA struct {
	// Chemical inventory
	DslListed *Boolean
	// Chemical inventory
	NdslListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionCA corresponds to the anonymous complex type of element Inventories/RegionCA.

type InventoriesRegionCN

type InventoriesRegionCN struct {
	// Chemical inventory
	IecscListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionCN corresponds to the anonymous complex type of element Inventories/RegionCN.

type InventoriesRegionEU

type InventoriesRegionEU struct {
	// Chemical inventory
	ReachRegistration []InventoriesRegionEUReachRegistration
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionEU corresponds to the anonymous complex type of element Inventories/RegionEU.

type InventoriesRegionEUReachRegistration

type InventoriesRegionEUReachRegistration struct {
	// REACH registration number: A number issued by ECHA to state that a
	// registration of a substance is complete. The last four digits are
	// identification of the company and may be omitted by DUs (downstream users).
	RegistrationNumber *ReachRegNo
	// Info on REACH registration No: E.g. used to describe why a registration
	// number is not supplied.
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Chemical inventory

InventoriesRegionEUReachRegistration corresponds to the anonymous complex type of element Inventories/RegionEU/ReachRegistration.

type InventoriesRegionJP

type InventoriesRegionJP struct {
	// Chemical inventory
	EncsMitiNo *string
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionJP corresponds to the anonymous complex type of element Inventories/RegionJP.

type InventoriesRegionKO

type InventoriesRegionKO struct {
	// Chemical inventory
	KeciNo *string
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionKO corresponds to the anonymous complex type of element Inventories/RegionKO.

type InventoriesRegionMX

type InventoriesRegionMX struct {
	// Chemical inventory
	InsqListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionMX corresponds to the anonymous complex type of element Inventories/RegionMX.

type InventoriesRegionNZ

type InventoriesRegionNZ struct {
	// Chemical inventory
	NziocListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionNZ corresponds to the anonymous complex type of element Inventories/RegionNZ.

type InventoriesRegionPH

type InventoriesRegionPH struct {
	// Chemical inventory
	PiccsListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionPH corresponds to the anonymous complex type of element Inventories/RegionPH.

type InventoriesRegionRU

type InventoriesRegionRU struct {
	// Chemical inventory
	RpohvNo *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionRU corresponds to the anonymous complex type of element Inventories/RegionRU.

type InventoriesRegionTR

type InventoriesRegionTR struct {
	// Chemical inventory
	KkdikListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionTR corresponds to the anonymous complex type of element Inventories/RegionTR.

type InventoriesRegionTW

type InventoriesRegionTW struct {
	// Chemical inventory
	TcsiListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionTW corresponds to the anonymous complex type of element Inventories/RegionTW.

type InventoriesRegionUS

type InventoriesRegionUS struct {
	// TSCA section 8(b) = TSCA Inventory, available at
	// https://www.epa.gov/tsca-inventory/how-access-tsca-inventory#download
	TscaListed     *Boolean
	TscaHpvcListed *Boolean
	// Pre-Manufacture Notice number. Disclosure is not an SDS requirement, but may
	// help to convince the customer that a certain substance is marketable in the
	// US.
	TscaPmnNumber *InventoriesRegionUSTscaPmnNumber
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionUS corresponds to the anonymous complex type of element Inventories/RegionUS.

type InventoriesRegionUSTscaPmnNumber

type InventoriesRegionUSTscaPmnNumber string

InventoriesRegionUSTscaPmnNumber corresponds to an anonymous XSD simple type.

func (InventoriesRegionUSTscaPmnNumber) Valid

Valid reports whether v satisfies every constraint of InventoriesRegionUSTscaPmnNumber.

type InventoriesRegionVN

type InventoriesRegionVN struct {
	// Chemical inventory
	VneciListed *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InventoriesRegionVN corresponds to the anonymous complex type of element Inventories/RegionVN.

type InvestigationMethod

type InvestigationMethod struct {
	Method         *InvestigationMethodEnum
	MethodFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

InvestigationMethod corresponds to the XSD complex type InvestigationMethod.

type InvestigationMethodEnum

type InvestigationMethodEnum string

InvestigationMethodEnum corresponds to the XSD simple type InvestigationMethodEnum.

const (
	InvestigationMethodEnum_in_vivo  InvestigationMethodEnum = "in-vivo"
	InvestigationMethodEnum_in_vitro InvestigationMethodEnum = "in-vitro"
)

func (InvestigationMethodEnum) Valid

func (v InvestigationMethodEnum) Valid() bool

Valid reports whether v satisfies every constraint of InvestigationMethodEnum.

type JustificationForUpdateEnum

type JustificationForUpdateEnum string

Enumeration for structured communication of SDS changes, consistent with Iuclid6 PG6-60571 v1.0 (Justifications for update) for CLP article 45 notification: 64936 change in composition of the mixture (addition, deletion, substitution of component) 64937 change in composition of the mixture (change in the concentration range) 64938 change in composition of the mixture (change in the exact concentration) 64939 change in the mixture classification 64940 change in the product identifier 64941 new toxicological information available 1342 other

JustificationForUpdateEnum corresponds to the XSD simple type JustificationForUpdateEnum.

const (
	JustificationForUpdateEnum_ChangeComponent             JustificationForUpdateEnum = "ChangeComponent"
	JustificationForUpdateEnum_ChangeConcentrationRange    JustificationForUpdateEnum = "ChangeConcentrationRange"
	JustificationForUpdateEnum_ChangeExactConcentration    JustificationForUpdateEnum = "ChangeExactConcentration"
	JustificationForUpdateEnum_ChangeMixtureClassification JustificationForUpdateEnum = "ChangeMixtureClassification"
	JustificationForUpdateEnum_ChangeProductIdentifier     JustificationForUpdateEnum = "ChangeProductIdentifier"
	JustificationForUpdateEnum_NewToxInfo                  JustificationForUpdateEnum = "NewToxInfo"
	JustificationForUpdateEnum_Other                       JustificationForUpdateEnum = "Other"
)

func (JustificationForUpdateEnum) Valid

func (v JustificationForUpdateEnum) Valid() bool

Valid reports whether v satisfies every constraint of JustificationForUpdateEnum.

type LanguageCodeEnum

type LanguageCodeEnum string

Language according to ISO standard ISO 639-1 (2 letters).

LanguageCodeEnum corresponds to the XSD simple type LanguageCodeEnum.

const (
	LanguageCodeEnum_aa LanguageCodeEnum = "aa"
	LanguageCodeEnum_ab LanguageCodeEnum = "ab"
	LanguageCodeEnum_ae LanguageCodeEnum = "ae"
	LanguageCodeEnum_af LanguageCodeEnum = "af"
	LanguageCodeEnum_ak LanguageCodeEnum = "ak"
	LanguageCodeEnum_am LanguageCodeEnum = "am"
	LanguageCodeEnum_an LanguageCodeEnum = "an"
	LanguageCodeEnum_ar LanguageCodeEnum = "ar"
	LanguageCodeEnum_as LanguageCodeEnum = "as"
	LanguageCodeEnum_av LanguageCodeEnum = "av"
	LanguageCodeEnum_ay LanguageCodeEnum = "ay"
	LanguageCodeEnum_az LanguageCodeEnum = "az"
	LanguageCodeEnum_ba LanguageCodeEnum = "ba"
	LanguageCodeEnum_be LanguageCodeEnum = "be"
	LanguageCodeEnum_bg LanguageCodeEnum = "bg"
	LanguageCodeEnum_bh LanguageCodeEnum = "bh"
	LanguageCodeEnum_bi LanguageCodeEnum = "bi"
	LanguageCodeEnum_bm LanguageCodeEnum = "bm"
	LanguageCodeEnum_bn LanguageCodeEnum = "bn"
	LanguageCodeEnum_bo LanguageCodeEnum = "bo"
	LanguageCodeEnum_br LanguageCodeEnum = "br"
	LanguageCodeEnum_bs LanguageCodeEnum = "bs"
	LanguageCodeEnum_ca LanguageCodeEnum = "ca"
	LanguageCodeEnum_ce LanguageCodeEnum = "ce"
	LanguageCodeEnum_ch LanguageCodeEnum = "ch"
	LanguageCodeEnum_co LanguageCodeEnum = "co"
	LanguageCodeEnum_cr LanguageCodeEnum = "cr"
	LanguageCodeEnum_cs LanguageCodeEnum = "cs"
	LanguageCodeEnum_cu LanguageCodeEnum = "cu"
	LanguageCodeEnum_cv LanguageCodeEnum = "cv"
	LanguageCodeEnum_cy LanguageCodeEnum = "cy"
	LanguageCodeEnum_da LanguageCodeEnum = "da"
	LanguageCodeEnum_de LanguageCodeEnum = "de"
	LanguageCodeEnum_dv LanguageCodeEnum = "dv"
	LanguageCodeEnum_dz LanguageCodeEnum = "dz"
	LanguageCodeEnum_ee LanguageCodeEnum = "ee"
	LanguageCodeEnum_el LanguageCodeEnum = "el"
	LanguageCodeEnum_en LanguageCodeEnum = "en"
	LanguageCodeEnum_eo LanguageCodeEnum = "eo"
	LanguageCodeEnum_es LanguageCodeEnum = "es"
	LanguageCodeEnum_et LanguageCodeEnum = "et"
	LanguageCodeEnum_eu LanguageCodeEnum = "eu"
	LanguageCodeEnum_fa LanguageCodeEnum = "fa"
	LanguageCodeEnum_ff LanguageCodeEnum = "ff"
	LanguageCodeEnum_fi LanguageCodeEnum = "fi"
	LanguageCodeEnum_fj LanguageCodeEnum = "fj"
	LanguageCodeEnum_fo LanguageCodeEnum = "fo"
	LanguageCodeEnum_fr LanguageCodeEnum = "fr"
	LanguageCodeEnum_fy LanguageCodeEnum = "fy"
	LanguageCodeEnum_ga LanguageCodeEnum = "ga"
	LanguageCodeEnum_gd LanguageCodeEnum = "gd"
	LanguageCodeEnum_gl LanguageCodeEnum = "gl"
	LanguageCodeEnum_gn LanguageCodeEnum = "gn"
	LanguageCodeEnum_gu LanguageCodeEnum = "gu"
	LanguageCodeEnum_gv LanguageCodeEnum = "gv"
	LanguageCodeEnum_ha LanguageCodeEnum = "ha"
	LanguageCodeEnum_he LanguageCodeEnum = "he"
	LanguageCodeEnum_hi LanguageCodeEnum = "hi"
	LanguageCodeEnum_ho LanguageCodeEnum = "ho"
	LanguageCodeEnum_hr LanguageCodeEnum = "hr"
	LanguageCodeEnum_ht LanguageCodeEnum = "ht"
	LanguageCodeEnum_hu LanguageCodeEnum = "hu"
	LanguageCodeEnum_hy LanguageCodeEnum = "hy"
	LanguageCodeEnum_hz LanguageCodeEnum = "hz"
	LanguageCodeEnum_ia LanguageCodeEnum = "ia"
	LanguageCodeEnum_id LanguageCodeEnum = "id"
	LanguageCodeEnum_ie LanguageCodeEnum = "ie"
	LanguageCodeEnum_ig LanguageCodeEnum = "ig"
	LanguageCodeEnum_ii LanguageCodeEnum = "ii"
	LanguageCodeEnum_ik LanguageCodeEnum = "ik"
	LanguageCodeEnum_io LanguageCodeEnum = "io"
	LanguageCodeEnum_is LanguageCodeEnum = "is"
	LanguageCodeEnum_it LanguageCodeEnum = "it"
	LanguageCodeEnum_iu LanguageCodeEnum = "iu"
	LanguageCodeEnum_ja LanguageCodeEnum = "ja"
	LanguageCodeEnum_jv LanguageCodeEnum = "jv"
	LanguageCodeEnum_ka LanguageCodeEnum = "ka"
	LanguageCodeEnum_kg LanguageCodeEnum = "kg"
	LanguageCodeEnum_ki LanguageCodeEnum = "ki"
	LanguageCodeEnum_kj LanguageCodeEnum = "kj"
	LanguageCodeEnum_kk LanguageCodeEnum = "kk"
	LanguageCodeEnum_kl LanguageCodeEnum = "kl"
	LanguageCodeEnum_km LanguageCodeEnum = "km"
	LanguageCodeEnum_kn LanguageCodeEnum = "kn"
	LanguageCodeEnum_ko LanguageCodeEnum = "ko"
	LanguageCodeEnum_kr LanguageCodeEnum = "kr"
	LanguageCodeEnum_ks LanguageCodeEnum = "ks"
	LanguageCodeEnum_ku LanguageCodeEnum = "ku"
	LanguageCodeEnum_kv LanguageCodeEnum = "kv"
	LanguageCodeEnum_kw LanguageCodeEnum = "kw"
	LanguageCodeEnum_ky LanguageCodeEnum = "ky"
	LanguageCodeEnum_la LanguageCodeEnum = "la"
	LanguageCodeEnum_lb LanguageCodeEnum = "lb"
	LanguageCodeEnum_lg LanguageCodeEnum = "lg"
	LanguageCodeEnum_li LanguageCodeEnum = "li"
	LanguageCodeEnum_ln LanguageCodeEnum = "ln"
	LanguageCodeEnum_lo LanguageCodeEnum = "lo"
	LanguageCodeEnum_lt LanguageCodeEnum = "lt"
	LanguageCodeEnum_lu LanguageCodeEnum = "lu"
	LanguageCodeEnum_lv LanguageCodeEnum = "lv"
	LanguageCodeEnum_mg LanguageCodeEnum = "mg"
	LanguageCodeEnum_mh LanguageCodeEnum = "mh"
	LanguageCodeEnum_mi LanguageCodeEnum = "mi"
	LanguageCodeEnum_mk LanguageCodeEnum = "mk"
	LanguageCodeEnum_ml LanguageCodeEnum = "ml"
	LanguageCodeEnum_mn LanguageCodeEnum = "mn"
	LanguageCodeEnum_mr LanguageCodeEnum = "mr"
	LanguageCodeEnum_ms LanguageCodeEnum = "ms"
	LanguageCodeEnum_mt LanguageCodeEnum = "mt"
	LanguageCodeEnum_my LanguageCodeEnum = "my"
	LanguageCodeEnum_na LanguageCodeEnum = "na"
	LanguageCodeEnum_nb LanguageCodeEnum = "nb"
	LanguageCodeEnum_nd LanguageCodeEnum = "nd"
	LanguageCodeEnum_ne LanguageCodeEnum = "ne"
	LanguageCodeEnum_ng LanguageCodeEnum = "ng"
	LanguageCodeEnum_nl LanguageCodeEnum = "nl"
	LanguageCodeEnum_nn LanguageCodeEnum = "nn"
	LanguageCodeEnum_no LanguageCodeEnum = "no"
	LanguageCodeEnum_nr LanguageCodeEnum = "nr"
	LanguageCodeEnum_nv LanguageCodeEnum = "nv"
	LanguageCodeEnum_ny LanguageCodeEnum = "ny"
	LanguageCodeEnum_oc LanguageCodeEnum = "oc"
	LanguageCodeEnum_oj LanguageCodeEnum = "oj"
	LanguageCodeEnum_om LanguageCodeEnum = "om"
	LanguageCodeEnum_or LanguageCodeEnum = "or"
	LanguageCodeEnum_os LanguageCodeEnum = "os"
	LanguageCodeEnum_pa LanguageCodeEnum = "pa"
	LanguageCodeEnum_pi LanguageCodeEnum = "pi"
	LanguageCodeEnum_pl LanguageCodeEnum = "pl"
	LanguageCodeEnum_ps LanguageCodeEnum = "ps"
	LanguageCodeEnum_pt LanguageCodeEnum = "pt"
	LanguageCodeEnum_qu LanguageCodeEnum = "qu"
	LanguageCodeEnum_rm LanguageCodeEnum = "rm"
	LanguageCodeEnum_rn LanguageCodeEnum = "rn"
	LanguageCodeEnum_ro LanguageCodeEnum = "ro"
	LanguageCodeEnum_ru LanguageCodeEnum = "ru"
	LanguageCodeEnum_rw LanguageCodeEnum = "rw"
	LanguageCodeEnum_sa LanguageCodeEnum = "sa"
	LanguageCodeEnum_sc LanguageCodeEnum = "sc"
	LanguageCodeEnum_sd LanguageCodeEnum = "sd"
	LanguageCodeEnum_se LanguageCodeEnum = "se"
	LanguageCodeEnum_sg LanguageCodeEnum = "sg"
	LanguageCodeEnum_si LanguageCodeEnum = "si"
	LanguageCodeEnum_sk LanguageCodeEnum = "sk"
	LanguageCodeEnum_sl LanguageCodeEnum = "sl"
	LanguageCodeEnum_sm LanguageCodeEnum = "sm"
	LanguageCodeEnum_sn LanguageCodeEnum = "sn"
	LanguageCodeEnum_so LanguageCodeEnum = "so"
	LanguageCodeEnum_sq LanguageCodeEnum = "sq"
	LanguageCodeEnum_sr LanguageCodeEnum = "sr"
	LanguageCodeEnum_ss LanguageCodeEnum = "ss"
	LanguageCodeEnum_st LanguageCodeEnum = "st"
	LanguageCodeEnum_su LanguageCodeEnum = "su"
	LanguageCodeEnum_sv LanguageCodeEnum = "sv"
	LanguageCodeEnum_sw LanguageCodeEnum = "sw"
	LanguageCodeEnum_ta LanguageCodeEnum = "ta"
	LanguageCodeEnum_te LanguageCodeEnum = "te"
	LanguageCodeEnum_tg LanguageCodeEnum = "tg"
	LanguageCodeEnum_th LanguageCodeEnum = "th"
	LanguageCodeEnum_ti LanguageCodeEnum = "ti"
	LanguageCodeEnum_tk LanguageCodeEnum = "tk"
	LanguageCodeEnum_tl LanguageCodeEnum = "tl"
	LanguageCodeEnum_tn LanguageCodeEnum = "tn"
	LanguageCodeEnum_to LanguageCodeEnum = "to"
	LanguageCodeEnum_tr LanguageCodeEnum = "tr"
	LanguageCodeEnum_ts LanguageCodeEnum = "ts"
	LanguageCodeEnum_tt LanguageCodeEnum = "tt"
	LanguageCodeEnum_tw LanguageCodeEnum = "tw"
	LanguageCodeEnum_ty LanguageCodeEnum = "ty"
	LanguageCodeEnum_ug LanguageCodeEnum = "ug"
	LanguageCodeEnum_uk LanguageCodeEnum = "uk"
	LanguageCodeEnum_ur LanguageCodeEnum = "ur"
	LanguageCodeEnum_uz LanguageCodeEnum = "uz"
	LanguageCodeEnum_ve LanguageCodeEnum = "ve"
	LanguageCodeEnum_vi LanguageCodeEnum = "vi"
	LanguageCodeEnum_vo LanguageCodeEnum = "vo"
	LanguageCodeEnum_wa LanguageCodeEnum = "wa"
	LanguageCodeEnum_wo LanguageCodeEnum = "wo"
	LanguageCodeEnum_xh LanguageCodeEnum = "xh"
	LanguageCodeEnum_yi LanguageCodeEnum = "yi"
	LanguageCodeEnum_yo LanguageCodeEnum = "yo"
	LanguageCodeEnum_za LanguageCodeEnum = "za"
	LanguageCodeEnum_zh LanguageCodeEnum = "zh"
	LanguageCodeEnum_zu LanguageCodeEnum = "zu"
)

func (LanguageCodeEnum) Valid

func (v LanguageCodeEnum) Valid() bool

Valid reports whether v satisfies every constraint of LanguageCodeEnum.

type LowerQualifierEnum

type LowerQualifierEnum string

LowerQualifierEnum corresponds to the XSD simple type LowerQualifierEnum.

const (
	LowerQualifierEnum_gt LowerQualifierEnum = "gt"
	LowerQualifierEnum_ge LowerQualifierEnum = "ge"
)

func (LowerQualifierEnum) Valid

func (v LowerQualifierEnum) Valid() bool

Valid reports whether v satisfies every constraint of LowerQualifierEnum.

type MergePhrase

type MergePhrase struct {
	// Phrase ID in the catalogue referenced by PhraseCatalogueId - which is not
	// eSDScom, because eSDScom phrase IDs are represented as a field in the phrase
	// types.
	//
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// ID of the phrase catalogue that is listed in the XML file.
	//
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *EsdscomPhraseCatalogueId
	// MergePhraseNo is the attribute MergePhraseNo. Its schema default is "0".
	MergePhraseNo *Integer
	// ListItemNo is the attribute ListItemNo. Its schema default is "0".
	ListItemNo *Integer
	MergeText  *String512
	Delimiter  *String3
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Phrase, using references to a coordination body assigning ids to all phrases. Ids have precedence over textual phrase values if both are present. Note the use of MergePhrase restricts the nesting depth to one level.

MergePhrase corresponds to the XSD complex type MergePhrase.

type MsafeEnvironment

type MsafeEnvironment struct {
	// Describes the maximum amount of a substance (or product) that can be used
	// safely under the conditions communicated in the ES. It can be expressed by
	// using different units of measure, such as kg/day, tonnes/year.
	Msafe *NumericValueWithUnitAndQualifier
	// Specifies the compartment that has triggered the Msafe.
	CriticalCompartmentForMsafe *EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes the maximum amount of a substance or product which can be used safely under the conditions.

MsafeEnvironment corresponds to the XSD complex type MsafeEnvironment.

type MultiplyingFactorInt

type MultiplyingFactorInt string

A positive integer that covers powers of 10.

MultiplyingFactorInt corresponds to the XSD simple type MultiplyingFactorInt.

func (MultiplyingFactorInt) Valid

func (v MultiplyingFactorInt) Valid() bool

Valid reports whether v satisfies every constraint of MultiplyingFactorInt.

type NationalWasteLegislationDE

type NationalWasteLegislationDE struct {
	// National waste code: National identification number for the chemical and or
	// its packaging as waste, with a corresponding description of the waste
	// covered by the actual number.
	WasteCode *Phrase
	// National waste regulations: National regulations related to waste that
	// applies to the product or its packing.
	WasteRegulations []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

NationalWasteLegislationDE

NationalWasteLegislationDE corresponds to the XSD complex type NationalWasteLegislationDE.

type NumericRangeWithQualifier

type NumericRangeWithQualifier struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice NumericRangeWithUnitAndQualifierChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Numeric ranges only make sense with qualifiers, thus no "NumericRange" or "NumericRangeWithUnit" types exist.

NumericRangeWithQualifier corresponds to the XSD complex type NumericRangeWithQualifier.

type NumericRangeWithUnitAndQualifier

type NumericRangeWithUnitAndQualifier struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice       NumericRangeWithUnitAndQualifierChoice
	Unit         *UnitEnum
	UnitFulltext []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

NumericRangeWithUnitAndQualifier corresponds to the XSD complex type NumericRangeWithUnitAndQualifier.

type NumericRangeWithUnitAndQualifierChoice

type NumericRangeWithUnitAndQualifierChoice struct {
	// ExactValueSymbolGroup holds a sequence.
	ExactValueSymbolGroup *NumericRangeWithUnitAndQualifierChoiceExactValueSymbolGroup
	// UpperValueSymbolGroup holds a sequence.
	UpperValueSymbolGroup *NumericRangeWithUnitAndQualifierChoiceUpperValueSymbolGroup
}

NumericRangeWithUnitAndQualifierChoice corresponds to the content model NumericRangeWithUnitAndQualifier/Choice.

type NumericRangeWithUnitAndQualifierChoiceExactValueSymbolGroup

type NumericRangeWithUnitAndQualifierChoiceExactValueSymbolGroup struct {
	ExactValueSymbol *ExactQualifierEnum
	ExactValue       *Float
}

NumericRangeWithUnitAndQualifierChoiceExactValueSymbolGroup corresponds to the content model NumericRangeWithUnitAndQualifier/Choice/ExactValueSymbolGroup.

type NumericRangeWithUnitAndQualifierChoiceUpperValueSymbolGroup

type NumericRangeWithUnitAndQualifierChoiceUpperValueSymbolGroup struct {
	UpperValueSymbol *UpperQualifierEnum
	UpperValue       *Float
	LowerValueSymbol *LowerQualifierEnum
	LowerValue       *Float
}

NumericRangeWithUnitAndQualifierChoiceUpperValueSymbolGroup corresponds to the content model NumericRangeWithUnitAndQualifier/Choice/UpperValueSymbolGroup.

type NumericValue

type NumericValue struct {
	ExactValue *Float
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

NumericValue corresponds to the XSD complex type NumericValue.

type NumericValueWithQualifier

type NumericValueWithQualifier struct {
	ExactValueSymbol *ExactQualifierEnum
	ExactValue       *Float
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

NumericValueWithQualifier corresponds to the XSD complex type NumericValueWithQualifier.

type NumericValueWithUnit

type NumericValueWithUnit struct {
	ExactValue   *Float
	Unit         *UnitEnum
	UnitFulltext []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

NumericValueWithUnit corresponds to the XSD complex type NumericValueWithUnit.

type NumericValueWithUnitAndQualifier

type NumericValueWithUnitAndQualifier struct {
	ExactValueSymbol *ExactQualifierEnum
	ExactValue       *Float
	Unit             *UnitEnum
	UnitFulltext     []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

NumericValueWithUnitAndQualifier corresponds to the XSD complex type NumericValueWithUnitAndQualifier.

type OccupationalExposureLimit

type OccupationalExposureLimit struct {
	LimitValueTypeWithCountryOrOrganisation *ExposureLimitValueTypeEnum
	// If two occurences, one must be ppm and the other a matching mg/m3 value.
	Limit8H []NumericRangeWithUnitAndQualifier
	// If two occurences, one must be ppm and the other a matching mg/m3 value.
	LimitShortTerm []STEL
	// Also known as ceiling value. If two occurences, one must be ppm and the
	// other a matching mg/m3 value. One of Value and PeakLimitationOverflowFactor
	// is sufficient. If both are given, Value must be the short-term Value
	// multiplied with the overflow factor.
	PeakLimitation                 []OccupationalExposureLimitPeakLimitation
	RecommendedMonitoringProcedure *Phrase
	ParticleFraction               *OccupationalExposureLimitParticleFraction
	Reference                      *Phrase
	// A remark that applies to all of the abovementioned OELs. Can cover specific
	// info like code letters (H, Sh, Sa, Y, Z in Germany's TRGS 900) either as the
	// letter or as the respective explanatory text. If there are multiple limit
	// values depending on conditions described in remarks (e.g. dust and spray
	// values), use multiple instances of OccupationalExposueLimit - ofr example,
	// two instances for inhalable and respirable fraction OEL's.
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

see Github issue #116 regarding multiple limit values

OccupationalExposureLimit corresponds to the XSD complex type OccupationalExposureLimit.

type OccupationalExposureLimitParticleFraction

type OccupationalExposureLimitParticleFraction struct {
	ParticleFraction         *ExposureLimitFractionEnum
	ParticleFractionFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

OccupationalExposureLimitParticleFraction corresponds to the anonymous complex type of element OccupationalExposureLimit/ParticleFraction.

type OccupationalExposureLimitPeakLimitation

type OccupationalExposureLimitPeakLimitation struct {
	Value                        *NumericRangeWithUnitAndQualifier
	PeakLimitationOverflowFactor *NumericRangeWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Also known as ceiling value. If two occurences, one must be ppm and the other a matching mg/m3 value. One of Value and PeakLimitationOverflowFactor is sufficient. If both are given, Value must be the short-term Value multiplied with the overflow factor.

OccupationalExposureLimitPeakLimitation corresponds to the anonymous complex type of element OccupationalExposureLimit/PeakLimitation.

type OtherConditionsConsumer

type OtherConditionsConsumer struct {
	// Specifies whether the activity takes place indoor or outdoor. Expected
	// value: Phrase
	OutdoorIndoorActivity *EsdscomPhrase
	// Specifies the size of the room in which an activity takes place. Expected
	// value: Phrase or numeric value or both
	RoomSize *UseCondQuantitativeWithUnitAndQual
	// Specifies the temperature in °C at which an activity takes place. Expected
	// value: Phrase or numeric value or both
	TemperatureInCelsius *UseCondQuantitative
	// Specifies the ventilation conditions of the room in which an activity takes
	// place. Expected value: Phrase or numeric value or both
	VentilationCondition *UseCondQuantitativeWithUnitAndQual
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes other conditions affecting the consumer's exposure.

OtherConditionsConsumer corresponds to the XSD complex type OtherConditionsConsumer.

type OtherConditionsEnvironment

type OtherConditionsEnvironment struct {
	// Specifies the factor by which the effluent from a sewage treatment plant is
	// diluted by sea water. Expected value: Numeric value
	DilutionFactorCoastal *Float
	// Specifies the factor by which the effluent from a sewage treatment plant is
	// diluted by river water. Expected value: Numeric value
	DilutionFactorRiver *Float
	// Specifies the water flow rate (receiving surface water) in m³/d into which
	// the effluent is discharged; the default value is 18,000 m³/d. Expected
	// value: Numeric value
	FlowRateRcvSurfWater *NumericValueWithUnit
	// Specifies whether the process or the activity takes place indoor or outdoor.
	// Expected value: Phrase
	OutdoorIndoorActivity *EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes environmental factors and other conditions affecting environmental release within an exposure scenario.

OtherConditionsEnvironment corresponds to the XSD complex type OtherConditionsEnvironment.

type OtherConditionsWorker

type OtherConditionsWorker struct {
	// Specifies whether the process or the activity takes place indoor or outdoor.
	// Expected value: Phrase
	OutdoorIndoorActivity *EsdscomPhrase
	// Specifies whether the assessment has been done assuming professional or
	// industrial settings. Expected value: Phrase
	ProfessionalIndustrialIndicator *EsdscomPhrase
	// Specifies the size of the room in which a process or an activity takes
	// place. Expected value: Phrase or numeric value or both
	RoomSize *UseCondQuantitativeWithUnitAndQual
	// Specifies the temperature in °C at which a process or an activity takes
	// place. Expected value: Phrase or numeric value or both
	TemperatureInCelsius *UseCondQuantitative
	// Specifies the ventilation rate of the room in which a process or an activity
	// takes place. Expected value: Phrase or numeric value or both
	VentilationRate *UseCondQuantitativeWithUnitAndQual
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes other conditions affecting the worker's exposure.

OtherConditionsWorker corresponds to the XSD complex type OtherConditionsWorker.

type OtherInformation

type OtherInformation struct {
	// Manufacturer’s or supplier’s notes: Information
	ManufacturersNotes []Phrase
	// Relevant hazard statements in full text: Write out the full text of any
	// hazard statements referred to under section 2 and 3 of the SDS, with code
	// numbers.
	RelevantHazardStatements []GhsAllHazardStatement
	// Educational recommendations: Training advice
	EducationalRecommendations []Phrase
	// Recommended restrictions: Information from supplier on recommended
	// restrictions on the chemical.
	RecommendedRestriction []Phrase
	FurtherInformation     []Phrase
	// Main information sources: References to information sources applied in the
	// compilation of the SDS.
	MainInformationSource []Phrase
	// Revision information: Information on changes in the SDS.
	RevisionInformation       *OtherInformationRevisionInformation
	QualityAssuranceStatement []Phrase
	SdsStatus                 []Phrase
	ResponsibleOwnerSds       []Phrase
	// SDS preparer:
	SdsPreparedBy *OtherInformationSdsPreparedBy
	RegionEU      *OtherInformationEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 16

OtherInformation corresponds to the XSD complex type OtherInformation.

type OtherInformationEU

type OtherInformationEU struct {
	// Acronym lists are mandatory, but not their form. Either use the list format
	// (preferred) or a less formal string representation.
	//
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice OtherInformationEUChoice
	// Contents or index of exposure scenarioes (ES) in annex: To provide
	// information on ES for components or corresponding information on the mixture
	// supplied in annex(es) to the SDS.
	ContentsOrIndexOfAnnexedEs []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

OtherInformationEU corresponds to the XSD complex type OtherInformationEU.

type OtherInformationEUChoice

type OtherInformationEUChoice struct {
	AbbreviationAcronymList []OtherInformationEUChoiceAbbreviationAcronymList
	// Abbreviations and acronyms: Explanation of terms used in the SDS must be
	// part of the SDS. This field should cover (additional) links to external
	// sources for such lists, e.g. EChA Guidance or industry specific glossaries.
	AbbreviationsAndAcronymsUsed []Phrase
}

Acronym lists are mandatory, but not their form. Either use the list format (preferred) or a less formal string representation.

OtherInformationEUChoice corresponds to the content model OtherInformationEU/Choice.

type OtherInformationEUChoiceAbbreviationAcronymList

type OtherInformationEUChoiceAbbreviationAcronymList struct {
	Acronym *string
	Meaning *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

OtherInformationEUChoiceAbbreviationAcronymList corresponds to the anonymous complex type of element OtherInformationEU/Choice/AbbreviationAcronymList.

type OtherInformationRevisionInformation

type OtherInformationRevisionInformation struct {
	RevisionNo            *String16
	RevisionJustification *JustificationForUpdateEnum
	RevisionResponsible   []Phrase
	LastUpdateDate        *Date
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Revision information: Information on changes in the SDS.

OtherInformationRevisionInformation corresponds to the anonymous complex type of element OtherInformation/RevisionInformation.

type OtherInformationSdsPreparedBy

type OtherInformationSdsPreparedBy struct {
	Name  *String512
	Phone *String40
	Email []String256
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS preparer:

OtherInformationSdsPreparedBy corresponds to the anonymous complex type of element OtherInformation/SdsPreparedBy.

type PNEC

type PNEC struct {
	Type      *PNECTypeEnum
	PnecValue *NumericValueWithUnit
	// May be important in those cases where the PNEC is very low and where more
	// than 1 PNEC existing to show how high the influence on the deviation was.
	AssessmentFactor *NumericValue
	Reference        *Phrase
	AdditionalInfo   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PNEC source: Chapter 8

PNEC corresponds to the XSD complex type PNEC.

type PNECTypeEnum

type PNECTypeEnum string

The legal codes for the PNECTypeEnum. Source: Chapter 8

PNECTypeEnum corresponds to the XSD simple type PNECTypeEnum.

const (
	PNECTypeEnum_Soil                         PNECTypeEnum = "Soil"
	PNECTypeEnum_Sediment_marine_water        PNECTypeEnum = "Sediment, marine water"
	PNECTypeEnum_Sediment_freshwater          PNECTypeEnum = "Sediment, freshwater"
	PNECTypeEnum_Aquatic_intermittent_release PNECTypeEnum = "Aquatic, intermittent release"
	PNECTypeEnum_Aquatic_marine_water         PNECTypeEnum = "Aquatic, marine water"
	PNECTypeEnum_Aquatic_freshwater           PNECTypeEnum = "Aquatic, freshwater"
	PNECTypeEnum_Sewage_treatment_plant_STP   PNECTypeEnum = "Sewage treatment plant (STP)"
	PNECTypeEnum_Secondary_poisoning          PNECTypeEnum = "Secondary poisoning"
	PNECTypeEnum_Air                          PNECTypeEnum = "Air"
)

func (PNECTypeEnum) Valid

func (v PNECTypeEnum) Valid() bool

Valid reports whether v satisfies every constraint of PNECTypeEnum.

type PackagingMaterialEnum

type PackagingMaterialEnum string

Material as specified in Iuclid6 picklist B07: 58378 glass 58379 plastic: HDPE 58380 plastic: LDPE 58381 plastic: PET 58382 plastic: composite: 58383 metal: 58384 paper, cardboard 1342 other:

PackagingMaterialEnum corresponds to the XSD simple type PackagingMaterialEnum.

const (
	PackagingMaterialEnum_glass             PackagingMaterialEnum = "glass"
	PackagingMaterialEnum_plastic_HDPE      PackagingMaterialEnum = "plastic: HDPE"
	PackagingMaterialEnum_plastic_LDPE      PackagingMaterialEnum = "plastic: LDPE"
	PackagingMaterialEnum_plastic_PET       PackagingMaterialEnum = "plastic: PET"
	PackagingMaterialEnum_plastic_composite PackagingMaterialEnum = "plastic: composite"
	PackagingMaterialEnum_metal             PackagingMaterialEnum = "metal"
	PackagingMaterialEnum_paper_cardboard   PackagingMaterialEnum = "paper, cardboard"
	PackagingMaterialEnum_other             PackagingMaterialEnum = "other"
)

func (PackagingMaterialEnum) Valid

func (v PackagingMaterialEnum) Valid() bool

Valid reports whether v satisfies every constraint of PackagingMaterialEnum.

type PackagingTypeEnum

type PackagingTypeEnum string

Type of Packaging as specified in Iuclid6 picklist B05 v2.0: 58353 aerosol can 58354 airspray 64859 atomizer 58355 bag / sack 58356 baitbox 58357 blister 58358 bottle 58359 box 64861 brick 64862 bucket 58360 can / tin 64863 carboy 58361 case 64864 dispenser 58362 dropper 58363 drum 64865 envelope 58364 IBC (intermediate bulk container) 64866 jar 58365 jerry can 64867 jug 58366 packet 58367 sachet 64868 phial 64869 stick 64870 syringe 58368 talcum powder container 64871 tank 58369 tea bag (product disperses through the container when added to water) 64872 tube 58370 water soluble bag 1342 other:

PackagingTypeEnum corresponds to the XSD simple type PackagingTypeEnum.

const (
	PackagingTypeEnum_aerosol_can                                                         PackagingTypeEnum = "aerosol can"
	PackagingTypeEnum_airspray                                                            PackagingTypeEnum = "airspray"
	PackagingTypeEnum_atomizer                                                            PackagingTypeEnum = "atomizer"
	PackagingTypeEnum_bag_sack                                                            PackagingTypeEnum = "bag / sack"
	PackagingTypeEnum_baitbox                                                             PackagingTypeEnum = "baitbox"
	PackagingTypeEnum_blister                                                             PackagingTypeEnum = "blister"
	PackagingTypeEnum_bottle                                                              PackagingTypeEnum = "bottle"
	PackagingTypeEnum_box                                                                 PackagingTypeEnum = "box"
	PackagingTypeEnum_brick                                                               PackagingTypeEnum = "brick"
	PackagingTypeEnum_bucket                                                              PackagingTypeEnum = "bucket"
	PackagingTypeEnum_can_tin                                                             PackagingTypeEnum = "can / tin"
	PackagingTypeEnum_carboy                                                              PackagingTypeEnum = "carboy"
	PackagingTypeEnum_case                                                                PackagingTypeEnum = "case"
	PackagingTypeEnum_dispenser                                                           PackagingTypeEnum = "dispenser"
	PackagingTypeEnum_dropper                                                             PackagingTypeEnum = "dropper"
	PackagingTypeEnum_drum                                                                PackagingTypeEnum = "drum"
	PackagingTypeEnum_envelope                                                            PackagingTypeEnum = "envelope"
	PackagingTypeEnum_IBC_intermediate_bulk_container                                     PackagingTypeEnum = "IBC (intermediate bulk container)"
	PackagingTypeEnum_jar                                                                 PackagingTypeEnum = "jar"
	PackagingTypeEnum_jerry_can                                                           PackagingTypeEnum = "jerry can"
	PackagingTypeEnum_jug                                                                 PackagingTypeEnum = "jug"
	PackagingTypeEnum_packet                                                              PackagingTypeEnum = "packet"
	PackagingTypeEnum_sachet                                                              PackagingTypeEnum = "sachet"
	PackagingTypeEnum_phial                                                               PackagingTypeEnum = "phial"
	PackagingTypeEnum_stick                                                               PackagingTypeEnum = "stick"
	PackagingTypeEnum_syringe                                                             PackagingTypeEnum = "syringe"
	PackagingTypeEnum_talcum_powder_container                                             PackagingTypeEnum = "talcum powder container"
	PackagingTypeEnum_tank                                                                PackagingTypeEnum = "tank"
	PackagingTypeEnum_tea_bag_product_disperses_through_the_container_when_added_to_water PackagingTypeEnum = "tea bag (product disperses through the container when added to water)"
	PackagingTypeEnum_tube                                                                PackagingTypeEnum = "tube"
	PackagingTypeEnum_water_soluble_bag                                                   PackagingTypeEnum = "water soluble bag"
	PackagingTypeEnum_other                                                               PackagingTypeEnum = "other"
)

func (PackagingTypeEnum) Valid

func (v PackagingTypeEnum) Valid() bool

Valid reports whether v satisfies every constraint of PackagingTypeEnum.

type PackingGroupEnum

type PackingGroupEnum string

Legal values for the PackingGroupEnum

PackingGroupEnum corresponds to the XSD simple type PackingGroupEnum.

const (
	PackingGroupEnum_I   PackingGroupEnum = "I"
	PackingGroupEnum_II  PackingGroupEnum = "II"
	PackingGroupEnum_III PackingGroupEnum = "III"
)

func (PackingGroupEnum) Valid

func (v PackingGroupEnum) Valid() bool

Valid reports whether v satisfies every constraint of PackingGroupEnum.

type PartitionCoefficient

type PartitionCoefficient struct {
	Value *PhysChemUnitValueWithTemperature
	Ph    *NumericRangeWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PartitionCoefficient n-octanol/water (log P O/W) source: Chapter 9, 12

PartitionCoefficient corresponds to the XSD complex type PartitionCoefficient.

type Percentage

type Percentage string

Percentage value 0-100.

Percentage corresponds to the XSD simple type Percentage.

func (Percentage) Float64

func (v Percentage) Float64() (float64, error)

Float64 returns the value of v in its Go representation.

func (Percentage) Valid

func (v Percentage) Valid() bool

Valid reports whether v satisfies every constraint of Percentage.

type PercentageRange

type PercentageRange struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice NumericRangeWithUnitAndQualifierChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Basically a numeric range with a fixed unit "%"

PercentageRange corresponds to the XSD complex type PercentageRange.

type PhNotRelevantEnum

type PhNotRelevantEnum string

This type corresponds directly to Iuclid Picklist PH_1 nd is relevant e.g. for PCN notifications in Europe. Enumeration values are taken literally from this list to facilitate mapping.

PhNotRelevantEnum corresponds to the XSD simple type PhNotRelevantEnum.

const (
	PhNotRelevantEnum_pH_is_below_3                             PhNotRelevantEnum = "pH is below -3"
	PhNotRelevantEnum_pH_is_above_15                            PhNotRelevantEnum = "pH is above 15"
	PhNotRelevantEnum_substance_mixture_is_a_gas                PhNotRelevantEnum = "substance/mixture is a gas"
	PhNotRelevantEnum_substance_mixture_is_non_polar_aprotic    PhNotRelevantEnum = "substance/mixture is non-polar/aprotic"
	PhNotRelevantEnum_substance_mixture_is_non_soluble_in_water PhNotRelevantEnum = "substance/mixture is non-soluble (in water)"
	PhNotRelevantEnum_substance_mixture_not_stable              PhNotRelevantEnum = "substance/mixture not stable"
	PhNotRelevantEnum_substance_mixture_reacts_with_water       PhNotRelevantEnum = "substance/mixture reacts with water"
)

func (PhNotRelevantEnum) Valid

func (v PhNotRelevantEnum) Valid() bool

Valid reports whether v satisfies every constraint of PhNotRelevantEnum.

type PhValue

type PhValue struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice PhValueChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhValue source: Chapter 9

PhValue corresponds to the XSD complex type PhValue.

type PhValueChoice

type PhValueChoice struct {
	// StateGroup holds a sequence.
	StateGroup    *PhValueChoiceStateGroup
	PhNotRelevant *PhNotRelevantEnum
}

PhValueChoice corresponds to the content model PhValue/Choice.

type PhValueChoiceStateGroup

type PhValueChoiceStateGroup struct {
	// State: "in delivery state" or "in aqueous solution"
	State *PhValueStateEnum
	Value *PhysChemValueWithTemperature
	// In aqueous solution
	Concentration *NumericRangeWithUnitAndQualifier
}

PhValueChoiceStateGroup corresponds to the content model PhValue/Choice/StateGroup.

type PhValueStateEnum

type PhValueStateEnum string

The legal codes for the PhValueStateEnum. Source: Chapter 9.

PhValueStateEnum corresponds to the XSD simple type PhValueStateEnum.

const (
	PhValueStateEnum_In_delivery_state   PhValueStateEnum = "In delivery state"
	PhValueStateEnum_In_aqueous_solution PhValueStateEnum = "In aqueous solution"
)

func (PhValueStateEnum) Valid

func (v PhValueStateEnum) Valid() bool

Valid reports whether v satisfies every constraint of PhValueStateEnum.

type Phrase

type Phrase struct {
	// Phrase ID in the catalogue referenced by PhraseCatalogueId - which is not
	// eSDScom, because eSDScom phrase IDs are represented as a field in the phrase
	// types.
	//
	// PhraseId is the attribute PhraseId.
	PhraseId *AnyPhraseId
	// ID of the phrase catalogue that is listed in the XML file.
	//
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *EsdscomPhraseCatalogueId
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice PhraseChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Phrase, using optional references to a coordination body assigning ids to all phrases. PhraseId is a unique identifier (primary key) that must exist in each phrase catalogue. PhraseId has precedence over textual phrase values if both are present. PhraseCode is any official or system-internal phrase identifier which may be unique or not (and is often empty). Example: In EuPhraC, PhraseIds 9278174452 to 9278174455 all refer to PhraseCode = H341, however EuPhraC decided to name the other codes as H341.1, H341.2 and H341.3. Note the use of MergePhrase restricts the nesting depth to one level.

Phrase corresponds to the XSD complex type Phrase.

type PhraseCatalogue

type PhraseCatalogue struct {
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *EsdscomPhraseCatalogueId
	// Phrase catalogue Name, eg. EuPhraC
	PhraseCatalogueName *String256
	// Phrase catalogue issuer: Identification of the suppler of the phrase
	// catalogue to the exporting system, eg. EuPhraC-Workinggroup.
	PhraseCatalogueIssuer *String256
	// Catalogue version: The version no of the phrase catalog the information is
	// based on to identify the actual version of the phrase catalogue applied.
	// Phrase catalogues are updated more or less regularly, and different versions
	// may show some differences.
	PhraseCatalogueVersion *String64
	// Date of release of the catalogue version: The version timestamp of the
	// phrase catalogue the information is based on
	PhraseCatalogueDate *Date
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Catalogue of standard phrases used in the datasheet. Used in chapter 0 and referred in for example exposure scenarios. PhraseCatalogues and PhraseIds simplifies translation to other languages. Example: EUPhraC catalogue.

PhraseCatalogue corresponds to the XSD complex type PhraseCatalogue.

type PhraseChoice

type PhraseChoice struct {
	// PhraseIdGroup holds a sequence.
	PhraseIdGroup *PhraseChoicePhraseIdGroup
	// specify this empty tag to indicate a line break
	NewLine *AnyType
}

PhraseChoice corresponds to the content model Phrase/Choice.

type PhraseChoicePhraseIdGroup

type PhraseChoicePhraseIdGroup struct {
	// eSDScom (= EuPhraC, ESCom) phrase ID. Optional because user phrases and
	// other phrase catalogues are allowed.
	PhraseId    *EsdscomPhraseId
	PhraseText  *PhraseText
	MergePhrase []MergePhrase
}

PhraseChoicePhraseIdGroup corresponds to the content model Phrase/Choice/PhraseIdGroup.

type PhraseText

type PhraseText struct {
	PhraseCode *String64
	// If the Language and Country attributes are missing, Language and Country
	// default to the FreetextLanguage and FreetextLanguageCountry named at the top
	// of the XML file.
	// If there is only one instance of FullText, the Language and Country
	// attributes should be omitted. If there is more than one instance, all but
	// one should have those attributes.
	FullText []PhraseTextFullText
}

PhraseText corresponds to the content model group PhraseText.

type PhraseTextFullText

type PhraseTextFullText struct {
	// Languange is the attribute Languange.
	Languange *LanguageCodeEnum
	// Country is the attribute Country.
	Country *CountryCodeEnum
	// Value is the text content.
	Value String1024
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

If the Language and Country attributes are missing, Language and Country default to the FreetextLanguage and FreetextLanguageCountry named at the top of the XML file. If there is only one instance of FullText, the Language and Country attributes should be omitted. If there is more than one instance, all but one should have those attributes.

PhraseTextFullText corresponds to the anonymous complex type of element group PhraseText/FullText.

type PhysChemUnitValue

type PhysChemUnitValue struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice         PhysChemUnitValueChoice
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysChemUnitValue, used to specify a value with unit derived from a duration-independent measurement.

PhysChemUnitValue corresponds to the XSD complex type PhysChemUnitValue.

type PhysChemUnitValueChoice

type PhysChemUnitValueChoice struct {
	// UnitValueGroup holds a sequence.
	UnitValueGroup   *PhysChemUnitValueChoiceUnitValueGroup
	ReasonForWaiving *ReasonForWaiving
}

PhysChemUnitValueChoice corresponds to the content model PhysChemUnitValue/Choice.

type PhysChemUnitValueChoiceUnitValueGroup

type PhysChemUnitValueChoiceUnitValueGroup struct {
	UnitValue     *NumericRangeWithUnitAndQualifier
	Method        *Phrase
	TestReference *Phrase
}

PhysChemUnitValueChoiceUnitValueGroup corresponds to the content model PhysChemUnitValue/Choice/UnitValueGroup.

type PhysChemUnitValueWithTemperature

type PhysChemUnitValueWithTemperature struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice         PhysChemUnitValueChoice
	AdditionalInfo []Phrase
	// defaults to 20°C if not specified, unless the context determines a
	// different value
	Temperature *NumericValueWithUnit
	// defaults to 1013 hPa if not specified, unless the context determines a
	// different value
	Pressure *NumericValueWithUnit
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysChemUnitValueWithTemperature. Source: Chapter 9.

PhysChemUnitValueWithTemperature corresponds to the XSD complex type PhysChemUnitValueWithTemperature.

type PhysChemValue

type PhysChemValue struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice         PhysChemValueWithTemperatureChoice
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysChemValue, used to specify a value derived from a duration-independent measurement.

PhysChemValue corresponds to the XSD complex type PhysChemValue.

type PhysChemValueWithTemperature

type PhysChemValueWithTemperature struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice         PhysChemValueWithTemperatureChoice
	AdditionalInfo []Phrase
	// defaults to 20°C if not specified, unless the context determines a
	// different value
	Temperature *NumericValueWithUnit
	// defaults to 1013 hPa if not specified, unless the context determines a
	// different value
	Pressure *NumericValueWithUnit
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysChemValueWithTemperature. Source: Chapter 9.

PhysChemValueWithTemperature corresponds to the XSD complex type PhysChemValueWithTemperature.

type PhysChemValueWithTemperatureChoice

type PhysChemValueWithTemperatureChoice struct {
	// ValueGroup holds a sequence.
	ValueGroup       *PhysChemValueWithTemperatureChoiceValueGroup
	ReasonForWaiving *ReasonForWaiving
}

PhysChemValueWithTemperatureChoice corresponds to the content model PhysChemValueWithTemperature/Choice.

type PhysChemValueWithTemperatureChoiceValueGroup

type PhysChemValueWithTemperatureChoiceValueGroup struct {
	Value         *NumericRangeWithQualifier
	Method        *Phrase
	TestReference *Phrase
}

PhysChemValueWithTemperatureChoiceValueGroup corresponds to the content model PhysChemValueWithTemperature/Choice/ValueGroup.

type PhysicalChemicalProperties

type PhysicalChemicalProperties struct {
	// Product appearance: Description of the shape and other basic conditions of
	// the product.
	Appearance                    *PhysicalChemicalPropertiesAppearance
	SafetyRelevantInformation     *PhysicalChemicalPropertiesSafetyRelevantInformation
	PhysicalHazards               *PhysicalChemicalPropertiesPhysicalHazards
	OtherSafetyInformation        *PhysicalChemicalPropertiesOtherSafetyInformation
	OtherPhysicalChemicalProperty []Phrase
	AdditionalInfo                []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 9.

PhysicalChemicalProperties corresponds to the XSD complex type PhysicalChemicalProperties.

type PhysicalChemicalPropertiesAppearance

type PhysicalChemicalPropertiesAppearance struct {
	Form *FormEnum
	// Indicate the form (solid, liquid, gas or other descriptive terms) of the
	// substance or mixture as supplied. May be omitted if specified in field Form.
	// If Form is "other", put more details in this field.
	FormDescription              []Phrase
	StateUnderStandardConditions *PhysicalChemicalPropertiesAppearanceStateUnderStandardConditions
	// Multiple entries (only) in case of "multicolour" and "colouring agent"
	Colour []ColourEnum
	// Product colour: Indicate the colour of the substance or preparation as
	// supplied. May be omitted if Colour is used. This field is also used if none
	// of ColourEnum matches.
	ColourDescription          []Phrase
	ColourIntensity            *ColourIntensityEnum
	ColourIntensityDescription []Phrase
	// Product odour: Description of the smell of the product.
	Odour          []Phrase
	OdourThreshold []PhysChemUnitValueWithTemperature
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Product appearance: Description of the shape and other basic conditions of the product.

PhysicalChemicalPropertiesAppearance corresponds to the anonymous complex type of element PhysicalChemicalProperties/Appearance.

type PhysicalChemicalPropertiesAppearanceStateUnderStandardConditions

type PhysicalChemicalPropertiesAppearanceStateUnderStandardConditions struct {
	// Physical state (only solid/liquid/gaseous) under standard conditions (20°C,
	// 1013 hpa)
	State         *StateUnderStandardConditionsEnum
	StateFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesAppearanceStateUnderStandardConditions corresponds to the anonymous complex type of element PhysicalChemicalProperties/Appearance/StateUnderStandardConditions.

type PhysicalChemicalPropertiesOtherSafetyInformation

type PhysicalChemicalPropertiesOtherSafetyInformation struct {
	Miscibility           []Phrase
	AnilinePoint          []PhysChemUnitValue
	ElectricConductivity  []PhysChemUnitValueWithTemperature
	GasGroup              []GasGroup
	SolventSeparationTest []PhysChemUnitValue
	// Content of VOC: Content of solvents
	ContentOfVoc                                 []PhysChemValue
	SolidContent                                 []PhysChemUnitValue
	PropellantContent                            []PhysChemUnitValue
	SinterTemperature                            []PhysChemUnitValue
	AcidNo                                       []PhysChemUnitValue
	DissociationConstant                         []DissociationConstant
	HydrolysisRate                               []HydrolysisRate
	WaterReactive                                []Phrase
	AirReactive                                  []Phrase
	PenetrationNo                                []PhysChemUnitValueWithTemperature
	ParticleSize                                 []PhysChemUnitValueWithTemperature
	CriticalPressure                             []PhysChemUnitValueWithTemperature
	ExpansionCoefficient                         []PhysChemUnitValueWithTemperature
	RedoxPotential                               []PhysChemUnitValueWithTemperature
	RadicalFormationPotential                    []PhysChemValueWithTemperature
	PhotocatalyticProperties                     []PhysChemUnitValueWithTemperature
	NumberAverageMolecularWeight                 []PhysChemUnitValue
	WeightAverageMolecularWeight                 []PhysChemUnitValue
	MolecularWeightDistribution                  []PhysChemUnitValue
	LowMolecularWeightContentOfPolymers          []PhysChemUnitValue
	SolutionExtractionBehaviourOfPolymersInWater []SolutionExtractionBehaviourOfPolymersInWater
	RefractionIndex                              []PhysChemValueWithTemperature
	SurfaceTension                               []SurfaceTension
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesOtherSafetyInformation corresponds to the anonymous complex type of element PhysicalChemicalProperties/OtherSafetyInformation.

type PhysicalChemicalPropertiesPhysicalHazards

type PhysicalChemicalPropertiesPhysicalHazards struct {
	Explosives                                          *PhysicalChemicalPropertiesPhysicalHazardsExplosives
	FlammableGases                                      *PhysicalChemicalPropertiesPhysicalHazardsFlammableGases
	FlammableAerosols                                   *PhysicalChemicalPropertiesPhysicalHazardsFlammableAerosols
	OxidisingGases                                      *PhysicalChemicalPropertiesPhysicalHazardsOxidisingGases
	GasesUnderPressure                                  *PhysicalChemicalPropertiesPhysicalHazardsGasesUnderPressure
	FlammableLiquids                                    *PhysicalChemicalPropertiesPhysicalHazardsFlammableLiquids
	FlammableSolids                                     *PhysicalChemicalPropertiesPhysicalHazardsFlammableSolids
	SelfreactiveSubstancesAndMixtures                   *PhysicalChemicalPropertiesPhysicalHazardsSelfreactiveSubstancesAndMixtures
	PyrophoricLiquids                                   *PhysicalChemicalPropertiesPhysicalHazardsPyrophoricLiquids
	PyrophoricSolids                                    *PhysicalChemicalPropertiesPhysicalHazardsPyrophoricSolids
	SelfheatingSubstancesAndMixtures                    *PhysicalChemicalPropertiesPhysicalHazardsSelfheatingSubstancesAndMixtures
	SubstancesWhichInContactWithWaterEmitFlammableGases *PhysicalChemicalPropertiesPhysicalHazardsSubstancesWhichInContactWithWaterEmitFlammableGases
	OxidisingLiquids                                    *PhysicalChemicalPropertiesPhysicalHazardsOxidisingLiquids
	OxidisingSolids                                     *PhysicalChemicalPropertiesPhysicalHazardsOxidisingSolids
	OrganicPeroxides                                    *PhysicalChemicalPropertiesPhysicalHazardsOrganicPeroxides
	CorrosiveToMetals                                   *PhysicalChemicalPropertiesPhysicalHazardsCorrosiveToMetals
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazards corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards.

type PhysicalChemicalPropertiesPhysicalHazardsCorrosiveToMetals

type PhysicalChemicalPropertiesPhysicalHazardsCorrosiveToMetals struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	ExposureTime          *NumericRangeWithUnitAndQualifier
	IntrusionDepth        *NumericRangeWithUnitAndQualifier
	MaterialType          *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsCorrosiveToMetals corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/CorrosiveToMetals.

type PhysicalChemicalPropertiesPhysicalHazardsExplosives

type PhysicalChemicalPropertiesPhysicalHazardsExplosives struct {
	GeneralInformation  *PhysicalHazardsGeneralInformation
	ScreeningProcedures []PhysicalHazardsScreeningProcedures
	TestPerformed       []PhysicalChemicalPropertiesPhysicalHazardsExplosivesTestPerformed
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsExplosives corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/Explosives.

type PhysicalChemicalPropertiesPhysicalHazardsExplosivesTestPerformed

type PhysicalChemicalPropertiesPhysicalHazardsExplosivesTestPerformed struct {
	ParameterTested *Phrase
	TestResult      *PhysChemUnitValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsExplosivesTestPerformed corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/Explosives/TestPerformed.

type PhysicalChemicalPropertiesPhysicalHazardsFlammableAerosols

type PhysicalChemicalPropertiesPhysicalHazardsFlammableAerosols struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsFlammableAerosols corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/FlammableAerosols.

type PhysicalChemicalPropertiesPhysicalHazardsFlammableGases

type PhysicalChemicalPropertiesPhysicalHazardsFlammableGases struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsFlammableGases corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/FlammableGases.

type PhysicalChemicalPropertiesPhysicalHazardsFlammableLiquids

type PhysicalChemicalPropertiesPhysicalHazardsFlammableLiquids struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsFlammableLiquids corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/FlammableLiquids.

type PhysicalChemicalPropertiesPhysicalHazardsFlammableSolids

type PhysicalChemicalPropertiesPhysicalHazardsFlammableSolids struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsFlammableSolids corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/FlammableSolids.

type PhysicalChemicalPropertiesPhysicalHazardsGasesUnderPressure

type PhysicalChemicalPropertiesPhysicalHazardsGasesUnderPressure struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsGasesUnderPressure corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/GasesUnderPressure.

type PhysicalChemicalPropertiesPhysicalHazardsOrganicPeroxides

type PhysicalChemicalPropertiesPhysicalHazardsOrganicPeroxides struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsOrganicPeroxides corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/OrganicPeroxides.

type PhysicalChemicalPropertiesPhysicalHazardsOxidisingGases

type PhysicalChemicalPropertiesPhysicalHazardsOxidisingGases struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsOxidisingGases corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/OxidisingGases.

type PhysicalChemicalPropertiesPhysicalHazardsOxidisingLiquids

type PhysicalChemicalPropertiesPhysicalHazardsOxidisingLiquids struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsOxidisingLiquids corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/OxidisingLiquids.

type PhysicalChemicalPropertiesPhysicalHazardsOxidisingSolids

type PhysicalChemicalPropertiesPhysicalHazardsOxidisingSolids struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsOxidisingSolids corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/OxidisingSolids.

type PhysicalChemicalPropertiesPhysicalHazardsPyrophoricLiquids

type PhysicalChemicalPropertiesPhysicalHazardsPyrophoricLiquids struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsPyrophoricLiquids corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/PyrophoricLiquids.

type PhysicalChemicalPropertiesPhysicalHazardsPyrophoricSolids

type PhysicalChemicalPropertiesPhysicalHazardsPyrophoricSolids struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsPyrophoricSolids corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/PyrophoricSolids.

type PhysicalChemicalPropertiesPhysicalHazardsSelfheatingSubstancesAndMixtures

type PhysicalChemicalPropertiesPhysicalHazardsSelfheatingSubstancesAndMixtures struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	MaxTemperatureReached *NumericRangeWithUnitAndQualifier
	InductionTime         *NumericRangeWithUnitAndQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsSelfheatingSubstancesAndMixtures corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/SelfheatingSubstancesAndMixtures.

type PhysicalChemicalPropertiesPhysicalHazardsSelfreactiveSubstancesAndMixtures

type PhysicalChemicalPropertiesPhysicalHazardsSelfreactiveSubstancesAndMixtures struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	ScreeningProcedures   []PhysicalHazardsScreeningProcedures
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsSelfreactiveSubstancesAndMixtures corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/SelfreactiveSubstancesAndMixtures.

type PhysicalChemicalPropertiesPhysicalHazardsSubstancesWhichInContactWithWaterEmitFlammableGases

type PhysicalChemicalPropertiesPhysicalHazardsSubstancesWhichInContactWithWaterEmitFlammableGases struct {
	GeneralInformation    *PhysicalHazardsGeneralInformation
	SafetyCharacteristics []PhysicalHazardsSafetyCharacteristics
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesPhysicalHazardsSubstancesWhichInContactWithWaterEmitFlammableGases corresponds to the anonymous complex type of element PhysicalChemicalProperties/PhysicalHazards/SubstancesWhichInContactWithWaterEmitFlammableGases.

type PhysicalChemicalPropertiesSafetyRelevantInformation

type PhysicalChemicalPropertiesSafetyRelevantInformation struct {
	PhValue             []PhValue
	MeltingPointRelated *PhysicalChemicalPropertiesSafetyRelevantInformationMeltingPointRelated
	BoilingPointRelated *PhysicalChemicalPropertiesSafetyRelevantInformationBoilingPointRelated
	FlashPoint          []FlashPoint
	EvaporationRate     []PhysChemValueWithTemperature
	// Flammability description:
	Flammability             []Phrase
	ExplosionLimit           *PhysicalChemicalPropertiesSafetyRelevantInformationExplosionLimit
	VapourPressure           []PhysChemUnitValueWithTemperature
	RelativeVapourDensity    []RelativeVapourDensity
	Densities                *PhysicalChemicalPropertiesSafetyRelevantInformationDensities
	Solubilities             []Solubilities
	PartitionCoefficient     []PartitionCoefficient
	AutoignitionTemperature  []PhysChemUnitValue
	DecompositionTemperature []PhysChemUnitValue
	Viscosity                []Viscosity
	ExplosiveProperties      []Phrase
	OxidisingProperties      []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesSafetyRelevantInformation corresponds to the anonymous complex type of element PhysicalChemicalProperties/SafetyRelevantInformation.

type PhysicalChemicalPropertiesSafetyRelevantInformationBoilingPointRelated

type PhysicalChemicalPropertiesSafetyRelevantInformationBoilingPointRelated struct {
	BoilingPoint     []PhysChemUnitValue
	SublimationPoint []PhysChemUnitValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesSafetyRelevantInformationBoilingPointRelated corresponds to the anonymous complex type of element PhysicalChemicalProperties/SafetyRelevantInformation/BoilingPointRelated.

type PhysicalChemicalPropertiesSafetyRelevantInformationDensities

type PhysicalChemicalPropertiesSafetyRelevantInformationDensities struct {
	RelativeDensity []PhysChemValueWithTemperature
	Density         []PhysChemUnitValueWithTemperature
	BulkDensity     []PhysChemUnitValueWithTemperature
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesSafetyRelevantInformationDensities corresponds to the anonymous complex type of element PhysicalChemicalProperties/SafetyRelevantInformation/Densities.

type PhysicalChemicalPropertiesSafetyRelevantInformationExplosionLimit

type PhysicalChemicalPropertiesSafetyRelevantInformationExplosionLimit struct {
	LowerExplosionLimit []PhysChemUnitValue
	UpperExplosionLimit []PhysChemUnitValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesSafetyRelevantInformationExplosionLimit corresponds to the anonymous complex type of element PhysicalChemicalProperties/SafetyRelevantInformation/ExplosionLimit.

type PhysicalChemicalPropertiesSafetyRelevantInformationMeltingPointRelated

type PhysicalChemicalPropertiesSafetyRelevantInformationMeltingPointRelated struct {
	// Melting point: The exact temperature or temperature range when a solid
	// becomes liquid
	MeltingPoint         []PhysChemUnitValue
	FreezingPoint        []PhysChemUnitValue
	SofteningPoint       []PhysChemUnitValue
	SolidificationPoint  []PhysChemUnitValue
	CloudPoint           []PhysChemUnitValue
	CrystallisationPoint []PhysChemUnitValue
	DroppingPoint        []PhysChemUnitValue
	PourPoint            []PhysChemUnitValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalChemicalPropertiesSafetyRelevantInformationMeltingPointRelated corresponds to the anonymous complex type of element PhysicalChemicalProperties/SafetyRelevantInformation/MeltingPointRelated.

type PhysicalHazardsGeneralInformation

type PhysicalHazardsGeneralInformation struct {
	JustificationForDataWaiving *Phrase
	Assessment                  *Phrase
	Classification              *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalHazardsGeneralInformation. Source: Chapter 9.

PhysicalHazardsGeneralInformation corresponds to the XSD complex type PhysicalHazardsGeneralInformation.

type PhysicalHazardsSafetyCharacteristics

type PhysicalHazardsSafetyCharacteristics struct {
	SafetyParameter *Phrase
	SafetyResult    *PhysChemUnitValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalHazardsSafetyCharacteristics source: Chapter 9

PhysicalHazardsSafetyCharacteristics corresponds to the XSD complex type PhysicalHazardsSafetyCharacteristics.

type PhysicalHazardsScreeningProcedures

type PhysicalHazardsScreeningProcedures struct {
	ScreeningType   *Phrase
	ScreeningResult *PhysChemUnitValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

PhysicalHazardsScreeningProcedures source: Chapter 9

PhysicalHazardsScreeningProcedures corresponds to the XSD complex type PhysicalHazardsScreeningProcedures.

type ProcessCategory

type ProcessCategory struct {
	ProcCode     *ProcessCategoryCodeEnum
	ProcFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ProcessCategory, source: Chapter 1, used by: CT "IdentifiedUse"

ProcessCategory corresponds to the XSD complex type ProcessCategory.

type ProcessCategoryCodeEnum

type ProcessCategoryCodeEnum string

The legal codes for the ProcessCategoryCodeEnum. Source: Chapter 1.

ProcessCategoryCodeEnum corresponds to the XSD simple type ProcessCategoryCodeEnum.

const (
	ProcessCategoryCodeEnum_PROC1   ProcessCategoryCodeEnum = "PROC1"
	ProcessCategoryCodeEnum_PROC2   ProcessCategoryCodeEnum = "PROC2"
	ProcessCategoryCodeEnum_PROC3   ProcessCategoryCodeEnum = "PROC3"
	ProcessCategoryCodeEnum_PROC4   ProcessCategoryCodeEnum = "PROC4"
	ProcessCategoryCodeEnum_PROC5   ProcessCategoryCodeEnum = "PROC5"
	ProcessCategoryCodeEnum_PROC6   ProcessCategoryCodeEnum = "PROC6"
	ProcessCategoryCodeEnum_PROC7   ProcessCategoryCodeEnum = "PROC7"
	ProcessCategoryCodeEnum_PROC8a  ProcessCategoryCodeEnum = "PROC8a"
	ProcessCategoryCodeEnum_PROC8b  ProcessCategoryCodeEnum = "PROC8b"
	ProcessCategoryCodeEnum_PROC9   ProcessCategoryCodeEnum = "PROC9"
	ProcessCategoryCodeEnum_PROC10  ProcessCategoryCodeEnum = "PROC10"
	ProcessCategoryCodeEnum_PROC11  ProcessCategoryCodeEnum = "PROC11"
	ProcessCategoryCodeEnum_PROC12  ProcessCategoryCodeEnum = "PROC12"
	ProcessCategoryCodeEnum_PROC13  ProcessCategoryCodeEnum = "PROC13"
	ProcessCategoryCodeEnum_PROC14  ProcessCategoryCodeEnum = "PROC14"
	ProcessCategoryCodeEnum_PROC15  ProcessCategoryCodeEnum = "PROC15"
	ProcessCategoryCodeEnum_PROC16  ProcessCategoryCodeEnum = "PROC16"
	ProcessCategoryCodeEnum_PROC17  ProcessCategoryCodeEnum = "PROC17"
	ProcessCategoryCodeEnum_PROC18  ProcessCategoryCodeEnum = "PROC18"
	ProcessCategoryCodeEnum_PROC19  ProcessCategoryCodeEnum = "PROC19"
	ProcessCategoryCodeEnum_PROC20  ProcessCategoryCodeEnum = "PROC20"
	ProcessCategoryCodeEnum_PROC21  ProcessCategoryCodeEnum = "PROC21"
	ProcessCategoryCodeEnum_PROC22  ProcessCategoryCodeEnum = "PROC22"
	ProcessCategoryCodeEnum_PROC23  ProcessCategoryCodeEnum = "PROC23"
	ProcessCategoryCodeEnum_PROC24  ProcessCategoryCodeEnum = "PROC24"
	ProcessCategoryCodeEnum_PROC25  ProcessCategoryCodeEnum = "PROC25"
	ProcessCategoryCodeEnum_PROC26  ProcessCategoryCodeEnum = "PROC26"
	ProcessCategoryCodeEnum_PROC27a ProcessCategoryCodeEnum = "PROC27a"
	ProcessCategoryCodeEnum_PROC27b ProcessCategoryCodeEnum = "PROC27b"
)

func (ProcessCategoryCodeEnum) Valid

func (v ProcessCategoryCodeEnum) Valid() bool

Valid reports whether v satisfies every constraint of ProcessCategoryCodeEnum.

type ProductArticleCharacteristics

type ProductArticleCharacteristics struct {
	// Describes the physical form of the product (or article) assessed in the
	// contributing scenario (CS); whether it is gaseous, liquid or solid. Expected
	// value: Phrase
	PhysicalForm []EsdscomPhrase
	// Specifies the value of the substance vapor pressure. Expected value: Phrase
	// or numeric value or both
	VaporPressure *UseCondQuantitativeWithUnitAndQual
	// Specifies the maximum concentration of a substance in a product which is
	// covered by the assessment. Expected value: Phrase or numeric value or both
	PreparationConcentrationUpperLimit *UseCondQuantitativeWithUnit
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes for which characteristics a contributing scenario is relevant.

ProductArticleCharacteristics corresponds to the XSD complex type ProductArticleCharacteristics.

type ProductCategory

type ProductCategory struct {
	PcCode     *ProductCategoryCodeEnum
	PcFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ProductCategory, source: Chapter 1, used by: CT "IdentifiedUse"

ProductCategory corresponds to the XSD complex type ProductCategory.

type ProductCategoryCodeEnum

type ProductCategoryCodeEnum string

The legal codes for the ProductCategoryCodeEnum. Source: Chapter 1.

ProductCategoryCodeEnum corresponds to the XSD simple type ProductCategoryCodeEnum.

const (
	ProductCategoryCodeEnum_PC1  ProductCategoryCodeEnum = "PC1"
	ProductCategoryCodeEnum_PC2  ProductCategoryCodeEnum = "PC2"
	ProductCategoryCodeEnum_PC3  ProductCategoryCodeEnum = "PC3"
	ProductCategoryCodeEnum_PC4  ProductCategoryCodeEnum = "PC4"
	ProductCategoryCodeEnum_PC7  ProductCategoryCodeEnum = "PC7"
	ProductCategoryCodeEnum_PC8  ProductCategoryCodeEnum = "PC8"
	ProductCategoryCodeEnum_PC9a ProductCategoryCodeEnum = "PC9a"
	ProductCategoryCodeEnum_PC9b ProductCategoryCodeEnum = "PC9b"
	ProductCategoryCodeEnum_PC9c ProductCategoryCodeEnum = "PC9c"
	ProductCategoryCodeEnum_PC11 ProductCategoryCodeEnum = "PC11"
	ProductCategoryCodeEnum_PC12 ProductCategoryCodeEnum = "PC12"
	ProductCategoryCodeEnum_PC13 ProductCategoryCodeEnum = "PC13"
	ProductCategoryCodeEnum_PC14 ProductCategoryCodeEnum = "PC14"
	ProductCategoryCodeEnum_PC15 ProductCategoryCodeEnum = "PC15"
	ProductCategoryCodeEnum_PC16 ProductCategoryCodeEnum = "PC16"
	ProductCategoryCodeEnum_PC17 ProductCategoryCodeEnum = "PC17"
	ProductCategoryCodeEnum_PC18 ProductCategoryCodeEnum = "PC18"
	ProductCategoryCodeEnum_PC19 ProductCategoryCodeEnum = "PC19"
	ProductCategoryCodeEnum_PC20 ProductCategoryCodeEnum = "PC20"
	ProductCategoryCodeEnum_PC21 ProductCategoryCodeEnum = "PC21"
	ProductCategoryCodeEnum_PC22 ProductCategoryCodeEnum = "PC22"
	ProductCategoryCodeEnum_PC23 ProductCategoryCodeEnum = "PC23"
	ProductCategoryCodeEnum_PC24 ProductCategoryCodeEnum = "PC24"
	ProductCategoryCodeEnum_PC25 ProductCategoryCodeEnum = "PC25"
	ProductCategoryCodeEnum_PC26 ProductCategoryCodeEnum = "PC26"
	ProductCategoryCodeEnum_PC27 ProductCategoryCodeEnum = "PC27"
	ProductCategoryCodeEnum_PC28 ProductCategoryCodeEnum = "PC28"
	ProductCategoryCodeEnum_PC29 ProductCategoryCodeEnum = "PC29"
	ProductCategoryCodeEnum_PC30 ProductCategoryCodeEnum = "PC30"
	ProductCategoryCodeEnum_PC31 ProductCategoryCodeEnum = "PC31"
	ProductCategoryCodeEnum_PC32 ProductCategoryCodeEnum = "PC32"
	ProductCategoryCodeEnum_PC33 ProductCategoryCodeEnum = "PC33"
	ProductCategoryCodeEnum_PC34 ProductCategoryCodeEnum = "PC34"
	ProductCategoryCodeEnum_PC35 ProductCategoryCodeEnum = "PC35"
	ProductCategoryCodeEnum_PC36 ProductCategoryCodeEnum = "PC36"
	ProductCategoryCodeEnum_PC37 ProductCategoryCodeEnum = "PC37"
	ProductCategoryCodeEnum_PC38 ProductCategoryCodeEnum = "PC38"
	ProductCategoryCodeEnum_PC39 ProductCategoryCodeEnum = "PC39"
	ProductCategoryCodeEnum_PC40 ProductCategoryCodeEnum = "PC40"
	ProductCategoryCodeEnum_PC0  ProductCategoryCodeEnum = "PC0"
)

func (ProductCategoryCodeEnum) Valid

func (v ProductCategoryCodeEnum) Valid() bool

Valid reports whether v satisfies every constraint of ProductCategoryCodeEnum.

type ProductGtin

type ProductGtin struct {
	// GTIN No:
	No   *Int20
	Name *String512
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ProductGtin

ProductGtin corresponds to the XSD complex type ProductGtin.

type ProtectionArticle

type ProtectionArticle struct {
	Description     []Phrase
	Manufacturer    *Phrase
	SourcesOfSupply []Phrase
	// Reference relevant standard: Only to be used for referencing old standards
	// for compatibility
	ReferenceRelevantStandard []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ProtectionArticle source: Chapter 8

ProtectionArticle corresponds to the XSD complex type ProtectionArticle.

type QualifierEnum

type QualifierEnum string

Symbols like less than, greater than, equal, greater or equal,less or equal or circa.

QualifierEnum corresponds to the XSD simple type QualifierEnum.

const (
	QualifierEnum_lt QualifierEnum = "lt"
	QualifierEnum_gt QualifierEnum = "gt"
	QualifierEnum_le QualifierEnum = "le"
	QualifierEnum_ge QualifierEnum = "ge"
	QualifierEnum_eq QualifierEnum = "eq"
	QualifierEnum_ca QualifierEnum = "ca"
)

func (QualifierEnum) Valid

func (v QualifierEnum) Valid() bool

Valid reports whether v satisfies every constraint of QualifierEnum.

type RawElement

type RawElement struct {
	Name  xml.Name
	Attrs []xml.Attr
	Nodes []RawNode
}

RawElement is an XML element kept verbatim with its attributes and content. Namespace declarations are not kept; Encode declares the namespaces the names need.

type RawNode

type RawNode struct {
	Element *RawElement
	Text    string
	// contains filtered or unexported fields
}

RawNode is an element or a piece of character data kept verbatim. Exactly one of Element and Text is meaningful: Text is used when Element is nil.

type ReachRegNo

type ReachRegNo string

The REACH registration number for a substance. Last 4 digits might be ormitted or replaced by xxxx or XXXX where legally applicable, i.e. for mixture ingredients.

ReachRegNo corresponds to the XSD simple type ReachRegNo.

func (ReachRegNo) Valid

func (v ReachRegNo) Valid() bool

Valid reports whether v satisfies every constraint of ReachRegNo.

type ReasonForWaiving

type ReasonForWaiving string

For physical or chemical properties, reasons for waiving are: 1. cannot be determined = technically impossible to obtain (pH value for solids, arguably) 2. not applicable = irrelevant (because no hazard assessment requires such info) 3. no data = unknown (not tested so far) Implemented for https://github.com/esdscom/sdscom-xml/issues/33

ReasonForWaiving corresponds to the XSD simple type ReasonForWaiving.

const (
	ReasonForWaiving_cannot_be_determined ReasonForWaiving = "cannot be determined"
	ReasonForWaiving_not_applicable       ReasonForWaiving = "not applicable"
	ReasonForWaiving_no_data              ReasonForWaiving = "no data"
)

func (ReasonForWaiving) Valid

func (v ReasonForWaiving) Valid() bool

Valid reports whether v satisfies every constraint of ReasonForWaiving.

type RegulationsDE

type RegulationsDE struct {
	RestrictionsOfOccupation []Phrase
	Stoerfallverordnung      *RegulationsDEStoerfallverordnung
	TaLuft                   []TaLuft
	WaterHazardClass         *WaterHazardClass
	// Other German legislation:
	OtherRestrictionsAndProhibitionRegulations     []Phrase
	RegistrationNoAccordingToBiozidMeldeverordnung *Phrase
	AdditionalInformation                          []Phrase
	// National legislation: National requirements related to waste that applies to
	// the product or its packaging.
	NationalWasteLegislationDE []NationalWasteLegislationDE
	// German storage class: Classification of the chemical in accordance with
	// German regulation.
	StorageClassDE *StorageClassEnumDE
	// German GisCode of the BGBau for the construction industrie
	GisCode *String16
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Regulations valid for the product of mixture as a whole. For ingredient information, create type ComponentDE or refer to ComponentEU.

RegulationsDE corresponds to the XSD complex type RegulationsDE.

type RegulationsDEStoerfallverordnung

type RegulationsDEStoerfallverordnung struct {
	HealthHazards        *SevesoEntryDE
	PhysicalHazards      *SevesoEntryDE
	EnvironmentalHazards *SevesoEntryDE
	OtherHazards         *SevesoEntryDE
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RegulationsDEStoerfallverordnung corresponds to the anonymous complex type of element RegulationsDE/Stoerfallverordnung.

type RegulationsEU

type RegulationsEU struct {
	// EU legislations: Restrictions and other regulatory requirements related to
	// the chemical in accordance with EU legislations.
	EuLegislation                *RegulationsEUEuLegislation
	NationalLegislation          *RegulationsEUNationalLegislation
	ChemicalSafetyAssessmentInfo *RegulationsEUChemicalSafetyAssessmentInfo
	ChemicalSafetyReport         *RegulationsEUChemicalSafetyReport
	ExposureScenario             *RegulationsEUExposureScenario
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Regulations valid for the product of mixture as a whole. For ingredient information, refer to type ComponentEU.

RegulationsEU corresponds to the XSD complex type RegulationsEU.

type RegulationsEUChemicalSafetyAssessmentInfo

type RegulationsEUChemicalSafetyAssessmentInfo struct {
	// Chemical safety assessment (CSA) carried out: To state if CSA has been
	// performed on the substance or the individual substances of a mixture.
	ChemicalSafetyAssessmentCarriedOut *Boolean
	ChemicalSafetyAssessment           []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RegulationsEUChemicalSafetyAssessmentInfo corresponds to the anonymous complex type of element RegulationsEU/ChemicalSafetyAssessmentInfo.

type RegulationsEUChemicalSafetyReport

type RegulationsEUChemicalSafetyReport struct {
	CsrRequired *Boolean
	CsrLocation []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RegulationsEUChemicalSafetyReport corresponds to the anonymous complex type of element RegulationsEU/ChemicalSafetyReport.

type RegulationsEUEuLegislation

type RegulationsEUEuLegislation struct {
	AssessedLegislation *Assessment
	// Authorisation number: For chemicals subject to authorisation according to
	// REACH Annex XIV, which have been granted authorisation for the actual use.
	AuthorisationNo            *String32
	EuAuthorisation            []Phrase
	EuRestrictionsOnUse        []Phrase
	EuRestrictionsOfOccupation []Phrase
	// Restricted in use according REACH: Restrictions on the chemical according to
	// Annex XVII of REACH
	RestrictionsAccordingReach []Phrase
	// according to EU cosmetics regulation
	InciName *String1024
	// Restrictions related to regulation on detergents:
	Detergents *RegulationsEUEuLegislationDetergents
	// Restrictions related to the use of volatile organic compounds: Directive
	// 2004/42/EC amending 1999/13/EC. This should be an exact value, not a range.
	// But for reasons of ingredient nondisclosure, some companies decide to
	// provide a range here.
	Voc    *RegulationsEUEuLegislationVoc
	Seveso *RegulationsEUEuLegislationSeveso
	// Directive 2010/75/EU This should be an exact value, not a range. But for
	// reasons of ingredient nondisclosure, some companies decide to provide a
	// range here.
	IndustrialEmissions               *RegulationsEUEuLegislationIndustrialEmissions
	CertainFluorinatedGreenhouseGases *RegulationsEUEuLegislationCertainFluorinatedGreenhouseGases
	// Other EU legislations: Miscellaneous restrictions etc. that apply to the
	// chemical based on EU legislations – e.g. regulation on construction
	// products.
	OtherEuLegislation []Phrase
	// Link to ESCom exposure scenario. The referenced exposure scenario(s) must be
	// delivered in one or more separate file(s) in ESCom format. In its element
	// ExposureScenario/IdentificationString, ESCom provides the UUID which is
	// referenced here.
	ExposureScenarioIdentificationString []Uuid
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

EU legislations: Restrictions and other regulatory requirements related to the chemical in accordance with EU legislations.

RegulationsEUEuLegislation corresponds to the anonymous complex type of element RegulationsEU/EuLegislation.

type RegulationsEUEuLegislationCertainFluorinatedGreenhouseGases

type RegulationsEUEuLegislationCertainFluorinatedGreenhouseGases struct {
	FluorinatedGreenhouseGasesMethod *Phrase
	AdditionalInfo                   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RegulationsEUEuLegislationCertainFluorinatedGreenhouseGases corresponds to the anonymous complex type of element RegulationsEU/EuLegislation/CertainFluorinatedGreenhouseGases.

type RegulationsEUEuLegislationDetergents

type RegulationsEUEuLegislationDetergents struct {
	IsDetergent              *Boolean
	NameDetergentsRegulation *String1024
	DetergentInformation     []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Restrictions related to regulation on detergents:

RegulationsEUEuLegislationDetergents corresponds to the anonymous complex type of element RegulationsEU/EuLegislation/Detergents.

type RegulationsEUEuLegislationIndustrialEmissions

type RegulationsEUEuLegislationIndustrialEmissions struct {
	VocInPercentByWeight *PercentageRange
	// Voc contents: To be usually measured in g/L
	VocValue       *NumericRangeWithUnitAndQualifier
	AdditionalInfo *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Directive 2010/75/EU This should be an exact value, not a range. But for reasons of ingredient nondisclosure, some companies decide to provide a range here.

RegulationsEUEuLegislationIndustrialEmissions corresponds to the anonymous complex type of element RegulationsEU/EuLegislation/IndustrialEmissions.

type RegulationsEUEuLegislationSeveso

type RegulationsEUEuLegislationSeveso struct {
	HealthHazards        *SevesoEntryEU
	PhysicalHazards      *SevesoEntryEU
	EnvironmentalHazards *SevesoEntryEU
	OtherHazards         *SevesoEntryEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RegulationsEUEuLegislationSeveso corresponds to the anonymous complex type of element RegulationsEU/EuLegislation/Seveso.

type RegulationsEUEuLegislationVoc

type RegulationsEUEuLegislationVoc struct {
	VocInPercentByWeight *PercentageRange
	// Voc contents: To be usually measured in g/L
	VocValue       *NumericRangeWithUnitAndQualifier
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Restrictions related to the use of volatile organic compounds: Directive 2004/42/EC amending 1999/13/EC. This should be an exact value, not a range. But for reasons of ingredient nondisclosure, some companies decide to provide a range here.

RegulationsEUEuLegislationVoc corresponds to the anonymous complex type of element RegulationsEU/EuLegislation/Voc.

type RegulationsEUExposureScenario

type RegulationsEUExposureScenario struct {
	// Exposure scenarios for the mixture: To state if information on the actual
	// use of the mixture, similar to information in an exposure scenario for a
	// substance, is enclosed the SDS.
	MixtureExposureScenarioInAnnex *Boolean
	// To provide information on status of ES, ES not required etc.
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RegulationsEUExposureScenario corresponds to the anonymous complex type of element RegulationsEU/ExposureScenario.

type RegulationsEUNationalLegislation

type RegulationsEUNationalLegislation struct {
	// not part of the EU, but closely connected and currently without relevant
	// national regulations. This element is a placeholder.
	NationalLegislationAndorra *AnyType
	// EU candidate
	NationalLegislationAlbania *AnyType
	// not a EU member and witout chemicals law - except for the Srpska province,
	// which aligns its safety data sheet to the EU.
	NationalLegislationBosniaAndHerzegovina *AnyType
	NationalLegislationBelgium              *AnyType
	NationalLegislationBulgaria             *AnyType
	NationalLegislationCyprus               *AnyType
	NationalLegislationCzechRepublic        *AnyType
	NationalLegislationGermany              *RegulationsDE
	NationalLegislationEstonia              *AnyType
	// Includes the Canaries. Includes Ceuta and Melilla which are not part of the
	// European Customs Union.
	NationalLegislationSpain   *AnyType
	NationalLegislationFinland *AnyType
	// includes French Guayana, Guadeloupe, Martinique, Réunion, Mayotte and Saint
	// Martin, which are not part of the European Customs Union.
	NationalLegislationFrance *AnyType
	// No EU member anymore after March 29, 2019. Until deviating legislation is
	// established, the UK will be covered with a EU safety data sheet. Includes
	// Gibraltar, which is not part of the European Customs Union.
	NationalLegislationUnitedKingdom *AnyType
	NationalLegislationGreece        *AnyType
	NationalLegislationCroatia       *AnyType
	NationalLegislationHungary       *AnyType
	NationalLegislationIreland       *AnyType
	// not part of the EU, but chemical legislation aligned with EU legislation.
	NationalLegislationIceland *AnyType
	NationalLegislationItaly   *AnyType
	// not part of the EU, but closely connected.
	NationalLegislationLiechtenstein *AnyType
	NationalLegislationLithuania     *AnyType
	NationalLegislationLuxembourg    *AnyType
	NationalLegislationLatvia        *AnyType
	// not part of the EU, but closely connected.
	NationalLegislationMonaco *AnyType
	// EU candidate
	NationalLegislationMontenegro *AnyType
	// EU candidate
	NationalLegislationNorthMacedonia *AnyType
	NationalLegislationMalta          *AnyType
	NationalLegislationNetherlands    *AnyType
	NationalLegislationPoland         *AnyType
	// includes the Azores and Madeira
	NationalLegislationPortugal *AnyType
	NationalLegislationRomania  *AnyType
	// EU candidate
	NationalLegislationSerbia   *AnyType
	NationalLegislationSweden   *AnyType
	NationalLegislationSlovenia *AnyType
	NationalLegislationSlovakia *AnyType
	// not part of the EU, but closely connected and currently without relevant
	// national regulations. This element is a placeholder.
	NationalLegislationSanMarino *AnyType
	// not part of the EU, but legislation allows SDS according to EU standards.
	NationalLegislationUkraine *AnyType
	// not part of the EU, but closely connected and currently without relevant
	// national regulations. This element is a placeholder.
	NationalLegislationVaticanCityState *AnyType
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RegulationsEUNationalLegislation corresponds to the anonymous complex type of element RegulationsEU/NationalLegislation.

type RegulatoryInformation

type RegulatoryInformation struct {
	AdditionalInfo []Phrase
	// This element refers to all countries an regulations that will be covered by
	// a safety data sheet in EU REACH format. Including a country here is no
	// political statement, i.e. it does not mean the country is, will be or should
	// be(come) part of the European Union.
	RegionEU *RegulationsEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 15. This type covers information on the product. Any information on substances which might be necessary to be listed in section 15 is covered in type "Substance".

RegulatoryInformation corresponds to the XSD complex type RegulatoryInformation.

type RelativeVapourDensity

type RelativeVapourDensity struct {
	Value        *PhysChemUnitValueWithTemperature
	ReferenceGas *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RelativeVapourDensity source: Chapter 9

RelativeVapourDensity corresponds to the XSD complex type RelativeVapourDensity.

type ReleaseEstimationEnvironment

type ReleaseEstimationEnvironment struct {
	// Release route to which the release rate reported refers. Expected value:
	// Phrase
	ReleaseRoute *EsdscomPhrase
	// Release rate value for the release route specified. Expected value: Numeric
	// value
	ReleaseRate *NumericValueWithUnit
	// Describes the method used to determine the initial release of a substance to
	// the environment from a process or during an activity. Expected value: Phrase
	ReleaseEstimationMethod *EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that provides the initial release of a substance to the environment from a process or during an activity together with the method that has been used to derive this information.

ReleaseEstimationEnvironment corresponds to the XSD complex type ReleaseEstimationEnvironment.

type ReproductiveToxicityTypeEnum

type ReproductiveToxicityTypeEnum string

ReproductiveToxicityTypeEnum corresponds to the XSD simple type ReproductiveToxicityTypeEnum.

const (
	ReproductiveToxicityTypeEnum_sexual_function ReproductiveToxicityTypeEnum = "sexual function"
	ReproductiveToxicityTypeEnum_developmental   ReproductiveToxicityTypeEnum = "developmental"
	ReproductiveToxicityTypeEnum_lactation       ReproductiveToxicityTypeEnum = "lactation"
)

func (ReproductiveToxicityTypeEnum) Valid

Valid reports whether v satisfies every constraint of ReproductiveToxicityTypeEnum.

type RespiratoryProtectionArticle

type RespiratoryProtectionArticle struct {
	Type            []RespiratoryProtectionArticleType
	Description     []Phrase
	Manufacturer    *Phrase
	SourcesOfSupply []Phrase
	// Reference relevant standard: Only to be used for referencing old standards
	// for compatibility
	ReferenceRelevantStandard []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RespiratoryProtectionArticle source: Chapter 8

RespiratoryProtectionArticle corresponds to the XSD complex type RespiratoryProtectionArticle.

type RespiratoryProtectionArticleType

type RespiratoryProtectionArticleType struct {
	EquipmentForSelfRescue []Phrase
	MaskType               []Phrase
	FilterApparatusType    []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

RespiratoryProtectionArticleType corresponds to the anonymous complex type of element RespiratoryProtectionArticle/Type.

type RiskManagementMeasureEnv

type RiskManagementMeasureEnv struct {
	// A phrase that describes the risk management measure.
	MeasurePhrase []EsdscomPhrase
	// Specifies the measure and the degree in % to which the measure to reduce the
	// release to air is effective.
	EffectivenessAirInPercent *EffectivenessValueWithQualifier
	// Specifies the measure and the degree in % to which the measure to reduce the
	// release to soil is effective.
	EffectivenessSoilInPercent *EffectivenessValueWithQualifier
	// Specifies the measure and the degree in % to which the measure to reduce the
	// release to water is effective.
	EffectivenessWaterInPercent *EffectivenessValueWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

A risk management measure related to the environment.

RiskManagementMeasureEnv corresponds to the XSD complex type RiskManagementMeasureEnv.

type RiskManagementMeasureGeneric

type RiskManagementMeasureGeneric struct {
	// A phrase that describes the operational condition.
	MeasurePhrase *EsdscomPhrase
	// Describes the effectiveness of sewage treatment conditions. Specifies the
	// value in a percentage of a substance which is removed from waste water by
	// the sewage treatment plant.
	EffectivenessInPercent *EffectivenessValueWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Specifies a generic risk management measure.

RiskManagementMeasureGeneric corresponds to the XSD complex type RiskManagementMeasureGeneric.

type RiskManagementMeasureHH

type RiskManagementMeasureHH struct {
	// A phrase that describes the risk management measure.
	MeasurePhrase []EsdscomPhrase
	// Specifies the degree in % to which the measure to prevent skin exposure is
	// effective.
	EffectivenessDermalInPercent *EffectivenessValueWithQualifier
	// Specifies the degree in % to which the measure to prevent inhalation-related
	// exposure is effective.
	EffectivenessInhalationInPercent *EffectivenessValueWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

A risk management measure for a use relevant to workers or consumers (human health).

RiskManagementMeasureHH corresponds to the XSD complex type RiskManagementMeasureHH.

type RiskManagementMeasureWaste

type RiskManagementMeasureWaste struct {
	// A phrase that describes the risk management measure.
	MeasurePhrase []EsdscomPhrase
	// Describes the method or measures to reduce the release of waste to the
	// environment.
	EffectivenessWasteInPercent *EffectivenessValueWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

A risk management measure related to waste.

RiskManagementMeasureWaste corresponds to the XSD complex type RiskManagementMeasureWaste.

type RmmPictogramEnum

type RmmPictogramEnum string

Mandatory signs related to Risk Management Measures, according to EN ISO 7010

RmmPictogramEnum corresponds to the XSD simple type RmmPictogramEnum.

func (RmmPictogramEnum) Valid

func (v RmmPictogramEnum) Valid() bool

Valid reports whether v satisfies every constraint of RmmPictogramEnum.

type RoleDescriptionEnum

type RoleDescriptionEnum string

The role values of a contact. Used in field Role. Role definitions are compatible with Norwegian SDScom applications.

RoleDescriptionEnum corresponds to the XSD simple type RoleDescriptionEnum.

const (
	RoleDescriptionEnum_Responsible_company  RoleDescriptionEnum = "Responsible company"
	RoleDescriptionEnum_National_responsible RoleDescriptionEnum = "National responsible"
	RoleDescriptionEnum_Manufacturer         RoleDescriptionEnum = "Manufacturer"
	RoleDescriptionEnum_Importer             RoleDescriptionEnum = "Importer"
	RoleDescriptionEnum_Only_representative  RoleDescriptionEnum = "Only representative"
	RoleDescriptionEnum_Reimporter           RoleDescriptionEnum = "Reimporter"
	RoleDescriptionEnum_Formulator           RoleDescriptionEnum = "Formulator"
	RoleDescriptionEnum_Distributor          RoleDescriptionEnum = "Distributor"
	RoleDescriptionEnum_Downstream_user      RoleDescriptionEnum = "Downstream user"
	RoleDescriptionEnum_Foreign_manufacturer RoleDescriptionEnum = "Foreign manufacturer"
)

func (RoleDescriptionEnum) Valid

func (v RoleDescriptionEnum) Valid() bool

Valid reports whether v satisfies every constraint of RoleDescriptionEnum.

type STEL

type STEL struct {
	Value           *NumericRangeWithUnitAndQualifier
	AppraisalPeriod *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Short Term Exposure Limit

STEL corresponds to the XSD complex type STEL.

type STOTData

type STOTData struct {
	Method            *Phrase
	ExposureRoute     *ExposureRoute
	Dose              *NumericRangeWithUnitAndQualifier
	ExposureTime      *NumericRangeWithUnitAndQualifier
	TestDuration      *NumericRangeWithUnitAndQualifier
	ExposureFrequency *NumericRangeWithUnitAndQualifier
	// Species = Organism or cell line
	Species          *Species
	SpecificEffect   []Phrase
	OrganAffected    []Phrase
	Result           *NumericRangeWithUnitAndQualifier
	ResultEvaluation []Phrase
	TestReference    *Phrase
	AdditionalInfo   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

STOTData, source: Chapter 11 used by DT: STOT

STOTData corresponds to the XSD complex type STOTData.

type STPConditions

type STPConditions struct {
	// Specifies the type of sewage treatment plant that is used to treat the waste
	// water from the activities covered by the exposure scenario before their
	// release to the environment. The value of effectiveness specifies the value
	// in a percentage of a substance which is removed from waste water by the
	// sewage treatment plant. Expected value: Phrase (+ effectiveness)
	STPType *RiskManagementMeasureGeneric
	// Specifies additional technical details on the type of treatment applied in
	// the plant.
	STPTypeAdditionalInformation []EsdscomPhrase
	// Specifies the way in which the sludge coming from the sewage treatment is
	// processed or cannot be used.
	SludgeTreatment []EsdscomPhrase
	// Specifies the flow rate of the sewage treatment plant in m³/d. The default
	// value used for a standard town is 2000 m³/d.
	STPEffluentInM3perDay *NumericValue
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that describes the conditions pertaining to a sewage treatment plant.

STPConditions corresponds to the XSD complex type STPConditions.

type SUMI

type SUMI struct {
	SumiReference          *SUMISumiReference
	Title                  []Phrase
	GeneralDescription     *SUMIGeneralDescription
	OperationalConditions  *SUMIOperationalConditions
	RiskManagementMeasures *SUMIRiskManagementMeasures
	// In Exposure Scenarios, also known as AGPA = Additional Good Practice Advice
	GoodPracticeAdvice *SUMIGoodPracticeAdvice
	AdditionalInfo     []Phrase
	// Describes the boundaries of the SUMI. Mandatory according to some sources,
	// optional according to others.
	DisclaimerBoundaries []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Safe Use Information for Mixtures. Based on a draft prepared by Qualisys GmbH, Langenfeld, Germany, and published under CC license BY-SA 4.0 during the BDI workshop in Berlin, 26 October 2016. Includes information from the presentation of Martin Kops at ENES 8 and other documents.

SUMI corresponds to the XSD complex type SUMI.

type SUMIGeneralDescription

type SUMIGeneralDescription struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice SUMIGeneralDescriptionChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SUMIGeneralDescription corresponds to the anonymous complex type of element SUMI/GeneralDescription.

type SUMIGeneralDescriptionChoice

type SUMIGeneralDescriptionChoice struct {
	UseDescriptors *SUMIGeneralDescriptionChoiceUseDescriptors
	// Reference to the Sector-specific Worker Exposure Description as named in the
	// sector's Use Map.
	SwedReference []Phrase
	Text          []Phrase
}

SUMIGeneralDescriptionChoice corresponds to the content model SUMI/GeneralDescription/Choice.

type SUMIGeneralDescriptionChoiceUseDescriptors

type SUMIGeneralDescriptionChoiceUseDescriptors struct {
	SectorOfUse     *SectorOfUse
	ProcessCategory *ProcessCategory
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SUMIGeneralDescriptionChoiceUseDescriptors corresponds to the anonymous complex type of element SUMI/GeneralDescription/Choice/UseDescriptors.

type SUMIGoodPracticeAdvice

type SUMIGoodPracticeAdvice struct {
	Text          []Phrase
	AgpaPictogram *AgpaPictogramEnum
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

In Exposure Scenarios, also known as AGPA = Additional Good Practice Advice

SUMIGoodPracticeAdvice corresponds to the anonymous complex type of element SUMI/GoodPracticeAdvice.

type SUMIOperationalConditions

type SUMIOperationalConditions struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice SUMIOperationalConditionsChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SUMIOperationalConditions corresponds to the anonymous complex type of element SUMI/OperationalConditions.

type SUMIOperationalConditionsChoice

type SUMIOperationalConditionsChoice struct {
	Properties *SUMIOperationalConditionsChoiceProperties
	Text       []Phrase
}

SUMIOperationalConditionsChoice corresponds to the content model SUMI/OperationalConditions/Choice.

type SUMIOperationalConditionsChoiceProperties

type SUMIOperationalConditionsChoiceProperties struct {
	// Maximum duration of the use/application.
	MaxDuration        *NumericValueWithUnit
	RangeOfApplication []Phrase
	// Air exchange rate (equals VentilationRate in ESCom XML) is a minimum value.
	AirExchangeRate *NumericValueWithUnitAndQualifier
	Other           []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SUMIOperationalConditionsChoiceProperties corresponds to the anonymous complex type of element SUMI/OperationalConditions/Choice/Properties.

type SUMIRiskManagementMeasures

type SUMIRiskManagementMeasures struct {
	RmmWorker      []Phrase
	RmmPictogram   []RmmPictogramEnum
	RmmEnvironment []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SUMIRiskManagementMeasures corresponds to the anonymous complex type of element SUMI/RiskManagementMeasures.

type SUMISumiReference

type SUMISumiReference struct {
	// Leave empty if the Sumi is not published by a chemical sector association
	// and part of Use Map activities (no company specific SUMI codes here!). First
	// word should be the sector name, e.g. AISE or FEICA, followed by the sector's
	// SUMI code.
	SectorSumiCode *string
	// Version number is optional here because SUMI info is part of the eSDS which
	// is versioned, so the version date is expected to be the same and is
	// sufficient to determine a sector SUMI version.
	VersionNumber *String16
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SUMISumiReference corresponds to the anonymous complex type of element SUMI/SumiReference.

type ScalingToolDetails

type ScalingToolDetails struct {
	// Indicates the tool that can be used for scaling. Expected value: Phrase
	ScalingTool *EsdscomPhrase
	// Indicates the boundaries that have to be considered and the scalable
	// parameters for a specific scaling tool. Expected value: Phrase
	ScalingInstructions []EsdscomPhrase
	// Indicates the link where additional information on scaling can be found, if
	// available. Expected value: Web address
	ScalingToolWebLink *URL
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Section that provides details about a scaling tool used in section 4 as additional advice to the downstream users, if appropriate.

ScalingToolDetails corresponds to the XSD complex type ScalingToolDetails.

type SdsSupplierInfo

type SdsSupplierInfo struct {
	// Name of the SDS. Shall be identical with the name on the hazard label and
	// package unless the SDS is a group SDS, in which case the hazard label name
	// must match one of the instances of TradeProductIdentity.
	SdsName *String512
	// SDS not legally required: The formal requirements to SDSs do not apply to
	// chemicals that legally do not require such documents. In this field, the
	// reason for no legal requirement for an SDS can be stated.
	SdsNotLegallyRequired []Phrase
	// Version No: The current version of the SDS document.
	VersionNo *String10
	// Date of issue: The date when this SDS was prepared for the first time.
	IssueDate *Date
	// Date of revision: The date of the last revision of the SDS document. See
	// also EditingDate.
	RevisionDate *Date
	// If the exporting system is the SDS authoring system, the value of
	// EditingDate should be omitted or be equal to RevisionDate. If the export is
	// prepared by another system, e.g. from a service provider, the EditingDate is
	// the status of data entry of the SDS and is equal to or larger than
	// RevisionDate.
	EditingDate *Date
	// Date when manufacturer stopped distribution. See also
	// ProductDiscontinuedFromMarket.
	DistributionStoppedDate *Date
	// Supplier information: Contact information etc. on relevant actors in the
	// supply chain.
	SupplierInformation []SdsSupplierInfoSupplierInformation
	// Emergency phone: Contacts that can be used in case of an accident or
	// trouble, e.g. the supplier’s own emergency phone or the phone number to an
	// official advisory body. A Poison Information Center gives advice and
	// instruction regarding treatment of acute poisoning caused by chemicals etc.
	EmergencyPhone []SdsSupplierInfoEmergencyPhone
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SdsSupplierInfo corresponds to the XSD complex type SdsSupplierInfo.

type SdsSupplierInfoEU

type SdsSupplierInfoEU struct {
	// Name of the SDS. Shall be identical with the name on the hazard label and
	// package unless the SDS is a group SDS, in which case the hazard label name
	// must match one of the instances of TradeProductIdentity.
	SdsName *String512
	// SDS not legally required: The formal requirements to SDSs do not apply to
	// chemicals that legally do not require such documents. In this field, the
	// reason for no legal requirement for an SDS can be stated.
	SdsNotLegallyRequired []Phrase
	// Version No: The current version of the SDS document.
	VersionNo *String10
	// Date of issue: The date when this SDS was prepared for the first time.
	IssueDate *Date
	// Date of revision: The date of the last revision of the SDS document. See
	// also EditingDate.
	RevisionDate *Date
	// If the exporting system is the SDS authoring system, the value of
	// EditingDate should be omitted or be equal to RevisionDate. If the export is
	// prepared by another system, e.g. from a service provider, the EditingDate is
	// the status of data entry of the SDS and is equal to or larger than
	// RevisionDate.
	EditingDate *Date
	// Date when manufacturer stopped distribution. See also
	// ProductDiscontinuedFromMarket.
	DistributionStoppedDate *Date
	// Supplier information: Contact information etc. on relevant actors in the
	// supply chain.
	SupplierInformation []SdsSupplierInfoSupplierInformation
	// Emergency phone: Contacts that can be used in case of an accident or
	// trouble, e.g. the supplier’s own emergency phone or the phone number to an
	// official advisory body. A Poison Information Center gives advice and
	// instruction regarding treatment of acute poisoning caused by chemicals etc.
	EmergencyPhone []SdsSupplierInfoEmergencyPhone
	// Exposure scenarioes incorporated in the SDS: If the SDS is complete (an
	// eSDS) - meaning that the user has to adapt to the information in the SDS
	// within 12 months, the user must be informed about this. This element is to
	// help the user distinguish between eSDSs and normal SDSs.
	CompleteSdsWithEsIncorporated *SdsSupplierInfoEUCompleteSdsWithEsIncorporated
	MainIntendedUse               *EupcsCategory
	SecondaryUses                 []EupcsCategory
	RelevantIdentifiedUse         *SdsSupplierInfoEURelevantIdentifiedUse
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SdsSupplierInfoEU corresponds to the XSD complex type SdsSupplierInfoEU.

type SdsSupplierInfoEUCompleteSdsWithEsIncorporated

type SdsSupplierInfoEUCompleteSdsWithEsIncorporated struct {
	// Exposure scenarios incorporated in the SDS: To state if the SDS is complete
	// (eSDS) - meaning that the user has to adapt to the information in the SDS
	// within 12 months.
	ExtendedSdsWithEsIncorporated *Boolean
	// Info on the eSDS with information from ES incorporated in the text:
	// Information on expossure scenarioes (ESs) incorporated into the safety data
	// sheet (SDS).
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Exposure scenarioes incorporated in the SDS: If the SDS is complete (an eSDS) - meaning that the user has to adapt to the information in the SDS within 12 months, the user must be informed about this. This element is to help the user distinguish between eSDSs and normal SDSs.

SdsSupplierInfoEUCompleteSdsWithEsIncorporated corresponds to the anonymous complex type of element SdsSupplierInfoEU/CompleteSdsWithEsIncorporated.

type SdsSupplierInfoEURelevantIdentifiedUse

type SdsSupplierInfoEURelevantIdentifiedUse struct {
	// NB: Optional attribute IdentifiedUseId to identify the actual identified use
	// (ExposureScenario). The optional attribute PrintAsAttachment can be used to
	// toggle printing the exposue scenario inline in the Sds or as an attachment.
	IdentifiedUse []SdsSupplierInfoEURelevantIdentifiedUseIdentifiedUse
	// Product type: For trade product, e.g. detergent, paint, lubricant, glue
	ProductType []Phrase
	// Function desription: This field can be used for product function description
	// in free text.
	ProductFunctionDescription []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SdsSupplierInfoEURelevantIdentifiedUse corresponds to the anonymous complex type of element SdsSupplierInfoEU/RelevantIdentifiedUse.

type SdsSupplierInfoEURelevantIdentifiedUseIdentifiedUse

type SdsSupplierInfoEURelevantIdentifiedUseIdentifiedUse struct {
	// IdentifiedUseId is the attribute IdentifiedUseId. Its schema default is "0".
	IdentifiedUseId *Integer
	// PrintAsAttachment is the attribute PrintAsAttachment. Its schema default is
	// "true".
	PrintAsAttachment *Boolean
	// Sector of use (SU):
	SectorOfUse []SectorOfUse
	// Product category (PC):
	ProductCategory []ProductCategory
	// Process category: PROC
	ProcessCategory []ProcessCategory
	// Environment release category: ERC
	EnvironmentalReleaseCategory         []EnvironmentalReleaseCategory
	SpecificEnvironmentalReleaseCategory []SpecificEnvironmentalReleaseCategory
	ArticleCategoryNoIntendedRelease     []ArticleCategory
	ArticleCategoryWithIntendedRelease   []ArticleCategory
	CorrespondingExposureScenario        []SdsSupplierInfoEURelevantIdentifiedUseIdentifiedUseCorrespondingExposureScenario
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

NB: Optional attribute IdentifiedUseId to identify the actual identified use (ExposureScenario). The optional attribute PrintAsAttachment can be used to toggle printing the exposue scenario inline in the Sds or as an attachment.

SdsSupplierInfoEURelevantIdentifiedUseIdentifiedUse corresponds to the anonymous complex type of element SdsSupplierInfoEU/RelevantIdentifiedUse/IdentifiedUse.

type SdsSupplierInfoEURelevantIdentifiedUseIdentifiedUseCorrespondingExposureScenario

type SdsSupplierInfoEURelevantIdentifiedUseIdentifiedUseCorrespondingExposureScenario struct {
	ExposureScenarioName *String128
	// File name: For example, a locked PDF document. Static URL possible.
	LegalDocumentFileName *FileName
	// Print date:
	LegalDocumentPrintDate *Date
	// Digital signature: Digital signature to verify the document
	LegalDocumentSignature *String64
	// File name if the exposure scenarios is available in EScom XML format.
	EscomFileName *FileName
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SdsSupplierInfoEURelevantIdentifiedUseIdentifiedUseCorrespondingExposureScenario corresponds to the anonymous complex type of element SdsSupplierInfoEU/RelevantIdentifiedUse/IdentifiedUse/CorrespondingExposureScenario.

type SdsSupplierInfoEmergencyPhone

type SdsSupplierInfoEmergencyPhone struct {
	// Telephone number:
	No *String256
	// Information: This field is used to state what kind of assistance that can be
	// obtained from the actual emergency telephone, if it is available only during
	// office hours, etc.
	EmergencyPhoneDescription []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Emergency phone: Contacts that can be used in case of an accident or trouble, e.g. the supplier’s own emergency phone or the phone number to an official advisory body. A Poison Information Center gives advice and instruction regarding treatment of acute poisoning caused by chemicals etc.

SdsSupplierInfoEmergencyPhone corresponds to the anonymous complex type of element SdsSupplierInfo/EmergencyPhone.

type SdsSupplierInfoSupplierInformation

type SdsSupplierInfoSupplierInformation struct {
	// Description of role: To describe an actor’s role.
	Role *SdsSupplierInfoSupplierInformationRole
	// This country informaion applies to all addresses and contacts and
	// LegalRegistrationNumber within SupplierInformation.
	Country *CountryCodeEnum
	// Name: Name of the company
	Name    *String256
	Address *SdsSupplierInfoSupplierInformationAddress
	// Telephone number:
	Phone []String256
	// Faximile number:
	Fax []String256
	// e-mail address to the company:
	Email []EmailAddress
	// Company URL: Web address to the company’s home page
	CompanyUrl *URL
	// Company contact: This field covers all contact persons related to the
	// company. Department or person within the company that can be contacted
	// regarding information on the actual chemical.
	CompanyContact []SdsSupplierInfoSupplierInformationCompanyContact
	// The D-U-N-S Number references a legal entity and allows access to what could
	// be considered a self-maintaining address book, created for the automotive
	// and chemical industry. It should be added to any address in SDScom to help
	// data integration. See also https://www.upik.de/
	Duns *DunsNo
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Supplier information: Contact information etc. on relevant actors in the supply chain.

SdsSupplierInfoSupplierInformation corresponds to the anonymous complex type of element SdsSupplierInfo/SupplierInformation.

type SdsSupplierInfoSupplierInformationAddress

type SdsSupplierInfoSupplierInformationAddress struct {
	VisitingAddressLine1 *String256
	VisitingAddressLine2 *String256
	VisitingAddressLine3 *String256
	// Postal code: Two-letter ISO3166 country code followed by a hyphen and the
	// national postal code.
	VisitingAddressPostCode *String16
	VisitingAddressCity     *String80
	// Postal address: P.O.Box or street address
	PostAddressLine1 *String256
	PostAddressLine2 *String256
	PostAddressLine3 *String256
	// Postal code: Two-letter ISO3166 country code followed by a hyphen and the
	// national postal code.
	PostCode *String16
	// Postal city:
	PostCity *String80
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SdsSupplierInfoSupplierInformationAddress corresponds to the anonymous complex type of element SdsSupplierInfo/SupplierInformation/Address.

type SdsSupplierInfoSupplierInformationCompanyContact

type SdsSupplierInfoSupplierInformationCompanyContact struct {
	// Name: Name of the company contact
	Name *String512
	// Telephone number: Telephone number of the company contact
	Phone *String256
	// Faximile number: Faximile number of the company contact
	Fax *String256
	// URL: Web addressof the company contact
	Url *URL
	// e-mail address: e-mail address of the company contact
	Email                *EmailAddress
	NationalContact      *String256
	EmailCompetentPerson *EmailAddress
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Company contact: This field covers all contact persons related to the company. Department or person within the company that can be contacted regarding information on the actual chemical.

SdsSupplierInfoSupplierInformationCompanyContact corresponds to the anonymous complex type of element SdsSupplierInfo/SupplierInformation/CompanyContact.

type SdsSupplierInfoSupplierInformationRole

type SdsSupplierInfoSupplierInformationRole struct {
	// Description of role: To describe an actor’s role. Accepted values:
	// Responsible company, National responsible, Manufacturer, Importer, Only
	// representative, Reimporter, Formulator, Distributor, Downstream user,
	// Foreign manufacturer
	RoleCode *RoleDescriptionEnum
	// Role description: Textual description of the role code. To allow language
	// independent description in addition to English based role codes.
	RoleDescription *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Description of role: To describe an actor’s role.

SdsSupplierInfoSupplierInformationRole corresponds to the anonymous complex type of element SdsSupplierInfo/SupplierInformation/Role.

type SdscomSubsetEnum

type SdscomSubsetEnum string

Legal values for the XMLStandardSubsetEnum. It should specify the minimum requirements matched, i.e. any subset with full coverage of SDScomChem should pick SDScomChem. SdscomXml light is a Norwegian specification, SDScomBau and SDScomChem are German, full means complete SDS information, other means any non-standard subset.

SdscomSubsetEnum corresponds to the XSD simple type SdscomSubsetEnum.

const (
	SdscomSubsetEnum_SdsComXml_Light SdscomSubsetEnum = "SdsComXml Light"
	SdscomSubsetEnum_SDScomBau       SdscomSubsetEnum = "SDScomBau"
	SdscomSubsetEnum_SDScomChem      SdscomSubsetEnum = "SDScomChem"
	SdscomSubsetEnum_full            SdscomSubsetEnum = "full"
	SdscomSubsetEnum_other           SdscomSubsetEnum = "other"
)

func (SdscomSubsetEnum) Valid

func (v SdscomSubsetEnum) Valid() bool

Valid reports whether v satisfies every constraint of SdscomSubsetEnum.

type SdscomVersionEnum

type SdscomVersionEnum string

The version of the XML standard which is applied in the transmission of datasheet information. This enum must list all compatible versions, but not any older ones! See issue #89. It is used to reference the version number in the XML data file, as the schema name does not include the version number. So this complements the version attribute in the xs:schema tag of the XSD files, and one of the enum values here must match the version attribute in the schema.

SdscomVersionEnum corresponds to the XSD simple type SdscomVersionEnum.

const (
	SdscomVersionEnum_5_5 SdscomVersionEnum = "5.5"
)

func (SdscomVersionEnum) Valid

func (v SdscomVersionEnum) Valid() bool

Valid reports whether v satisfies every constraint of SdscomVersionEnum.

type SectorOfUse

type SectorOfUse struct {
	SuCode     *SectorOfUseCodeEnum
	SuFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SectorOfUse, source: Chapter 1, used by: CT "IdentifiedUse"

SectorOfUse corresponds to the XSD complex type SectorOfUse.

type SectorOfUseCodeEnum

type SectorOfUseCodeEnum string

The legal codes for the SectorOfUseCodeEnum. Source: Chapter 1.

SectorOfUseCodeEnum corresponds to the XSD simple type SectorOfUseCodeEnum.

const (
	SectorOfUseCodeEnum_SU1  SectorOfUseCodeEnum = "SU1"
	SectorOfUseCodeEnum_SU2a SectorOfUseCodeEnum = "SU2a"
	SectorOfUseCodeEnum_SU2b SectorOfUseCodeEnum = "SU2b"
	SectorOfUseCodeEnum_SU3  SectorOfUseCodeEnum = "SU3"
	SectorOfUseCodeEnum_SU4  SectorOfUseCodeEnum = "SU4"
	SectorOfUseCodeEnum_SU5  SectorOfUseCodeEnum = "SU5"
	SectorOfUseCodeEnum_SU6a SectorOfUseCodeEnum = "SU6a"
	SectorOfUseCodeEnum_SU6b SectorOfUseCodeEnum = "SU6b"
	SectorOfUseCodeEnum_SU7  SectorOfUseCodeEnum = "SU7"
	SectorOfUseCodeEnum_SU8  SectorOfUseCodeEnum = "SU8"
	SectorOfUseCodeEnum_SU9  SectorOfUseCodeEnum = "SU9"
	SectorOfUseCodeEnum_SU10 SectorOfUseCodeEnum = "SU10"
	SectorOfUseCodeEnum_SU11 SectorOfUseCodeEnum = "SU11"
	SectorOfUseCodeEnum_SU12 SectorOfUseCodeEnum = "SU12"
	SectorOfUseCodeEnum_SU13 SectorOfUseCodeEnum = "SU13"
	SectorOfUseCodeEnum_SU14 SectorOfUseCodeEnum = "SU14"
	SectorOfUseCodeEnum_SU15 SectorOfUseCodeEnum = "SU15"
	SectorOfUseCodeEnum_SU16 SectorOfUseCodeEnum = "SU16"
	SectorOfUseCodeEnum_SU17 SectorOfUseCodeEnum = "SU17"
	SectorOfUseCodeEnum_SU18 SectorOfUseCodeEnum = "SU18"
	SectorOfUseCodeEnum_SU19 SectorOfUseCodeEnum = "SU19"
	SectorOfUseCodeEnum_SU20 SectorOfUseCodeEnum = "SU20"
	SectorOfUseCodeEnum_SU21 SectorOfUseCodeEnum = "SU21"
	SectorOfUseCodeEnum_SU22 SectorOfUseCodeEnum = "SU22"
	SectorOfUseCodeEnum_SU23 SectorOfUseCodeEnum = "SU23"
	SectorOfUseCodeEnum_SU24 SectorOfUseCodeEnum = "SU24"
	SectorOfUseCodeEnum_SU0  SectorOfUseCodeEnum = "SU0"
)

func (SectorOfUseCodeEnum) Valid

func (v SectorOfUseCodeEnum) Valid() bool

Valid reports whether v satisfies every constraint of SectorOfUseCodeEnum.

type Severity

type Severity int

Severity grades a ValidationError.

const (
	// SeverityError marks a violation of the schema.
	SeverityError Severity = iota
	// SeverityHint marks content that is kept but not checked, such as
	// elements of a national extension this package does not generate.
	SeverityHint
)

func (Severity) String

func (s Severity) String() string

type SevesoEntryDE

type SevesoEntryDE struct {
	Code              *string
	LowerTierQuantity *SevesoEntryEULowerTierQuantity
	UpperTierQuantity *SevesoEntryEUUpperTierQuantity
	// Number according to Table 1 of 12 BImSchV, the German implementation of EU's
	// Seveso III Directive
	BimschNumber *AnyType
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SevesoEntryDE corresponds to the XSD complex type SevesoEntryDE.

type SevesoEntryEU

type SevesoEntryEU struct {
	Code              *string
	LowerTierQuantity *SevesoEntryEULowerTierQuantity
	UpperTierQuantity *SevesoEntryEUUpperTierQuantity
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

according to Directive 2012/18/EC

SevesoEntryEU corresponds to the XSD complex type SevesoEntryEU.

type SevesoEntryEULowerTierQuantity

type SevesoEntryEULowerTierQuantity string

SevesoEntryEULowerTierQuantity corresponds to an anonymous XSD simple type.

func (SevesoEntryEULowerTierQuantity) Int64

Int64 returns the value of v in its Go representation.

func (SevesoEntryEULowerTierQuantity) Valid

Valid reports whether v satisfies every constraint of SevesoEntryEULowerTierQuantity.

type SevesoEntryEUUpperTierQuantity

type SevesoEntryEUUpperTierQuantity string

SevesoEntryEUUpperTierQuantity corresponds to an anonymous XSD simple type.

func (SevesoEntryEUUpperTierQuantity) Int64

Int64 returns the value of v in its Go representation.

func (SevesoEntryEUUpperTierQuantity) Valid

Valid reports whether v satisfies every constraint of SevesoEntryEUUpperTierQuantity.

type Solubilities

type Solubilities struct {
	SolubilityDescription []Phrase
	// should be 0..1 only (unbounded is deprecated / on the list for refactoring).
	Solubility []SolubilitiesSolubility
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Describes the solutibities in one medium, optionally at various temperatures (section 9).

Solubilities corresponds to the XSD complex type Solubilities.

type SolubilitiesSolubility

type SolubilitiesSolubility struct {
	Medium *SolubilityMediumEnum
	// Specify solubility medium if Medium above is Other, or full text of the
	// medium in printable form.
	MediumDescription *Phrase
	// If the product has a low solubility or is insoluble in the specified medium,
	// and if there is no numerical translation of this circumstance, put the
	// respective phrase in AdditionalInfo. (see issue #71)
	Value []PhysChemUnitValueWithTemperature
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

should be 0..1 only (unbounded is deprecated / on the list for refactoring).

SolubilitiesSolubility corresponds to the anonymous complex type of element Solubilities/Solubility.

type SolubilityMediumEnum

type SolubilityMediumEnum string

The legal codes for the SolubilityMediumEnum. Source: Chapter 9.

SolubilityMediumEnum corresponds to the XSD simple type SolubilityMediumEnum.

const (
	SolubilityMediumEnum_Water     SolubilityMediumEnum = "Water"
	SolubilityMediumEnum_Fat       SolubilityMediumEnum = "Fat"
	SolubilityMediumEnum_Undefined SolubilityMediumEnum = "Undefined"
	SolubilityMediumEnum_Other     SolubilityMediumEnum = "Other"
)

func (SolubilityMediumEnum) Valid

func (v SolubilityMediumEnum) Valid() bool

Valid reports whether v satisfies every constraint of SolubilityMediumEnum.

type SolutionExtractionBehaviourOfPolymersInWater

type SolutionExtractionBehaviourOfPolymersInWater struct {
	Value   *PhysChemUnitValueWithTemperature
	PhValue *NumericRangeWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SolutionExtractionBehaviourOfPolymersInWater source: Chapter 9

SolutionExtractionBehaviourOfPolymersInWater corresponds to the XSD complex type SolutionExtractionBehaviourOfPolymersInWater.

type Species

type Species struct {
	Value  *Phrase
	Gender *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Species used in tests

Species corresponds to the XSD complex type Species.

type SpecificEnvironmentalReleaseCategory

type SpecificEnvironmentalReleaseCategory struct {
	SpercCode     *SpecificEnvironmentalReleaseCategoryCodeEnum
	SpercFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Specific Environmental Release Category, source: Chapter 1, used by: CT "IdentifiedUse"

SpecificEnvironmentalReleaseCategory corresponds to the XSD complex type SpecificEnvironmentalReleaseCategory.

type SpecificEnvironmentalReleaseCategoryCodeEnum

type SpecificEnvironmentalReleaseCategoryCodeEnum string

SpecificEnvironmentalReleaseCategoryCodeEnum. Source: Chapter 1. !!! SPERCs unknown !!! ?

SpecificEnvironmentalReleaseCategoryCodeEnum corresponds to the XSD simple type SpecificEnvironmentalReleaseCategoryCodeEnum.

func (SpecificEnvironmentalReleaseCategoryCodeEnum) Valid

Valid reports whether v satisfies every constraint of SpecificEnvironmentalReleaseCategoryCodeEnum.

type StabilityReactivity

type StabilityReactivity struct {
	// Reactivity description: The reactivity hazards of the chemical shall be
	// described. Specific test data shall be provided where available. Information
	// may also be based on general data for the class or family of substance or
	// mixture if such data adequately represent the anticipated hazard.If data for
	// mixtures are not available, data on substances in the mixture shall be
	// provided.
	ReactivityDescription []Phrase
	// Stability description: The stability of the substance or preparation and the
	// possibility of hazardous reactions occurring. Specify the need of
	// stabilizer, the possibility of hazardous reaction (e.g. exothermic
	// reaction), safety significance of a possible change in physical
	// characteristics of the chemical, etc.
	StabilityDescription []Phrase
	// Hazardous reactions: If relevant, state if the chemical will react or
	// polymerise, releasing excess pressure or heat, or creating other hazardous
	// conditions. The conditions under which the hazardous reactions may occur
	// shall be described.
	HazardousReactions []Phrase
	// Conditions to avoid: Conditions such as temperature, pressure, light, shock,
	// static discharge, vibrations or other physical stresses that might result in
	// a hazardous situation shall be listed. If appropriate, give a brief
	// description of measures to be taken.
	ConditionsToAvoid []Phrase
	// Materials to avoid – incompatible materials: Families of substances or
	// mixtures or specific substances, such as water, air, acids, bases, oxidising
	// agents, with which the substance or mixture could react to produce a
	// hazardous situation shall be listed. If appropriate, give a brief
	// description of measures to be taken.
	MaterialsToAvoid []Phrase
	// Hazardous decomposition products: Hazardous chemicals which may be formed in
	// dangerous quantity during decomposition. Address specifically hazardous
	// decomposition products, if any, formed upon contact with water, and
	// possibility of degradation to unstable products. Hazardous combustion
	// products shall be included in Section 5.
	HazardousDecompositionProducts []Phrase
	AdditionalInfo                 []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 10

StabilityReactivity corresponds to the XSD complex type StabilityReactivity.

type StateUnderStandardConditionsEnum

type StateUnderStandardConditionsEnum string

physical state (only solid/liquid/gaseous) under standard conditions (20°C, 1013 hpa)

StateUnderStandardConditionsEnum corresponds to the XSD simple type StateUnderStandardConditionsEnum.

const (
	StateUnderStandardConditionsEnum_solid   StateUnderStandardConditionsEnum = "solid"
	StateUnderStandardConditionsEnum_liquid  StateUnderStandardConditionsEnum = "liquid"
	StateUnderStandardConditionsEnum_gaseous StateUnderStandardConditionsEnum = "gaseous"
)

func (StateUnderStandardConditionsEnum) Valid

Valid reports whether v satisfies every constraint of StateUnderStandardConditionsEnum.

type StorageClassEnumDE

type StorageClassEnumDE string

Enumaration of the german storage class according to TRGS 510.

StorageClassEnumDE corresponds to the XSD simple type StorageClassEnumDE.

const (
	StorageClassEnumDE_1     StorageClassEnumDE = "1"
	StorageClassEnumDE_2A    StorageClassEnumDE = "2A"
	StorageClassEnumDE_2B    StorageClassEnumDE = "2B"
	StorageClassEnumDE_3     StorageClassEnumDE = "3"
	StorageClassEnumDE_4_1A  StorageClassEnumDE = "4.1A"
	StorageClassEnumDE_4_1B  StorageClassEnumDE = "4.1B"
	StorageClassEnumDE_4_2   StorageClassEnumDE = "4.2"
	StorageClassEnumDE_4_3   StorageClassEnumDE = "4.3"
	StorageClassEnumDE_5_1A  StorageClassEnumDE = "5.1A"
	StorageClassEnumDE_5_1B  StorageClassEnumDE = "5.1B"
	StorageClassEnumDE_5_1C  StorageClassEnumDE = "5.1C"
	StorageClassEnumDE_5_2   StorageClassEnumDE = "5.2"
	StorageClassEnumDE_6_1A  StorageClassEnumDE = "6.1A"
	StorageClassEnumDE_6_1B  StorageClassEnumDE = "6.1B"
	StorageClassEnumDE_6_1C  StorageClassEnumDE = "6.1C"
	StorageClassEnumDE_6_1D  StorageClassEnumDE = "6.1D"
	StorageClassEnumDE_6_2   StorageClassEnumDE = "6.2"
	StorageClassEnumDE_7     StorageClassEnumDE = "7"
	StorageClassEnumDE_8A    StorageClassEnumDE = "8A"
	StorageClassEnumDE_8B    StorageClassEnumDE = "8B"
	StorageClassEnumDE_9     StorageClassEnumDE = "9"
	StorageClassEnumDE_10    StorageClassEnumDE = "10"
	StorageClassEnumDE_11    StorageClassEnumDE = "11"
	StorageClassEnumDE_12    StorageClassEnumDE = "12"
	StorageClassEnumDE_13    StorageClassEnumDE = "13"
	StorageClassEnumDE_10_13 StorageClassEnumDE = "10-13"
)

func (StorageClassEnumDE) Valid

func (v StorageClassEnumDE) Valid() bool

Valid reports whether v satisfies every constraint of StorageClassEnumDE.

type StorageStability

type StorageStability struct {
	StorageTemperature   *NumericRangeWithUnitAndQualifier
	Pressure             *NumericRangeWithUnitAndQualifier
	MaximumStoragePeriod *NumericRangeWithUnitAndQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

StorageStability corresponds to the XSD complex type StorageStability.

type String3

type String3 string

A string of maximum 3 characters.

String3 corresponds to the XSD simple type string3.

func (String3) Valid

func (v String3) Valid() bool

Valid reports whether v satisfies every constraint of String3.

type String4

type String4 string

String4 corresponds to the XSD simple type string4.

func (String4) Valid

func (v String4) Valid() bool

Valid reports whether v satisfies every constraint of String4.

type String10

type String10 string

A string of maximum 10 characters.

String10 corresponds to the XSD simple type string10.

func (String10) Valid

func (v String10) Valid() bool

Valid reports whether v satisfies every constraint of String10.

type String16

type String16 string

A string of maximum 16 characters.

String16 corresponds to the XSD simple type string16.

func (String16) Valid

func (v String16) Valid() bool

Valid reports whether v satisfies every constraint of String16.

type String20

type String20 string

A string of maximum 20 characters.

String20 corresponds to the XSD simple type string20.

func (String20) Valid

func (v String20) Valid() bool

Valid reports whether v satisfies every constraint of String20.

type String32

type String32 string

A string of maximum 32 characters.

String32 corresponds to the XSD simple type string32.

func (String32) Valid

func (v String32) Valid() bool

Valid reports whether v satisfies every constraint of String32.

type String40

type String40 string

A string of maximum 40 characters.

String40 corresponds to the XSD simple type string40.

func (String40) Valid

func (v String40) Valid() bool

Valid reports whether v satisfies every constraint of String40.

type String64

type String64 string

A string of maximum 64 characters.

String64 corresponds to the XSD simple type string64.

func (String64) Valid

func (v String64) Valid() bool

Valid reports whether v satisfies every constraint of String64.

type String80

type String80 string

A string of maximum 80 characters.

String80 corresponds to the XSD simple type string80.

func (String80) Valid

func (v String80) Valid() bool

Valid reports whether v satisfies every constraint of String80.

type String128

type String128 string

A string of maximum 128 characters.

String128 corresponds to the XSD simple type string128.

func (String128) Valid

func (v String128) Valid() bool

Valid reports whether v satisfies every constraint of String128.

type String256

type String256 string

A string of maximum length 256 characters.

String256 corresponds to the XSD simple type string256.

func (String256) Valid

func (v String256) Valid() bool

Valid reports whether v satisfies every constraint of String256.

type String512

type String512 string

A string of maximum length 512 characters.

String512 corresponds to the XSD simple type string512.

func (String512) Valid

func (v String512) Valid() bool

Valid reports whether v satisfies every constraint of String512.

type String1024

type String1024 string

A string of maximum length 1024 characters.

String1024 corresponds to the XSD simple type string1024.

func (String1024) Valid

func (v String1024) Valid() bool

Valid reports whether v satisfies every constraint of String1024.

type Substance

type Substance struct {
	// IUPAC or chemical name
	IupacName *String1024
	// a.k.a CAIN, Name in the CAS Online Inventory
	CasInventoryName *String1024
	// Alternative chemical name to protect Confidential Business Information (in
	// Europe, according to CLP article 24)
	GenericName *String1024
	// Includes trade name(s) of the chemical that appear on the packages / hazard
	// label.
	OtherName []String1024
	// CAS RN: Registration Number for chemical substances, including some groups
	// and more complex cases like polymers and reaction products, issued by
	// Chemical Abstract Service. For a discussion why there is just one CAS RN per
	// substance, see issue #111.
	CasNo    *CasNo
	RegionEU *SubstanceIdentityEU
	// Formula: Field to state the gross formula for the chemical (applies to pure
	// substances). The formula shall be stated according to standard from Chemical
	// Abstract Service.
	Formula       *String256
	SubstanceType *SubstanceTypeEnum
	// If SubstanceType is other (or not used), specify the details here.
	SubstanceTypeDescription []Phrase
	MolecularWeight          *NumericRangeWithUnitAndQualifier
	ChemicalPurity           []Phrase
	// Inventories are not part of the regional regulatory information and bundled
	// under this element because product recipients may want to distribute to
	// other markets, in which case the inventory information is helpful even if
	// the SDS does not cover the target market.
	Inventories *Inventories
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Substance information. Includes identifiers (for section 1 in substance SDSs) as well as chemical inventory listing informaton (for section 15). Chemical inventory information is useful even if the data does not cover all regions, in case the customer wants to export to other regions.

Substance corresponds to the XSD complex type Substance.

type SubstanceEU

type SubstanceEU struct {
	// IUPAC or chemical name
	IupacName *String1024
	// a.k.a CAIN, Name in the CAS Online Inventory
	CasInventoryName *String1024
	// Alternative chemical name to protect Confidential Business Information (in
	// Europe, according to CLP article 24)
	GenericName *String1024
	// Includes trade name(s) of the chemical that appear on the packages / hazard
	// label.
	OtherName []String1024
	// CAS RN: Registration Number for chemical substances, including some groups
	// and more complex cases like polymers and reaction products, issued by
	// Chemical Abstract Service. For a discussion why there is just one CAS RN per
	// substance, see issue #111.
	CasNo    *CasNo
	RegionEU *SubstanceIdentityEU
	// Formula: Field to state the gross formula for the chemical (applies to pure
	// substances). The formula shall be stated according to standard from Chemical
	// Abstract Service.
	Formula       *String256
	SubstanceType *SubstanceTypeEnum
	// If SubstanceType is other (or not used), specify the details here.
	SubstanceTypeDescription []Phrase
	MolecularWeight          *NumericRangeWithUnitAndQualifier
	ChemicalPurity           []Phrase
	// Inventories are not part of the regional regulatory information and bundled
	// under this element because product recipients may want to distribute to
	// other markets, in which case the inventory information is helpful even if
	// the SDS does not cover the target market.
	Inventories *Inventories
	// Indicate here if the substance is a lead or priority substance, and why.
	LeadPrioritySubstance []SubstanceEULeadPrioritySubstance
	// Exposure Scenario information, originally based on Cefic's ESCom project
	ExposureScenario []ExposureScenario
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SubstanceEU corresponds to the XSD complex type SubstanceEU.

type SubstanceEULeadPrioritySubstance

type SubstanceEULeadPrioritySubstance struct {
	// Specifies whether a component in a mixture is a priority or a lead
	// substance. Expected value: Phrase
	Type *EsdscomPhrase
	// Provides the exposure pathway in case of a lead substance or the type of a
	// priority substance. Expected value: Phrase
	Hazard []EsdscomPhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Indicate here if the substance is a lead or priority substance, and why.

SubstanceEULeadPrioritySubstance corresponds to the anonymous complex type of element SubstanceEU/LeadPrioritySubstance.

type SubstanceIdentifiers

type SubstanceIdentifiers struct {
	// IUPAC or chemical name
	IupacName *String1024
	// a.k.a CAIN, Name in the CAS Online Inventory
	CasInventoryName *String1024
	// Alternative chemical name to protect Confidential Business Information (in
	// Europe, according to CLP article 24)
	GenericName *String1024
	// Includes trade name(s) of the chemical that appear on the packages / hazard
	// label.
	OtherName []String1024
	// CAS RN: Registration Number for chemical substances, including some groups
	// and more complex cases like polymers and reaction products, issued by
	// Chemical Abstract Service. For a discussion why there is just one CAS RN per
	// substance, see issue #111.
	CasNo    *CasNo
	RegionEU *SubstanceIdentityEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SubstanceIdentifiers corresponds to the XSD complex type SubstanceIdentifiers.

type SubstanceIdentityEU

type SubstanceIdentityEU struct {
	IndexNo    *IndexNo
	EcNo       *EcNo
	ReachRegNo *ReachRegNo
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SubstanceIdentityEU corresponds to the XSD complex type SubstanceIdentityEU.

type SubstanceTypeEnum

type SubstanceTypeEnum string

Substance type as represented in Iuclid6 picklist N58: 1756 element 2003 inorganic 1334 organic 2240 organometallic 2262 petroleum product 1342 other:

SubstanceTypeEnum corresponds to the XSD simple type SubstanceTypeEnum.

const (
	SubstanceTypeEnum_element           SubstanceTypeEnum = "element"
	SubstanceTypeEnum_inorganic         SubstanceTypeEnum = "inorganic"
	SubstanceTypeEnum_organic           SubstanceTypeEnum = "organic"
	SubstanceTypeEnum_organometallic    SubstanceTypeEnum = "organometallic"
	SubstanceTypeEnum_petroleum_product SubstanceTypeEnum = "petroleum product"
	SubstanceTypeEnum_other             SubstanceTypeEnum = "other"
)

func (SubstanceTypeEnum) Valid

func (v SubstanceTypeEnum) Valid() bool

Valid reports whether v satisfies every constraint of SubstanceTypeEnum.

type SupplementalHazardInformation

type SupplementalHazardInformation struct {
	// PhraseIdAttr is the attribute PhraseId.
	PhraseIdAttr *AnyPhraseId
	// PhraseCatalogueId is the attribute PhraseCatalogueId. Its schema default is
	// "0".
	PhraseCatalogueId *Integer
	// eSDScom (= EuPhraC, ESCom) phrase ID. Optional because user phrases and
	// other phrase catalogues are allowed.
	PhraseId    *EsdscomPhraseId
	PhraseCode  *Atp12SupplementalHazardInformationEnum
	FullText    *String1024
	MergePhrase []MergePhrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Supplemental Hazard Information Statement CLP

SupplementalHazardInformation corresponds to the XSD complex type SupplementalHazardInformation.

type SurfaceTension

type SurfaceTension struct {
	Value         *PhysChemUnitValueWithTemperature
	Concentration *NumericRangeWithUnitAndQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SurfaceTension, source: Chapter 9

SurfaceTension corresponds to the XSD complex type SurfaceTension.

type TaLuft

type TaLuft struct {
	WeightFraction *NumericRangeWithUnitAndQualifier
	ClassOrClasses []Phrase
	No             *Phrase
	Remark         []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TaLuft corresponds to the XSD complex type TaLuft.

type ToxInfoStotSE3

type ToxInfoStotSE3 struct {
	HumanExperience            []Phrase
	Source                     []Phrase
	AssessmentOrClassification []Phrase
	// E.g. how the evaluation took place or why data is lacking. See EuPhraC for
	// content examples.
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxInfoStotSE3 corresponds to the XSD complex type ToxInfoStotSE3.

type ToxicologicalInformation

type ToxicologicalInformation struct {
	ToxicokineticInfo              *ToxicologicalInformationToxicokineticInfo
	AcuteToxicity                  *ToxicologicalInformationAcuteToxicity
	SkinCorrosionIrritation        *ToxicologicalInformationSkinCorrosionIrritation
	EyeDamageOrIrritation          *ToxicologicalInformationEyeDamageOrIrritation
	RespiratoryOrSkinSensitisation *ToxicologicalInformationRespiratoryOrSkinSensitisation
	GermCellMutagenicity           *ToxicologicalInformationGermCellMutagenicity
	Carcinogenicity                *ToxicologicalInformationCarcinogenicity
	// Can have one instance for each ReproductiveToxicityType
	ReproductiveToxicity             []ToxicologicalInformationReproductiveToxicity
	OverallAssessmentOnCMRProperties []Phrase
	SpecificTargetOrganSE            *ToxicologicalInformationSpecificTargetOrganSE
	// separate from SpecificTargetOrganSE3 because classified independently STOT
	// SE data in section 11 does not cover the data on narcotic effects (H336) and
	// irritation to the respriratory tract (H335) which is correctly represented
	// in the classification structure. STOT-SE Category 3 includes only
	// respiratory tract irritation (sore throat, cough) and narcotic effects
	// (dizziness, drowsiness).
	SpecificTargetOrganSE3 *ToxicologicalInformationSpecificTargetOrganSE3
	SpecificTargetOrganRE  *ToxicologicalInformationSpecificTargetOrganRE
	AspirationHazard       *ToxicologicalInformationAspirationHazard
	SymptomsOfExposure     *ToxicologicalInformationSymptomsOfExposure
	Phototoxicity          *ToxicologicalInformationPhototoxicity
	EndocrineDisruption    []Phrase
	AdditionalInfo         []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 11.

ToxicologicalInformation corresponds to the XSD complex type ToxicologicalInformation.

type ToxicologicalInformationAcuteToxicity

type ToxicologicalInformationAcuteToxicity struct {
	// e.g. LD50 and ATEmix values
	TestResults                           []ToxicologicalInformationAcuteToxicityTestResults
	AcuteToxicityHumanExperience          []Phrase
	AssessmentAcuteToxicityClassification []Phrase
	// e.g. other animal observings.
	AdditionalInfo *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationAcuteToxicity corresponds to the anonymous complex type of element ToxicologicalInformation/AcuteToxicity.

type ToxicologicalInformationAcuteToxicityTestResults

type ToxicologicalInformationAcuteToxicityTestResults struct {
	EffectTested   *Dose
	ExposureRoute  *ExposureRoute
	Method         *Phrase
	ExposureTime   *NumericRangeWithUnitAndQualifier
	Value          *NumericRangeWithUnitAndQualifier
	Species        *Species
	TestReference  *Phrase
	AdditionalInfo []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

e.g. LD50 and ATEmix values

ToxicologicalInformationAcuteToxicityTestResults corresponds to the anonymous complex type of element ToxicologicalInformation/AcuteToxicity/TestResults.

type ToxicologicalInformationAspirationHazard

type ToxicologicalInformationAspirationHazard struct {
	// AspirationHazard is based on human experience only, thus there are no test
	// results. This field covers a reference to the source (otherwise named
	// TestReference, which is adopted here for consistency).
	TestReference *Phrase
	// Aspiration hazard hydrocarbon content: Concentration of hydrocarbons in the
	// mixture with a kinematic viscosity of 20,5 mm2/s or less, measured at 40 C.
	AspirationHazardHydrocarbonContent *NumericRangeWithUnitAndQualifier
	// Kinematic viscosity value at 40°C
	AspirationHazardKinematicViscosity40     *NumericRangeWithUnitAndQualifier
	AssessmentAspirationHazardClassification []Phrase
	AdditionalInfo                           []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationAspirationHazard corresponds to the anonymous complex type of element ToxicologicalInformation/AspirationHazard.

type ToxicologicalInformationCarcinogenicity

type ToxicologicalInformationCarcinogenicity struct {
	CarcinogenicityTestResults              []CMRData
	CarcinogenicityHumanExperience          []Phrase
	AssessmentCarcinogenicityClassification []Phrase
	AdditionalInfo                          []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationCarcinogenicity corresponds to the anonymous complex type of element ToxicologicalInformation/Carcinogenicity.

type ToxicologicalInformationEyeDamageOrIrritation

type ToxicologicalInformationEyeDamageOrIrritation struct {
	EyeDamageOrIrritationTestResults              []CorrosionIrritationData
	EyeIrritation                                 []Phrase
	EyeCorrosivity                                []Phrase
	EyeDamageOrIrritationHumanExperience          []Phrase
	AssessmentEyeDamageOrIrritationClassification []Phrase
	AdditionalInfo                                []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationEyeDamageOrIrritation corresponds to the anonymous complex type of element ToxicologicalInformation/EyeDamageOrIrritation.

type ToxicologicalInformationGermCellMutagenicity

type ToxicologicalInformationGermCellMutagenicity struct {
	TestResults                                  []ToxicologicalInformationGermCellMutagenicityTestResults
	GermCellMutagenicityHumanExperience          []Phrase
	AssessmentGermCellMutagenicityClassification []Phrase
	AdditionalInfo                               []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationGermCellMutagenicity corresponds to the anonymous complex type of element ToxicologicalInformation/GermCellMutagenicity.

type ToxicologicalInformationGermCellMutagenicityTestResults

type ToxicologicalInformationGermCellMutagenicityTestResults struct {
	InvestigationMethod *InvestigationMethod
	Method              *Phrase
	EffectValue         *NumericRangeWithUnitAndQualifier
	TestDuration        *NumericRangeWithUnitAndQualifier
	ExposureRoute       *ExposureRoute
	Dose                *NumericRangeWithUnitAndQualifier
	ExposureTime        *NumericRangeWithUnitAndQualifier
	// Species = Organism or cell line
	Species          *Species
	GeneticEndpoint  *Phrase
	Result           *NumericRangeWithUnitAndQualifier
	ResultEvaluation []Phrase
	TestReference    *Phrase
	AdditionalInfo   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationGermCellMutagenicityTestResults corresponds to the anonymous complex type of element ToxicologicalInformation/GermCellMutagenicity/TestResults.

type ToxicologicalInformationPhototoxicity

type ToxicologicalInformationPhototoxicity struct {
	PhototoxicityTestResults []ToxicologicalInformationPhototoxicityPhototoxicityTestResults
	AdditionalInfo           []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationPhototoxicity corresponds to the anonymous complex type of element ToxicologicalInformation/Phototoxicity.

type ToxicologicalInformationPhototoxicityPhototoxicityTestResults

type ToxicologicalInformationPhototoxicityPhototoxicityTestResults struct {
	InvestigationMethod *InvestigationMethod
	TestMethod          *Phrase
	Dose                *NumericRangeWithUnitAndQualifier
	ExposureRoute       *ExposureRoute
	TestDuration        *NumericRangeWithUnitAndQualifier
	Results             *ToxicologicalInformationPhototoxicityPhototoxicityTestResultsResults
	Species             *Species
	TestReference       *Phrase
	AdditionalInfo      []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationPhototoxicityPhototoxicityTestResults corresponds to the anonymous complex type of element ToxicologicalInformation/Phototoxicity/PhototoxicityTestResults.

type ToxicologicalInformationPhototoxicityPhototoxicityTestResultsResults

type ToxicologicalInformationPhototoxicityPhototoxicityTestResultsResults struct {
	Value                 *NumericRangeWithUnitAndQualifier
	PhotoIrritationFactor *NumericRangeWithUnitAndQualifier
	MeanPhotoEffect       *NumericRangeWithUnitAndQualifier
	Evaluation            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationPhototoxicityPhototoxicityTestResultsResults corresponds to the anonymous complex type of element ToxicologicalInformation/Phototoxicity/PhototoxicityTestResults/Results.

type ToxicologicalInformationReproductiveToxicity

type ToxicologicalInformationReproductiveToxicity struct {
	ReproductiveToxicityType                     *ToxicologicalInformationReproductiveToxicityReproductiveToxicityType
	ReproductiveToxicityTestResults              []CMRData
	ReproductiveToxicityHumanExperience          []Phrase
	AssessmentReproductiveToxicityClassification []Phrase
	AdditionalInfo                               []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Can have one instance for each ReproductiveToxicityType

ToxicologicalInformationReproductiveToxicity corresponds to the anonymous complex type of element ToxicologicalInformation/ReproductiveToxicity.

type ToxicologicalInformationReproductiveToxicityReproductiveToxicityType

type ToxicologicalInformationReproductiveToxicityReproductiveToxicityType struct {
	Type         *ReproductiveToxicityTypeEnum
	TypeFulltext *Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationReproductiveToxicityReproductiveToxicityType corresponds to the anonymous complex type of element ToxicologicalInformation/ReproductiveToxicity/ReproductiveToxicityType.

type ToxicologicalInformationRespiratoryOrSkinSensitisation

type ToxicologicalInformationRespiratoryOrSkinSensitisation struct {
	RespiratoryOrSkinSensitisationTestResults []ToxicologicalInformationRespiratoryOrSkinSensitisationRespiratoryOrSkinSensitisationTestResults
	HumanExperience                           *ToxicologicalInformationRespiratoryOrSkinSensitisationHumanExperience
	ClassificationAssessment                  *ToxicologicalInformationRespiratoryOrSkinSensitisationClassificationAssessment
	AdditionalInfo                            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationRespiratoryOrSkinSensitisation corresponds to the anonymous complex type of element ToxicologicalInformation/RespiratoryOrSkinSensitisation.

type ToxicologicalInformationRespiratoryOrSkinSensitisationClassificationAssessment

type ToxicologicalInformationRespiratoryOrSkinSensitisationClassificationAssessment struct {
	AssessmentRespiratorySensitisationClassification []Phrase
	AssessmentSkinSensitisationClassification        []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationRespiratoryOrSkinSensitisationClassificationAssessment corresponds to the anonymous complex type of element ToxicologicalInformation/RespiratoryOrSkinSensitisation/ClassificationAssessment.

type ToxicologicalInformationRespiratoryOrSkinSensitisationHumanExperience

type ToxicologicalInformationRespiratoryOrSkinSensitisationHumanExperience struct {
	RespiratorySensitisationHumanExperience []Phrase
	SkinSensitisationHumanExperience        []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationRespiratoryOrSkinSensitisationHumanExperience corresponds to the anonymous complex type of element ToxicologicalInformation/RespiratoryOrSkinSensitisation/HumanExperience.

type ToxicologicalInformationRespiratoryOrSkinSensitisationRespiratoryOrSkinSensitisationTestResults

type ToxicologicalInformationRespiratoryOrSkinSensitisationRespiratoryOrSkinSensitisationTestResults struct {
	Method           *Phrase
	Dose             *NumericRangeWithUnitAndQualifier
	ExposureTime     *NumericRangeWithUnitAndQualifier
	TestDuration     *NumericRangeWithUnitAndQualifier
	Species          *Species
	Value            *NumericRangeWithUnitAndQualifier
	Result           *Phrase
	ResultEvaluation []Phrase
	TestReference    *Phrase
	AdditionalInfo   []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationRespiratoryOrSkinSensitisationRespiratoryOrSkinSensitisationTestResults corresponds to the anonymous complex type of element ToxicologicalInformation/RespiratoryOrSkinSensitisation/RespiratoryOrSkinSensitisationTestResults.

type ToxicologicalInformationSkinCorrosionIrritation

type ToxicologicalInformationSkinCorrosionIrritation struct {
	SkinCorrosionIrritationTestResults          []CorrosionIrritationData
	SkinCorrosionAcidicOrAlkalineReserve        *ToxicologicalInformationSkinCorrosionIrritationSkinCorrosionAcidicOrAlkalineReserve
	Irritation                                  []Phrase
	Corrosivity                                 []Phrase
	SkinCorrosionIrritationHumanExperience      []Phrase
	AssessmentCorrosionIrritationClassification []Phrase
	AdditionalInfo                              []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationSkinCorrosionIrritation corresponds to the anonymous complex type of element ToxicologicalInformation/SkinCorrosionIrritation.

type ToxicologicalInformationSkinCorrosionIrritationSkinCorrosionAcidicOrAlkalineReserve

type ToxicologicalInformationSkinCorrosionIrritationSkinCorrosionAcidicOrAlkalineReserve struct {
	// Choice holds the alternatives of a choice; exactly one of its fields is set.
	Choice ToxicologicalInformationSkinCorrosionIrritationSkinCorrosionAcidicOrAlkalineReserveChoice
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationSkinCorrosionIrritationSkinCorrosionAcidicOrAlkalineReserve corresponds to the anonymous complex type of element ToxicologicalInformation/SkinCorrosionIrritation/SkinCorrosionAcidicOrAlkalineReserve.

type ToxicologicalInformationSkinCorrosionIrritationSkinCorrosionAcidicOrAlkalineReserveChoice

type ToxicologicalInformationSkinCorrosionIrritationSkinCorrosionAcidicOrAlkalineReserveChoice struct {
	// Acidic reserve: Buffer capacity for mixtures with extreme pH values -
	// expressed for instance as g NaOH/100 g product
	SkinCorrosionAcidicReserve []Phrase
	// Alkaline reserve: Buffer capacity for mixtures with extreme pH values -
	// expressed for instance as g H2SO4/100 g product
	SkinCorrosionAlkalineReserve []Phrase
}

ToxicologicalInformationSkinCorrosionIrritationSkinCorrosionAcidicOrAlkalineReserveChoice corresponds to the content model ToxicologicalInformation/SkinCorrosionIrritation/SkinCorrosionAcidicOrAlkalineReserve/Choice.

type ToxicologicalInformationSpecificTargetOrganRE

type ToxicologicalInformationSpecificTargetOrganRE struct {
	SpecificTargetOrganRETestResults              []STOTData
	SpecificTargetOrganREHumanExperience          *Phrase
	AssessmentSpecificTargetOrganREClassification []Phrase
	AdditionalInfo                                []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationSpecificTargetOrganRE corresponds to the anonymous complex type of element ToxicologicalInformation/SpecificTargetOrganRE.

type ToxicologicalInformationSpecificTargetOrganSE

type ToxicologicalInformationSpecificTargetOrganSE struct {
	SpecificTargetOrganSETestResults              []STOTData
	SpecificTargetOrganSEHumanExperience          *Phrase
	AssessmentSpecificTargetOrganSEClassification []Phrase
	AdditionalInfo                                []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationSpecificTargetOrganSE corresponds to the anonymous complex type of element ToxicologicalInformation/SpecificTargetOrganSE.

type ToxicologicalInformationSpecificTargetOrganSE3

type ToxicologicalInformationSpecificTargetOrganSE3 struct {
	IrritationToRespiratoryTract                  *ToxInfoStotSE3
	NarcoticEffects                               *ToxInfoStotSE3
	SpecificTargetOrganSETestResults              []STOTData
	AssessmentSpecificTargetOrganSEClassification []Phrase
	AdditionalInfo                                []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

separate from SpecificTargetOrganSE3 because classified independently STOT SE data in section 11 does not cover the data on narcotic effects (H336) and irritation to the respriratory tract (H335) which is correctly represented in the classification structure. STOT-SE Category 3 includes only respiratory tract irritation (sore throat, cough) and narcotic effects (dizziness, drowsiness).

ToxicologicalInformationSpecificTargetOrganSE3 corresponds to the anonymous complex type of element ToxicologicalInformation/SpecificTargetOrganSE3.

type ToxicologicalInformationSymptomsOfExposure

type ToxicologicalInformationSymptomsOfExposure struct {
	InCaseOfIngestion   []Phrase
	InCaseOfSkinContact []Phrase
	InCaseOfInhalation  []Phrase
	InCaseOfEyeContact  []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationSymptomsOfExposure corresponds to the anonymous complex type of element ToxicologicalInformation/SymptomsOfExposure.

type ToxicologicalInformationToxicokineticInfo

type ToxicologicalInformationToxicokineticInfo struct {
	NonHumanToxicologicalData []ToxicologicalInformationToxicokineticInfoNonHumanToxicologicalData
	HumanToxicologicalData    []Phrase
	AdditionalInfo            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationToxicokineticInfo corresponds to the anonymous complex type of element ToxicologicalInformation/ToxicokineticInfo.

type ToxicologicalInformationToxicokineticInfoNonHumanToxicologicalData

type ToxicologicalInformationToxicokineticInfoNonHumanToxicologicalData struct {
	Method        *Phrase
	Species       *Species
	Dose          *Dose
	ExposureRoute *ExposureRoute
	Results       []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

ToxicologicalInformationToxicokineticInfoNonHumanToxicologicalData corresponds to the anonymous complex type of element ToxicologicalInformation/ToxicokineticInfo/NonHumanToxicologicalData.

type TransportClassEnum

type TransportClassEnum string

TransportClassEnum corresponds to the XSD simple type TransportClassEnum.

const (
	TransportClassEnum_1   TransportClassEnum = "1"
	TransportClassEnum_2   TransportClassEnum = "2"
	TransportClassEnum_3   TransportClassEnum = "3"
	TransportClassEnum_4_1 TransportClassEnum = "4.1"
	TransportClassEnum_4_2 TransportClassEnum = "4.2"
	TransportClassEnum_4_3 TransportClassEnum = "4.3"
	TransportClassEnum_5_1 TransportClassEnum = "5.1"
	TransportClassEnum_5_2 TransportClassEnum = "5.2"
	TransportClassEnum_6_1 TransportClassEnum = "6.1"
	TransportClassEnum_6_2 TransportClassEnum = "6.2"
	TransportClassEnum_7   TransportClassEnum = "7"
	TransportClassEnum_8   TransportClassEnum = "8"
	TransportClassEnum_9   TransportClassEnum = "9"
)

func (TransportClassEnum) Valid

func (v TransportClassEnum) Valid() bool

Valid reports whether v satisfies every constraint of TransportClassEnum.

type TransportEU

type TransportEU struct {
	AdrRid          *TransportEUAdrRid
	Adn             *TransportEUAdn
	TransportInBulk *TransportEUTransportInBulk
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportEU corresponds to the XSD complex type TransportEU.

type TransportEUAdn

type TransportEUAdn struct {
	// UN number ADN:
	UnNo *Int4
	// Content should be in English language - see issue #13
	ProperShippingNameEnglish *Phrase
	// Content should be in the language of the SDS - see issue #13
	ProperShippingNameNational *Phrase
	// Content should be in English language - see issue #13
	DangerReleasingSubstanceEnglish []Phrase
	// Content should be in the language of the SDS - see issue #13
	DangerReleasingSubstanceNational []Phrase
	Class                            *TransportClassEnum
	// There are a few cases in class 9 without a code. Leave empty then.
	ClassCode        *String4
	HazardLabel      []TransportHazardLabelAdrAdnEnum
	PackingGroup     *PackingGroupEnum
	OtherInformation *TransportEUAdnOtherInformation
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportEUAdn corresponds to the anonymous complex type of element TransportEU/Adn.

type TransportEUAdnOtherInformation

type TransportEUAdnOtherInformation struct {
	// may have a value like "500 mL or 500 g"
	LimitedQty        *String20
	ExceptedQty       *TransportEq
	SpecialProvisions []String80
	AdditionalInfo    []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportEUAdnOtherInformation corresponds to the anonymous complex type of element TransportEU/Adn/OtherInformation.

type TransportEUAdrRid

type TransportEUAdrRid struct {
	// UN number ADR and RID:
	UnNo *Int4
	// Content should be in English language - see issue #13
	ProperShippingNameEnglish *Phrase
	// Content should be in the language of the SDS - see issue #13
	ProperShippingNameNational *Phrase
	// Content should be in English language - see issue #13
	DangerReleasingSubstanceEnglish []Phrase
	// Content should be in the language of the SDS - see issue #13
	DangerReleasingSubstanceNational []Phrase
	// ADR and RID hazard class: The chemical’s most important transport hazard
	// class.
	Class            *TransportClassEnum
	ClassCode        *String4
	HazardLabelAdr   []TransportHazardLabelAdrAdnEnum
	HazardLabelRid   []TransportHazardLabelRidEnum
	PackingGroup     *PackingGroupEnum
	OtherInformation *TransportEUAdrRidOtherInformation
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportEUAdrRid corresponds to the anonymous complex type of element TransportEU/AdrRid.

type TransportEUAdrRidOtherInformation

type TransportEUAdrRidOtherInformation struct {
	// may have a value like "500 mL or 500 g"
	AdrRidLimitedQty         *String20
	AdrRidExceptedQty        *TransportEq
	AdrRidSpecialProvisions  []String80
	AdrTunnelRestrictionCode *String10
	AdrTransportCategory     *TransportEUAdrRidOtherInformationAdrTransportCategory
	// also known as Kemler code
	AdrHazardIdentificationNo *String10
	AdditionalInfo            []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportEUAdrRidOtherInformation corresponds to the anonymous complex type of element TransportEU/AdrRid/OtherInformation.

type TransportEUAdrRidOtherInformationAdrTransportCategory

type TransportEUAdrRidOtherInformationAdrTransportCategory string

TransportEUAdrRidOtherInformationAdrTransportCategory corresponds to an anonymous XSD simple type.

const (
	TransportEUAdrRidOtherInformationAdrTransportCategory_1 TransportEUAdrRidOtherInformationAdrTransportCategory = "1"
	TransportEUAdrRidOtherInformationAdrTransportCategory_2 TransportEUAdrRidOtherInformationAdrTransportCategory = "2"
	TransportEUAdrRidOtherInformationAdrTransportCategory_3 TransportEUAdrRidOtherInformationAdrTransportCategory = "3"
	TransportEUAdrRidOtherInformationAdrTransportCategory_4 TransportEUAdrRidOtherInformationAdrTransportCategory = "4"
)

func (TransportEUAdrRidOtherInformationAdrTransportCategory) Valid

Valid reports whether v satisfies every constraint of TransportEUAdrRidOtherInformationAdrTransportCategory.

type TransportEUTransportInBulk

type TransportEUTransportInBulk struct {
	ProductName       *String128
	ShipType          []Phrase
	PollutionCategory []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportEUTransportInBulk corresponds to the anonymous complex type of element TransportEU/TransportInBulk.

type TransportEq

type TransportEq string

TransportEq corresponds to the XSD simple type TransportEq.

func (TransportEq) Valid

func (v TransportEq) Valid() bool

Valid reports whether v satisfies every constraint of TransportEq.

type TransportHazardLabelAdrAdnEnum

type TransportHazardLabelAdrAdnEnum string

TransportHazardLabelAdrAdnEnum corresponds to the XSD simple type TransportHazardLabelAdrAdnEnum.

func (TransportHazardLabelAdrAdnEnum) Valid

Valid reports whether v satisfies every constraint of TransportHazardLabelAdrAdnEnum.

type TransportHazardLabelAdrAdnOnlyEnum

type TransportHazardLabelAdrAdnOnlyEnum string

List of carrier specific hazard label elements for ADR.

TransportHazardLabelAdrAdnOnlyEnum corresponds to the XSD simple type TransportHazardLabelAdrAdnOnlyEnum.

const (
	TransportHazardLabelAdrAdnOnlyEnum_7E TransportHazardLabelAdrAdnOnlyEnum = "7E"
	TransportHazardLabelAdrAdnOnlyEnum_7X TransportHazardLabelAdrAdnOnlyEnum = "7X"
	TransportHazardLabelAdrAdnOnlyEnum_9A TransportHazardLabelAdrAdnOnlyEnum = "9A"
)

func (TransportHazardLabelAdrAdnOnlyEnum) Valid

Valid reports whether v satisfies every constraint of TransportHazardLabelAdrAdnOnlyEnum.

type TransportHazardLabelEnum

type TransportHazardLabelEnum string

TransportHazardLabelEnum corresponds to the XSD simple type TransportHazardLabelEnum.

const (
	TransportHazardLabelEnum_1   TransportHazardLabelEnum = "1"
	TransportHazardLabelEnum_1_1 TransportHazardLabelEnum = "1.1"
	TransportHazardLabelEnum_1_2 TransportHazardLabelEnum = "1.2"
	TransportHazardLabelEnum_1_3 TransportHazardLabelEnum = "1.3"
	TransportHazardLabelEnum_1_4 TransportHazardLabelEnum = "1.4"
	TransportHazardLabelEnum_1_5 TransportHazardLabelEnum = "1.5"
	TransportHazardLabelEnum_1_6 TransportHazardLabelEnum = "1.6"
	TransportHazardLabelEnum_2_1 TransportHazardLabelEnum = "2.1"
	TransportHazardLabelEnum_2_2 TransportHazardLabelEnum = "2.2"
	TransportHazardLabelEnum_2_3 TransportHazardLabelEnum = "2.3"
	TransportHazardLabelEnum_3   TransportHazardLabelEnum = "3"
	TransportHazardLabelEnum_4_1 TransportHazardLabelEnum = "4.1"
	TransportHazardLabelEnum_4_2 TransportHazardLabelEnum = "4.2"
	TransportHazardLabelEnum_4_3 TransportHazardLabelEnum = "4.3"
	TransportHazardLabelEnum_5_1 TransportHazardLabelEnum = "5.1"
	TransportHazardLabelEnum_5_2 TransportHazardLabelEnum = "5.2"
	TransportHazardLabelEnum_6_1 TransportHazardLabelEnum = "6.1"
	TransportHazardLabelEnum_6_2 TransportHazardLabelEnum = "6.2"
	TransportHazardLabelEnum_7   TransportHazardLabelEnum = "7"
	TransportHazardLabelEnum_8   TransportHazardLabelEnum = "8"
	TransportHazardLabelEnum_9   TransportHazardLabelEnum = "9"
)

func (TransportHazardLabelEnum) Valid

func (v TransportHazardLabelEnum) Valid() bool

Valid reports whether v satisfies every constraint of TransportHazardLabelEnum.

type TransportHazardLabelRidEnum

type TransportHazardLabelRidEnum string

TransportHazardLabelRidEnum corresponds to the XSD simple type TransportHazardLabelRidEnum.

func (TransportHazardLabelRidEnum) Valid

Valid reports whether v satisfies every constraint of TransportHazardLabelRidEnum.

type TransportHazardLabelRidOnlyEnum

type TransportHazardLabelRidOnlyEnum string

List of carrier specific hazard label elements for RID.

TransportHazardLabelRidOnlyEnum corresponds to the XSD simple type TransportHazardLabelRidOnlyEnum.

const (
	TransportHazardLabelRidOnlyEnum_7E TransportHazardLabelRidOnlyEnum = "7E"
	TransportHazardLabelRidOnlyEnum_7X TransportHazardLabelRidOnlyEnum = "7X"
	TransportHazardLabelRidOnlyEnum_9A TransportHazardLabelRidOnlyEnum = "9A"
	TransportHazardLabelRidOnlyEnum_13 TransportHazardLabelRidOnlyEnum = "13"
	TransportHazardLabelRidOnlyEnum_15 TransportHazardLabelRidOnlyEnum = "15"
)

func (TransportHazardLabelRidOnlyEnum) Valid

Valid reports whether v satisfies every constraint of TransportHazardLabelRidOnlyEnum.

type TransportInformation

type TransportInformation struct {
	Imdg                  *TransportInformationImdg
	IataDgr               *TransportInformationIataDgr
	SpecialPrecautionUser []Phrase
	AdditionalInfo        []Phrase
	RegionEU              *TransportEU
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

SDS section 14. No specific transport regulation data for Argentina.

TransportInformation corresponds to the XSD complex type TransportInformation.

type TransportInformationIataDgr

type TransportInformationIataDgr struct {
	// UN number ICAO:
	UnNo *Int4
	// Content should be in English language - see issue #13
	ProperShippingNameEnglish *Phrase
	// Content should be in English language - see issue #13
	DangerReleasingSubstanceEnglish []Phrase
	Class                           *TransportClassEnum
	SubsidiaryRisk                  []TransportClassEnum
	// In analogy to issue #13, this content should be in English language because
	// it is never used in other languages in shipping papers. Nevertheless, the
	// phrase type makes it translatable.
	HazardLabelEnglish []Phrase
	PackingGroup       *PackingGroupEnum
	OtherInformation   *TransportInformationIataDgrOtherInformation
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportInformationIataDgr corresponds to the anonymous complex type of element TransportInformation/IataDgr.

type TransportInformationIataDgrOtherInformation

type TransportInformationIataDgrOtherInformation struct {
	PassengerLQPackingInstr *String4
	// may have a value like "500 mL or 500 g"
	PassengerLQMaxQty     *String20
	PassengerPackingInstr *String3
	// may have a value like "500 mL or 500 g"
	PassengerMaxQty   *String20
	CargoPackingInstr *String3
	// may have a value like "500 mL or 500 g"
	CargoMaxQty       *String20
	ExemptedQty       *TransportEq
	SpecialProvisions []String80
	Erg               []String4
	AdditionalInfo    []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportInformationIataDgrOtherInformation corresponds to the anonymous complex type of element TransportInformation/IataDgr/OtherInformation.

type TransportInformationImdg

type TransportInformationImdg struct {
	// UN number IMDG:
	UnNo *Int4
	// Content should be in English language - see issue #13
	ProperShippingNameEnglish *Phrase
	// Content should be in English language - see issue #13
	DangerReleasingSubstanceEnglish []Phrase
	// IMDG hazard class: The chemical’s most important transport hazard class.
	Class          *TransportClassEnum
	SubsidiaryRisk []TransportClassEnum
	PackingGroup   *PackingGroupEnum
	// Marine pollutant: To state if the chemical is classified as a marine
	// pollutant.
	MarinePollutant  *Boolean
	OtherInformation *TransportInformationImdgOtherInformation
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportInformationImdg corresponds to the anonymous complex type of element TransportInformation/Imdg.

type TransportInformationImdgOtherInformation

type TransportInformationImdgOtherInformation struct {
	LimitedQty        *String20
	ExceptedQty       *TransportEq
	SpecialProvisions []String80
	EmsCode           *TransportInformationImdgOtherInformationEmsCode
	AdditionalInfo    []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

TransportInformationImdgOtherInformation corresponds to the anonymous complex type of element TransportInformation/Imdg/OtherInformation.

type TransportInformationImdgOtherInformationEmsCode

type TransportInformationImdgOtherInformationEmsCode string

TransportInformationImdgOtherInformationEmsCode corresponds to an anonymous XSD simple type.

func (TransportInformationImdgOtherInformationEmsCode) Valid

Valid reports whether v satisfies every constraint of TransportInformationImdgOtherInformationEmsCode.

type URL

type URL string

Specifies a URL.

URL corresponds to the XSD simple type URL.

func (URL) Valid

func (v URL) Valid() bool

Valid reports whether v satisfies every constraint of URL.

type UUID

type UUID string

Specifies an identification string in order to uniquely identify information. The length of the identification string is between 32 and 36 characters (32 alphanumeric characters and four hyphens in the form 8-4-4-4-12). The 32 alphanumeric characters based UUID specifies the internal presentation, the UUID with 36 alphanumeric characters is the external representation. Within ESComXML only the internal 32 alphanumeric characters long UUID is supported.

For example: 550e8400e29b41d4a716446655440000 (external representation with four hypens: 550e8400-e29b-41d4-a716-446655440000).

See also the Wikipedia page for more details: http://en.wikipedia.org/wiki/Universally_unique_identifier

UUID corresponds to the XSD simple type UUID.

func (UUID) Valid

func (v UUID) Valid() bool

Valid reports whether v satisfies every constraint of UUID.

type Ufi

type Ufi string

Represents a Unique Formula Identifier without dashes. See https://poisoncentres.echa.europa.eu/de/ufi-generator

Ufi corresponds to the XSD simple type Ufi.

func (Ufi) Valid

func (v Ufi) Valid() bool

Valid reports whether v satisfies every constraint of Ufi.

type UnitEnum

type UnitEnum string

Sensible values for units in various contexts. SI units are used where available, and no super/subsets (i.e. 3 instead of ³)

UnitEnum corresponds to the XSD simple type UnitEnum.

const (
	UnitEnum_C          UnitEnum = "°C"
	UnitEnum_F          UnitEnum = "°F"
	UnitEnum_µg_Animal  UnitEnum = "µg/Animal"
	UnitEnum_µg_cm3     UnitEnum = "µg/cm3"
	UnitEnum_µg_dL      UnitEnum = "µg/dL"
	UnitEnum_µg_g       UnitEnum = "µg/g"
	UnitEnum_µg_kg      UnitEnum = "µg/kg"
	UnitEnum_µg_L       UnitEnum = "µg/L"
	UnitEnum_µg_mg      UnitEnum = "µg/mg"
	UnitEnum_µg_mL      UnitEnum = "µg/mL"
	UnitEnum_µg_mmol    UnitEnum = "µg/mmol"
	UnitEnum_µg_mol     UnitEnum = "µg/mol"
	UnitEnum_µg         UnitEnum = "µg"
	UnitEnum_µL_g       UnitEnum = "µL/g"
	UnitEnum_µL_kg      UnitEnum = "µL/kg"
	UnitEnum_µL_L       UnitEnum = "µL/L"
	UnitEnum_µL_m3      UnitEnum = "µL/m3"
	UnitEnum_µL_mg      UnitEnum = "µL/mg"
	UnitEnum_µL_mL      UnitEnum = "µL/mL"
	UnitEnum_µL_mmol    UnitEnum = "µL/mmol"
	UnitEnum_µL_mol     UnitEnum = "µL/mol"
	UnitEnum_µm         UnitEnum = "µm"
	UnitEnum_µmol_L     UnitEnum = "µmol/L"
	UnitEnum_µmol_mol   UnitEnum = "µmol/mol"
	UnitEnum_µPa_s      UnitEnum = "µPa.s"
	UnitEnum_pct        UnitEnum = "%"
	UnitEnum_1_K        UnitEnum = "1/K"
	UnitEnum_1_mol_s    UnitEnum = "1/mol.s"
	UnitEnum_1_W        UnitEnum = "1/W"
	UnitEnum_A_h        UnitEnum = "A.h"
	UnitEnum_A          UnitEnum = "A"
	UnitEnum_a          UnitEnum = "a"
	UnitEnum_atm        UnitEnum = "atm"
	UnitEnum_bar_m_s    UnitEnum = "bar.m/s"
	UnitEnum_bar_s      UnitEnum = "bar/s"
	UnitEnum_bar        UnitEnum = "bar"
	UnitEnum_Bq         UnitEnum = "Bq"
	UnitEnum_C2         UnitEnum = "C"
	UnitEnum_cal_kg     UnitEnum = "cal/kg"
	UnitEnum_cal_mol_K  UnitEnum = "cal/mol.K"
	UnitEnum_cal_mol    UnitEnum = "cal/mol"
	UnitEnum_cal        UnitEnum = "cal"
	UnitEnum_cd         UnitEnum = "cd"
	UnitEnum_Ci         UnitEnum = "Ci"
	UnitEnum_cL         UnitEnum = "cL"
	UnitEnum_cm_d       UnitEnum = "cm/d"
	UnitEnum_cm_h       UnitEnum = "cm/h"
	UnitEnum_cm_min     UnitEnum = "cm/min"
	UnitEnum_cm_s       UnitEnum = "cm/s"
	UnitEnum_cm2        UnitEnum = "cm2"
	UnitEnum_cm3_g      UnitEnum = "cm3/g"
	UnitEnum_cm3_h      UnitEnum = "cm3/h"
	UnitEnum_cm3_min    UnitEnum = "cm3/min"
	UnitEnum_cm3_s      UnitEnum = "cm3/s"
	UnitEnum_cm3        UnitEnum = "cm3"
	UnitEnum_cm         UnitEnum = "cm"
	UnitEnum_cP         UnitEnum = "cP"
	UnitEnum_cSt        UnitEnum = "cSt"
	UnitEnum_d          UnitEnum = "d"
	UnitEnum_dL         UnitEnum = "dL"
	UnitEnum_dm2        UnitEnum = "dm2"
	UnitEnum_dm3        UnitEnum = "dm3"
	UnitEnum_dm         UnitEnum = "dm"
	UnitEnum_dyn_cm     UnitEnum = "dyn/cm"
	UnitEnum_F2         UnitEnum = "F"
	UnitEnum_fiber_cm3  UnitEnum = "fiber/cm3"
	UnitEnum_fiber_m3   UnitEnum = "fiber/m3"
	UnitEnum_fiber_mL   UnitEnum = "fiber/mL"
	UnitEnum_fm         UnitEnum = "fm"
	UnitEnum_g_O2_g     UnitEnum = "g O2/g"
	UnitEnum_g_O2_L     UnitEnum = "g O2/L"
	UnitEnum_g_cm3      UnitEnum = "g/cm3"
	UnitEnum_g_dm3      UnitEnum = "g/dm3"
	UnitEnum_g_g        UnitEnum = "g/g"
	UnitEnum_g_h        UnitEnum = "g/h"
	UnitEnum_g_kg       UnitEnum = "g/kg"
	UnitEnum_g_L_s      UnitEnum = "g/L.s"
	UnitEnum_g_L        UnitEnum = "g/L"
	UnitEnum_g_m3       UnitEnum = "g/m3"
	UnitEnum_g_m        UnitEnum = "g/m"
	UnitEnum_g_min      UnitEnum = "g/min"
	UnitEnum_g_mL       UnitEnum = "g/mL"
	UnitEnum_g_mol      UnitEnum = "g/mol"
	UnitEnum_g_s        UnitEnum = "g/s"
	UnitEnum_g          UnitEnum = "g"
	UnitEnum_Gbq        UnitEnum = "Gbq"
	UnitEnum_h          UnitEnum = "h"
	UnitEnum_hPa_s      UnitEnum = "hPa/s"
	UnitEnum_hPa        UnitEnum = "hPa"
	UnitEnum_J_kg       UnitEnum = "J/kg"
	UnitEnum_J_mol      UnitEnum = "J/mol"
	UnitEnum_J          UnitEnum = "J"
	UnitEnum_K_min      UnitEnum = "K/min"
	UnitEnum_K          UnitEnum = "K"
	UnitEnum_kA_h       UnitEnum = "kA.h"
	UnitEnum_kcal_kg    UnitEnum = "kcal/kg"
	UnitEnum_kcal_mol   UnitEnum = "kcal/mol"
	UnitEnum_kcal       UnitEnum = "kcal"
	UnitEnum_kg_dm3     UnitEnum = "kg/dm3"
	UnitEnum_kg_h       UnitEnum = "kg/h"
	UnitEnum_kg_ha      UnitEnum = "kg/ha"
	UnitEnum_kg_L       UnitEnum = "kg/L"
	UnitEnum_kg_m3      UnitEnum = "kg/m3"
	UnitEnum_kg_min     UnitEnum = "kg/min"
	UnitEnum_kg_mol     UnitEnum = "kg/mol"
	UnitEnum_kg_s_m2    UnitEnum = "kg/s.m2"
	UnitEnum_kg_s       UnitEnum = "kg/s"
	UnitEnum_kg         UnitEnum = "kg"
	UnitEnum_kJ_kg      UnitEnum = "kJ/kg"
	UnitEnum_kJ_mol     UnitEnum = "kJ/mol"
	UnitEnum_kJ         UnitEnum = "kJ"
	UnitEnum_km_d       UnitEnum = "km/d"
	UnitEnum_km_h       UnitEnum = "km/h"
	UnitEnum_kPa_s      UnitEnum = "kPa/s"
	UnitEnum_kPa        UnitEnum = "kPa"
	UnitEnum_kV         UnitEnum = "kV"
	UnitEnum_kW         UnitEnum = "kW"
	UnitEnum_L_h        UnitEnum = "L/h"
	UnitEnum_L_kg_h     UnitEnum = "L/kg.h"
	UnitEnum_L_kg_min   UnitEnum = "L/kg.min"
	UnitEnum_L_kg_s     UnitEnum = "L/kg.s"
	UnitEnum_L_kg       UnitEnum = "L/kg"
	UnitEnum_L_L        UnitEnum = "L/L"
	UnitEnum_L_m3       UnitEnum = "L/m3"
	UnitEnum_L_min      UnitEnum = "L/min"
	UnitEnum_L_mol      UnitEnum = "L/mol"
	UnitEnum_L_s        UnitEnum = "L/s"
	UnitEnum_L          UnitEnum = "L"
	UnitEnum_lm         UnitEnum = "lm"
	UnitEnum_lx         UnitEnum = "lx"
	UnitEnum_m_d        UnitEnum = "m/d"
	UnitEnum_m_h        UnitEnum = "m/h"
	UnitEnum_m_min      UnitEnum = "m/min"
	UnitEnum_m_s        UnitEnum = "m/s"
	UnitEnum_m2         UnitEnum = "m2"
	UnitEnum_m3_h       UnitEnum = "m3/h"
	UnitEnum_m3_min     UnitEnum = "m3/min"
	UnitEnum_m3_s       UnitEnum = "m3/s"
	UnitEnum_m3         UnitEnum = "m3"
	UnitEnum_m          UnitEnum = "m"
	UnitEnum_mA         UnitEnum = "mA"
	UnitEnum_mbar       UnitEnum = "mbar"
	UnitEnum_mCi        UnitEnum = "mCi"
	UnitEnum_mg_C_g     UnitEnum = "mg C/g"
	UnitEnum_mg_C_L     UnitEnum = "mg C/L"
	UnitEnum_mg_KOH_g   UnitEnum = "mg KOH/g"
	UnitEnum_mg_O2_g    UnitEnum = "mg O2/g"
	UnitEnum_mg_O2_L    UnitEnum = "mg O2/L"
	UnitEnum_mg_Animal  UnitEnum = "mg/Animal"
	UnitEnum_mg_cm2     UnitEnum = "mg/cm2"
	UnitEnum_mg_cm3     UnitEnum = "mg/cm3"
	UnitEnum_mg_dm2     UnitEnum = "mg/dm2"
	UnitEnum_mg_dm3     UnitEnum = "mg/dm3"
	UnitEnum_mg_Eye     UnitEnum = "mg/Eye"
	UnitEnum_mg_g       UnitEnum = "mg/g"
	UnitEnum_mg_h       UnitEnum = "mg/h"
	UnitEnum_mg_kg_bw_d UnitEnum = "mg/kg bw.d"
	UnitEnum_mg_kg_bw   UnitEnum = "mg/kg bw"
	UnitEnum_mg_kg      UnitEnum = "mg/kg"
	UnitEnum_mg_L       UnitEnum = "mg/L"
	UnitEnum_mg_m3      UnitEnum = "mg/m3"
	UnitEnum_mg_mg      UnitEnum = "mg/mg"
	UnitEnum_mg_min     UnitEnum = "mg/min"
	UnitEnum_mg_mL      UnitEnum = "mg/mL"
	UnitEnum_mg_mmol    UnitEnum = "mg/mmol"
	UnitEnum_mg_mol     UnitEnum = "mg/mol"
	UnitEnum_mg_s       UnitEnum = "mg/s"
	UnitEnum_mg         UnitEnum = "mg"
	UnitEnum_min        UnitEnum = "min"
	UnitEnum_mJ         UnitEnum = "mJ"
	UnitEnum_mL_Animal  UnitEnum = "mL/Animal"
	UnitEnum_mL_Eye     UnitEnum = "mL/Eye"
	UnitEnum_mL_g       UnitEnum = "mL/g"
	UnitEnum_mL_h       UnitEnum = "mL/h"
	UnitEnum_mL_kg      UnitEnum = "mL/kg"
	UnitEnum_mL_L       UnitEnum = "mL/L"
	UnitEnum_mL_m3      UnitEnum = "mL/m3"
	UnitEnum_mL_mg      UnitEnum = "mL/mg"
	UnitEnum_mL_min     UnitEnum = "mL/min"
	UnitEnum_mL_mL      UnitEnum = "mL/mL"
	UnitEnum_mL_mmol    UnitEnum = "mL/mmol"
	UnitEnum_mL_mol     UnitEnum = "mL/mol"
	UnitEnum_mL_s       UnitEnum = "mL/s"
	UnitEnum_mL         UnitEnum = "mL"
	UnitEnum_mm_H2O     UnitEnum = "mm H2O"
	UnitEnum_mm_Hg      UnitEnum = "mm Hg"
	UnitEnum_mm_a       UnitEnum = "mm/a"
	UnitEnum_mm_d       UnitEnum = "mm/d"
	UnitEnum_mm_h       UnitEnum = "mm/h"
	UnitEnum_mm_min     UnitEnum = "mm/min"
	UnitEnum_mm_s       UnitEnum = "mm/s"
	UnitEnum_mm2_s      UnitEnum = "mm2/s"
	UnitEnum_mm2        UnitEnum = "mm2"
	UnitEnum_mm3        UnitEnum = "mm3"
	UnitEnum_mm         UnitEnum = "mm"
	UnitEnum_mmol_g     UnitEnum = "mmol/g"
	UnitEnum_mmol_kg    UnitEnum = "mmol/kg"
	UnitEnum_mmol_L     UnitEnum = "mmol/L"
	UnitEnum_mmol_m3    UnitEnum = "mmol/m3"
	UnitEnum_mmol_mg    UnitEnum = "mmol/mg"
	UnitEnum_mmol_mL    UnitEnum = "mmol/mL"
	UnitEnum_mmol_mmol  UnitEnum = "mmol/mmol"
	UnitEnum_mmol_mol   UnitEnum = "mmol/mol"
	UnitEnum_mN_m       UnitEnum = "mN/m"
	UnitEnum_mol_pct    UnitEnum = "mol-%"
	UnitEnum_mol_g      UnitEnum = "mol/g"
	UnitEnum_mol_kg     UnitEnum = "mol/kg"
	UnitEnum_mol_L_s    UnitEnum = "mol/L.s"
	UnitEnum_mol_L      UnitEnum = "mol/L"
	UnitEnum_mol_m3     UnitEnum = "mol/m3"
	UnitEnum_mol_mg     UnitEnum = "mol/mg"
	UnitEnum_mol_mL     UnitEnum = "mol/mL"
	UnitEnum_mol_mmol   UnitEnum = "mol/mmol"
	UnitEnum_mol_mol    UnitEnum = "mol/mol"
	UnitEnum_mPa_s      UnitEnum = "mPa.s"
	UnitEnum_mPa        UnitEnum = "mPa"
	UnitEnum_ms         UnitEnum = "ms"
	UnitEnum_mV         UnitEnum = "mV"
	UnitEnum_N_cm2      UnitEnum = "N/cm2"
	UnitEnum_N_m2       UnitEnum = "N/m2"
	UnitEnum_N_m        UnitEnum = "N/m"
	UnitEnum_N_mm2      UnitEnum = "N/mm2"
	UnitEnum_ng_cm3     UnitEnum = "ng/cm3"
	UnitEnum_ng_g       UnitEnum = "ng/g"
	UnitEnum_ng_L       UnitEnum = "ng/L"
	UnitEnum_ng_mg      UnitEnum = "ng/mg"
	UnitEnum_ng_mL      UnitEnum = "ng/mL"
	UnitEnum_ng_mmol    UnitEnum = "ng/mmol"
	UnitEnum_ng_mol     UnitEnum = "ng/mol"
	UnitEnum_nm         UnitEnum = "nm"
	UnitEnum_nmol_L     UnitEnum = "nmol/L"
	UnitEnum_P          UnitEnum = "P"
	UnitEnum_Pa_m3_mol  UnitEnum = "Pa.m3/mol"
	UnitEnum_Pa_s       UnitEnum = "Pa.s"
	UnitEnum_Pa_s2      UnitEnum = "Pa/s"
	UnitEnum_Pa         UnitEnum = "Pa"
	UnitEnum_pm         UnitEnum = "pm"
	UnitEnum_ppb        UnitEnum = "ppb"
	UnitEnum_ppm        UnitEnum = "ppm"
	UnitEnum_ppq        UnitEnum = "ppq"
	UnitEnum_ppt        UnitEnum = "ppt"
	UnitEnum_S          UnitEnum = "S"
	UnitEnum_s          UnitEnum = "s"
	UnitEnum_St         UnitEnum = "St"
	UnitEnum_t_h        UnitEnum = "t/h"
	UnitEnum_t_min      UnitEnum = "t/min"
	UnitEnum_t_s        UnitEnum = "t/s"
	UnitEnum_t          UnitEnum = "t"
	UnitEnum_Torr       UnitEnum = "Torr"
	UnitEnum_U_g        UnitEnum = "U/g"
	UnitEnum_U_kg       UnitEnum = "U/kg"
	UnitEnum_U_L        UnitEnum = "U/L"
	UnitEnum_U_mg       UnitEnum = "U/mg"
	UnitEnum_U_mL       UnitEnum = "U/mL"
	UnitEnum_U_mmol     UnitEnum = "U/mmol"
	UnitEnum_U_mol      UnitEnum = "U/mol"
	UnitEnum_V          UnitEnum = "V"
	UnitEnum_Vol_pct    UnitEnum = "Vol-%"
	UnitEnum_W_h        UnitEnum = "W.h"
	UnitEnum_W_m        UnitEnum = "W.m"
	UnitEnum_W          UnitEnum = "W"
	UnitEnum_Wb         UnitEnum = "Wb"
	UnitEnum_Weight_pct UnitEnum = "Weight-%"
)

func (UnitEnum) Valid

func (v UnitEnum) Valid() bool

Valid reports whether v satisfies every constraint of UnitEnum.

type UnknownError

type UnknownError struct {
	Path string // path of the content below the root, e.g. "Datasheet/Foo"
	What string // "element", "attribute" or "text"
}

UnknownError is returned by Decode in strict mode for content the generated types do not describe.

func (*UnknownError) Error

func (e *UnknownError) Error() string

type UpperQualifierEnum

type UpperQualifierEnum string

UpperQualifierEnum corresponds to the XSD simple type UpperQualifierEnum.

const (
	UpperQualifierEnum_lt UpperQualifierEnum = "lt"
	UpperQualifierEnum_le UpperQualifierEnum = "le"
)

func (UpperQualifierEnum) Valid

func (v UpperQualifierEnum) Valid() bool

Valid reports whether v satisfies every constraint of UpperQualifierEnum.

type UseCondMeasureEnv

type UseCondMeasureEnv struct {
	// An enumeration that defines the heading within section 2 of the exposure
	// scenario for communication to which the condition or measure is assigned.
	ESSectionSubHeader *ESSectionSubHeader
	// A phrase that describes the type of an operational condition or a risk
	// management measure.
	Type *EsdscomPhrase
	// A phrase that describes the condition of use or the risk management measure.
	ConditionMeasure *EsdscomPhrase
	// A numerical value with unit and qualifier that quantifies (associates a
	// value) the condition phrase.
	NumericValue *NumericValueWithUnitAndQualifier
	// Describes the degree in % to which the measure to reduce the release to air
	// is effective.
	EffectivenessAirInPercent *EffectivenessValueWithQualifier
	// Describes the degree in % to which the measure to reduce the release to soil
	// is effective.
	EffectivenessSoilInPercent *EffectivenessValueWithQualifier
	// Describes the degree in % to which the measure to reduce the release to
	// water is effective.
	EffectivenessWaterInPercent *EffectivenessValueWithQualifier
	// Describes the degree in % to which the measure to reduce the release to
	// waste is effective.
	EffectivenessWasteInPercent *EffectivenessValueWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

A use condition with effectiveness (risk management measure) for a use relevant to the environment and waste.

UseCondMeasureEnv corresponds to the XSD complex type UseCondMeasureEnv.

type UseCondMeasureHH

type UseCondMeasureHH struct {
	// An enumeration that defines the heading within section 2 of the exposure
	// scenario for communication to which the condition or measure is assigned.
	ESSectionSubHeader *ESSectionSubHeader
	// A phrase that describes the type of an operational condition or a risk
	// management measure.
	Type *EsdscomPhrase
	// A phrase that describes the condition of use or the risk management measure.
	ConditionMeasure *EsdscomPhrase
	// A numerical value with unit and qualifier that quantifies (associates a
	// value) the condition phrase.
	NumericValue *NumericValueWithUnitAndQualifier
	// Describes the degree in % to which the measure against risk through skin
	// exposure is effective.
	EffectivenessDermalInPercent *EffectivenessValueWithQualifier
	// Describes the degree in % to which the measure against risk through
	// inhalation is effective.
	EffectivenessInhalationInPercent *EffectivenessValueWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

A use condition with effectiveness (risk management measure) for a use relevant to human health.

UseCondMeasureHH corresponds to the XSD complex type UseCondMeasureHH.

type UseCondQuantitative

type UseCondQuantitative struct {
	// A phrase that describes the operational condition.
	ConditionPhrase *EsdscomPhrase
	// A numerical value with qualifier that quantifies (associates a value) the
	// condition phrase.
	Value *NumericValueWithQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

An operational condition of a use specified as a phrase with a value. The value is a numeric value with qualifier. The numeric value is patterned according to the IEEE single-precision 64-bit floating point type. Note that this data element does not provide details about the unit of measure to which the numeric value belongs. The operational condition, which the data element uses, defines the unit of measure.

UseCondQuantitative corresponds to the XSD complex type UseCondQuantitative.

type UseCondQuantitativeWithUnit

type UseCondQuantitativeWithUnit struct {
	// A phrase that describes the operational condition.
	ConditionPhrase *EsdscomPhrase
	// A numerical value with unit and qualifier that quantifies (associates a
	// value) the condition phrase.
	Value *NumericValueWithUnit
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

An operational condition of a use specified as a phrase with a value. The value is a numeric value with unit and qualifier. The numeric value is patterned according to the IEEE single-precision 64-bit floating point type.

UseCondQuantitativeWithUnit corresponds to the XSD complex type UseCondQuantitativeWithUnit.

type UseCondQuantitativeWithUnitAndQual

type UseCondQuantitativeWithUnitAndQual struct {
	// A phrase that describes the operational condition.
	ConditionPhrase *EsdscomPhrase
	// A numerical value with unit and qualifier that quantifies (associates a
	// value to) the condition phrase.
	Value *NumericValueWithUnitAndQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

An operational condition of a use specified as a phrase with a value. The value is a numeric value with unit and qualifier. The numeric value is patterned according to the IEEE single-precision 64-bit floating point type.

UseCondQuantitativeWithUnitAndQual corresponds to the XSD complex type UseCondQuantitativeWithUnitAndQual.

type Uuid

type Uuid string

UUIDs are a 16 byte identified, represented in hex, thus 32 characters. Compatible with ESCom UUID type.

Uuid corresponds to the XSD simple type Uuid.

func (Uuid) Valid

func (v Uuid) Valid() bool

Valid reports whether v satisfies every constraint of Uuid.

type ValidationError

type ValidationError struct {
	// Path locates the finding below the root, e.g.
	// "Datasheet[0]/Identification/TradeName[1]". Attributes are written as
	// "@Name".
	Path string
	// Rule names the violated rule: "required", "minOccurs", "maxOccurs",
	// "choice", "enum", "union", "pattern", "length", "minLength",
	// "maxLength", "minInclusive", "maxInclusive", "totalDigits",
	// "fractionDigits", "type", "unexpected", "text" or, for hints,
	// "unknown".
	Rule     string
	Msg      string
	Severity Severity
}

ValidationError is one finding of Validate.

func (ValidationError) Error

func (e ValidationError) Error() string

type ValidationErrors

type ValidationErrors []ValidationError

ValidationErrors is the list of findings of Validate, in document order.

func (ValidationErrors) Error

func (v ValidationErrors) Error() string

func (ValidationErrors) Errors

Errors returns the findings of severity SeverityError.

func (ValidationErrors) Hints

Hints returns the findings of severity SeverityHint.

func (ValidationErrors) Valid

func (v ValidationErrors) Valid() bool

Valid reports whether v holds no finding of severity SeverityError.

type Viscosity

type Viscosity struct {
	Value *PhysChemUnitValueWithTemperature
	Type  *ViscosityTypeEnum
	// Specify viscosity type if type above is Other, or full text of the type in
	// printable form.
	TypeDescription []Phrase
	Concentration   *NumericRangeWithUnitAndQualifier
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

Viscosity source: Chapter 9

Viscosity corresponds to the XSD complex type Viscosity.

type ViscosityTypeEnum

type ViscosityTypeEnum string

The legal codes for the ViscosityTypeEnum. Source: Chapter 9.

ViscosityTypeEnum corresponds to the XSD simple type ViscosityTypeEnum.

const (
	ViscosityTypeEnum_Dynamic   ViscosityTypeEnum = "Dynamic"
	ViscosityTypeEnum_Kinematic ViscosityTypeEnum = "Kinematic"
	ViscosityTypeEnum_Flow_time ViscosityTypeEnum = "Flow time"
	ViscosityTypeEnum_Undefined ViscosityTypeEnum = "Undefined"
	ViscosityTypeEnum_Other     ViscosityTypeEnum = "Other"
)

func (ViscosityTypeEnum) Valid

func (v ViscosityTypeEnum) Valid() bool

Valid reports whether v satisfies every constraint of ViscosityTypeEnum.

type WasteCode

type WasteCode string

The European waste code, eg, "20 01 01".

WasteCode corresponds to the XSD simple type WasteCode.

func (WasteCode) Valid

func (v WasteCode) Valid() bool

Valid reports whether v satisfies every constraint of WasteCode.

type WasteListEntry

type WasteListEntry struct {
	WasteCode        *WasteCode
	WasteDescription *Phrase
	// optional because this property can be dreived from WasteCode
	HazardousWaste *Boolean
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

WasteListEntry, source: Chapter 13.

WasteListEntry corresponds to the XSD complex type WasteListEntry.

type WaterHazardClass

type WaterHazardClass struct {
	// Water hazard class (WGK):
	Class  *WaterHazardClassEnum
	Source *Phrase
	Remark []Phrase
	// Extra holds attributes, elements and text the schema does not describe at
	// this place. Encode writes them back.
	Extra Extra
}

WaterHazardClass

WaterHazardClass corresponds to the XSD complex type WaterHazardClass.

type WaterHazardClassEnum

type WaterHazardClassEnum string

Enumaration of the german water hazard class. awg = "allgemein wassergefährdend", nwg = "nicht wassergefährdend"

WaterHazardClassEnum corresponds to the XSD simple type WaterHazardClassEnum.

const (
	WaterHazardClassEnum_1   WaterHazardClassEnum = "1"
	WaterHazardClassEnum_2   WaterHazardClassEnum = "2"
	WaterHazardClassEnum_3   WaterHazardClassEnum = "3"
	WaterHazardClassEnum_nwg WaterHazardClassEnum = "nwg"
	WaterHazardClassEnum_awg WaterHazardClassEnum = "awg"
)

func (WaterHazardClassEnum) Valid

func (v WaterHazardClassEnum) Valid() bool

Valid reports whether v satisfies every constraint of WaterHazardClassEnum.

Directories

Path Synopsis
cmd
esdscom-gen command
Command esdscom-gen generates the Go types and validation rules of the esdscom package from the eSDScom XML schema.
Command esdscom-gen generates the Go types and validation rules of the esdscom package from the eSDScom XML schema.
internal
xsd
Package xsd reads the subset of XML Schema 1.0 that the eSDScom schema uses into a resolved, in-memory model.
Package xsd reads the subset of XML Schema 1.0 that the eSDScom schema uses into a resolved, in-memory model.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL