validation_root

package
v0.3.4 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2020 License: CC0-1.0 Imports: 4 Imported by: 1

Documentation

Overview

Code generated by https://github.com/GoComply/metaschema; DO NOT EDIT.

Code generated by https://github.com/GoComply/metaschema; DO NOT EDIT. Multiplexers are indirect models needed for serialization/deserialization as json and xml files differ materially in their structure.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddrLine

type AddrLine string

type Address

type Address struct {

	// Indicates the type of address.
	Type string `xml:"type,attr,omitempty" json:"type,omitempty"`

	// A single line of an address.
	PostalAddress []AddrLine `xml:"addr-line,omitempty" json:"postal-address,omitempty"`
	// City, town or geographical region for mailing address
	City City `xml:"city,omitempty" json:"city,omitempty"`
	// State, province or analogous geographical region for mailing address
	State State `xml:"state,omitempty" json:"state,omitempty"`
	// Postal or ZIP code for mailing address
	PostalCode PostalCode `xml:"postal-code,omitempty" json:"postal-code,omitempty"`
	// Country for mailing address
	Country Country `xml:"country,omitempty" json:"country,omitempty"`
}

A postal address.

type Annotation

type Annotation struct {

	// Identifying the purpose and intended use of the property, part or other object.
	Name string `xml:"name,attr,omitempty" json:"name,omitempty"`
	// A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object.
	Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"`
	// A namespace qualifying the name.
	Ns string `xml:"ns,attr,omitempty" json:"ns,omitempty"`
	// Indicates the value of the characteristic.
	Value string `xml:"value,attr,omitempty" json:"value,omitempty"`

	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
}

A name/value pair with optional explanatory remarks.

type BackMatter

type BackMatter struct {

	// A resource associated with the present document, which may be a pointer to other data or a citation.
	Resources []Resource `xml:"resource,omitempty" json:"resources,omitempty"`
}

A collection of citations and resource references.

func (*BackMatter) GetResourceByUuid

func (bm *BackMatter) GetResourceByUuid(uuid string) *Resource

type Base64

type Base64 struct {
	// Name of the file before it was encoded as Base64 to be embedded in a . This is the name that will be assigned to the file when the file is decoded.
	Filename string `xml:"filename,attr,omitempty" json:"filename,omitempty"`

	// Describes the media type of the linked resource
	MediaType string `xml:"media-type,attr,omitempty" json:"media-type,omitempty"`
	Value     string `xml:",chardata" json:"value"`
}

type Biblio

type Biblio struct {
}

A container in which a set of bibliographic information can included. The model of this information is undefined by OSCAL.

type Citation

type Citation struct {

	// A line of textual content whose semantic is determined by the context of use.
	Text *Text `xml:"text,omitempty" json:"text,omitempty"`
	// A value with a name, attributed to the containing control, part, or group.
	Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"`
	// A container in which a set of bibliographic information can included. The model of this information is undefined by OSCAL.
	Biblio *Biblio `xml:"biblio,omitempty" json:"biblio,omitempty"`
}

A citation consisting of end note text and optional structured bibliographic data.

type City

type City string

type Country

type Country string

type Desc

type Desc string

type Description

type Description = Markup

A description supporting the parent item.

type DocId

type DocId struct {
	// Qualifies the kind of document identifier.
	Type       string `xml:"type,attr,omitempty" json:"type,omitempty"`
	Identifier string `xml:",chardata" json:"identifier"`
}

A document identifier qualified by an identifier .

type Email

type Email string

type ExternalId

type ExternalId struct {
	// Indicating the type of identifier, address, email or other data item.
	Type string `xml:"type,attr,omitempty" json:"type,omitempty"`
	Id   string `xml:",chardata" json:"id"`
}

An identifier for a person (such as an ORCID) using a designated scheme.

type Hash

type Hash struct {
	// Method by which a hash is derived
	Algorithm string `xml:"algorithm,attr,omitempty" json:"algorithm,omitempty"`
	Value     string `xml:",chardata" json:"value"`
}

A representation of a cryptographic digest generated over a resource using a hash algorithm.

