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 ¶
- type AddrLine
- type Address
- type Annotation
- type BackMatter
- type Base64
- type Biblio
- type Citation
- type City
- type Country
- type Desc
- type Description
- type DocId
- type Email
- type ExternalId
- type Hash
- type LastModified
- type Link
- type Location
- type LocationUuid
- type Markup
- type MemberOfOrganization
- type Metadata
- type OscalVersion
- type Party
- type PartyName
- type PartyUuid
- type Phone
- type PostalCode
- type Prop
- type Published
- type Remarks
- type Resource
- type ResponsibleParty
- type ResponsiblePartyMultiplexer
- type Revision
- type Rlink
- type Role
- type ShortName
- type State
- type Text
- type Title
- type Url
- type VALIDATIONRoot
- type Version
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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 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 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 ¶
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 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 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 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 ¶
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 Text ¶
type Text = Markup
A line of textual content whose semantic is determined by the context of use.
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