type LastModified

type LastModified string
type Link struct {
	// A link to a document or document fragment (actual, nominal or projected)
	Href string `xml:"href,attr,omitempty" json:"href,omitempty"`

	// Describes the type of relationship provided by the link. This can be an indicator of the link's purpose.
	Rel string `xml:"rel,attr,omitempty" json:"rel,omitempty"`

	// Describes the media type of the linked resource
	MediaType string `xml:"media-type,attr,omitempty" json:"media-type,omitempty"`
	Text      string `xml:",chardata" json:"text"`
}

A reference to a local or remote resource

type Location

type Location struct {

	// A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object.
	Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"`

	// A title for display and navigation
	Title *Title `xml:"title,omitempty" json:"title,omitempty"`
	// A postal address.
	Address *Address `xml:"address,omitempty" json:"address,omitempty"`
	// Email address
	EmailAddresses []Email `xml:"email,omitempty" json:"email-addresses,omitempty"`
	// Contact number by telephone
	TelephoneNumbers []Phone `xml:"phone,omitempty" json:"telephone-numbers,omitempty"`
	// URL for web site or Internet presence
	URLs []Url `xml:"url,omitempty" json:"URLs,omitempty"`
	// A value with a name, attributed to the containing control, part, or group.
	Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"`
	// A name/value pair with optional explanatory remarks.
	Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"`
	// A reference to a local or remote resource
	Links []Link `xml:"link,omitempty" json:"links,omitempty"`
	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
}

A location, with associated metadata that can be referenced.

type LocationUuid

type LocationUuid string

type Markup

type Markup struct {
	Raw       string `xml:",innerxml" yaml:"raw,omitempty"`
	PlainText string `xml:"-"`
}

Markup ...

func ML

func ML(plain string) *Markup

Short-hand method to build "markup-line" text

func MML

func MML(plain string) *Markup

Short-hand method to build "markup-multiline" text

func (*Markup) MarshalJSON

func (m *Markup) MarshalJSON() ([]byte, error)

func (*Markup) PlainString

func (m *Markup) PlainString() string

PlainText representation

func (*Markup) UnmarshalJSON

func (m *Markup) UnmarshalJSON(b []byte) error

type MemberOfOrganization

type MemberOfOrganization string

type Metadata

type Metadata struct {

	// A title for display and navigation
	Title *Title `xml:"title,omitempty" json:"title,omitempty"`
	// The date and time this document was published.
	Published Published `xml:"published,omitempty" json:"published,omitempty"`
	// Date and time of last modification.
	LastModified LastModified `xml:"last-modified,omitempty" json:"last-modified,omitempty"`
	// The version of the document content.
	Version Version `xml:"version,omitempty" json:"version,omitempty"`
	// OSCAL model version.
	OscalVersion OscalVersion `xml:"oscal-version,omitempty" json:"oscal-version,omitempty"`
	// An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).
	RevisionHistory []Revision `xml:"revision-history>revision,omitempty" json:"revision-history,omitempty"`
	// A document identifier qualified by an identifier .
	DocumentIds []DocId `xml:"doc-id,omitempty" json:"document-ids,omitempty"`
	// A value with a name, attributed to the containing control, part, or group.
	Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"`
	// A reference to a local or remote resource
	Links []Link `xml:"link,omitempty" json:"links,omitempty"`
	// Defining a role to be assigned to a party
	Roles []Role `xml:"role,omitempty" json:"roles,omitempty"`
	// A location, with associated metadata that can be referenced.
	Locations []Location `xml:"location,omitempty" json:"locations,omitempty"`
	// A responsible entity, either singular (an organization or person) or collective (multiple persons)
	Parties []Party `xml:"party,omitempty" json:"parties,omitempty"`
	// A reference to a set of organizations or persons that have responsibility for performing a referenced role relative to the parent context.
	ResponsibleParties ResponsiblePartyMultiplexer `xml:"responsible-party,omitempty" json:"responsible-parties,omitempty"`
	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
}

Provides information about the publication and availability of the containing document.

type OscalVersion

type OscalVersion string

type Party

type Party struct {

	// A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object.
	Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"`
	// A category describing the kind of party the object describes.
	Type string `xml:"type,attr,omitempty" json:"type,omitempty"`

	// The full (legal) name of the party.
	PartyName PartyName `xml:"party-name,omitempty" json:"party-name,omitempty"`
	// A common name, short name or acronym
	ShortName ShortName `xml:"short-name,omitempty" json:"short-name,omitempty"`
	// An identifier for a person (such as an ORCID) using a designated scheme.
	ExternalIds []ExternalId `xml:"external-id,omitempty" json:"external-ids,omitempty"`
	// A value with a name, attributed to the containing control, part, or group.
	Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"`
	// A name/value pair with optional explanatory remarks.
	Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"`
	// A reference to a local or remote resource
	Links []Link `xml:"link,omitempty" json:"links,omitempty"`
	// A postal address.
	Addresses []Address `xml:"address,omitempty" json:"addresses,omitempty"`
	// Email address
	EmailAddresses []Email `xml:"email,omitempty" json:"email-addresses,omitempty"`
	// Contact number by telephone
	TelephoneNumbers []Phone `xml:"phone,omitempty" json:"telephone-numbers,omitempty"`
	// Identifies that the containing object is a member of the organization associated with the provided UUID.
	MemberOfOrganizations []MemberOfOrganization `xml:"member-of-organization,omitempty" json:"member-of-organizations,omitempty"`
	// References a  defined in .
	LocationUuids []LocationUuid `xml:"location-uuid,omitempty" json:"location-uuids,omitempty"`
	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
}

A responsible entity, either singular (an organization or person) or collective (multiple persons)

type PartyName

type PartyName string

type PartyUuid

type PartyUuid string

type Phone

type Phone struct {
	// Indicates the type of phone number.
	Type   string `xml:"type,attr,omitempty" json:"type,omitempty"`
	Number string `xml:",chardata" json:"number"`
}

Contact number by telephone

type PostalCode

type PostalCode string

type Prop

type Prop struct {
	// Identifying the purpose and intended use of the property, part or other object.
	Name string `xml:"name,attr,omitempty" json:"name,omitempty"`

	// A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object.
	Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"`

	// A namespace qualifying the name.
	Ns string `xml:"ns,attr,omitempty" json:"ns,omitempty"`

	// Indicating the type or classification of the containing object
	Class string `xml:"class,attr,omitempty" json:"class,omitempty"`
	Value string `xml:",chardata" json:"value"`
}

A value with a name, attributed to the containing control, part, or group.

type Published

type Published string

type Remarks

type Remarks = Markup

Additional commentary on the parent item.

type Resource

type Resource struct {

	// A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object.
	Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"`

	// A title for display and navigation
	Title *Title `xml:"title,omitempty" json:"title,omitempty"`
	// A short textual description
	Desc Desc `xml:"desc,omitempty" json:"desc,omitempty"`
	// A value with a name, attributed to the containing control, part, or group.
	Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"`
	// A document identifier qualified by an identifier .
	DocumentIds []DocId `xml:"doc-id,omitempty" json:"document-ids,omitempty"`
	// A citation consisting of end note text and optional structured bibliographic data.
	Citation *Citation `xml:"citation,omitempty" json:"citation,omitempty"`
	// A pointer to an external copy of a document with optional hash for verification
	Rlinks []Rlink `xml:"rlink,omitempty" json:"rlinks,omitempty"`
	//
	Attachments []Base64 `xml:"base64,omitempty" json:"attachments,omitempty"`
	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
}

A resource associated with the present document, which may be a pointer to other data or a citation.

type ResponsibleParty

type ResponsibleParty struct {

	// The role that the party is responsible for.
	RoleId string `xml:"role-id,attr,omitempty" json:"role-id,omitempty"`

	// References a  defined in .
	PartyUuids []PartyUuid `xml:"party-uuid,omitempty" json:"party-uuids,omitempty"`
	// A value with a name, attributed to the containing control, part, or group.
	Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"`
	// A name/value pair with optional explanatory remarks.
	Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"`
	// A reference to a local or remote resource
	Links []Link `xml:"link,omitempty" json:"links,omitempty"`
	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
}

A reference to a set of organizations or persons that have responsibility for performing a referenced role relative to the parent context.

type ResponsiblePartyMultiplexer

type ResponsiblePartyMultiplexer []ResponsibleParty

func (*ResponsiblePartyMultiplexer) MarshalJSON

func (mplex *ResponsiblePartyMultiplexer) MarshalJSON() ([]byte, error)

func (*ResponsiblePartyMultiplexer) UnmarshalJSON

func (mplex *ResponsiblePartyMultiplexer) UnmarshalJSON(b []byte) error

type Revision

type Revision struct {

	// A title for display and navigation
	Title *Title `xml:"title,omitempty" json:"title,omitempty"`
	// The date and time this document was published.
	Published Published `xml:"published,omitempty" json:"published,omitempty"`
	// Date and time of last modification.
	LastModified LastModified `xml:"last-modified,omitempty" json:"last-modified,omitempty"`
	// The version of the document content.
	Version Version `xml:"version,omitempty" json:"version,omitempty"`
	// OSCAL model version.
	OscalVersion OscalVersion `xml:"oscal-version,omitempty" json:"oscal-version,omitempty"`
	// A value with a name, attributed to the containing control, part, or group.
	Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"`
	// A reference to a local or remote resource
	Links []Link `xml:"link,omitempty" json:"links,omitempty"`
	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
}

An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).

type Rlink struct {

	// A link to a document or document fragment (actual, nominal or projected)
	Href string `xml:"href,attr,omitempty" json:"href,omitempty"`
	// Describes the media type of the linked resource
	MediaType string `xml:"media-type,attr,omitempty" json:"media-type,omitempty"`

	// A representation of a cryptographic digest generated over a resource using a hash algorithm.
	Hashes []Hash `xml:"hash,omitempty" json:"hashes,omitempty"`
}

A pointer to an external copy of a document with optional hash for verification

type Role

type Role struct {

	// Unique identifier of the containing object
	Id string `xml:"id,attr,omitempty" json:"id,omitempty"`

	// A title for display and navigation
	Title *Title `xml:"title,omitempty" json:"title,omitempty"`
	// A common name, short name or acronym
	ShortName ShortName `xml:"short-name,omitempty" json:"short-name,omitempty"`
	// A short textual description
	Desc Desc `xml:"desc,omitempty" json:"desc,omitempty"`
	// A value with a name, attributed to the containing control, part, or group.
	Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"`
	// A name/value pair with optional explanatory remarks.
	Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"`
	// A reference to a local or remote resource
	Links []Link `xml:"link,omitempty" json:"links,omitempty"`
	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
}

Defining a role to be assigned to a party

type ShortName

type ShortName string

type State

type State string

type Text

type Text = Markup

A line of textual content whose semantic is determined by the context of use.

type Title

type Title = Markup

A title for display and navigation

type Url

type Url string

type VALIDATIONRoot

type VALIDATIONRoot struct {

	// Provides information about the publication and availability of the containing document.
	Metadata *Metadata `xml:"metadata,omitempty" json:"metadata,omitempty"`
	// A collection of citations and resource references.
	BackMatter *BackMatter `xml:"back-matter,omitempty" json:"back-matter,omitempty"`
	// A description supporting the parent item.
	Description *Description `xml:"description,omitempty" json:"description,omitempty"`
	// Additional commentary on the parent item.
	Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"`
	// References a  defined in .
	PartyUuid PartyUuid `xml:"party-uuid,omitempty" json:"party-uuid,omitempty"`
	// A name/value pair with optional explanatory remarks.
	Annotation *Annotation `xml:"annotation,omitempty" json:"annotation,omitempty"`
	// A reference to a set of organizations or persons that have responsibility for performing a referenced role relative to the parent context.
	ResponsibleParties ResponsiblePartyMultiplexer `xml:"responsible-party,omitempty" json:"responsible-parties,omitempty"`
}

NOT TO BE USED IN A METASCHEMA

type Version

type Version string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL